<SEC-DOCUMENT>0000950170-24-127842.txt : 20241118
<SEC-HEADER>0000950170-24-127842.hdr.sgml : 20241118
<ACCEPTANCE-DATETIME>20241118120605
ACCESSION NUMBER:		0000950170-24-127842
CONFORMED SUBMISSION TYPE:	10-K/A
PUBLIC DOCUMENT COUNT:		123
CONFORMED PERIOD OF REPORT:	20231231
FILED AS OF DATE:		20241118
DATE AS OF CHANGE:		20241118

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			REPLIGEN CORP
		CENTRAL INDEX KEY:			0000730272
		STANDARD INDUSTRIAL CLASSIFICATION:	BIOLOGICAL PRODUCTS (NO DIAGNOSTIC SUBSTANCES) [2836]
		ORGANIZATION NAME:           	03 Life Sciences
		IRS NUMBER:				042729386
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-K/A
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	000-14656
		FILM NUMBER:		241470430

	BUSINESS ADDRESS:	
		STREET 1:		41 SEYON STREET
		STREET 2:		BUILDING 1, SUITE 100
		CITY:			WALTHAM
		STATE:			MA
		ZIP:			02453
		BUSINESS PHONE:		7814499560

	MAIL ADDRESS:	
		STREET 1:		41 SEYON STREET
		STREET 2:		BUILDING 1, SUITE 100
		CITY:			WALTHAM
		STATE:			MA
		ZIP:			02453
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K/A
<SEQUENCE>1
<FILENAME>rgen-20231231.htm
<DESCRIPTION>10-K/A
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<!-- DFIN New ActiveDisclosure (SM) Inline XBRL Document - http://www.dfinsolutions.com/ -->
<!-- Creation Date :2024-11-18T11:39:02.8733+00:00 -->
<!-- Copyright (c) 2024 Donnelley Financial Solutions, Inc. All Rights Reserved. -->
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:nonNumeric="http://www.xbrl.org/dtr/type/non-numeric" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:ecd-sub="http://xbrl.sec.gov/ecd-sub/2024" xmlns:srt="http://fasb.org/srt/2024" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ecd="http://xbrl.sec.gov/ecd/2024" xmlns:enum2="http://xbrl.org/2020/extensible-enumerations-2.0" xmlns:rgen="http://www.repligencorp.com/20231231" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2022-02-16">
 <head>
  <title>10-K/A</title>
  <meta http-equiv="Content-Type" content="text/html"/>
 </head>
 <body style="margin: auto!important;padding: 8px;line-height: 1;">
  <div style="display:none;"><ix:header><ix:hidden><ix:nonNumeric id="F_00f41a9d-aa0c-43dc-ab70-c7246b96771c" name="dei:EntityCentralIndexKey" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f">0000730272</ix:nonNumeric><ix:nonNumeric id="F_058c21dd-2535-4f45-b37d-3824d05e9cfc" name="ecd:NonRule10b51ArrTrmntdFlag" contextRef="C_39c3f539-e72b-4371-af67-86fa87156c53" format="ixt:fixed-false">False</ix:nonNumeric><ix:nonNumeric id="F_855ca6c0-ac8d-46f2-ba24-c8b322e03d5a" name="ecd:NonRule10b51ArrAdoptedFlag" contextRef="C_39c3f539-e72b-4371-af67-86fa87156c53" format="ixt:fixed-false">False</ix:nonNumeric><ix:nonNumeric id="F_160fb375-6ee7-49d5-8102-79ed20779b15" name="dei:CurrentFiscalYearEndDate" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" format="ixt:date-month-day">12-31</ix:nonNumeric><ix:nonNumeric id="F_f2eb3506-1dad-4599-aa98-424f74f10351" name="dei:DocumentFiscalPeriodFocus" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f">FY</ix:nonNumeric><ix:nonNumeric id="F_8df8df4f-1c70-47c9-ae10-aee867b91c30" name="ecd:Rule10b51ArrAdoptedFlag" contextRef="C_39c3f539-e72b-4371-af67-86fa87156c53" format="ixt:fixed-false">False</ix:nonNumeric><ix:nonNumeric id="F_5b40d974-2fd9-44cd-8604-85ef7e9b690f" name="ecd:Rule10b51ArrTrmntdFlag" contextRef="C_39c3f539-e72b-4371-af67-86fa87156c53" format="ixt:fixed-false">False</ix:nonNumeric><ix:nonNumeric id="F_e8b76a8c-8db6-436f-8795-463c1c22fa35" name="dei:AmendmentFlag" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" format="ixt:fixed-true">true</ix:nonNumeric><ix:nonFraction id="F_e440efcd-a2b2-4801-8a9d-6dfd8426c861" name="us-gaap:CommitmentsAndContingencies" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" unitRef="U_USD" xsi:nil="true"/><ix:nonFraction id="F_a1f42ed0-b7b2-413e-af8a-b0691a4f9450" name="us-gaap:CommitmentsAndContingencies" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" unitRef="U_USD" xsi:nil="true"/><ix:nonFraction id="F_f6be4637-cef0-4d20-94ff-4351dbd23794" name="us-gaap:OtherLiabilitiesNoncurrent" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" unitRef="U_USD" xsi:nil="true"/><ix:nonFraction id="F_0acfdd04-3b72-46e2-851e-b95899936c90" name="us-gaap:CommitmentsAndContingencies" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" unitRef="U_USD" xsi:nil="true"/><ix:nonFraction id="F_1f00a0dc-85df-45f3-823c-2e66daf692bb" name="us-gaap:CommitmentsAndContingencies" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" unitRef="U_USD" xsi:nil="true"/><ix:nonFraction id="F_eef92064-b3a7-4175-a0a0-71dc9aad4828" name="us-gaap:CommitmentsAndContingencies" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" unitRef="U_USD" xsi:nil="true"/><ix:nonFraction id="F_d983390b-710f-4bf6-984b-01a5c58be1af" name="us-gaap:ProceedsFromPaymentsForOtherFinancingActivities" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" unitRef="U_USD" xsi:nil="true"/><ix:nonNumeric id="F_97c658e9-763a-4c74-b869-847703160c86" name="us-gaap:PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration" contextRef="C_64a480c0-a0be-4794-b148-92796ca3846a">http://fasb.org/us-gaap/2024#UsefulLifeShorterOfTermOfLeaseOrAssetUtilityMember</ix:nonNumeric><ix:nonNumeric id="F_951db97f-38a2-4f75-b2a0-786c13d36d24" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="C_99e3262a-3fe2-40be-b0dc-82616d8a390c">P3Y</ix:nonNumeric><ix:nonNumeric id="F_a515c115-d6c2-4112-a709-4feb4a3856a2" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="C_9cdbc917-f59d-4575-b50b-b7529fe516b1">P3Y</ix:nonNumeric><ix:nonNumeric id="F_dbc0aa1e-92ac-4d71-9c5b-67e87dcc2701" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="C_e5dacb47-0ff3-46b6-8d47-fcb04b2ff82b">P3Y</ix:nonNumeric><ix:nonNumeric id="F_b3baf8b7-ef1b-4f8a-837f-4cd1d791b6a7" name="us-gaap:OpenTaxYear" contextRef="C_ccf9d931-c2ad-45f6-bb1f-dc9bb55b4d50">2019 2020 2021 2022 2023</ix:nonNumeric><ix:nonNumeric id="F_4d9bd1d4-0a18-4e8f-a46b-04210d4baa9b" name="us-gaap:OpenTaxYear" contextRef="C_ca39c9b1-01a2-46fb-b330-e9ba7d9a53b7">2018 2019 2020 2021 2022 2023</ix:nonNumeric></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="rgen-20231231.xsd"/></ix:references><ix:resources><xbrli:context id="C_80f872bc-1413-411b-896e-4fd151e4eea3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_81a9bdaf-6f7f-436c-8bb2-848fff93f096"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_81bb32d0-08be-4527-b298-a69684ed779f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_81ffec3c-cf9d-4e1b-9d2f-a25b8808a85c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:OutstandingTwoZeroTwoThreeNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_828b60f1-7f4c-41de-ab48-de2fad2baddf"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ChromatographyProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_82911078-bdd7-49a5-87bb-adfb316a68b0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_845310a5-6efc-457b-9ec0-0b358e5f16f7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rgen:StockOptionAndIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_85168802-14e7-4bb1-8535-42c2d678584c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_85787cd2-cc97-4fa0-9dc9-8c12203050fb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-09-16</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_86a748c8-c612-4cdb-ae92-87b947f1df49"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_86adc6fc-af85-462e-b84e-1251a2c4a03c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_87f5646d-4d99-44dd-9b9c-267dbcb6fda5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_89c3f917-9344-45fe-8e0b-9a68f965636b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8a126f1d-fe79-4bb7-9205-98984f6392f7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_8af8b489-1cbe-4901-a978-1f6ad5592df3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8b6b3e18-3b6d-4098-aefd-43335a60deea"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:RestrictedStockAndPerformanceStockUnitsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">rgen:NonExecutiveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8ca10399-0d85-4d81-b159-3b54834efd4e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:PfizerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_8cf48f98-19ef-4e21-8519-39e04de60145"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8d0cc9f9-4286-45fb-8903-515fb81aacb1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8d587b79-2e7f-4374-8758-4ef3f7efb9e3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_8d9b2921-4594-40df-b6d6-c9e7e54d3d0d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ExchangedTwoZeroOneNineNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_8de54cac-61d7-4b01-8623-866bf3400eff"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8e03f0b0-cf7e-45ef-9176-62d85b8565f6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_8e95ff1f-a37f-43db-b5d6-e6c7d5095abb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ProcessAnalyticsProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_8f21fc99-0e7a-4bd4-9d0f-1ad39154124c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8fced8db-a45c-4846-b4db-2af4d62c8042"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:AcceleratedDepreciationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_919fcf36-dcc9-43dc-bd7c-15e27130551b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_91f7bf51-7cf8-4978-ad2a-98d4d87806f5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:FacilityAndOtherExitCostsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_92fd7898-1fd9-433e-b658-b545abdfd64b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_932c309b-51cb-44b3-bc0b-590bd77b766c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_937a64bd-6ee4-4148-827a-f4988711ba0f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:CashAndCashEquivalentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_93e23824-4001-4d83-b57f-abe01e7a1cec"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ProteinsProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_93f75704-3ed9-43c4-ac6f-685e2e87db08"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_949b3acc-6542-40a4-86dc-c30d10c3f573"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_94e893cd-90c2-43d8-b310-6400c65c6ad1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_9505990e-7cbe-4599-8424-97d3294f28f7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_9614fa2e-d8aa-45a3-912e-33c6febbd59a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_96331592-f117-43d9-b5ec-35aa5a317f89"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_986f06fb-599d-441f-bf85-de13b571525e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_993d6975-6c8e-41de-a646-87cc3036f81e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:SubscriptionTransactionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_997e96ec-9286-42a3-8367-3faf0ca99114"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_99e3262a-3fe2-40be-b0dc-82616d8a390c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_9a8c889c-19a3-4f28-9b85-0ca6b5d4d96d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputPriceVolatilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:RevenueAndVolumeBasedPaymentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_9b13cfe3-1b2a-4a9b-880a-9ddb6149f09e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_9b397362-a50f-409a-8150-574b325acafc"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">rgen:SubscriptionTransactionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-14</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_9bae31a8-0cc1-43bb-b714-0cf69b8da537"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_9bb8eaca-94f5-49ee-9d54-6eef6dfaf8ff"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:RevenueAndVolumeBasedPaymentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_9bc9fb58-59c1-4a41-a872-11298ff6fd4a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_9c8f8b2b-e150-4163-849f-9abbf6fa2b4e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:UnvestedOptionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_9cdbc917-f59d-4575-b50b-b7529fe516b1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">rgen:FurnitureFixturesAndOfficeEquipmentMemberMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_9e554bd1-4e0f-4a0a-914b-df0f3f131710"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a08b8290-c277-4d03-82d7-8b36c70b360c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-06</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a0eac4f5-17af-4888-b40b-5756dfe48d35"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RestatementAxis">rgen:OtherAdjustmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a107ef67-eec8-4142-85f2-d4a945acc80d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_a34f5856-042c-46e8-a686-e88ec78ac42e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_a40eb5ba-0a80-41bb-a4de-c91b4e73a339"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_a6cd6916-e30c-4fef-b3b7-fde4efbf82f5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_a76644f8-46a0-46f5-a877-718f5a2d202a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_a77bf54e-aee2-41ad-98b5-74f7826c46c7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a82de08f-7d1d-4d1d-b664-f03878b55e70"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-02</xbrli:startDate><xbrli:endDate>2023-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_a85a323e-95db-4086-a929-bcaabf49c967"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_a863024f-fdbb-4c77-915f-c7c678373077"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_a8b70017-761d-4a6c-b9b3-8968744c7f3a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202006Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a8cf4262-1377-41c3-a8ac-30ab371952af"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RestatementAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a8dc03d1-ec6a-4ec3-b18b-a3425f264901"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:PrincipalOwnerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">rgen:SpectrumIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_aa029d8a-3fde-4c72-8a40-44437d26696c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ProcessAnalyticsProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_ab14e346-b902-4523-a4d0-462c826e602f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_abc21ae5-4e05-4e1a-b86b-4aabbb320074"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ad627738-a5b9-4155-a591-ee1573e8d09f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_ade650d3-99e2-445d-912a-b1fa113c189b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ae2cbb3d-114a-4975-b60e-dd1909dc9d88"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_ae41742b-f99e-42ca-9480-c8113505d556"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RestatementAxis">rgen:OtherAdjustmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_ae758623-b001-4707-b9da-c6ce9ead2177"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:OtherProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_aeca4317-2ca1-473a-8ffb-a7b7c0feef85"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:AcceleratedDepreciationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_af0b13aa-d164-4720-bcf2-3543a93184e5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RestatementAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_afda28db-848d-46e9-b0b7-b861c2bcc1e4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ModifiedTwoZeroOneNineNotesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-14</xbrli:startDate><xbrli:endDate>2023-12-14</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_b0b4c7e7-1ac3-49a0-a8b7-f455bfebd99c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_b38c53a5-5d15-48a5-a872-0976ab51318c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:PrincipalOwnerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_b394aa78-5ae7-4528-8866-e5b57064eba4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:RoyaltyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_b4d4e915-4714-412b-939b-5521b848cb6e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-14</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_b651fab6-218e-40fe-b528-78073ff3fb2d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_b6fe10fa-8ab1-47b1-a63f-17b042a6b447"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_b863eea6-61f9-4978-952d-7f6d07797f95"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_b8e12f24-a00c-4ecf-98c5-08e540d70eb1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:ProbabilityWeightedPresentValueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:ManufacturingLineExpansionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_b9ac2779-f189-44a9-a97c-13ae9a156480"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_b9b4b5d6-de5d-476c-9e99-40894c80f091"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_b9bd2956-55b6-4630-90c7-778486ff7c89"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:AcceleratedDepreciationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_b9fb015c-5324-4b79-bfca-e8473e117f1a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_ba73e25b-8f33-452a-85c5-38d65f326340"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:InventoryAdjustmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_ba8ab06a-f7e6-4507-8ea8-4fee4941e8fc"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_bc92bded-7ed3-40b1-9afd-fef7811fe1c0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:CustomerNumberOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_bcb710f7-000c-4e37-a3eb-32503afc8b07"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_bd279589-3e25-448f-b6be-6087995b8f11"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ExchangedTwoZeroOneNineNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-14</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_bd45c841-c1b1-43de-9cf5-7b66118f6d51"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-09-16</xbrli:startDate><xbrli:endDate>2021-09-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_bd84582a-077d-43ef-b178-9dc980053e29"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_be70101a-f1d6-4048-827d-4d1a06fdc729"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_be871d4a-3756-4b33-ab96-659992a35015"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-11-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_be87c643-2923-4319-9d3b-a157c97efd76"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_be9d030f-78a2-4010-a51c-2a17318bea4f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">rgen:CashAndMoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_c131eb55-02f6-407f-b731-75cd187fe4c1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis">rgen:DefinedContribution401KPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_c1f94eba-83e9-4529-939a-128892f1ed5e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ExchangedTwoZeroOneNineNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-14</xbrli:startDate><xbrli:endDate>2023-12-14</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_c2c7db4c-193d-4dc7-a354-b30106aa6f74"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">rgen:FederalAndStateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_c3b98cb2-71c9-4900-851c-19332d055ff6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_c5357c8f-638a-4156-89d4-9566b631c253"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">rgen:ComputerHardwareAndSoftwareMemberMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_c70e20b7-1a61-4956-9fe7-3c9acd47cfe1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_c72349fb-9b16-4d54-ab39-870ba6ec83a3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_c7bf4bbb-9480-4f18-a942-b0bebb57bcd5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ChromatographyProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_c8400b9c-a292-460d-9ec9-8b21c8adc9ba"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:NotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-14</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_c8c16607-47c9-4aa9-aee7-7168c0e96aaa"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ca39c9b1-01a2-46fb-b330-e9ba7d9a53b7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:SE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_caa82be9-db75-4168-922a-499572d850ba"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RestatementAxis">rgen:OtherAdjustmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_cc0780ab-47bb-4184-9412-5e8b7cb682ca"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_cc30fe8f-8f76-40be-9d6f-5f22734651e2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ccaaa367-b7bf-4baf-ab46-429b000b1df1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ccbed23e-b536-4c0d-b083-8e75690759fd"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:ProbabilityWeightedPresentValueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:ManufacturingLineExpansionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputEarnoutDiscountRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ccef2e4d-3d90-4a9b-9125-b2eff4191dae"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_ccf9d931-c2ad-45f6-bb1f-dc9bb55b4d50"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_cdf74e2b-c5e8-4335-b70c-b1908a440d75"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_cef25962-2aac-42c1-aec4-f4841404e3d1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_cf1a22da-a6ea-4fb4-942d-cdda828d9431"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_cf8baa91-9ed0-49cc-aeba-358ed6c5f80a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_d2824928-d973-486a-a65b-45df3e8d84e4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:RestrictedStockAndPerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_d3d3487c-fcb3-4a02-bfae-0d51403d51fa"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">rgen:NonExecutiveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d41a49c7-4e1a-4e04-88c8-9a0e57f6b897"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_d43babec-e112-4a4e-bd41-99b5e5a5370e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_d517e436-774e-430b-b7a9-215ae3774a7e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_d52b9952-ec66-4682-9c8a-39eb7b430fe1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d57a8ced-7509-4082-a3ca-2ccd9891343a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideAndFlexbiosysMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d739c946-d3a5-4440-8020-77c46f56e619"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_d80d597c-3ac0-45b9-a4a1-fbd9ed9072ce"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_d9562d39-4385-4173-ba25-d5d0094e6ea9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">rgen:CashAndMoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_da9bb3a8-9478-466f-b7cb-b04ec3660d20"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis">rgen:DefinedContribution401KPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_db4a7269-67e4-4aba-8cef-e29da396221e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_dbd9f53d-3a19-4241-9998-df54acb4c40d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:FacilityAndOtherExitCostsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_dcb0ae5a-6042-446a-b135-e56632d03469"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_dd71ae59-f1fd-409e-b94a-3357654f6efd"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ddd10db0-03d4-4d03-9e8c-2914b3b666f0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_de576b41-579e-486b-b67a-91a0de11cca0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_de8e1d50-1d95-4fd7-9b3b-1618b3b52f84"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_df5247e5-2442-4adf-8606-6abbdd94079a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_dfb4eed7-fb35-4d58-9cc6-904dd41d7feb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ChromatographyProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_e0310568-ba23-447a-89dc-cc0078b4a0d9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-10-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_e1105124-5f29-4bc1-b71a-766596a97df2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-02-16</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e337dcc3-8c1c-48d1-8a8c-84c2b207455a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e3f82ff6-645c-423c-9c11-f15ada748e62"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e4db7810-9e58-430e-a904-ed67c8356fb0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideAndFlexbiosysMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e4f5cb18-a0e8-4e04-bab9-b673b7dd06ae"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e5346cff-daa3-4b88-af43-66a2dfc7c4cc"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e54d09a6-b2af-4dea-9a1a-ccf608319a7f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e577c14f-0a88-47c6-b306-33ee91d44b1b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e5dacb47-0ff3-46b6-8d47-fcb04b2ff82b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">rgen:ComputerHardwareAndSoftwareMemberMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e6aacc32-5791-4b11-9df3-2bff916ddb5a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:ProbabilityWeightedPresentValueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputProbabilityOfSuccessMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e6bc1264-f000-44b1-a506-8904a1ccc81c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:RestrictedStockAndPerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_e72c853e-3631-476f-86e5-4087f150e6bf"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_e79368cb-90de-4a4a-8a13-09bf91d1a79b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_e7baebaa-bdf9-44eb-9ddc-5b7070998d67"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:TwoZeroTwoThreeNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_e862366e-decd-4cda-8652-36c9b987bfb5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RestatementAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e957b3ec-b78b-4a0f-b705-c76d381678bf"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_e988d382-f53c-4068-9be1-96ff58c3ec5b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RestatementAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ea2f159d-1ada-4375-89ef-69b597936bc6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:FacilityAndOtherExitCostsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_eba96294-5ae5-40e7-9508-1239e17102bb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ebf73946-9c8b-45db-a425-8abb4b7e6f67"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ee3e1150-0f15-446e-bd18-065f49eb472b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:RestrictedStockAndPerformanceStockUnitsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ee4c933a-9b57-4094-a6b0-2202001a520f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_efaa8ca3-1e5a-4bd7-bb27-e425e2de3d42"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-14</xbrli:startDate><xbrli:endDate>2023-12-14</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f1ac95cc-2a2f-4c6d-b070-857146dea57d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:FiltrationProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f200702d-3542-4b3f-b0cd-72b379dcd4de"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f2669897-cafb-4b1e-8549-28ba2a50496b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f5dceb75-ed26-453b-8b03-a5e5608716ba"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:FacilityExitAndOtherExitCostsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f6f12142-0277-48d4-8b90-d56547c17249"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">rgen:FairValueOfEmbeddedConversionOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ModifiedTwoZeroOneNineNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-14</xbrli:startDate><xbrli:endDate>2023-12-14</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f730894e-6672-4551-b8e1-e2153ae8128c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:TrueUpCostsDecember2020Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f7a6ff66-09a2-410c-aeb3-270cfd6996c1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f8079501-8ddb-4196-9cae-e8d19f192855"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f81617a6-82f7-4a36-b727-4c00f37905a8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ModifiedTwoZeroOneNineNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-14</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f8950647-cae8-463b-9c4c-0abefaa69b9a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f8bb04aa-ddc7-4367-a928-cad669795554"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f8ce4662-639c-43a7-9c32-7def0ed265ec"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f9676ca9-4b37-4d7e-bad6-23d8b3b406ff"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_fa007337-552c-411f-ae97-cdf1ea9c3ff9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_fb630dbe-e192-4d10-a0bc-d7caa78ff0b7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_fc3aec69-23cc-429b-992d-5f7d2d41ab86"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_fc678d8d-1280-471c-b5dd-e8b0f6b74a55"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:CustomerNumberOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_fca9e7be-b5e9-48d2-a590-994404346f46"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_fcb4125e-273a-44fd-9d09-9ff01cda4870"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:FacilityAndOtherExitCostsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_fd1dc4c0-461d-4328-b57e-2aff96e9a0a7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideAndFlexbiosysMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_fdd28a2c-e6ea-45f6-aec7-7ca27f89295f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:NGLImpactAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis">us-gaap:ResearchAndDevelopmentArrangementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_fddbf4cb-18b5-4d77-9733-54cf29167937"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:RoyaltyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RestatementAxis">rgen:OtherAdjustmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_fec4765a-86f8-4ef3-b39a-a5083a207150"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:ManufacturingLineExpansionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:ProbabilityWeightedPresentValueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputProbabilityOfSuccessMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_feec9274-0957-47f7-8e88-a29b76cdde90"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ff827794-7d38-4589-8b07-a404dba527d3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:InventoryAdjustmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_020d7343-3d39-48c4-9787-a80d017b01ba"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-06-22</xbrli:startDate><xbrli:endDate>2021-06-22</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_0265e8fb-5e58-4f2d-a6c9-2fa91822cfc7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_028f0a92-fc2f-4765-8d45-da300d48f16f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_02c52a78-79ec-40d7-b349-18e33fddba71"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_05ebe28c-5ee0-42ff-b7aa-c238426453d1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_067a6114-4b5a-4053-96f4-f46a5a9efe53"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_06ed5cd2-5d02-4b7c-a060-089ca983ba21"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_0731af32-df9f-47e9-a89b-ec05eb65660a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_0788b2db-3193-4735-87b4-2ebcc611c50e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_0845755d-0cfc-4ed1-a63c-056c0003f037"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_0a1abccc-ded4-44b6-bbba-101e709b3fa7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ModifiedTwoZeroOneNineNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_0cd8d8e6-3c55-4902-aefd-5c9145f4ccd3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_0da3fa68-d185-4ccd-acca-ba79deaa1e03"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202006Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-03-04</xbrli:startDate><xbrli:endDate>2022-03-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_0dcda174-8051-4377-bd2a-edaa9e45dee0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rgen:StockOptionAndIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_0e1f33d7-90de-41d5-8921-1d2474bea169"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_118d8396-b244-4c68-8e81-188dd4dcd960"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:TrueUpCostsDecember2020Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_11c09de6-fe8a-4729-9991-f7b437a64e5d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:PfizerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_11d24eba-5e1b-4e9b-ae8e-2f7ef5ef6006"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">rgen:ExchangeTransactionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-14</xbrli:startDate><xbrli:endDate>2023-12-14</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_13a377e5-c54c-40c1-8862-a75c34f185ad"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_13d41b52-dc6f-40b2-b68b-8be806556dc4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_151b99ba-a4ff-4423-888e-60a04785b869"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-07-19</xbrli:startDate><xbrli:endDate>2019-07-19</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_152df1cd-b5bb-41c1-80aa-ef8c50d178c6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_15cb21fa-c992-46f4-b1c5-079db171c763"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:OtherProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_1737730b-9d9b-4c4f-bd00-8f491b41a9d1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_181178a0-f552-4946-a008-377187584c9f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RestatementAxis">rgen:OtherAdjustmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_18b06a93-bd91-423c-b2db-256ea54bda8f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RestatementAxis">rgen:OtherAdjustmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_18de3830-8e4b-43b1-b769-f4d6404c6044"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_19155d0d-8624-4d4f-a65f-9a82a960d492"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_19468930-07e5-4404-a47f-5ed70bd40065"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RestatementAxis">rgen:OtherAdjustmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_19af5bfa-4a9e-4d9a-9713-c650fb8e8606"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_1a3669c7-edae-4d97-bd42-a06f7bc215b9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_1b2adbd2-5edf-464c-8fe3-ae19e88561b9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_1b2f1d9b-c655-407a-9d8f-914703d177cb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RestatementAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_1e8e8c9a-8ef5-4d29-ad8a-567d523c650e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">rgen:FurnitureFixturesAndOfficeEquipmentMemberMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_1ea7cfd9-b67e-4786-a857-c751e74895fc"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_1ead2a08-699e-4c22-af24-827d48e7c43e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:PrincipalOwnerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_1eea2353-4969-4ce8-9058-2e8547d6c132"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-17</xbrli:startDate><xbrli:endDate>2023-04-17</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_202cb0e8-ee66-489b-925c-8fc276fc256b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_20e98195-81e5-4a78-b696-46630e4d09a4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RestatementAxis">rgen:OtherAdjustmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_21cb6274-03c5-4f2c-bc2e-1ae30fc4b8c4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:FiltrationProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_2275e601-d650-4815-a23e-bb50cf4ced4b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_2306aad4-6e30-4ac6-91da-b9012537d38e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_23640028-5b90-4cc8-b258-9a033867cf65"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_2374c88d-b37a-4841-a36a-8234abda4d8d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:RoyaltyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_24150723-7711-48f4-98ec-4f54e99b7614"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_25a2b16a-f8ca-44e2-8a64-59fa3cd82225"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:InventoryAdjustmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_25ab9f38-2cca-4198-9d80-0cbd791565c7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_28500612-427e-471d-b740-4cc7b18f89d7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_29a848f4-ea3f-496e-98fb-674103147d75"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-14</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_29eef544-91ed-4d72-864a-9119c13364c8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_2a39499c-96c9-4ec2-a199-753949caf542"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:NonEmployeeDirectorStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_2b4b3769-11d4-47f9-9499-c663372feec5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:AcceleratedDepreciationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_2b4e0f3a-856b-4d30-9b74-ecd78010640c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideAndFlexbiosysMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputEarnoutDiscountRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_2c95baea-6254-4024-a6cf-e640d90e6e8a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">rgen:TaxYear2043Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_2de31f01-f836-48c2-b730-1200730900ad"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202006Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_2e5f239b-0444-4570-b098-fe3f23178665"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:SubscriptionTransactionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-14</xbrli:startDate><xbrli:endDate>2023-12-14</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_2e9572fd-807d-405f-b7b3-e7ebfd30dbcc"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputRevenueVolumeDiscountRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:RevenueAndVolumeBasedPaymentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_2eb61456-3e86-445c-b113-c64ce244019d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:RoyaltyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_2ebdc143-b937-4a25-8992-2d85226e2e5e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ProteinsProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_2ecdb204-949b-48a4-8e49-b9f444873ce3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-14</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_2ee23860-329f-4620-b83a-78ee0abbc74c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_2fb30509-c5dc-4f33-ab46-ae3839f99b64"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_30f269ef-88ed-48fb-a4fe-70aa91245eb7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:PfizerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_3192f6c5-626e-4de8-9965-0ec8fdfb47b9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_31c8d921-4040-49c4-a0c3-be3ff971ac14"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:NGLImpactAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis">us-gaap:ResearchAndDevelopmentArrangementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_34a9826a-c845-4d3c-afab-416c4c140419"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_357e55f3-c316-406e-b1eb-308c55345fdf"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:ProbabilityWeightedPresentValueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:ManufacturingLineExpansionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RestatementAxis">rgen:OtherAdjustmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_36242248-d8f6-4cc4-a6d9-f748120d033b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_36bed660-6879-4a10-a8d0-cabdb6f904bf"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_39c3f539-e72b-4371-af67-86fa87156c53"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_3b03e0b4-2f2a-44a7-b962-8f45b78cdb25"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_3cda38b9-3bf9-4a27-ba89-447c16d2f99b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ProcessAnalyticsProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_3e29b877-8159-42fb-bc68-58494762c0f2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_3e8eacaa-8727-449c-96aa-bf986e717256"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_3f1c7f78-aa24-40ad-9b77-159847ac2854"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_40d2c774-50ed-4f1d-a778-947bd9f7ae40"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_4197089d-b2ad-407a-a88d-524d55d415bb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_420f22c2-f005-4a1b-80f6-81fba79b4662"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RestatementAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_42291f82-cf7e-4cea-a274-f30979d32b81"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:SubscriptionTransactionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-14</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4262f47e-b7af-4b7a-a6c9-99632074c7bb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-02</xbrli:startDate><xbrli:endDate>2023-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_42f1d04a-ae48-4d01-803b-289f4eca102c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_43253817-317a-4144-8883-3be2d894465a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_43d07d1c-4638-4ece-a12c-72e135a3b500"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ProteinsProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_45414736-003e-4605-ac98-b13a2377daa3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4557533e-862a-44b5-842c-fa9a8121748f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_458045ff-bf6d-4fbc-9e9e-1b2c8f456dd2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_45d4a4e0-a4ed-4901-b2d3-5c70924ea702"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:FiltrationProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_468b46f7-ee57-40de-be00-b230bf3bcc7d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_47283da4-d33d-452b-905b-fcae0fd0bc2c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:RevenueAndVolumeBasedPaymentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_47d99feb-bd92-4150-b94c-3d6e4128c1aa"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:RoyaltyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_4839da60-958e-407b-9bba-2302adbf97ff"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_489407cd-f3b2-4917-8258-215fa2e47534"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4903e3a8-6af5-45f1-a44d-32b065baadff"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4983baff-0876-4143-a902-ebc910164077"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">rgen:APACMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4a29c368-0c77-4046-977c-d443e13aff4e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_4abf8ec1-5831-417f-a7a0-df8d261e5250"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_4b6f2d99-6a60-4eb8-98f6-539b51a3bc51"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202006Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_4b95d4be-6015-49f9-a615-2a5f36704184"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:RevenueAndVolumeBasedPaymentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4ba51dce-d20f-417b-aab5-b623a8d23880"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:NGLImpactAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis">us-gaap:ResearchAndDevelopmentArrangementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4cbaf6f8-a32e-4825-b3da-968aeb9a7acb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:RestrictedStockAndPerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_4e91d2b0-1bc8-4287-bb98-eab91339e55a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:TwoZeroTwoThreeNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4ece218e-ea24-4147-b907-3f5bb672e770"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4efbc7e3-ffdf-49cf-9231-6e9cd054deeb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:RevenueAndVolumeBasedPaymentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputEarnoutDiscountRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4fe67a58-54bc-4aef-a0c3-06b74b3c59ed"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_50824066-db96-4e9c-89be-2187ed9c8b5b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_511030e1-8f3a-44ca-8fda-31bd3de6c203"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_5165589d-58c2-4afb-a632-66aaeda3d669"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_517b62b2-f94a-484b-bdad-beee620b135b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_533fde4c-b9a5-449d-bd18-10f5117f2dbd"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:CashAndCashEquivalentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_53a812b6-9bab-4db1-8dd3-3c253c58bc27"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_54672aa0-0bf8-4db4-abe4-49be4667fbd2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:PrincipalOwnerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_54da77f9-5299-43e8-bc2a-a3d8ce04f0e1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_5571093e-15b6-44fc-977a-a5b348d7b236"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">rgen:APACOtherMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_56b5ac01-5af9-4a1e-ae71-eebdd534d000"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_576509cb-8cb1-4c91-aa64-e0e06b940d7f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_57a31b66-c67f-42d7-a0fe-f939794d67d6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">rgen:APACOtherMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_57a95ac7-d505-42c2-8beb-ed82c8ace083"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ExchangeTransactionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-07-19</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_5a1ec2d7-31b8-4b06-8565-02b0b26e4979"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RestatementAdjustmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_5b183dbc-53e1-4b2b-a841-fcf2afa67f2e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RestatementAdjustmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:RoyaltyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_5b2f98f0-5aaf-47f7-a6c3-eb82a9a19723"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_5b80df83-7025-491e-a539-f48cf74a13a9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_5cafeb64-d914-401d-bf4c-d45df9d3ea60"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:ManufacturingLineExpansionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:ProbabilityWeightedPresentValueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_5d1d5259-5c7b-4645-af51-5d2693739405"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_5db82e18-d6a0-4194-a855-2452c0c03355"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">rgen:APACMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_5e1e8005-1ca3-4e0f-959b-ffd66c98b024"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_5ef98629-d348-419f-9d8d-a7b6418a6220"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:InventoryAdjustmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_5f034394-cf78-4eb4-8ff9-9f23954cccd0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_60fa6f45-39ec-43c5-adac-3320c3d8a679"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_61fa9d78-8afb-439d-9113-ea81e70ba86f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RestatementAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_62ee8892-57c4-4b40-bfbb-bc710d3f7bac"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideAndFlexbiosysMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputProbabilityOfSuccessMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_63483dd9-9699-4dae-8b4d-61ed89fe7e2b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_63d4e2c0-13f1-4b63-a2b4-ed1c5a642163"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_64a480c0-a0be-4794-b148-92796ca3846a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_6510b4a8-454d-4c05-903f-a7055df45cb9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-11-29</xbrli:startDate><xbrli:endDate>2021-11-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_65474625-14e9-4073-bb51-8a868ee6020c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_65b08794-f7d8-4059-ac5e-94d03811f466"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:PuroliteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_65ffba7c-18cb-4d91-820d-905df26ad0a9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ExchangeAndSubscriptionAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-14</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_665c3d96-ac6a-4e64-96ae-87dd4f478598"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_671f6d21-2dad-434b-b963-a3e1c9829454"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:AcceleratedDepreciationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_6779d872-37d7-4981-91a5-220b5cc323ab"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:FacilityExitAndOtherExitCostsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_67ac9dab-11e7-4558-9fbf-0eb049eb4fc0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_690b203f-6012-4574-9e1e-3815e1882698"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis">rgen:DefinedContribution401KPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_69b9f203-4ffd-4060-a3b3-bc1b1bddc8fc"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202006Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_6bd616b5-e130-4840-9988-8b44cfef48a5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_6d330e6c-613f-463b-8988-d1dd296d67dd"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_6e6a7aa0-d26c-47ef-8006-274f7962495e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_6ea81ff8-25fd-4a5f-8209-58c3ebd49b7a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">rgen:TrademarkMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_6fb54043-1aab-4aa6-bca1-093388f54d18"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_6fbf62a7-4be7-4e53-824d-972254971729"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:OtherProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_7054cf9e-e4b9-48bb-8db8-51dc67555cab"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_72048d64-eb68-45f7-b7ba-737b8cff5b6b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_72df5c19-d7d2-43d2-bb17-df8271835ac3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-07-19</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_72e6137b-e590-4c9f-9dcf-70d18a768f7d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_731ef2bc-8693-4fa5-b925-51d077ac24fe"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_73645a4f-0b13-4c18-99b6-77b48110746d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ModifiedTwoZeroOneNineNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-14</xbrli:startDate><xbrli:endDate>2023-12-14</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_739f2499-5a6e-4497-a335-0b687d7c1206"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CapitalUnitsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-09-16</xbrli:startDate><xbrli:endDate>2021-09-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_73cba0e2-763b-42fc-91ab-cfbb6869181e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_75129c4a-5fb9-4163-9852-625a1aa895c9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">rgen:InflationReductionActOfTwoThousandTwentyTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_77d006db-b71d-4439-bc7e-74bc655c27f4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_780dac2a-fde7-43bd-b2ba-0b966b73e453"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_78d29b32-606c-4039-99bd-59c6cf363ebc"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_791f88a3-f366-4b27-9da7-3798d8ba6d29"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:InventoryAdjustmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_7975b29f-6b21-4987-8e7c-b58d2df11b0e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-17</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_7984018d-c393-468e-8f40-342d128d5015"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">rgen:TrademarkMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_79d26bb3-2f4a-4d23-ba89-b74276d4a86f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_79d7ac14-41d7-4dd7-93cf-7d251a407a89"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">rgen:CashAndCashEquivalentsAndMoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_79e62abb-7c94-41a6-814c-90254943c565"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-17</xbrli:startDate><xbrli:endDate>2023-04-17</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_7b18128a-c301-47f8-a48d-4277e26350b1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ExchangedTwoZeroOneNineNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_7c8ecffb-e521-43b6-9f00-cf54e50c4240"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">rgen:APACOtherMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_7d52f340-2312-47b8-b669-dcdf99df683e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_7f11107d-8c42-4922-babc-75a59b58c2c2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_7f338a95-2d65-45f1-9fb3-126f775914f6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_7f5dd080-ebd1-4899-aecd-e7d96b15a39c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-07-19</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_7fcf606d-08e7-4899-8811-abfdc010d8c5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="U_UnitedStatesOfAmericaDollarsShare"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:unit id="U_pure"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:unit id="U_sqft"><xbrli:measure>utr:sqft</xbrli:measure></xbrli:unit><xbrli:unit id="U_shares"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="U_Segment"><xbrli:measure>rgen:Segment</xbrli:measure></xbrli:unit><xbrli:unit id="U_Sites"><xbrli:measure>rgen:Sites</xbrli:measure></xbrli:unit><xbrli:unit id="U_Days"><xbrli:measure>rgen:Days</xbrli:measure></xbrli:unit><xbrli:unit id="U_USD"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:unit id="U_ReportingUnit"><xbrli:measure>rgen:ReportingUnit</xbrli:measure></xbrli:unit><ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="FNT_f064784a-54fe-44eb-8435-6562f6374049" fromRefs="F_25e7894a-1744-4cad-b588-ea0b61c2e311 F_db028658-b596-42a8-ab2b-efb8e857416e F_d4bb3b80-b15e-4eac-a3c8-c1e5e0a5ef90"/><ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="FNT_bfc3ab98-c8da-4fff-a74b-15614015aed9" fromRefs="F_29c76701-e631-4e49-a3b3-279168f10c46 F_861881d7-4892-409d-b731-77fe13d96c22 F_89b0ea6b-5f84-4ee3-8152-1225892aecf0"/><ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="FNT_8160f178-9e0f-4080-97c2-68dfc4345e56" fromRefs="F_587f9d8b-5ff8-439b-a202-ab2e518b9139 F_f509d41c-5da8-4fd0-a453-24a05f8530a4 F_41b171e9-8ee9-4d07-8cdf-b85a169968d2 F_f6e945f7-13e4-49b2-a13c-dcfb5e5be255 F_97909c0e-34ec-4899-a634-334a9e5d2901 F_b1ffe4ea-7316-444c-b857-e041ec38f9e6"/><ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="FNT_8edd26bf-634c-4946-9577-6e405f9011ec" fromRefs="F_17d8eb53-fd7c-41c5-9e34-f0fd5696908a F_38637e94-aeb7-4644-b22e-530ae275b15a F_a7e85f61-3695-4b3d-bbf0-5a31e53af7bc F_1b2d0dfc-a3ee-4825-a26b-a787d26cd88c F_ceef037b-2330-4938-b3cb-47e73627807d F_10b7aaf5-58f9-4d2d-bbd4-86ba3f3b8400"/><ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="FNT_7590bd9e-4e2c-4213-8d6c-0b9fde55e0a2" fromRefs="F_3793dfaa-ae57-4cd7-bba1-9f8fc002bcda F_0afbca3f-5b03-47f1-a186-aa0a448603a4 F_b8426ec9-5701-42d1-83d6-5095bc976f9c F_28109e6d-9e04-4005-920b-66cf31fd627f F_8f549153-45c9-4a57-ad1c-4634125d18d7 F_912db92f-8af1-432f-9d9c-e155c2b67b42 F_c7f20c0c-a323-45d1-8e73-0a598b2eda21"/><ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="FNT_0aaa5cdb-d79f-425b-b2a3-10c61e327eec" fromRefs="F_cbc19316-10fa-43a3-8235-b087ff1401de"/><ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="FNT_2f0ab321-a7d8-40c1-89e1-5b173d5c5c84" fromRefs="F_d91b7692-9daa-4538-8540-ee126221c22d F_b73f4a6b-6c4c-454c-bf9f-3f185acf3714 F_2ae9ce51-6958-456f-8699-6b39ac47d900 F_b6b05d08-1a0f-417d-8c4c-e42415e27c3f"/><ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="FNT_a32fe0b9-91d3-43d9-bdc3-923f89cad0b3" fromRefs="F_ad476f8d-bb39-42fb-87da-cfae99a54d33 F_1401dbd3-3dfa-4538-8773-c147b5711b17"/></ix:resources></ix:header></div>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:1pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="border-top:1.5pt double;padding-top:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:4pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:13.5pt;font-family:Times New Roman;min-width:fit-content;">UNITED STATES</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:13.5pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:13.5pt;font-family:Times New Roman;min-width:fit-content;">SECURITIES AND EXCHANGE COMMISSION</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:13.5pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:9.5pt;font-family:Times New Roman;min-width:fit-content;">Washington, D.C. 20549</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:9.5pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="margin-left:40%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1pt solid;margin-right:40%;text-align:center;"><span style="white-space:pre-wrap;font-size:2pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:2pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:13.5pt;font-family:Times New Roman;min-width:fit-content;">FORM </span><span style="font-size:13.5pt;font-family:Times New Roman;"><ix:nonNumeric id="F_20518ad2-ded5-4ae9-8a3d-68469bd64f39" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:DocumentType"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:13.5pt;font-family:Times New Roman;min-width:fit-content;">10-K/A</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:13.5pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="margin-left:40%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1pt solid;margin-right:40%;text-align:center;"><span style="white-space:pre-wrap;font-size:2pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:2pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:9.5pt;font-family:Times New Roman;min-width:fit-content;">(Amendment No. 1)</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:2pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:4%;box-sizing:content-box;"/>
    <td style="width:96%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:9pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0.01in;vertical-align:top;padding-bottom:0in;padding-right:0.01in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:9.5pt;"><ix:nonNumeric id="F_8ad395ce-a2b2-4dd4-8f93-a0de8a356967" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:DocumentAnnualReport" format="ixt-sec:boolballotbox"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#9746;</span></ix:nonNumeric></span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-bottom:0in;padding-right:0.01in;"><p style="font-size:9.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:2pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;">For the fiscal year ended</span><span style="font-size:8.5pt;font-family:Times New Roman;"><ix:nonNumeric id="F_02f090cf-c533-40f3-a0d0-35e1f00c6707" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:DocumentPeriodEndDate" format="ixt:date-monthname-day-year-en"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;">December 31, </span><span style="font-size:8.5pt;font-family:Times New Roman;"><ix:nonNumeric id="F_4c2c86bb-665a-4e79-b0bf-2c4170a31853" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:DocumentFiscalYearFocus"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;">2023</span></ix:nonNumeric></span></ix:nonNumeric></span></p>
  <p style="font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;">OR</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:2pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:4%;box-sizing:content-box;"/>
    <td style="width:96%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:9pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0.01in;vertical-align:top;padding-bottom:0in;padding-right:0.01in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:9.5pt;"><ix:nonNumeric id="F_9b839373-f65d-4fce-bd9b-a5ca7a3e6d91" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:DocumentTransitionReport" format="ixt-sec:boolballotbox"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#9744;</span></ix:nonNumeric></span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-bottom:0in;padding-right:0.01in;"><p style="font-size:9.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:2pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;">For the transition period from                      to</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;">                      </span></p>
  <p style="font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;">Commission File Number </span><span style="font-size:8.5pt;font-family:Times New Roman;"><ix:nonNumeric id="F_1361f2b8-fdb4-467e-acd0-22d984883784" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:EntityFileNumber"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;">000-14656</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="margin-left:40%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1pt solid;margin-right:40%;text-align:center;"><span style="white-space:pre-wrap;font-size:2pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:20pt;font-family:Times New Roman;"><ix:nonNumeric id="F_af0ca75e-a687-4af9-95b9-20f0cb88fbdc" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:EntityRegistrantName"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:20pt;font-family:Times New Roman;min-width:fit-content;">REPLIGEN CORP</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:20pt;font-family:Times New Roman;min-width:fit-content;">ORATION</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:20pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;">(Exact name of registrant as specified in its charter)</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="margin-left:40%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1pt solid;margin-right:40%;text-align:center;"><span style="white-space:pre-wrap;font-size:2pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:6pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:50.06%;box-sizing:content-box;"/>
    <td style="width:49.94%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:8pt;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:8pt;"><ix:nonNumeric id="F_1f9594a3-ba4d-4a60-a9b0-c60c2177e544" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:EntityIncorporationStateCountryCode" format="ixt-sec:stateprovnameen"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Delaware</span></ix:nonNumeric></span></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:8pt;"><ix:nonNumeric id="F_88242684-7ad4-459f-bdd0-f9bd962dedc3" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:EntityTaxIdentificationNumber"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">04-2729386</span></ix:nonNumeric></span></p></td>
   </tr>
   <tr style="height:8pt;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(State or other jurisdiction of</span></p><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">incorporation or organization)</span></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(I.R.S. Employer</span></p><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Identification No.)</span></p></td>
   </tr>
   <tr style="height:8pt;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:8pt;"><ix:nonNumeric id="F_d6903fb2-d2cf-453b-9459-7ba75f29a784" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:EntityAddressAddressLine1"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">41 Seyon Street, Bldg. 1, Suite 100</span></ix:nonNumeric></span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:center;"><span style="font-size:8pt;"><ix:nonNumeric id="F_5601a99a-d2e9-4e4d-9a83-768819a7f1fb" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:EntityAddressCityOrTown"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Waltham</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;min-width:fit-content;">, </span><span style="font-size:8pt;"><ix:nonNumeric id="F_07027641-aa25-43d3-bab9-1be6af47015d" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:EntityAddressStateOrProvince"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">MA</span></ix:nonNumeric></span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:8pt;"><ix:nonNumeric id="F_52bc6621-af12-43d8-8f46-84fe648774ba" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:EntityAddressPostalZipCode"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">02453</span></ix:nonNumeric></span></p></td>
   </tr>
   <tr style="height:8pt;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Address of principal executive offices)</span></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Zip Code)</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Registrant&#8217;s telephone number, including area code: (</span><span style="font-size:8pt;font-family:Times New Roman;"><ix:nonNumeric id="F_24af7827-2a16-4b11-943a-770709a91641" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:CityAreaCode"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">781</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">)</span><span style="font-size:8pt;font-family:Times New Roman;"><ix:nonNumeric id="F_87a64b25-ec64-4af1-b3dc-8e27fe0eb532" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:LocalPhoneNumber"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> 250-0111 </span></ix:nonNumeric></span><span style="font-size:8pt;font-family:Times New Roman;"></span></p>
  <p style="margin-left:40%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1pt solid;margin-right:40%;text-align:center;"><span style="white-space:pre-wrap;font-size:2pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Securities registered pursuant to Section 12(b) of the Act:</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:6pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:38.04%;box-sizing:content-box;"/>
    <td style="width:21.76%;box-sizing:content-box;"/>
    <td style="width:40.2%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Title of each class</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Trading Symbol(s)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Name of each exchange on which registered</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:8.5pt;"><ix:nonNumeric id="F_611b0943-bb1d-4e2c-9efe-356136dff98e" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:Security12bTitle"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Common Stock</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;min-width:fit-content;">, par value $0.01 per share</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:8.5pt;"><ix:nonNumeric id="F_b52d65d6-c026-4954-a9cb-b0408e24bf18" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:TradingSymbol"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">RGEN</span></ix:nonNumeric></span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:8.5pt;"><ix:nonNumeric id="F_430441f3-7e7c-4273-af0d-b13606a30138" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:SecurityExchangeName" format="ixt-sec:exchnameen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">The Nasdaq Global Select Market</span></ix:nonNumeric></span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:6pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Securities registered pursuant to Section 12(g) of the Act: None</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="margin-left:40%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1pt solid;margin-right:40%;text-align:center;"><span style="white-space:pre-wrap;font-size:2pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act.   </span><span style="font-size:8pt;font-family:Times New Roman;"><ix:nonNumeric id="F_f6dae0bc-bfac-4597-9c6d-654918d9bb61" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:EntityWellKnownSeasonedIssuer"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> Yes </span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> &#9746;    No  &#9744;.</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Indicate by check mark if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.    Yes  &#9744;   </span><span style="font-size:8pt;font-family:Times New Roman;"><ix:nonNumeric id="F_b4a5cb3e-f7b8-46e2-973c-1620720a1ebe" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:EntityVoluntaryFilers"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> No</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">  &#9746;.</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Indicate by checkmark 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.    </span><span style="font-size:8pt;font-family:Times New Roman;"><ix:nonNumeric id="F_581ad6e7-66b9-47ce-8014-2e7c746c3b65" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:EntityCurrentReportingStatus"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Yes </span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> &#9746;    No  &#9744;.</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">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 (&#167;232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).    </span><span style="font-size:8pt;font-family:Times New Roman;"><ix:nonNumeric id="F_d6e14a2b-f622-4daf-9d73-1ab0015bcd2a" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:EntityInteractiveDataCurrent"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Yes</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">  &#9746;    No  &#9744;.</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">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 &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company&#8221; and &#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act.</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:6pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:16.92%;box-sizing:content-box;"/>
    <td style="width:60.2%;box-sizing:content-box;"/>
    <td style="width:20.08%;box-sizing:content-box;"/>
    <td style="width:2.8%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:8pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:8pt;"><ix:nonNumeric id="F_ea148053-a688-402f-82e5-d7410d2f198e" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:EntityFilerCategory" format="ixt-sec:entityfilercategoryen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Large accelerated filer</span></ix:nonNumeric></span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#9746;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accelerated filer</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#9744;</span></p></td>
   </tr>
   <tr style="height:8pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-accelerated filer</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#9744;</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  </span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Smaller reporting company</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:8pt;"><ix:nonNumeric id="F_94c76e51-a5ec-4895-94dc-0eb456e68e64" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:EntitySmallBusiness" format="ixt-sec:boolballotbox"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#9744;</span></ix:nonNumeric></span></p></td>
   </tr>
   <tr style="height:8pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Emerging growth company</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:8pt;"><ix:nonNumeric id="F_5abf48ff-1d9b-44c1-bf6b-93ab425d6453" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:EntityEmergingGrowthCompany" format="ixt-sec:boolballotbox"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#9744;</span></ix:nonNumeric></span></p></td>
   </tr>
  </table>
  <p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">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.    Yes  &#9744;    No  &#9744;.</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Indicate by check mark whether the registrant has filed a report on and attestation to its management&#8217;s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report.  </span><span style="font-size:8pt;font-family:Times New Roman;"><ix:nonNumeric id="F_87d69903-22bc-4305-8935-480253f977cb" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:IcfrAuditorAttestationFlag" format="ixt-sec:boolballotbox"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#9746;</span></ix:nonNumeric></span></p>
  <p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements.   </span><span style="font-size:8pt;font-family:Times New Roman;"><ix:nonNumeric id="F_a0c7fd58-9786-4945-8c54-10debae334fb" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:DocumentFinStmtErrorCorrectionFlag" format="ixt:fixed-false"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#9744;</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant's executive officers during the relevant recovery period pursuant to </span><span style="color:#231f20;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#167;240.10D-1(b). </span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:'Segoe UI Symbol',sans-serif;min-width:fit-content;">&#9744;</span></p>
  <p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Act).    Yes  &#9744;    No </span><span style="font-size:8pt;font-family:Times New Roman;"><ix:nonNumeric id="F_f15ac4fa-0027-42cb-a2c0-2ecee6e8875a" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:EntityShellCompany" format="ixt:fixed-false"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> &#9746;. </span></ix:nonNumeric></span><span style="font-size:8pt;font-family:Times New Roman;"></span></p>
  <p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">The aggregate market value of the voting and non-voting common equity held by non-affiliates as of June 30, 2023, the last business day of the registrant&#8217;s most recently completed second fiscal quarter, was $</span><span style="font-size:8pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2f5e13bd-dc08-478e-bfd4-e36c1be88d0a" contextRef="C_cf1a22da-a6ea-4fb4-942d-cdda828d9431" name="dei:EntityPublicFloat" unitRef="U_USD" decimals="0" format="ixt:num-dot-decimal">6,931,847,028</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">The number of shares of the registrant&#8217;s common stock outstanding as of February 16, 2024, was </span><span style="font-size:8pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_190327b9-6f9f-4375-8c78-b9d1bb36d4f4" contextRef="C_e1105124-5f29-4bc1-b71a-766596a97df2" name="dei:EntityCommonStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">55,771,075</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="font-size:8pt;font-family:Times New Roman;"><ix:nonNumeric id="F_9d801c04-29b3-4cd9-b932-a97950c1f6aa" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:DocumentsIncorporatedByReferenceTextBlock" escape="true"><p style="font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Documents Incorporated By Reference</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Our Portions of the Proxy Statement for the 2023 Annual Meeting of Shareholders </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">are incorporated by reference into Part III of this Report.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:6pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:32.66%;box-sizing:content-box;"/>
    <td style="width:28.98%;box-sizing:content-box;"/>
    <td style="width:38.36%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Auditor Firm Id</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Auditor Name</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Auditor Location</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:8.5pt;"><ix:nonNumeric id="F_ca499bcf-692d-4199-b72f-53b381791336" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:AuditorFirmId"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">42</span></ix:nonNumeric></span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:8.5pt;"><ix:nonNumeric id="F_92ae20f3-c28d-439f-a674-bb00c2a87949" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:AuditorName"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Ernst &amp; Young LLP</span></ix:nonNumeric></span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:8.5pt;"><ix:nonNumeric id="F_646365a1-94b0-48a3-8d24-403ca97ef9e7" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:AuditorLocation"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Boston, Massachusetts, United States</span></ix:nonNumeric></span></p></td>
   </tr>
  </table>
  <p style="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1.5pt double;text-align:left;"><span style="white-space:pre-wrap;font-size:4pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:1pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">EXPLANATORY NOTE</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><ix:nonNumeric id="F_2a2ab318-ec71-415d-a07c-f86fc806bcc9" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="dei:AmendmentDescription" continuedAt="F_2a2ab318-ec71-415d-a07c-f86fc806bcc9_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Repligen Corporation (&#8220;we,&#8221; &#8220;us,&#8221; &#8220;our,&#8221; or the &#8220;Company&#8221;) is filing this Amendment No. 1 on Form 10-K/A (the &#8220;Amendment&#8221;) to amend and restate certain items in our </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Annual Report on Form 10-K for the fiscal year ended December 31, 2023, originally filed with the U.S. Securities and Exchange Commission (the &#8220;SEC&#8221;) on February 22, 2024 (the &#8220;Original Report&#8221;), as listed in &#8220;Items Amended in this Filing&#8221; below. </span></ix:nonNumeric></span><span style=""></span></p>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_2a2ab318-ec71-415d-a07c-f86fc806bcc9_1"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In filing this Amendment, we are restating our previously issued consolidated financial statements as of and for the twelve months ended December 31, 2023 to correct the misapplication of accounting principles under U.S. GAAP related to the timing of revenue recognition arising from a specific COVID-related cancellation payment, received in connection with a contract modification (collectively, the "Misstatement"), as further described in Note 1 to the consolidated financial statements herein. This restatement changes the timing of recognition of revenue, including the revenue reported in the Original Report, but will not change the total revenue to be recognized for this payment, nor have any impact on the Company&#8217;s previously reported cash and cash equivalent balances.  This misapplication did not result from any override of controls, misconduct, or fraud of any kind. In connection with the restatement, the Company determined that it was appropriate to revise the consolidated balance sheet as of December 31, 2022 and the consolidated statements of cash flows for the periods ended December 31, 2022 and 2021, as well as impacted footnote disclosures, in this Form 10-K/A to correct other unrelated immaterial errors.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition, we have filed amendments to the unaudited condensed consolidated quarterly financial information previously reported in our Quarterly Reports on Form 10-Q for quarterly periods ended March 30, 2023, originally filed with the SEC on May 2, 2023, June 30, 2023, originally filed with the SEC on August 2, 2023, and September 30, 2023, originally filed with the SEC on October 31, 2023. We are also filing amendments to the unaudited condensed consolidated quarterly financial information previously reported in our Quarterly Reports on Form 10-Q for the fiscal quarters ended March 31, 2024, originally filed with the SEC on May 1, 2024, and June 30, 2024, originally filed with the SEC on July 30, 2024 (collectively, the &#8220;Amended Quarterly Reports,&#8221; and together with this Amendment, the &#8220;Amended Reports&#8221;). In correcting the Misstatement in this Amendment, we have also restated other financial statement line item amounts including but not limited to product revenues, income tax provision, net income, foreign currency translation, deferred revenues, prepaid expenses, deferred taxes and earnings-per-share</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:continuation></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Internal Control Considerations</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Management has reassessed its evaluation of the effectiveness of its internal control over financial reporting as of December 31, 2023, as further described in Part II, Item 9A of this Amendment, and concluded that an additional material weakness existed and that internal control over financial reporting and disclosure and procedures was not effective as of December 31, 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Items Amended in this Filing</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">This Amendment amends and restates the sections of the Original Report listed below, with modifications as necessary to reflect the effects of the restatement of our previously issued consolidated financial statements as of and for the year ended December 31, 2023. No attempt has been made in this Form 10-K/A to update other disclosures presented in the Original Report, except as required to reflect the effects of such restatement in the following amended items:</span></p>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Part I, Item 1. Business</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Part I, Item 1A. Risk Factors</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Part II, Item 7. Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Part II, Item 7.A. Quantitative and Qualitative Disclosures About Market Risk</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Part II, Item 8. Financial Statements and Supplementary Data</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Part II, Item 9A. Controls and Procedures</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Part IV, Item 15. Exhibits, Financial Statement Schedules<br/></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></div></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"><br/></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">This Amendment also deletes certain &#8220;non-GAAP financial measures&#8221; (as defined in applicable SEC regulations). Specifically, the following non-GAAP financial measures that were originally included in Item 7, &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations&#8221; in the Original Report have been removed:</span></p>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Non-GAAP adjusted income from operations;</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Non-GAAP adjusted net income and adjusted earnings per share; and</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Non-GAAP adjusted EBITDA.</span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Historically, the Company provided non-GAAP adjusted income from operations, non-GAAP adjusted net income and adjusted earnings per share, and non-GAAP adjusted EBITDA as supplemental measures to GAAP measures regarding our operating performance because we believed these non-GAAP measures were helpful to investors in providing a comparison of our financial results between periods that more accurately reflects how management reviewed its financial results. However, starting from the quarterly report for the quarter ended March 31, 2024, the Company stopped providing these non-GAAP financial measures in periodic reports filed with the SEC. In addition, the Company does not intend to include in future filings the non-GAAP financial measures originally included in the Original Report. Accordingly, the Company has concluded that it is advisable to delete these non-GAAP financial measures from this Amendment.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Except as it relates to the restatement and related disclosures as well as the deletion of the non-GAAP financial measures discussed above, and an update to the &#8220;Summary of Significant Accounting Policies&#8221; related to the convertible instruments described in Note 3 to the consolidated financial statements herein, this Amendment does not reflect events occurring after the date of the Original Report. Among other things, forward looking statements made in the Original Report have not been revised to reflect events that occurred or facts that became known to the Company after the filing of the Original Report, and such forward looking statements should be read in their historical context. As such, this Amended Report speaks only as of the date the Original Report was filed, and the Company has not undertaken herein to amend, supplement or update any information contained in the Original Report to give effect to any subsequent events. Accordingly, this Amended Report should be read in conjunction with the Company&#8217;s filings made with the SEC subsequent to the filing of the Original Report, including any amendment to those filings.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">This Amendment also contains amended reports of Ernst &amp; Young LLP (&#8220;EY&#8221;), the Company&#8217;s independent registered public accounting firm, on the consolidated financial statements as of and for the year ended December 31, 2023, and on the effectiveness of our internal control over financial reporting as of December 31, 2023, and an amended consent of EY.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In accordance with Rule 12b-15 under the Securities Exchange Act of 1934, the Company is also including with this Form 10-K/A new certifications required by Sections 302 and 906 of the Sarbanes-Oxley Act of 2022 from the Company&#8217;s Chief Executive Officer (as principal executive officer) and Chief Financial Officer (as principal financial officer) dated as of the filing date of this Form 10-K/A (included in Part IV, Item 15. &#8220;Exhibits and Financial Statement Schedules&#8221; and filed as Exhibits 31.1, 31.2, 32).</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In accordance with applicable SEC rules, this Amendment also includes an updated signature page.</span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Table of Contents</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:10.58%;box-sizing:content-box;"/>
    <td style="width:82.42%;box-sizing:content-box;"/>
    <td style="width:7%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:8pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">PAGE</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#forwardlooking_statements"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Forward-looking Statements</span></a><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1</span></p></td>
   </tr>
   <tr style="height:5.75pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#part_i"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">PART I</span></a></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 1.</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_1_business"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Business (Restated)</span></a></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 1A.</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_1a_risk_factors"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Risk Factors (Restated)</span></a></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">18</span></p></td>
   </tr>
   <tr style="height:5.75pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">PART II</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 7.</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_7_managements_discussion_analysis_f"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations (Restated)</span></a><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">36</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 7.A.</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_7a_quantitative_qualitative_disclos"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Quantitative and Qualitative Disclosures About Market Risk (Restated)</span></a></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">50</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 8.</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_8_financial_statements_supplementar"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Financial Statements and Supplementary Data (Restated)</span></a></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">51</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 9A.</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_9a_controls_procedures"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Controls and Procedures (Restated)</span></a></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">51</span></p></td>
   </tr>
   <tr style="height:5.75pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#part_iv"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">PART IV</span></a></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">56</span></p></td>
   </tr>
   <tr style="height:5.75pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 15.</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_15_exhibits_financial_statement_sch"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Exhibits and Financial Statement Schedules (Restated)</span></a></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">56</span></p></td>
   </tr>
   <tr style="height:5.75pt;white-space:pre-wrap;word-break:break-word;">
    <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td colspan="2" style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#signatures"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">SIGNATURES</span></a><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">60</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Summary of the Material Risks Associated with Our Business</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our business is subject to numerous risks and uncertainties that you should be aware of in evaluating our business. These risks include, but are not limited to, the following:</span></p>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our product revenue may be negatively impacted by a number of factors, including without limitation, competition in the bioprocessing market, our historical reliance on a limited number of large customers, our ability to develop or acquire additional bioprocessing products in the future, our ability to manufacture our bioprocessing products sufficiently and timely, supply chain issues and/or disruption, and our ability to effectively penetrate the bioprocessing products market.</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We rely on a limited number of suppliers or, for certain of our products, one supplier, and we may not be able to find replacements or immediately transition to alternative suppliers, which could have a material adverse effect on our financial condition, results of operations and reputation.</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The market may not be receptive to our new bioprocessing products upon their introduction.</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">If our products do not perform as expected or the reliability of the technology on which our products are based is questioned, we could experience lost revenue, delayed or reduced market acceptance, increased cost and damage to our reputation.</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">If we are unable to manufacture our products in sufficient quantities and in a timely manner, our operating results will be harmed, our ability to generate revenue could be diminished and our gross margin may be negatively impacted.</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our acquisitions expose us to risks that could adversely affect our business, and we may not achieve the anticipated benefits of acquisitions of businesses or technologies.</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our results of operations could be negatively affected by potential fluctuations in foreign currency exchange rates.</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our corporate restructuring and the associated headcount reduction may not result in anticipated savings, could result in total costs and expenses that are greater than expected which could disrupt our business.</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">If we are unable to continue to hire and retain skilled personnel, then we will have trouble developing and marketing our products.</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">If we are unable to obtain, maintain and protect our intellectual property rights related to our products, we may not be able to succeed commercially.</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Climate change, climate change-related regulation and sustainability concerns could adversely affect our businesses and the operations of our subsidiaries, and any actions we take or fail to take in response to such matters could damage our reputation.</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Natural disasters, geopolitical unrest, war, terrorism, public health issues, the ongoing conflicts between Russia and Ukraine and Israel and Palestine, or other catastrophic events could disrupt the supply, delivery or demand of products, which could negatively affect our operations and performance.</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our internal computer systems, or those of our customers, collaborators or other contractors, may be subject to cyber-attacks or security breaches, which could result in a material disruption of our product development programs.</span></div></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">i</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="forwardlooking_statements"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FORWARD-LOOKIN</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">G STATEMENTS</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">This Amendment contains forward-looking statements which are made pursuant to the safe harbor provisions of Section 27A of the Securities Act of 1933, as amended, (the &#8220;Securities Act&#8221;) and Section 21E of the Securities Exchange Act of 1934, as amended. The forward-looking statements in this Amendment do not constitute guarantees of future performance. Investors are cautioned that express or implied statements in this Amendment that are not strictly historical statements, including, without limitation, statements regarding current or future financial performance, potential impairment of future earnings, management&#8217;s strategy, plans and objectives for future operations or acquisitions, product development and sales, research and development, selling, general and administrative expenditures, intellectual property and adequacy of capital resources and financing plans constitute forward-looking statements. Such forward-looking statements are subject to a number of risks and uncertainties that could cause actual results to differ materially from those anticipated, including, without limitation, the risks identified under the caption &#8220;Risk Factors&#8221; and other risks detailed in this Amendment and our other filings with the Securities and Exchange Commission. We assume no obligation to update any forward-looking information contained in this Amendment, except as required by law.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="part_i"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">PART</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> I</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_1_business"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 1. B</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">USINESS</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The following discussion of our business contains forward-looking statements that involve risks and uncertainties. When used in this report, the words &#8220;intend,&#8221; &#8220;anticipate,&#8221; &#8220;believe,&#8221; &#8220;estimate,&#8221; &#8220;plan&#8221; and &#8220;expect&#8221; and similar expressions as they relate to us are included to identify forward-looking statements. Our actual results could differ materially from those anticipated in these forward-looking statements and are a result of certain factors, including those set forth under &#8220;Risk Factors&#8221; and elsewhere in this Amendment.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">References throughout this Amendment to &#8220;Repligen Corporation&#8221;, &#8220;Repligen&#8221;, &#8220;we&#8221;, &#8220;us&#8221;, &#8220;our&#8221;, or the &#8220;Company&#8221; refer to Repligen Corporation and its subsidiaries, taken as a whole, unless the context otherwise indicates.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Overview</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Repligen Corporation is a global life sciences company that develops and commercializes highly innovative bioprocessing technologies and systems that increase efficiencies and flexibility in the process of manufacturing biological drugs.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As the overall market for biologics continues to grow and expand, our primary customers &#8211; global biopharmaceutical companies, contract development and manufacturing organizations and other life science companies (integrators) &#8211; face critical production cost, capacity, quality and time pressures. Built to address these concerns, our products help set new standards for the way biologics are manufactured. We are committed to inspiring advances in bioprocessing as a trusted partner in the production of critical biologic drugs &#8211; including monoclonal antibodies (&#8220;mAbs&#8221;) and mAb derivatives, recombinant proteins, vaccines, and cell and gene therapies (&#8220;C&amp;GT&#8221;) &#8211; that are improving human health worldwide. Increasingly, our technologies are being implemented to overcome challenges in processing plasmid DNA (a starting material for the production of mRNA) and gene delivery vectors such as lentivirus and adeno-associated viral vectors.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We currently operate as one bioprocessing business, with a comprehensive suite of products to serve both upstream and downstream processes in biological drug manufacturing.  Building on over 40 years of industry expertise, we have developed a broad and diversified product portfolio that reflects our passion for innovation and the customer-first culture that drives our entire organization. We continue to capitalize on opportunities to maximize the value of our product platform through both organic growth initiatives (internal innovation and commercial leverage) and targeted acquisitions.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our corporate headquarters are located in Waltham, Massachusetts, with additional administrative and manufacturing operations worldwide. The majority of our 19 manufacturing sites and assembly centers are located in the United States (California, Massachusetts, New Hampshire, New Jersey, New York and Texas). Outside the United States, we have sites in Estonia, France, Germany, Ireland, the Netherlands and Sweden. Our primary warehouse and distribution centers are located in Massachusetts and California.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our Products</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our bioprocessing business is comprised of four main franchises: filtration (including fluid management); chromatography; process analytics; and proteins.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Since 2012, we have purposely built a highly diversified portfolio of products offered under these franchises, developing high-value technologies that enable more efficient drug manufacturing processes for our customers, through internal research and development (&#8220;R&amp;D&#8221;) programs and strategic acquisitions. We are committed to sustainable innovation and have earned a reputation as an innovation leader in bioprocessing. We have consistently introduced disruptive new products that solve for specific bioprocessing challenges faced by customers. Our growth strategy continues to expand our geographic scope and customer base and broaden the applications of our technologies.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">To support our sales goals for these products, we make ongoing investments in our commercial organization, our R&amp;D programs, our business systems and our manufacturing capacity. We regularly evaluate and invest in these areas as needed to ensure timely deliveries and to stay ahead of customer demand for our products.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The majority of our revenue is derived from consumable and/or single-campaign (&#8220;single-use&#8221;) product sales, as compared to associated hardware and equipment. The customization, scalability and plug-and-play convenience of these products, and in many cases the closed nature of our technologies, make them ideal for use in biologics manufacturing processes where contamination risk is a critical concern of our customers.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Shifting to Integrated Solutions</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Since 2012, we have completed 13 acquisitions across our four franchises, building a base of technology assets that we can improve upon and/or develop next-generation versions of through our internal R&amp;D team. Our acquisition strategy is purposeful, considering the potential for integration with our internally-developed technologies, and across products and franchises.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2023, the results of our mergers and acquisitions and R&amp;D efforts are reflected in our ability to offer more integrated solutions across the bioproduction workflow. Our commercial approach is shifting from &#8220;individual product&#8221; to &#8220;whole system&#8221; sales that can support entire unit operations, the management of fluids between unit operations, and in-line advanced analytics. For example, providing filtration systems for production and harvest steps (upstream), and connecting those to chromatography and filtration systems for purification and formulation steps (downstream).</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Key Products Within Each of Our Franchises</span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FILTRATION</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Filtration is our largest franchise with the broadest product offering covering upstream and downstream technologies. Below is a description of some of our key products:</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">XCell ATF</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cell Retention Systems</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our filtration products offer a number of advantages to manufacturers of biologic drugs and are used in process development and process scale (clinical and commercial) production. Our XCell ATF systems are used in upstream perfusion (continuous) and N-1 (intensified fed-batch or hybrid perfusion) cell culture processing.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">XCell ATF is a cell retention technology. The system is comprised of an advanced hollow fiber (&#8220;HF&#8221;) filtration device, a low shear pump and a controller. The XCell ATF system is connected to a bioreactor and enables the cell culture to be run continuously, with cells being retained in the bioreactor, fresh nutrients (cell culture media) being fed into the reactor continuously, and clarified biological product and cell waste being removed (harvested) continuously. The cells are maintained in a consistent nutrient-rich environment and can reach cell densities two- and three-times higher than those achieved by standard fed-batch culture. As a result, product yield is increased, which improves facility utilization and can reduce the size of a bioreactor required to manufacture a given volume of biologic drug product. XCell ATF systems are available in a wide range of sizes that can easily scale from laboratory use through full production with bioreactors as large as 5,000 liters.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Through internal innovation, we developed and launched single-use formats of the original stainless steel XCell ATF devices to address increasing industry demand for single-use sterile systems with &#8220;plug-and-play&#8221; technology. The XCell ATF device is now available to customers in both its original configuration (steel housing and single-use filters) in all sizes (2, 4, 6 and 10), and/or as a single-use device (disposable housing/filter combination) in most sizes (2, 6, and 10). The availability of XCell ATF technology in a single-use format reduces implementation time by eliminating the time intensive workflow associated with autoclaving and enables our customers to accelerate evaluations of the product with a lower initial overall cost of ownership.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2023, we introduced next-generation XCell</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Large-Scale controllers, enabling increased process intensification through dual-operation of ATF devices from a single controller, and through advance monitoring and control of flow rates with smart sensor</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">technology. Our ATF large-scale controllers are designed for scalability from bench top to commercial manufacturing, and for versatility of applications, including perfusion and modified fed-batch (N-1) manufacturing.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Tangential Flow Filtration Consumables</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our TangenX</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> product portfolio includes flat sheet (&#8220;FS&#8221;) tangential flow filtration (&#8220;TFF&#8221;) cassettes that are used primarily in downstream, ultrafiltration processes, e.g., biologic drug concentration, buffer exchange and formulation processes, our single-use SIUS</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> line, including our reusable PRO line of cassettes, providing customers with a high-performance, cost saving alternative to other companies' TFF cassette offerings and our TangenX SC Device, the industry's first holder-free, self-contained (&#8220;SC&#8221;) TFF device, which was launched in November 2023.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">TFF is a rapid and efficient method for the concentration and formulation of biomolecules that is widely used in many applications in biopharmaceutical development and manufacturing. Our TangenX FS TFF cassettes feature high performing-membrane chemistries that offer superior selectivity for a wide range of applications. A controlled manufacturing process that balances flux and selectivity delivers maximum flux for increased productivity and tight control of the membrane pore size for enhanced selectivity and recovery. Each single-use cassette is delivered pre-sanitized and ready to be equilibrated and used for tangential flow, ultrafiltration and diafiltration applications.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Use of SIUS TFF cassettes eliminates non-value-added steps (cleaning, testing between uses, storage and flushing) that are required with reusable TFF products, providing cost and time savings. For process economics requiring reusable cassettes, TangenX PRO cassettes are available with the same high performance membranes used in SIUS cassettes. Our TangenX cassettes are interchangeable with filter hardware from multiple manufacturers, simplifying customer trial and adoption. In 2020, we introduced SIUS Gamma single-use device, which we engineered to harness the performance and efficiencies of TangenX SIUS membranes and cassettes, while also providing the convenience of a fully assembled, aseptically closed and gamma-irradiated, sterile device. The device is delivered as a single unit composed of the cassette, fluid manifold, clamps, tubing and aseptic connectors. The SIUS Gamma device is ideal for adenovirus C&amp;GT and other processes where large volumes need to be concentrated in a sterile, closed environment.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our TangenX</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> SC Device simplifies and streamlines downstream flat sheet UF/DF processes by reducing set up time by 80%, eliminating holders and torquing requirements which reduces the risk of product loss caused by changes in compression or cassette misalignment during installation, allowing users to seamlessly transition from traditional cassettes and reducing bioburden risk and enhancing safety because it is aseptically closed and gamma irradiated and isolates operators from potentially hazardous materials.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Tangential Flow Filtration Systems: KrosFlo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">TFF</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our KrosFlo systems for TFF combine significant configurability with premium quality manufacturing. Our TFF systems are designed for scalability from small to large (up to 5,000 liters) volumes, flexibility between HF and FS filter formats, and the ability to use the same system in different unit operations while deploying ready-to-use application-specific flow paths.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our KrosFlo TFF systems are turnkey solutions for TFF, offered with either TangenX FS cassettes or with our HF filters.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">KrosFlo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> Flat Sheet TFF Systems</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our 2020 acquisition of ARTeSYN Biosolutions Holdings Ireland Limited (&#8220;ARTeSYN&#8221;) enabled us to develop and market KrosFlo RS TFF systems that integrate our consumable and equipment offering, providing greater convenience and efficiency for our customers.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We launched our KrosFlo RS 20 series systems in 2022, focusing their use in mRNA and C&amp;GT therapy applications, where they are used primarily in downstream formulation. These responsive TFF systems completely automate sanitization, concentration and product recovery processes. The combination of injection molded tubing, over-molded connectors and valve blocks significantly lowers product hold-up volume to maximize product recovery. With the same software, hardware, controls and cGMP compliance built into every system, and with pre-assembled flow kits for error-free installation, the KrosFlo RS platform offers operational</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">simplicity that can easily be scalable from lab- through production-scale use. KrosFlo FS systems integrate over 10 components with specifications to process volumes between 140 milliliters and 500 liters.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">KrosFlo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> Hollow Fiber TFF Systems</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our filtration business is strengthened by a leading portfolio of Spectrum</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">HF filtration solutions, including fully integrated KrosFlo TFF systems with Konduit automated process monitoring and ProConnex</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Flow Path single-use assemblies. The KrosFlo family of HF TFF systems integrate multiple components with specifications to process volume between 2 milliliters and 5,000 liters &#8211; from lab-scale through commercial manufacturing.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In early 2023 we introduced our RS 30 series of KrosFlo TFF systems, featuring increased automation capabilities. The RS 30 series systems integrate a single-use tulip tank re-circulation vessel, which allows for dynamic control and response to changing fluid levels for maximum product recovery in fed-batch, batch concentration and diafiltration processes. The cGMP compliant, fully automated 1/2 inch single-use TFF system delivers outstanding performance in a small footprint. In alignment with our integrated systems strategy, the system includes ProConnex flow paths to integrate advanced fluid management technologies including overmolded connections, pump heads, tubing filters and sensors in a single-use device. Flow paths easily attach to the system to simplify operation and increase process efficiency.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">    </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Tangential Flow Depth Filtration Systems: KrosFlo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:7.37pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> TFDF</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We believe our KrosFlo Tangential Flow Depth Filtration (&#8220;TFDF&#8221;) systems, have the potential to disrupt and displace traditional upstream harvest clarification operations. The KrosFlo TFDF system includes control hardware, novel high throughput tubular depth filters and ProConnex TFDF flow paths. When used for cell culture clarification, single-use KrosFlo TFDF technology delivers unprecedented high flux (&gt;1,000 LMH), high capacity, low turbidity, and minimal dilution, making the technology a high-performance alternative to traditional centrifugation and depth filtration approaches to harvest clarification. TFDF technology also provides benefits such as low hold-up volume, high recovery, small footprint, simple set up and disposal, scalability and reduced process time.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Strengthening our Filtration Franchise through Acquisitions</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">With our acquisition of Polymem S.A. (&#8220;Polymem&#8221;) on July 1, 2021, we further expanded our HF membrane and module production capabilities and added core R&amp;D, engineering and production expertise in HF technology for both industrial and bioprocessing markets. The Polymem business complements our Spectrum HF product line, which includes KrosFlo HF TFF systems and ProConnex fluid management. The acquisition of Polymem accelerated our HF manufacturing buildout and added a Europe-based HF manufacturing center of excellence.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">With our acquisition of BioFlex Solutions LLC (&#8220;BioFlex&#8221;) and Newton T&amp;M Corp. (&#8220;NTM&#8221;) on December 16, 2021, we complemented and expanded our filtration franchise, as both BioFlex and NTM focus on single-use fluid management components, including single-use clamps, adapters, end caps and hose assemblies. These products are essential components in our upstream and downstream product offerings &#8211; especially our systems with line-sets and flow paths. These acquisitions streamline and increase our control over many components in our single-use supply chain, which ultimately should drive reduced lead-times for our customers in the coming years.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We acquired FlexBiosys, Inc. (&#8220;FlexBiosys&#8221;) on April 17, 2023, further complementing and expanding our fluid management portfolio of offerings with its expert design and custom manufacturing of single-use bioprocessing products and a comprehensive range of products that include bioprocessing bags, bottles, and tubing assemblies.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">With our acquisition of Metenova Holding AB (&#8220;Metenova&#8221;) on October 2, 2023, we strengthened our fluid management portfolio with the addition of magnetic mixing and drive train technologies that are widely used by global biopharmaceutical companies and contract development and manufacturing organizations.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The growth of our filtration business has allowed us to substantially increase our direct sales presence in Europe and Asia and diversify our end markets to include all biologic classes, including mAbs, vaccines, recombinant proteins and C&amp;GT.</span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">5</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CHROMATOGRAPHY</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our chromatography franchise includes a number of products used in downstream purification, development, manufacturing and quality control of biological drugs. The main driver of growth in this portfolio is our OPUS</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> pre-packed column (&#8220;PPC&#8221;) product line.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition to OPUS, with our acquisition of ARTeSYN in 2020, we added chromatography systems to our offerings, providing greater flexibility and market opportunity as we scale and expand our systems portfolio.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Additional chromatography products include our affinity capture resins, such as CaptivA</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.695pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Protein A resins, which are used in a small number of commercial drug processes and our ELISA test kits, used by quality control departments to detect and measure the presence of leached Protein A and/or growth factor in the final product.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">OPUS Pre-Packed Columns</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our chromatography franchise features a wide range of OPUS columns, which we deliver to our customers sealed and pre-packed with their choice of resin. These are single-use or campaign-use disposable columns that replace the use of customer-packed glass columns for downstream purification. By designing OPUS columns to be a technologically advanced and flexible option for the purification of biologics from process development through clinical and commercial-scale manufacturing, Repligen has become a leader in the PPC market. Our biomanufacturing customers value the significant cost savings that OPUS columns can deliver by reducing set up time, labor, equipment and facility costs &#8211; in addition to delivering product consistency and &#8220;plug-and-play&#8221; convenience.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We launched our first production scale OPUS columns in 2012 and have since added larger diameter options that scale up to use with 2,000 liter bioreactors. Our OPUS 80R column is the largest available PPC on the market for use in late-stage clinical or commercial purification processes. We offer unique features such as a resin recovery port on our larger columns, which allows our customers to remove and reuse the recovered resin in other applications. We believe the OPUS 5-80R product line is the most flexible product line available in the market, serving the purification needs of customers manufacturing mAbs and other biologics such as vaccines and C&amp;GT.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition to our larger scale OPUS columns, our portfolio includes our smaller-scale OPUS columns, including our RoboColumn</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, MiniChrom</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and ValiChrom</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> columns used for process development (&#8220;PD&#8221;) and validation. These columns are used in high-throughput PD screening, viral clearance validation studies and scale down validation of chromatography processes.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We maintain customer-facing centers in both the United States and Europe for our OPUS column customers, and offer a premier ability to pack any of hundreds of chromatography capture resins available, as per our customers&#8217; choice.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">KRM</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#153; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Chromatography Systems</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Through our acquisition of ARTeSYN in 2020, we gained state-of-the-art, configurable chromatography systems that can integrate a wide range of hardware, components and consumable products to simplify bioprocessing operations for our customers.  Our KRM chromatography systems are precision engineered for high product recovery (low hold-up volumes), high bioactivity (less stress on the product of interest) and reduced risk of deviation (simple changeovers and pre-assembled flow kits). The KRM systems contain closed single-use flow paths (less risk of contamination and product loss) and other advanced fluid management technologies (over-molded connectors, pump heads, filters and pressure sensors), intuitive software and our process analytics technology enabled.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">PROCESS ANALYTICS</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our process analytics products complement and support our filtration, chromatography and proteins franchises as they allow end-users to make at-line or in-line absorbance measurements allowing for the determination of protein concentration in filtration, chromatography formulation and fill-finish applications.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">SoloVPE</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> Device</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our SoloVPE slope spectroscopy system is the industry standard for offline and at-line absorbance measurements for protein concentration determination in process development, manufacturing and quality control settings.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">6</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">FlowVPE</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Device</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our FlowVPE slope spectroscopy system enhances the power of slope spectroscopy and provides in-line protein concentration measurement for filtration, chromatography and fill-finish applications. A key benefit of this in-line solution is the ability to monitor a manufacturing process in real time.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">FlowVPX</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> System</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FlowVPX slope spectroscopy system is our next-generation FlowVPE launched at the beginning of 2021 and designed to meet the rigors of regulatory GMP requirements. FlowVPX offers reliable real-time results with integrated ease for concentration measurements during every stage of the downstream GMP-compliant production-scale biologics manufacturing.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Use of slope spectroscopy systems delivers multiple process benefits for our biopharmaceutical manufacturing customers, compared to traditional UV-Vis approaches. Key benefits include: the elimination of manual dilutions and sample transfers from process development/manufacturing to labs, rapid time to results (minutes versus hours), improved precision, built-in data quality for improved reporting and validation, and ease of use.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">KrosFlo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> RPM</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#153;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> Systems with integrated FlowVPX</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Technology</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2022, we completed the development of a HF system that combines KrosFlo TFF with FlowVPX Real-Time Process Management (&#8220;RPM&#8221;</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">) technology, enabling &#8220;walk-away automation&#8221; of downstream UF/DF processes. Toward the end of 2022, we launched KrosFlo DR2i RPM for low-volume, high concentration applications. This was the first-to-market TFF system to incorporate real-time process monitoring for in-line protein concentration management. By coupling KrosFlo TFF and FlowVPX functionality, customers can benefit from improved process control and efficiency, while reducing process risk by ensuring accurate concentration throughout the TFF process.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">KrosFlo RPM systems monitor concentration during UF/DF runs without having to depend on mass inputs and off-line fixed pathlength UV-Vis spectrophotometers. Risk is further mitigated with fully enclosed ProConnex custom flow paths as a part of the automated TFF process.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Since the debut of the KrosFlo KR2i RPM (2 mL-15L) system, we expanded the KrosFlo RPM offering, introducing KrosFlo FS-15 RPM (150mL-15L) toward the end of 2023. The portfolio continues to expand to cover a wide range of volumes from lab-to production-scale requirements. We believe KrosFlo RPM solutions provide key process insights to users to reduce cycling time and minimize batch risks, both highly value attributes for bioprocessing users.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">   </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Culpeo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">QCL-IR Liquid Analyzer</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Pursuant to a 15-year license agreement that we entered into with DRS Daylight Solutions, Inc. (&#8220;Daylight&#8221;) in September 2022, we obtained the exclusive right to use Daylight's quantum cascade laser technology (&#8220;QCL&#8221;), including its Culpeo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">QCL-IR Liquid Analyzer (&#8220;Culpeo&#8221;) specifically in the field of bioprocessing. Culpeo is a compact, intelligent spectrometer that uses the power of QCL to analyze and identify chemicals. Our in-licensing of these rights complements our existing process analytics franchise. Adding mid-IR (higher sensitivity QCL-IR) to UV spectroscopy, we believe this will serve to accelerate and expand adoption of off-line and in-line process monitoring in the bioprocessing industry. Additionally, we are focused on expanding the QCL portfolio, with plans to integrate these solutions into our chromatography and filtration systems.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">                                                                                                                                                                                                                                                                                  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">PROTEINS</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our proteins franchise is represented by our Protein A affinity ligands and viral vector affinity ligands and resins. Our proteins franchise also includes cell culture growth factor products, which are a key component of cell culture media used in upstream bioprocessing to increase cell density and improve product yield.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Protein A Affinity Ligands</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We are a leading provider of Protein A affinity ligands to other life sciences companies (integrators), whose final products are Protein A resins. Protein A ligands are an essential &#8220;binding&#8221; component of Protein A affinity chromatography resins used in the purification of virtually all mAb-based drugs on the market or in development. We manufacture multiple forms of Protein A ligands under</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">long-term supply agreements with major life sciences companies including Cytiva (a standalone operating company owned by Danaher Corporation), MilliporeSigma and Purolite, an Ecolab Inc. company (&#8220;Purolite&#8221;), who in turn sell their Protein A chromatography resins to end users (mAb manufacturers). We have two manufacturing sites supporting overall global demand for our Protein A ligands: one in Lund, Sweden and the other in Waltham, Massachusetts.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Protein A chromatography resins are considered the industry &#8220;gold standard&#8221; for purification of antibody-based therapeutics due to the ability of the Protein A ligand to very selectively bind to or &#8220;capture&#8221; antibodies from crude protein mixtures. Protein A resins are packed into the first chromatography column of typically three columns used in a mAb purification process. As a result of Protein A&#8217;s high affinity for antibodies, the mAb product is highly purified and concentrated within this first capture step before moving to polishing steps.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our Affinity Ligand Collaborations</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In June 2018, we entered into an agreement with Navigo Proteins GmbH (&#8220;Navigo&#8221;) for the exclusive co-development of multiple affinity ligands for which Repligen holds commercialization rights. We manufacture and exclusively supply the first of these ligands, NGL-Impact</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> A, to Purolite, for use with their Praesto</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Jetted A50 Protein A resin product.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In September 2021, the Company and Navigo successfully completed co-development of a novel affinity ligand that addresses aggregation issues associated with pH sensitive antibodies and Fc-fusion proteins. We are manufacturing and supplying this ligand, NGL-Impact</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> HipH, to Purolite for use in a platform use resin product.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have a long-term supply agreement with Purolite for NGL-Impact and potential additional affinity ligands that may advance from our Navigo collaboration.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our Purolite Agreement</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In October 2022, we extended our long-term supply agreement with Purolite through 2032 and broadened its scope to include affinity ligands targeting antibody fragments in addition to those targeting mAbs and Fc-fusion proteins. This extension and product line expansion aligns with our Proteins strategy and supports the acceleration in market adoption of the Praesto</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">affinity resin portfolio. It provides Purolite with exclusive access to mAb fragment ligands developed at Avitide, Inc. (&#8220;Avitide&#8221;), in addition to the NGL portfolio developed at Navigo. Repligen will continue to receive access to Purolite's leading-edge base bead technology, as we proceed with the development and commercialization of novel affinity resins focused on new modalities and C&amp;GT.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">mAb Fragment Affinity Ligands and Resins from Avitide</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our acquisition of Avitide also led to our development and 2022 launch of AVIPure</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> CH1, a cross-linked agarose-based resin specifically engineered for the capture of the CH1 region of antigen-binding fragments (&#8220;Fabs&#8221;) from human immunoglobins (&#8220;IgGs&#8221;) and mAbs.  We believe that the high dynamic binding capacity for Fab and IgG1 even at short residence times position these resins well for market success.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Adeno-Associated Virus Affinity Ligands and Resins from Avitide</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In September 2021, we completed our strategic acquisition of Avitide, a market leader in affinity ligand discovery and development. This acquisition was a major step forward in building our proteins franchise, moving Repligen into affinity resin solutions for C&amp;GT and other emerging modalities.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In February 2022, we launched three advanced affinity chromatography resins for use in gene therapy manufacturing workflows. The resins AVIPure</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">-AAV9; AVIPure</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">-AAV8; and AVIPure</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">-AAV2, were developed by Avitide and are specific to the major adeno-associated virus (&#8220;AAV&#8221;) C&amp;GT vectors used today. AAV vectors are the leading platform for gene delivery for the treatment of a variety of human diseases. In 2023, a new affinity resin for AAV5 was also launched, expanding the portfolio.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We are integrating these high performance AVIPure</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> resins with our OPUS PPC and ARTeSYN chromatography systems to provide our customers with a seamless chromatography solution. Caustic stability has been a challenge that the AVIPure resins are designed to</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">8</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">overcome without sacrificing high dynamic binding capacity. We believe customers will benefit from superior process economics, including multi-cycle resin capabilities.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Growth Factors</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Most biopharmaceuticals are produced through an upstream mammalian cell culture process. In order to stimulate increased cell growth and maximize overall yield from a bioreactor, manufacturers often add growth factors, such as insulin, to their cell culture media. Our cell culture growth factor additives include LONG</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">R</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">3 </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">IGF 1, our insulin-like growth factor that has been shown to be up to 100 times more biologically potent than insulin (the industry standard), thereby increasing recombinant protein production in cell culture fermentation applications.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Corporate Information</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We are a Delaware corporation with our global headquarters in Waltham, Massachusetts. We were incorporated in 1981 and became a publicly traded company in 1986. Our common stock is listed on the Nasdaq Global Market under the symbol &#8220;RGEN&#8221;. We have approximately 1,800 employees and operate globally with offices and manufacturing sites located at multiple locations in the United States, Europe and Asia. Our principal executive offices are located at 41 Seyon Street, Waltham, Massachusetts 02453, our website is </span><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">www.repligen.com</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and our telephone number is (781) 250-0111.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2023 Acquisitions</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Metenova Holding AB</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On October 2, 2023, our subsidiary, Repligen Sweden AB, acquired Metenova from the former shareholders of Metenova (the &#8220;Metenova Seller&#8221;) pursuant to a Share Sale and Purchase Agreement (the &#8220;Share Purchase Agreement&#8221;), dated as of September 23, 2023 (such acquisition, the &#8220;Metenova Acquisition&#8221;), by and among Repligen Sweden AB, the Metenova Seller, and us, in our capacity as guarantor of the obligations of Repligen Sweden AB under the Share Purchase Agreement.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Metenova, which is headquartered in Molndal, Sweden, offers magnetic mixing and drive train technologies that are widely used by global biopharmaceutical companies and contract development and manufacturing organizations. The Metenova Acquisition further strengthens our fluid management portfolio with these products.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">FlexBiosys, Inc.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On April 17, 2023, we completed the acquisition of all of the outstanding equity interests in FlexBiosys, pursuant to an Equity Purchase Agreement with FlexBiosys, TSAP Holdings Inc. (&#8220;NJ Seller&#8221;), Gayle Tarry and Stanley Tarry, as individuals (collectively with NJ Seller, the &#8220;FlexBiosys Sellers&#8221;), and Stanley Tarry, in his capacity as the representative of the FlexBiosys Sellers.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FlexBiosys, which is headquartered in Branchburg, New Jersey, offers expert design of custom manufacturing of single-use bioprocessing products and a comprehensive range of products that include bioprocessing bags, bottles, and tubing assemblies. These products will complement and expand our fluid management portfolio of offerings.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our Market Opportunity</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Bioprocessing Addressable Market</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The global addressable market for bioprocessing products is estimated to be approximately $20 billion of which we estimate Repligen&#8217;s addressable market to be approximately $12 billion at year end 2023. This market includes bioprocessing products used to manufacture therapeutic antibodies, recombinant proteins and vaccines, as well as C&amp;GTs.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Monoclonal Antibody Market</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Antibody-based biologics alone accounted for approximately $175 billion of global biopharma revenue in 2022. Industry sources project the mAbs market to grow in the range of approximately 10% to 12% annually through 2026, driven by new approvals and expanded clinical uses for marketed antibodies, as well as the emergence of biosimilar versions of originator mAbs. As of December 31, 2023, over 150 mAbs were approved by the U.S. Food and Drug Administration (&#8220;FDA&#8221;) to treat a diverse range of diseases.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">9</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Biological R&amp;D remains robust, with more than 2,000 active mAb clinical trials ongoing to address a wide range of medical conditions.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition to investments in the discovery and development of novel biologic drugs, there has been substantial investment in follow-on products (biosimilars) by generic and specialty pharmaceutical as well as large biopharmaceutical companies. Development of follow-on products accelerated as the first major mAbs came off patent in the European Union and United States. Due to the high cost of biologic drugs, many countries in developing and emerging markets have been aggressively investing in biomanufacturing capabilities to supply lower cost biosimilars for the local markets. For both originator and follow-on biologics manufacturing, Repligen products are well-positioned to enable greater manufacturing flexibility, production yields and lower costs through improved process efficiencies.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cell and Gene Therapy Market</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">C&amp;GT has emerged in the past few years to become a rapidly growing area of biological drug development, with an estimated global market of greater than $7 billion in 2022, and over 3,000 active clinical trials underway at year-end 2023 according to industry sources. Statements by the FDA are supported by industry reports that estimate annual revenue growth of over 20% for the C&amp;GT market over the next several years. This scientifically advanced therapeutic approach has unique manufacturing challenges that many of our products can help address. We believe we are well positioned to participate in C&amp;GT production, particularly in the manufacture of plasmids and viral vectors. Within the C&amp;GT market, mRNA-based therapeutic programs have become an area of focus and investment by several large biopharmaceutical companies, following the regulatory approval of mRNA-based vaccines for the COVID-19 pandemic, including all subsequent variants of the SARS-CoV-2 coronavirus (&#8220;COVID-19&#8221;).</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our Strategy</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We are focused on the development, production and commercialization of highly differentiated, technology-leading systems and solutions that address specific pressure points in the biologics manufacturing process and deliver substantial value to our customers. Our products are designed to optimize our customers&#8217; workflow to maximize productivity and we are committed to supporting our customers with strong customer service and applications expertise.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We intend to build on our history of developing market-leading solutions and delivering strong financial performance through the following strategies:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Continued innovation</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. We plan to capitalize on our internal technological expertise to develop products that address unmet needs in upstream and downstream bioprocessing. We continue to invest in platform and derivative products to support our proteins, filtration, chromatography and process analytics franchises. We plan to strengthen our existing product lines with complementary products and technologies, including fluid management products, that are designed to allow us to provide customers with an integrated, more automated and more efficient manufacturing process on one or more measures including flexibility, convenience, time savings, cost reduction and product yield.   </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Platforming our products. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A key strategy for accelerating market adoption of our products is delivery of enabling technologies that become the standard, or &#8220;platform,&#8221; technology in markets where we compete. We focus our efforts on winning early-stage technology evaluations through direct interaction with the key biomanufacturing decision makers in process development labs. This strategy is designed to establish early adoption of our enabling technologies at key accounts, with opportunity for customers to scale up as the biologic advances to later stages of development and potential commercialization. We believe this approach can accelerate the implementation of our products as platform products, thereby strengthening our competitive advantage and contributing to long-term growth. </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Targeted acquisitions</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. We intend to continue to selectively pursue acquisitions of innovative technologies and products. We intend to leverage our consolidated balance sheets to acquire technologies and products that improve our overall financial performance by improving our competitiveness in filtration (including fluid management), chromatography or process analytics, or by moving us into adjacent markets with common commercial call points. </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Geographical expansion</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. We intend to expand our global commercial presence by continuing to selectively build out our global sales, marketing, field applications and services infrastructure. </span></div></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">10</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Operational efficiency</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. We seek to expand operating margins through capacity utilization and process optimization strategies designed to increase our manufacturing yields. We plan to invest in systems to support our global operations, optimizing resources across our global footprint to maximize productivity. </span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Research and Development</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our R&amp;D activities are focused on developing new high-value bioprocessing products across all of our franchises. We strive to continue to introduce truly differentiated products that address specific pain points in the biologics manufacturing process. Our commitment to innovation is core to the Repligen culture and our success as a company.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Sales and Marketing</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our sales and marketing strategy supports our objective of strengthening our position as a leading provider of products and services, addressing upstream, downstream and quality control needs of bioprocessing customers in the biopharmaceutical industry.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our Commercial Team</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">To support our sales goals for our direct-to-consumer products, we have invested in our commercial organization. Since 2018, we have significantly expanded our global commercial organization from 103, to a commercial team of 342 employees as of December 31, 2023. This includes 277 people in field positions (sales, field applications and field service), 38 people in customer service and 27 in marketing. Geographically, 173 members of our commercial team are located in North America, 89 in Europe and 80 in Asia-Pacific (&#8220;APAC&#8221;) regions.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our bioprocess account managers are supported in each region by bioprocess sales specialists with expertise in filtration, chromatography or process analytics, and by technically trained field applications specialists and field service providers, who can work closely with customers on product demonstrations, implementation and support. We believe that this model helps drive further adoption at our key accounts and also open up new sales opportunities within each region.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Ligand Supply Agreements</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For our proteins franchise, we are committed to be a partner of choice for our customers with distributor and supply agreements in place with large life sciences companies such as Cytiva, MilliporeSigma and Purolite. The Cytiva Protein A supply agreement relating to our Waltham, Massachusetts facility was amended in September 2021 and pursuant to its amended terms, runs through 2025. Our Protein A amended supply agreement with Purolite was amended in October 2022 and, pursuant to its amended terms, runs through 2032. Our dual manufacturing capability provides strong business continuity and reduces overall supply risk for our ligand customers.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Significant Customers and Geographic Reporting (As Restated)</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Customers for our bioprocessing products include major life sciences companies, contract manufacturing organizations, biopharmaceutical companies, diagnostics companies and laboratory researchers.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s total revenue by geographic area (based on the location of the customer):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:57.409%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:11.177999999999999%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:11.177999999999999%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:11.238%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue by customers' geographic locations:</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">36</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">37</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">40</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC/Other</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There was no revenue from customers that represented 10% or more of the Company's total revenue for the years ended December 31, 2023 and 2022. Revenue from Pfizer Inc. accounted for 10% of total revenue for the year ended December 31, 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">11</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Human Capital</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Employees</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Repligen performs in a highly competitive industry and recognizes that our continued success hinges upon our ability to attract, develop and retain a diverse team of talented individuals.  We place high value on the satisfaction and well-being of our employees and operate with fair labor standards and industry-competitive compensation and benefits globally. As of December 31, 2023, we employed 1,783</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">full-time and part-time employees, a decrease of 242 since December 31, 2022. This total includes 342 employees in our commercial organization (277 field and 65 internal), 235 in engineering and R&amp;D, 643 in manufacturing, 185 in quality, 82 in supply chain roles and 296 in administrative functions. Each of our employees has signed a confidentiality agreement. None of our U.S. employees are covered by collective bargaining agreements. We have one collective bargaining agreement with two unions that covers 82 employees in Sweden, comprising approximately 5% of our total workforce. We renewed this collective bargaining agreement in March 2023, and it expires at the end of March 2025. In France, 64 employees are under the relevant national and local collective bargaining agreements for metallurgy, comprising approximately 4% of our total workforce.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Code of Business Conduct and Ethics</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Repligen is committed to conducting business in accordance with the highest ethical standards. This means how we conduct ourselves and our global work is more than just a matter of policy and law; it&#8217;s a reflection of our core principles. Our Second Amended and Restated Code of Business Conduct and Ethics reflects Repligen&#8217;s five core principles &#8211; (1) trustworthiness, (2) respectfulness, (3) responsibility, (4) fairness and (5) corporate citizenship. Our Second Amended and Restated Code of Business Conduct and Ethics applies to all Repligen employees, including those who are integrated into the Company through acquisitions.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Inclusive Workforce</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Repligen maintains a resolute commitment to fostering a diverse and inclusive workplace. We have established talent acquisition processes, as well as training and employee engagement resources, including the formation of inclusive workforce initiatives, to drive the principles of diversity and inclusion at all levels of our organization starting with our Board of Directors (&#8220;Board&#8221;) and our Leadership team.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In our hiring practices, we strive to hire the most qualified person for the job and believe that, over time, this will lead to an increasingly diverse workforce. As part of finding the most qualified candidates, we are committed to ensuring that qualified, diverse slates of applicants are identified and considered for all roles, from the boardroom and C-suite to all levels of the workforce. We believe our focus on talent identification, development, engagement and succession planning has been particularly successful in developing a deep and diverse talent pipeline.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Employee Engagement and Development</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our goal is to develop and maintain a talented, engaged and diverse workforce that has a positive impact on our performance and on our customers. We regularly conduct engagement surveys to gain insight on employee perspectives. Additional channels for employee engagement include Company-wide all-hands meetings led by our Chief Executive Officer (&#8220;CEO&#8221;) and site town halls ran by site leaders. We are committed to colleague recognition, which includes acknowledging, appreciating and celebrating each other's contributions and achievements. Our CEO-led all-hands meetings serve as a platform for CEO awards and platinum awards, which reward and recognize both teams and individual colleagues who have made significant and notable contributions to Repligen's success. We also offer a range of programs to develop our managers and enhance our leadership across the Company. Our professional development efforts are aimed at increasing organizational talent and capabilities as well as identifying and developing potential successors for key leadership positions.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Health, Safety and Well-Being</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We actively promote the safety, health and well-being of our employees and end users of our products.  Creating a culture where all employees feel supported and valued is paramount to our corporate mission. Our well-being goals are for employees to physically thrive, flourish mentally and emotionally, be socially connected and achieve financial security. We are proud to provide all of our full time employees in the United States with access to an employee assistance program (&#8220;EAP&#8221;). Our EAP offers employees and their eligible dependents counseling and well-being resources 24 hours a day, seven days a week by phone, online or via the mobile site.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our environmental health and safety policy advances our vision of zero workplace incidents and our efforts to reduce our environmental impacts.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Repligen Performance System</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2022, we formalized the Repligen Performance System ("RPS"), to provide the tools and a framework for engaging employees across the organization to continuously improve operational performance, with a focus on product quality, customer lead times, material supply, production costs and sustainability. Through a standard implementation network, all teams were empowered to implement just-do-it process improvements, solve priority problems through stand-up meetings and improve key processes through kaizen events. We believe RPS improved our teams' ability to continuously resolve customer challenges, enhance product quality and improve operational efficiencies. The impact of RPS was seen during 2022 and into 2023 in productivity savings, customer lead-time reductions, manufacturing capacity expansions, product quality improvements and significant reductions in manufacturing scrap at several key sites. There are a number of programs setup using RPS over the next twelve months.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Sustainability - Environmental, Social and Governance Matters</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our Commitment to Sustainability</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We believe our commitment to Environmental, Social and Governance (&#8220;ESG&#8221;) topics across all our global facilities matters and is an important part of creating long-term business value for all stakeholders. We are deeply committed to corporate responsibility and transparency, and we continue to factor sustainability into our business decisions and integrate its core principles into our daily operations.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In establishing a formal approach to ESG, we joined the United Nations Global Compact in 2020 in support of its Ten Principles related to human rights, labor, the environment, and anti-corruption. The actions we have taken while building and implementing our robust ESG strategy demonstrate our long-term commitment to being a responsible global corporate citizen.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In preparation for our initial sustainability report, published in 2021, we formed a Corporate Responsibility Team (&#8220;CRT&#8221;) with oversight by our Board. The CRT was headed by a member of our operations leadership team and represented multiple disciplines within the organization. We completed our first materiality assessment gleaning insights from internal and external stakeholders, and we established a financial grade ESG software platform to inform current and future ESG-related reporting and decisions.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Together, we are advancing our ESG initiatives at an ambitious pace and taking bold steps to engage stakeholders throughout our upstream and downstream value chain.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">   </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our Reporting Frameworks</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have become an active participant in the sustainability reporting ecosystem through our alignment with the Greenhouse Gas Protocol and membership with the United Nations Global Compact (&#8220;UNGC&#8221;), the Global Reporting Initiative (&#8220;GRI&#8221;) and the International Financial Reporting Standards Sustainability Alliance, which now includes the International Sustainability Standards Board standards. Sustainability Accounting Standards Board (&#8220;SASB&#8221;) standards and Task Force on Climate-related Financial Disclosures (&#8220;TCFD&#8221;) recommendations. In 2023, we completed our first CDP Climate and CDP Water surveys, and submitted our commitment letter to the Science Based Targets Initiative to develop a greenhouse gas emissions reduction plan aligned with the latest climate science.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">With our 2022 sustainability report, which was published in November 2023 (the &#8220;2022 Sustainability Report&#8221;), we hope to convey our Progress on Repligen's Integrated Sustainability Management program, which recognizes that an effective sustainability strategy reflects multiple stakeholders' lenses, perspectives on materiality and measurements of success and collaborative engagement. The 2022 Sustainability Report is intended to provide transparency insights into the positive impacts of our ESG programs for all of our stakeholders. To that end, we created reporting indexes for multiple disclosure frameworks including UNGC, SASB, GRI and TCFD.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Oversight of ESG Matters</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Nominating and Corporate Governance (&#8220;N&amp;CG&#8221;) Committee of our Board oversees our ESG program. The N&amp;CG Committee meets regularly and reviews and advises on ESG strategy and apprises the full Board in order to ensure that our ESG program and</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">13</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">strategy align with the Company's mission. In addition, the Audit Committee of the Board regularly reviews ESG-related topics such as enterprise risk management, anti-corruption, ethics and compliance, supply chain management, human rights protections, and cybersecurity and data privacy.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Head of Sustainability, under strategic direction of our CEO and Chief Operating Officer, is responsible for the development and implementation of our expanding ESG program. In collaboration with all key business functions, the mandate of this globally focused role is to consider our existing ESG initiatives, understand stakeholder perspectives, identify business-relevant areas of opportunity to make a positive impact on global ESG efforts, and work collaboratively to drive initiatives designed to accelerate our ESG progress and stretch our ESG ambition.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our Sustainability Pillars</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our sustainability initiatives are organized around four pillars that reflect our ESG priorities and topics considered material (or potentially material) to the Company and the bioprocessing industry: Principles, People, Product and Planet. Our &#8220;4Ps&#8221; embody the belief shared by our Board and the executive leadership team that corporate responsibility is essential to sustaining business and economic growth in a manner that can also deliver positive environmental and social impact.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our ESG pillars are as follows:</span></p>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">1.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Principles. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our core principles guide how we operate, respecting that our stakeholders depend on us to conduct business honestly, fairly and responsibly.</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">2.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">People.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> We recognize that our success as a company depends on the skills and contributions of a diverse group of employees who are engaged as individuals and high-performing teams. We operate in a highly competitive industry and recognize that our continued success and growth hinges upon our ability to attract, develop and retain an all-inclusive team of talented and diverse colleagues.</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">3.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Product. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our diversified portfolio of bioprocessing technology solutions unlocks opportunity by enabling our customers to speed the development and manufacture of biological drugs. Our products empower biopharmaceutical manufacturers to generate more product in less space and with less waste, ultimately making a positive impact on overall human health and well-being, which is also Sustainability Development Goal (&#8220;SDG&#8221;) #3 and our #1 SDG priority.</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">4.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Planet. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Social and environmental impacts of business are a growing concern for our stakeholders and a priority for us. We continue to actively weave sustainability into our corporate culture, and inspire company-wide action to reduce our climate impact.</span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During 2022 and 2023, we led and participated in numerous stakeholder communications across the business with key customers, critical suppliers, leading institutional investors, industry associations and employee resource groups to better understand their interests, priorities, targets and challenges through the increasingly relevant lens of sustainability. We remain committed to periodically updating our materiality matrices and reviewing the foundational aspects of our 4Ps to ensure close alignment with our stakeholders' priorities in the bioprocessing industry.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intellectual Property</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We are committed to protecting our intellectual property through a combination of patents, trade secrets, copyrights and trademarks, as well as confidentiality and material transfer agreements.  As further described below, we own or have exclusive rights to at least 263 active patent grants and 369 pending patent applications in the United States and other foreign jurisdictions including Australia, Canada, China, France, Germany, India, Japan, South Korea, Sweden and the United Kingdom.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our policy is to require each of our employees, consultants, business partners, potential collaborators and customers to execute confidentiality agreements upon the commencement of an employment, consulting, business relationship, or product related audit or research evaluation. These agreements provide that all confidential information developed or made known to the other party during the course of the relationship with us is to be kept confidential and not disclosed to third parties except in specific circumstances. In the case of employees and consultants, the agreements generally provide that all inventions conceived by the individual in the course of employment or rendering services to Repligen shall be our exclusive property and must be assigned to Repligen.</span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">14</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Filtration</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For our filtration franchise, our patent grants include coverage for, ATF filtration, TFDF and TFF HF and FS systems, membranes, filters, mixers flow paths and single-use technologies. We continually seek to improve upon these technologies and have multiple new patent filings including patents covering next generation TFDF filters, next generation ATF filtration technologies, and proprietary reduced cost system components.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Chromatography</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our patent grants include coverage for certain unique methods and features of our OPUS PPC, including methods of manufacturing column components, systems for removing air using specialized tubing and valve systems, medium recovery systems, methods for packing, as well as systems for testing chromatography columns. We strive to improve upon our chromatography technologies, including developing potentially disruptive technology related to gamma irradiated columns and resin packing methods.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Through the ARTeSYN Acquisition in 2020, our patent portfolio includes exo-technology, valves, integrated sensors and integrated flow path systems. We also have multiple patent grants pertaining to our single-use replacement valves and liners used in combination with our modular configurable encapsulated flow systems to provide sterilized flow paths for various bioprocessing applications.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Process Analytics</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Through our 2019 acquisition of C Technologies, Inc. (&#8220;C Technologies&#8221;), we hold patent grants to various slope spectroscopy instruments, including interactive variable pathlength devices and related methods of use. C Technologies&#8217; scientists are continually developing new analytical tools using our state-of-the-art slope spectroscopy technology, for which we continue to file patent applications.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Proteins</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We currently hold a patent grant for &#8220;Nucleic Acids Encoding Recombinant Protein A,&#8221; which claims sequences that encode a truncated recombinant Protein A but are otherwise identical to the natural Protein A, which is used for bioprocessing applications.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Pursuant to our collaboration with Navigo, we also have multiple patent grants and multiple pending patent applications globally covering Protein A-based affinity ligands through our collaboration with Navigo. These include ligands for antibody purification, as well as ligands for purifying COVID-19 vaccines.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition, following the acquisition of Avitide in September 2021, we continue to file multiple patent applications globally covering affinity ligands.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">   </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Trademarks</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We procure and maintain trademark registrations globally for the Repligen trademark and our various product brands. We prioritize our &#8220;housemarks&#8221;, (e.g., Repligen, the stylized &#8220;R&#8221; logo, Spectrum, TangenX, C Technologies, ARTeSYN, Polymem, Avitide, Metenova, etc.), and ensure continued protection globally. We also have trademark registrations for various product lines, including OPUS, XCell, XCell ATF, TFDF, KrosFlo, SIUS, ProConnex, Spectra/Por, NGL-Impact, SoloVPE, FlowVPE, FlowVPX, RPM, XO and AVIPure, that provide valuable company recognition and goodwill with our customers.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have a comprehensive branding policy that includes trademark usage guidelines to ensure Repligen trademarks are used in accordance with our worldwide registrations and we actively police any unauthorized trademark usage as well as enforce the rights we have under our trademarks.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Licensing Agreements</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have entered into multiple licensing and collaboration relationships with third-party business partners in an effort to fully exploit our technology and advance our bioprocessing business strategy. For example, we entered into a 15-year exclusive License Agreement with Daylight (the &#8220;Daylight Agreement&#8221;), giving us exclusive license and commercialization rights to use certain technology and</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">15</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">intellectual property subject to conditions set forth in the Daylight Agreement. See Note 14, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Commitments and Contingencies&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to our consolidated financial statements included in this report for more information on this license agreement.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Competition</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our bioprocessing products compete on the basis of value proposition, performance, quality, cost effectiveness, and application suitability with numerous established technologies. Additional products using new technologies that may be competitive with our products may also be introduced. Many of the companies selling or developing competitive products have greater financial and human resources, and greater R&amp;D, manufacturing and marketing experience than we do. They may undertake their own development of products that are substantially similar to or compete with our products and they may succeed in developing products that are more effective or less costly than any that we may develop. These competitors may also prove to be more successful in their production, marketing and commercialization activities. We cannot be certain that the research, development and commercialization efforts of our competitors will not render any of our existing or potential products obsolete.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Manufacturing</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A majority of our 19 manufacturing sites are located in the United States (California, Massachusetts, New Jersey, New Hampshire, New York and Texas). Outside the United States, we have manufacturing sites in Estonia, France, Germany, Ireland, the Netherlands and Sweden.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The proteins products we provide are manufactured at our sites in Waltham, Massachusetts and Lund, Sweden. Native Protein A ligands and our growth factor products are manufactured in Lund, while recombinant Protein A ligands are manufactured in both Waltham and Lund. Our primary chromatography assembly and manufacturing sites are located in Waltham, Massachusetts, Ravensburg, Germany and Breda, the Netherlands. Our primary filtration manufacturing sites, including manufacturing of fluid management systems, products and consumables, are located in Marlborough, Massachusetts; Rancho Dominguez, California; Clifton Park, New York; Auburn, Massachusetts; Waterford, Ireland; Tallinn, Estonia and Toulouse, France. Our facility in Marlborough, is focused on XCell ATF and FS TFF products, while in Rancho Dominguez the focus is on Spectrum HF, TFDF and ProConnex products. Our process analytics products are manufactured in Bridgewater, New Jersey. Our operating room products are manufactured in Irving, Texas. As part of our capacity expansion activities, we have added a site in Hopkinton, Massachusetts that serves as an assembly center for single-use products and will also have the capacity to manufacture our protein products when the current buildout is completed. With our five acquisitions since the beginning of 2021, we gained manufacturing sites in Molndal, Sweden (Metenova), Branchburg, New Jersey (FlexBiosys), Toulouse, France (Polymem) and Lebanon, New Hampshire (Avitide). We undertook restructuring activities in 2023 that included consolidating a portion of our manufacturing operations between certain U.S. locations, discontinuing the sale of certain product SKUs, and evaluating the fair value of finished goods and raw materials secured during the 2020-2022 COVID-19 pandemic period. As a result of these activities, we closed manufacturing sites in Newton, New Jersey and Oceanside, California.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We utilize our facilities in Waltham, Massachusetts and Lund, Sweden to carry out fermentation and recovery operations, and purification, immobilization, packaging and quality control testing of our protein-based bioprocessing products. Our facilities located in Waltham, Massachusetts; Marlborough, Massachusetts; Lund, Sweden; Ravensburg, Germany; Bridgewater, New Jersey; Clifton Park, New York; and Rancho Dominguez, California among other sites, are ISO</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 9001:2015 certified and maintain formal quality systems to maintain process control, traceability, and product conformance. Additionally, our facilities in Irving, Texas and Auburn, Massachusetts are ISO</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 13485:2016 certified. We practice continuous improvement initiatives based on routine internal audits as well as external feedback and audits performed by our partners and customers. In addition, we maintain a business continuity management system that focuses on key areas such as contingency planning, security stocks and off-site storage of raw materials and finished goods to ensure continuous supply of our products.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">16</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Available Information</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We maintain a website with the address </span><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">www.repligen.com</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. We are not including the information contained on our website as a part of, or incorporating it by reference into, this Amendment. We make available free of charge through our website our Form 10-Ks, Quarterly Reports on Form 10-Q and Current Reports on Form 8-K, including exhibits and amendments to these reports, as soon as reasonably practicable after we electronically file such materials with, or furnish such materials to, the Securities and Exchange Commission (&#8220;SEC&#8221;). We also provide corporate governance, such as our Second Amended and Restated Code of Business Conduct and Ethics and other information, including our 2022 Sustainability Report, free of charge, through our website.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our filings with the SEC may be accessed through the SEC&#8217;s Electronic Data Gathering, Analysis and Retrieval system at </span><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">www.sec.gov</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">17</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_1a_risk_factors"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 1A. RI</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">SK FACTORS</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Investors should carefully consider the risk factors described below before making an investment decision.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">If any of the events described in the following risk factors occur, our business, financial condition or results of operations could be materially harmed. In that case, the trading price of our common stock could decline and investors may lose all or part of their investment. Additional risks and uncertainties that we are unaware of or that we currently deem immaterial may also become important factors that affect Repligen.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">This Amendment contains forward looking statements that involve risks and uncertainties. Our actual results could differ materially from those anticipated in these forward-looking statements as a result of certain factors, including the risks faced by us described below and elsewhere in this Amendment.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Accounting and Financial Reporting Matters</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We have identified material weaknesses in our internal control over financial reporting and may identify additional material weaknesses in the future or otherwise fail to maintain effective internal control over financial reporting, which may result in a material misstatement of our consolidated financial statements or cause us to fail to meet our periodic reporting obligations.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Effective internal controls are necessary to provide reliable financial reports and to assist in the effective prevention of fraud. Any inability to provide reliable financial reports or prevent fraud could harm our business. We regularly review and update our internal controls, disclosure controls and procedures, and corporate governance policies. In addition, we are required under the Sarbanes-Oxley Act of 2002 to report annually on our internal control over financial reporting. Any system of internal controls, however well designed and operated, is based in part on certain assumptions and can provide only reasonable, not absolute, assurances that the objectives of the system are met, including objectives that may involve our reliance on third-party advisors and professionals</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As discussed below in Part II, Item 9A, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Controls and Procedures,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">of this report, we have identified material weaknesses in our internal control over financial reporting related to (i) the accounting for deferred income taxes on the December 2023 exchange of a portion of our 2019 Notes and issuance of our 2023 Notes and (ii) controls related to revenue recognition specific to the evaluation of accounting for contract terms. As a result of these material weaknesses, our management concluded that our internal control over financial reporting was not effective as of December 31, 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Following identification of the income tax material weakness, and as part of our commitment to strengthen our internal control over financial reporting, we are implementing remedial actions under the oversight of the Audit Committee of our Board to address this deficiency. On highly-technical, non-routine and complex accounting transactions, we will continue to engage nationally recognized third-party advisors with the requisite skills and technical expertise to assist us in assessing, performing and reviewing such transactions; however we also will:</span></p>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Improve our process to identify and select qualified third-party advisors, including enhanced review of capabilities and work performed, specifically related to the review of tax advice and related accounting guidance. </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Implement a process to verify the controls, processes and internal reviews performed by third-party advisors.</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Consider whether the non-routine transaction warrants additional advisor oversight or validation of analyses based on complexity or changes in applicable regulations.</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Increase education for internal resources on complex transactions to enhance diligence capabilities with third-party advisors. </span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Following identification of the revenue recognition material weakness, and as part of our commitment to strengthen our internal control over financial reporting, we are implementing remedial actions under the oversight of the Audit Committee of our Board to address these deficiencies. Our remediation activities will include the following:</span></p>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Designing new internal controls to validate there is a complete listing of revenue contracts that have non-standard terms, which require incremental accounting analysis under ASC 606.</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Designing new internal controls evaluating the accounting for contract amendments, including amendments accounted for as contract modifications. </span></div></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">18</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Enhancing and expanding our existing revenue recognition control procedures and attributes when evaluating the accounting impact of non-standard contract terms and contract modifications.</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Increasing education for internal resources on accounting for contracts within the scope of ASC 606 and deploying enablers to facilitate documentation of accounting analyses and conclusions.</span></div></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We will continue to monitor the design and operating effectiveness of these and other processes, procedures and controls and make any further changes management determines appropriate. While we are undertaking efforts to remediate these material weaknesses, the material weaknesses will not be considered remediated until our remediation plan has been fully implemented, the applicable controls operate for a sufficient period of time, and we have concluded, through testing, that the newly implemented and enhanced controls are operating effectively. At this time, we cannot predict the success of such efforts or the outcome of our assessment of the remediation efforts. We can give no assurance that our efforts will remediate these material weaknesses in our internal control over financial reporting, or that additional material weaknesses will not be identified in the future. The effectiveness of our internal control over financial reporting is subject to various inherent limitations, including cost limitations, judgments used in decision making, assumptions about the likelihood of future events, the possibility of human error and the risk of fraud. If we are unable to remediate the material weaknesses, our ability to record, process and report financial information accurately, and to prepare the consolidated financial statements within the time periods specified by the rules and regulations of the SEC, could be adversely affected which, in turn, may adversely affect our reputation and business and the trading price of our common stock.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Any failure to implement new or improved controls, or difficulties encountered in their implementation, could result in errors in our consolidated financial statements that could result in a restatement of our financial statements and could cause us to fail to meet our reporting obligations, any of which could diminish investor confidence in us and cause a decline in the price of our common stock. In addition, any such failures could result in litigation or regulatory actions by the SEC or other regulatory authorities, loss of investor confidence, delisting of our securities and harm to our reputation and financial condition, or diversion of financial and management resources from the operation of our business.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The restatement of our financial statements may affect stockholder and investor confidence in us or harm our reputation, and may subject us to additional risks and uncertainties, including increased costs and the increased possibility of legal proceedings and regulatory inquiries, sanctions or investigations</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As a result of the restatement, we have incurred, and may continue to incur, unanticipated costs for accounting and legal fees in connection with, or related to, such restatement. In addition, such restatements could subject us to a number of additional risks and uncertainties, including the increased possibility of legal proceedings and inquiries, sanctions or investigations by the SEC or other regulatory authorities. Any of the foregoing may adversely affect our reputation, the accuracy and timing of our financial reporting, or our business, results of operations, liquidity and financial condition, or cause stockholders, investors, members and customers to lose confidence in the accuracy and completeness of our financial reports or cause the market price of our common stock to decline. As of the date of this Amendment, we have no knowledge of any such legal proceedings and regulatory inquiries, sanctions or investigation. However, we can provide no assurance that such legal proceedings and regulatory inquiries, sanctions or investigation will not arise in the future. Any such legal proceedings and regulatory inquiries, sanctions or investigation, whether successful or not, could adversely affect our business, financial condition and results of operations.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Our Business</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We compete with life sciences, pharmaceutical and biotechnology companies who are capable of developing new approaches that could make our products and technology obsolete.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The bioprocessing market is intensely competitive, subject to rapid change and significantly affected by new product introductions and other market activities of industry participants.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We compete with several medium and small companies in each of our product categories as well as several large companies, including Danaher Corporation (Pall Corporation and Cytiva), Thermo Fisher Scientific Inc., MilliporeSigma and Sartorius. Many of our competitors are large, well-capitalized companies that may have greater financial, manufacturing, marketing, research and development (&#8220;R&amp;D&#8221;) resources than we have, as well as stronger name recognition, longer operating histories and benefits derived</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">19</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">from greater economies of scale. As a consequence, they are able to spend more aggressively on product development, marketing, sales and other product initiatives than we can, and may have additional lines of products and the ability to bundle products.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">These factors, among others, may enable our competitors to market their products at lower prices or on terms more advantageous to customers than what we can offer. Competition may result in price reduction, reduced gross margins and loss of market share, any of which could have a material adverse effect on our business, financial condition and results of operations.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our current and future competitors, including certain of our customers, may at any time develop additional products that compete with our products. If any company develops products that compete with or are superior to our products, our revenue may decline. Additionally, new approaches by these competitors may make our products and technologies obsolete or noncompetitive.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">If we are unable to continue to hire and retain skilled personnel, then we will have trouble developing and marketing our products.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our success depends largely upon the continued service of our management and scientific staff and our ability to attract, retain and motivate highly skilled technical, scientific, management and marketing personnel. We also face significant competition in the hiring and retention of such personnel from other companies, research and academic institutions, government and other organizations who have superior funding and resources. The loss of key personnel or our inability to hire and retain skilled personnel could materially adversely affect our product development efforts and our business.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Despite our increasingly diversified client base, we have historically depended on a limited number of customers for a high percentage of our revenues.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The loss of, or a significant reduction in orders from, any of our large customers, including following any termination or failure to renew a long-term supply contract, would significantly reduce our revenues and harm our results of operations. If a large customer purchases fewer of our products, defers orders or fails to place additional orders with us for any reason, including for business continuity purposes, our revenue could decline, and our operating results may not meet market expectations.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition, if our customers order our products, but fail to pay on time or at all, our liquidity and operating results could be materially and adversely affected. Furthermore, if any of our current or future products compete with those of any of our largest customers, these customers may place fewer orders with us or cease placing orders with us, which would negatively affect our revenues and operating results.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Certain of our products are used by customers in the production of gene therapies, which represent a relatively new and still-developing mode of treatment. Unforeseen adverse events, negative clinical outcomes, or increased regulatory scrutiny of cell and gene therapy (&#8220;C&amp;GT&#8221;)  and its financial cost may damage public perception of the safety, utility, or efficacy of gene therapies and may harm our customers&#8217; ability to conduct their business.  Such events may negatively impact our revenues and have an adverse effect on our performance.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">C&amp;GT remains a relatively new and developing treatment method, with only a limited number of gene therapies approved to date by regulatory authorities. Public perception may be influenced by claims that C&amp;GT is unsafe or ineffective, and C&amp;GT may not gain the acceptance of the public or the medical community. In addition, ethical, social, legal, and financial concerns about C&amp;GT and genetic testing could result in additional regulations, limitations or even prohibitions on certain C&amp;GTs or C&amp;GT-related products. More restrictive regulations or negative public perception could reduce certain of our customers&#8217; use of our products, which could negatively affect our revenue and performance.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Product Development and Acquisitions</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">If we are unable to expand our product portfolio, our ability to generate revenue could be adversely affected.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We are increasingly seeking to develop and commercialize our portfolio of products. Our future financial performance will depend, in part, on our ability to successfully develop and acquire additional bioprocessing products. There is no guarantee that we will be able to successfully acquire or develop additional bioprocessing products, and our financial performance will likely suffer if we are unable to do so.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">20</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our acquisitions expose us to risks that could adversely affect our business, and we may not achieve the anticipated benefits of acquisitions of businesses or technologies.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As a part of our growth strategy, we may make selected acquisitions of complementary products and/or businesses, such as our most recent acquisitions of Metenova Holding AB and FlexBiosys, Inc. Any acquisition involves numerous risks and operational, financial, and managerial challenges, including the following, any of which could adversely affect our business, financial condition, or results of operations:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">difficulties in integrating new operations, technologies, products, and personnel; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">problems maintaining uniform procedures, controls and policies with respect to our financial accounting systems; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">lack of synergies or the inability to realize expected synergies and cost-savings; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">difficulties in managing geographically dispersed operations, including risks associated with entering foreign markets in which we have no or limited prior experience; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">underperformance of any acquired technology, product, or business relative to our expectations and the price we paid; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">negative near-term impacts on financial results after an acquisition, including acquisition-related earnings charges; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the potential loss of key employees, customers, and strategic partners of acquired companies; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">claims by terminated employees and shareholders of acquired companies or other third parties related to the transaction; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the assumption or incurrence of additional debt obligations or expenses, or use of substantial portions of our cash; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the issuance of equity securities to finance or as consideration for any acquisitions that dilute the ownership of our stockholders; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the issuance of equity securities to finance or as consideration for any acquisitions may not be an option if the price of our common stock is low or volatile which could preclude us from completing any such acquisitions; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">any collaboration, strategic alliance and licensing arrangement may require us to relinquish valuable rights to our technologies or product candidates, or grant licenses on terms that are not favorable to us; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">diversion of management&#8217;s attention and company resources from existing operations of the business; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">inconsistencies in standards, controls, procedures, and policies; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">assumption of, or exposure to, historical liabilities of the acquired business, including unknown contingent or similar liabilities that are difficult to identify or accurately quantify; and </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">risks associated with acquiring intellectual property, including potential disputes regarding acquired companies&#8217; intellectual property. </span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition, the successful integration of acquired businesses requires significant efforts and expense across all operational areas, including sales and marketing, R&amp;D, manufacturing, finance, legal, and information technologies. There can be no assurance that any of the acquisitions we may make will be successful or will be, or will remain, profitable. Our failure to successfully address the foregoing risks may prevent us from achieving the anticipated benefits from any acquisition in a reasonable time frame, or at all.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">If intangible assets and goodwill that we recorded in connection with our acquisitions become impaired, we may have to take significant charges against earnings.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In connection with the accounting for our completed acquisitions, we recorded a significant amount of intangible assets, including developed technology and customer relationships relating to the acquired product lines, and goodwill. Under accounting principles generally accepted in the United States, we must assess, at least annually and potentially more frequently, whether the value of intangible assets and goodwill has been impaired. Intangible assets and goodwill will be assessed for impairment in the event of an impairment indicator. Any reduction or impairment of the value of intangible assets and goodwill will result in a charge against earnings, which could materially adversely affect our results of operations and shareholders&#8217; equity in future periods.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">21</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Manufacturing and Supply</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">If we are unable to manufacture our products in sufficient quantities and in a timely manner, our operating results will be harmed, our ability to generate revenue could be diminished and our gross margin may be negatively impacted.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our revenues and other operating results will depend in large part on our ability to manufacture and assemble our products in sufficient quantities and in a timely manner. Any interruptions we experience in the manufacturing or shipping of our products could delay our ability to recognize revenues in a particular quarter. Manufacturing problems can and do arise, and as demand for our products increases, any such problems could have an increasingly significant impact on our operating results. While we have not generally experienced problems with, or delays in, our production capabilities that resulted in delays in our ability to ship finished products, there can be no assurance that we will not encounter such problems in the future. We may not be able to quickly ship products and recognize anticipated revenues for a given period if we experience significant delays in the manufacturing process. In addition, we must maintain sufficient production capacity in order to meet anticipated customer demand, which carries fixed costs that we may not be able to offset if orders were to slow, which would adversely affect our operating margins. If we are unable to manufacture our products consistently, in sufficient quantities, and on a timely basis, our bioprocessing revenue, gross margins and our other operating results will be materially and adversely affected.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We rely on a limited number of suppliers or, for certain of our products, one supplier, and we may not be able to find replacements or immediately transition to alternative suppliers, which could have a material adverse effect on our financial condition, results of operations and reputation.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There are only a limited number of suppliers of materials for certain of our products. An interruption in operations of the business related to these products could occur if we encounter delays or difficulties in securing the required materials, or if we cannot then obtain an acceptable substitute. Any such interruption could significantly affect the business related to these products and our financial condition, results of operations and reputation. For example, we believe that only a small number of suppliers are currently qualified to supply materials for the XCell ATF</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">systems. The use of materials furnished by these replacement suppliers would require us to alter our operations related to the XCell ATF systems. Transitioning to a new supplier for our products would be time-consuming and expensive, may result in interruptions in our operations, could affect the performance specifications of our product lines or could require that we revalidate the materials.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There can be no assurance that we will be able to secure alternative materials and bring such materials online and revalidate them without experiencing interruptions in our workflow. If we should encounter delays or difficulties in securing, reconfiguring or revalidating the materials required for our products, our business related to these products and our financial condition, results of operations and reputation could be adversely affected.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Our Financial Position and Need for Additional Capital</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Servicing our debt will require a significant amount of cash, and we may not have sufficient cash flow from our business to make payments on our debt and we may not have the ability to raise the funds necessary to settle for cash conversions of our Notes or to repurchase the Notes for cash upon a fundamental change, which could adversely affect our business and results of operations.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In December 2023, we incurred significant indebtedness with the issuance of $600.0 million in aggregate principal amount of 1.00% Convertible Senior Notes due 2028 (the &#8220;2023 Notes&#8221;) where $309.9 million principal amount of the 2023 Notes were issued in exchange for $217.7 million principal amount of our 0.375% Convertible Senior Notes due 2024 (the &#8220;2019 Notes&#8221;, and together with the 2023 Notes, the &#8220;Notes&#8221;) and $290.1 million principal amount of the 2023 Notes were issued for $290.1 million in cash. As of December 31, 2023, $69.7 million in aggregate principal amount of the 2019 Notes remain outstanding. Our ability to make scheduled payments of the principal of, to pay interest on, or to refinance our indebtedness, including the Notes, depends on our future performance, which is subject to economic, financial, competitive and other factors that may be beyond our control. Our business may not continue to generate cash flow from operations in the future sufficient to service our debt and make necessary capital expenditures. If we are unable to generate such cash flow, we may be required to adopt one or more alternatives, such as selling assets, restructuring debt or obtaining additional equity capital on terms that may be onerous or highly dilutive. Our ability to refinance our indebtedness will depend on the capital markets and our financial condition at such time. We may not be able to engage in any of these activities or engage in these activities on desirable terms, which could result in a default on our debt obligations, including the Notes.</span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">22</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition, holders of the Notes have the right, subject to certain conditions, to require us to repurchase all or any portion of their Notes upon the occurrence of a &#8220;fundamental change&#8221; (as defined in the indentures governing the Notes) at a fundamental change repurchase price equal to 100% of the principal amount of the Notes to be repurchased, plus accrued and unpaid interest, if any, but excluding the fundamental change repurchase date. Upon any conversion of Notes, we will also be required to make cash payments for each $1,000 principal amount of 2023 Notes converted of at least the lesser of $1,000 and the sum of the &#8220;daily conversion values&#8221; (as defined in the indenture governing the 2023 Notes). However, we may not have enough available cash or be able to obtain financing at the time we are required to make repurchases of Notes surrendered therefor or pay cash with respect to Notes being converted. In addition, our ability to repurchase the Notes or to pay cash upon conversions of the Notes may be limited by law, by regulatory authority or by agreements governing our future indebtedness. Our failure to repurchase Notes at a time when the repurchase is required by the applicable indenture or to pay any cash payable on future conversions of the Notes as required by the applicable indenture would constitute a default under such indenture. A default under either indenture governing the Notes or the fundamental change itself could also lead to a default under agreements governing our future indebtedness. If the repayment of the related indebtedness were to be accelerated after any applicable notice or grace periods, we may not have sufficient funds to repay the indebtedness and repurchase the Notes or make cash payments upon conversions thereof.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">   </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition, our significant indebtedness, combined with our other financial obligations and contractual commitments, could have other important consequences. For example, it could:</span></p>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">make us more vulnerable to adverse changes in general U.S. and worldwide economic, industry and competitive conditions and adverse changes in government regulation; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">limit our flexibility in planning for, or reacting to, changes in our business and our industry; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">place us at a disadvantage compared to our competitors who have less debt; and </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">limit our ability to borrow additional amounts for working capital and other general corporate purposes, including to fund possible acquisitions of, or investments in, complementary businesses, products, services and technologies. </span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Any of these factors could materially and adversely affect our business, financial condition and results of operations. In addition, if we incur additional indebtedness, the risks related to our business and our ability to service or repay our indebtedness would increase.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The conditional conversion feature of the Notes, if triggered, may adversely affect our financial condition and liquidity.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#231f20;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In the event the conditional conversion feature of the Notes is triggered, holders of Notes will be entitled to convert the Notes at any time during </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">specified</span><span style="color:#231f20;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> periods at their option, as described in the indentures governing the Notes. If one or more holders elect to convert their Notes, we would be required to settle any converted principal through the payment of cash, which could adversely affect our liquidity.  In addition, even if holders do not elect to convert their Notes, we could be required under applicable accounting rules to reclassify all or a portion of the outstanding principal of the notes as a current rather than long-term liability, which would result in a material reduction of our net working capital. As a result of the satisfaction of one of the conversion triggers, the 2019 Notes are convertible at the option of the holders thereof during the calendar quarter ending March 31, 2024. Because the 2019 Notes mature within one year of the report date, the Company classifies the carrying value of the 2019 Notes of $69.5 million as current liabilities on the Company's consolidated balance sheets at December 31, 2023.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Future strategic transactions or acquisitions may require us to seek additional financing, which we may not be able to secure on favorable terms, if at all.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We plan to continue a strategy of growth and development for our bioprocessing business, and we actively evaluate various strategic transactions on an ongoing basis, including licensing or acquiring complementary products, technologies or businesses that would complement our existing portfolio of development programs. In order to complete such strategic transactions, we may need to seek additional financing to fund these investments and acquisitions. Should we need to do so, we may not be able to secure such financing, or obtain such financing on favorable terms because of the volatile nature of the biotechnology marketplace. In addition, future</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">23</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">acquisitions may require the issuance or sale of additional equity or debt securities, which may result in additional dilution to our stockholders.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our corporate restructuring and the associated headcount reduction may not result in anticipated savings, could result in total costs and expenses that are greater than expected and could disrupt our business.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In July 2023, our Board of Directors (&#8220;Board&#8221;) authorized the Company's management team to undertake restructuring activities to simplify and streamline our organization and strengthen the overall effectiveness of our operations (the &#8220;Restructuring Plan&#8221;). As part of the Restructuring Plan, we consolidated a portion of our manufacturing business between certain U.S. locations and reduced our headcount. We may not realize, in full or in part, the anticipated benefits, savings and improvements in our cost structure from our restructuring efforts due to unforeseen difficulties, delays or unexpected costs. If we are unable to realize the expected operational efficiencies and cost savings from the restructuring, our operating results and financial condition could be adversely affected. Furthermore, the Restructuring Plan may be disruptive to our operations. For example, our headcount reductions could yield unanticipated consequences, such as increased difficulties in implementing our business strategy, including retention of our remaining employees.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our exposure to political, economic and other risks that arise from operating a multinational business has and may continue to increase.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We operate on a global basis with offices or activities in Japan, South Korea, China, India, Europe and North America. Our operations and sales outside of the United States have increased as a result of our strategic acquisitions and the continued expansion of our commercial organization. Risks related to these increased foreign operations include:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="item-list-element-wrapper" style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">fluctuations in foreign currency exchange rates, which may affect the costs incurred in international operations and foreign acquisitions and could harm our results of operations and financial condition; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">changes in general economic and political conditions in countries where we operate, particularly as a result of ongoing economic instability within foreign jurisdictions;</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the occurrence of a trade war, or other governmental action related to tariffs or trade agreements;</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">differing protection of intellectual property, technology and data in foreign jurisdictions;</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">difficulty in staffing and managing widespread operations;</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">being subject to complex and restrictive employment and labor laws and regulations, as well as union and works council restrictions; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">changes in tax laws or rulings in the United States or other foreign jurisdictions that may have an adverse impact on our effective tax rate; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">being subject to burdensome foreign laws and regulations, including regulations that may place an increased tax burden on our operations; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">being subject to longer payment cycles from customers and experiencing greater difficulties in timely accounts receivable collections; and </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">required compliance with a variety of foreign laws and regulations, such as data privacy requirements, real estate and property laws, anti-competition regulations, import and trade restrictions, export requirements, U.S. laws such as the Foreign Corrupt Practices Act of 1977 (the &#8220;FCPA&#8221;) and the U.S. Department of Commerce&#8217;s Export Administration Regulations, and other U.S. federal laws and regulations established by the Office of Foreign Assets Control, local laws such as the U.K. Bribery Act of 2010 or other local laws that prohibit corrupt payments to governmental officials or certain payments or remunerations to customers. </span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our business success depends in part on our ability to anticipate and effectively manage these and other related factors. We cannot assure you that these and other related factors will not materially adversely affect our international operations or business as a whole.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">24</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition, a deterioration in diplomatic relations between the United States and any country where we conduct business could adversely affect our future operations and lead to a decline in profitability.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We may be unable to efficiently manage our growth as a larger and more geographically diverse organization.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our strategic acquisitions, the continued expansion of our commercial sales operations, and our organic growth have increased the scope and complexity of our business. As a result, we will face challenges inherent in efficiently managing a more complex business with an increased number of employees over large geographic distances, including the need to implement appropriate systems, policies, benefits and compliance programs. Our inability to manage successfully the geographically and culturally diverse, and substantially larger combined organization could materially adversely affect our operating results and, as a result, the market price of our common stock.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our results of operations could be negatively affected by potential fluctuations in foreign currency exchange rates. (As Restated)</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We conduct a large portion of our business in international markets. For the fiscal year ended December 31, 2023, 37.9% of our revenues were denominated in foreign currencies with the primary foreign currency exposures being the Swedish krona, Euro and Chinese yuan. We are exposed to the risk of an increase or decrease in the value of the foreign currencies relative to the U.S. dollar, which could decrease the value of our revenue and increase the value of our expenses and costs when measured in U.S. dollars. These fluctuations could also adversely affect the demand for products and services provided by us. As a result, our results of operation may be influenced by the effects of future exchange rate fluctuations and such effects may have an adverse impact on our common stock price.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Natural disasters, geopolitical unrest, war, terrorism, public health issues or other catastrophic events could disrupt the supply, delivery or demand of products, which could negatively affect our operations and performance.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We are subject to the risk of disruption by earthquakes, floods and other natural disasters, fire, power shortages, geopolitical unrest, war, terrorist attacks and other hostile acts, public health issues, epidemics or pandemics and other events beyond our control and the control of the third parties on which we depend. Any of these catastrophic events may have a strong negative impact on our employees, facilities, partners, suppliers, distributors or customers, and could decrease demand for our products, create delays and inefficiencies in our supply chain and make it difficult or impossible for us to deliver products to our customers.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition, a catastrophic event that results in the destruction or disruption of our data centers or our critical business or information technology systems would severely affect our ability to conduct normal business operations and, as a result, our operating results would be adversely affected.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our business, financial condition and results from operations could be adversely affected by disruptions in the global economy caused by geopolitical events, such as the ongoing conflicts between Russia and Ukraine and Israel and Palestine.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Global conflicts could increase costs and limit availability of fuel, energy, and other resources we depend upon for our business operations. For example, while we do not operate in Russia or Ukraine, the increasing tensions between the United States and Russia and the other effects of the ongoing conflict of Ukraine, have resulted in many broader economic impacts such as the United States and European Union imposing sanctions and bans against Russia and Russian products imported into the United States and Europe, respectively. Such sanctions and bans have impacted and may continue to impact commodity pricing such as fuel and energy costs, making it more expensive for us and our partners to deliver products to our customers. Further sanctions, bans or other economic actions in response to the ongoing conflict between Russia and Ukraine or in response to any other global conflict such as the ongoing conflict between Israel and Palestine, could result in, among other things, cyber-attacks, supply disruptions, lower consumer demand, and changes to foreign exchange rates and financial markets, any of which may adversely affect our business and supply chain. In addition, the effects of the ongoing conflict could heighten many of our known risks described in this section.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Adverse developments affecting the financial services industry, such as actual events or concerns involving liquidity, defaults, or non-performance by financial institutions or transactional counterparties, could adversely affect our current and projected business operations and our financial condition and results of operations.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Actual events involving limited liquidity, defaults, non-performance or other adverse developments that affect financial institutions, transactional counterparties or other companies in the financial services industry or the financial services industry generally, or</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">25</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">concerns or rumors about any events of these kinds or other similar risks, have in the past and may in the future lead to market-wide liquidity problems. For example, on March 10, 2023, Silicon Valley Bank (&#8220;SVB&#8221;) was closed by the California Department of Financial Protection and Innovation, which appointed the Federal Deposit Insurance Corporation (&#8220;FDIC&#8221;) as receiver. Similarly, on March 12, 2023, Signature Bank and Silvergate Capital Corp. were each swept into receivership. If any of our lenders or counterparties to any such instruments were to be placed into receivership, we may be unable to access such funds. We have a banking relationship with SVB and hold cash, cash equivalents and marketable securities of $0.1 million as of December 31, 2023 in SVB depository accounts to cover short-term operational payments. While we have not experienced any losses in such accounts, the recent failure of SVB caused us to utilize our accounts at other financial institutions in order to mitigate potential operational risks stemming from the temporary inability to access funds in our SVB operating accounts. In addition, if any of our customers, suppliers or other parties with whom we conduct business are unable to access funds pursuant to such instruments or lending arrangements with such a financial institution, such parties&#8217; ability to pay their obligations to us or to enter into new commercial arrangements requiring additional payments to us could be adversely affected.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inflation and rapid increases in interest rates have led to a decline in the trading value of previously issued government securities with interest rates below current market interest rates. Although the U.S. Department of Treasury, FDIC and Federal Reserve Board have announced a program to provide up to $25 billion of loans to financial institutions secured by certain of such government securities held by financial institutions to mitigate the risk of potential losses on the sale of such instruments, widespread demands for customer withdrawals or other liquidity needs of financial institutions for immediately liquidity may exceed the capacity of such program. Additionally, there is no guarantee that the U.S. Department of Treasury, FDIC and Federal Reserve Board will provide access to uninsured funds in the future in the event of the closure of other banks or financial institutions, or that they would do so in a timely fashion.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Although we assess our banking and customer relationships as we believe necessary or appropriate, our access to funding sources and other credit arrangements in amounts adequate to finance or capitalize our current and projected future business operations could be significantly impaired by factors that affect the Company, the financial institutions with which the Company has credit agreements or arrangements directly, or the financial services industry or economy in general. These factors could include, among others, events such as liquidity constraints or failures, the ability to perform obligations under various types of financial, credit or liquidity agreements or arrangements, disruptions or instability in the financial services industry or financial markets, or concerns or negative expectations about the prospects for companies in the financial services industry.  These factors could involve financial institutions or financial services industry companies with which the Company has financial or business relationships, but could also include factors involving financial markets or the financial services industry generally. The results of events or concerns that involve one or more of these factors could include a variety of material and adverse impacts on our current and projected business operations and our financial condition and results of operations.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition, investor concerns regarding the U.S. or international financial systems could result in less favorable commercial financing terms, including higher interest rates or costs and tighter financial and operating covenants, or systemic limitations on access to credit and liquidity sources, thereby making it more difficult for us to acquire financing on acceptable terms or at all. Any decline in available funding or access to our cash and liquidity resources could, among other risks, adversely impact our ability to meet our operating expenses, financial obligations or fulfill our other obligations, result in breaches of our financial and/or contractual obligations or result in violations of federal or state wage and hour laws. Any of these impacts, or any other impacts resulting from the factors described above or other related or similar factors not described above, could have material adverse impacts on our liquidity and our current and/or projected business operations and financial condition and results of operations.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition, any further deterioration in the macroeconomic economy or financial services industry, could lead to losses or defaults by our suppliers, which in turn, could have a material adverse effect on our current and/or projected business operations and results of operations and financial condition.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">26</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Ownership of Our Common Stock</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Investment in Our Securities</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our operating results may fluctuate significantly, our customers&#8217; future purchases are difficult to predict and any failure to meet financial expectations may result in a decline in our stock price.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our quarterly operating results may fluctuate in the future due to many factors, such as the impact of seasonal spending patterns, changes in overall spending levels in the life sciences industry, the inability of some of our customers to consummate anticipated purchases of our products due to changes in end-user demand, and other unpredictable factors that may affect ordering patterns. Because our revenue and operating results are difficult to predict, we believe that our past results of operations are not necessarily a good indicator of our future performance. Additionally, if revenue declines in a quarter, whether due to a delay in recognizing expected revenue, adverse economic conditions or otherwise, our results of operations will be harmed because many of our expenses are relatively fixed. In particular, a large portion of our manufacturing costs, our R&amp;D, sales and marketing and general and administrative expenses are not significantly affected by variations in revenue. Further, our gross margins are dependent on product mix. A shift in sales away from our higher-margin products to lower margin products will adversely affect our gross margins. If our quarterly operating results fail to meet investor expectations, the price of our common stock may decline.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#222222;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Securities or industry analysts may not publish favorable research or reports about our business or may publish no information, which could cause our stock price or trading volume to decline.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#222222;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The trading market for our common stock is influenced by the research and reports that industry or securities analysts publish about us and our business. We do not have any control over these analysts, and we cannot provide any assurance that analysts will cover us or provide favorable coverage. If any of the analysts who cover us issue an adverse opinion regarding our stock price, our business or stock price would likely decline. If one or more of these analysts cease coverage of our company or fail to regularly publish reports covering us, we could lose visibility in the market, which in turn could cause our stock price or trading volume to decline.</span><span style="color:#222222;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our stock price could be volatile, which could cause shareholders to lose part or all of their investment.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The market price of our common stock, like that of the common stock of many other companies with similar market capitalizations, is highly volatile. The stock market in general, and the market for life sciences, biotechnology and pharmaceutical companies in particular, have experienced extreme price and volume fluctuations that have often been unrelated or disproportionate to the operating performance of specific companies, the conflict in Ukraine and Israel, and rising inflation and interest rates in the United States, which have resulted in decreased stock prices for many companies notwithstanding the lack of a fundamental change in their underlying business models or prospects. Broad market and industry factors, including potentially worsening economic conditions, may adversely affect the market price of our common stock, regardless of our actual operating performance.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#222222;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Our Charter and Bylaws</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Anti-takeover provisions in our charter documents, certain of our contracts with third parties, and under Delaware law could make an acquisition of us, even one that may be beneficial to our stockholders, more difficult and may prevent attempts by our stockholders to replace or remove our current management.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Provisions in our certificate of incorporation and by-laws may delay or prevent an acquisition of us or a change in our management. These provisions include the ability of our Board to issue preferred stock without stockholder approval. 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 the Board, they would apply even if an offer rejected by our board was considered beneficial by some stockholders. Additionally, certain of our contracts with third parties allow for termination upon specified change of control transactions. Anti-takeover 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 the Board, which is responsible for appointing the members of our management, and anti-takeover or change of control contract termination rights may frustrate or prevent any attempts by a third-party to acquire or attempt to acquire us.</span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">27</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#222222;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Tax Matters</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The enactment of legislation implementing changes in taxation of international business activities, the adoption of other corporate tax reform policies, or changes in tax legislation or policies, or interpretations thereof, could materially impact our financial position and results of operations.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Corporate tax reform, base-erosion efforts and tax transparency continue to be high priorities in many tax jurisdictions where we have business operations. As a result, policies regarding corporate income and other taxes in numerous jurisdictions are under heightened scrutiny and tax reform legislation is being proposed or enacted in a number of jurisdictions. There is no assurance that our actual income tax liability will not be materially different than what is reflected in our income tax provisions and accruals as a result of changes in tax laws.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition, many countries are beginning to implement legislation and other guidance to align their international tax rules with the Organisation for Economic Co-operation and Development&#8217;s Base Erosion and Profit Shifting recommendations and action plan that aim to standardize and modernize global corporate tax policy, including changes to cross-border tax, transfer pricing documentation rules, and nexus-based tax incentive practices. Because of the heightened scrutiny of corporate taxation policies, prior decisions by tax authorities regarding treatments and positions of corporate income taxes could be subject to enforcement activities, and legislative investigation and inquiry, which could also result in changes in tax policies or prior tax rulings. Any such changes in policies or rulings may also result in the taxes we previously paid being subject to change.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Due to the large scale of our international business activities, any substantial changes in international corporate tax policies, enforcement activities or legislative initiatives may materially adversely affect our business, the amount of taxes we are required to pay and our financial condition and results of operations generally.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our ability to use net operating loss and tax credit carryforwards and certain built-in losses to reduce future tax payments is limited by provisions of the Internal Revenue Code, and it is possible that certain transactions or a combination of certain transactions may result in material additional limitations on our ability to use our net operating loss and tax credit carryforwards.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Section 382 and 383 of the Internal Revenue Code of 1986, as amended, contain rules that limit the ability of a company that undergoes an ownership change, which is generally any change in ownership of more than 50 percentage points of its stock over a three-year period, to utilize its net operating loss and tax credit carryforwards and certain built-in losses recognized in years after the ownership change. These rules generally operate by focusing on ownership changes involving stockholders owning directly or indirectly 5% or more of the stock of a company and any change in ownership arising from a new issuance of stock by the company. Generally, if an ownership change occurs, the yearly taxable income limitation on the use of net operating loss and tax credit carryforwards and certain built-in losses is equal to the product of the applicable long-term, tax-exempt rate and the value of the company&#8217;s stock immediately before the ownership change. We may be unable to offset our taxable income with losses, or our tax liability with credits, before such losses and credits expire and therefore would incur larger federal income tax liability. Federal net operating losses generated after December 31, 2017, are not subject to expiration and generally may not be carried back to prior taxable years except that, under the Coronavirus Aid, Relief, and Economic Security Act, net operating losses generated in 2018, 2019 and 2020 may be carried back five taxable years. Additionally, for taxable years beginning after December 31, 2020, the deductibility of such deferral net operating losses is limited to 80% of our taxable income in any future taxable year.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Government Regulation</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Regulations and Compliance</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We are subject to export and import control laws and regulations that could impair our ability to compete in international markets or subject us to liability if we violate such laws and regulations.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We are subject to U.S. export controls and sanctions regulations that restrict the shipment or provision of certain products and services to certain countries, governments, and persons. While we take precautions to prevent our products and services from being exported in violation of these laws, we cannot guarantee that the precautions we take will prevent violations of export control and sanctions laws.  We believe that, in the past, we and our subsidiaries may have exported certain products without a required export license in apparent violation of U.S. export control laws. As a result, we have submitted to the U.S. Department of Commerce&#8217;s Bureau of Industry and Security various notices of voluntary self-disclosure concerning potential violations.  If we are found to be in violation of U.S.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">28</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">sanctions or export control laws, it could result in substantial fines and penalties for us and for the individuals working for us. We may also be adversely affected through other penalties, reputational harm, loss of access to certain markets, or otherwise.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Complying with export control and sanctions regulations may be time-consuming and may result in the delay or loss of sales opportunities or impose other costs.  Any change in export or import regulations, economic sanctions or related legislation, or change in the countries, governments, persons or technologies targeted by such regulations, could result in our decreased ability to export or sell certain products to existing or potential customers in affected jurisdictions.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our business is subject to a number of environmental risks.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our manufacturing business involves the controlled use of hazardous materials and chemicals and is therefore subject to numerous environmental and safety laws and regulations and periodic inspections for possible violations of these laws and regulations. In addition to these hazardous materials and chemicals, our facility in Sweden also uses Staphylococcus aureus and toxins produced by Staphylococcus aureus in some of its manufacturing processes. Staphylococcus aureus and the toxins it produces, particularly enterotoxins, can cause severe illness in humans. The costs of compliance with environmental and safety laws and regulations are significant. Any violations, even if inadvertent or accidental, of current or future environmental and safety laws or regulations and the cost of compliance with any resulting order or fine could adversely affect our operations.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Climate change, climate change-related regulation and sustainability concerns could adversely affect our businesses and the operations of our subsidiaries, and any actions we take or fail to take in response to such matters could damage our reputation.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Investor advocacy groups, certain institutional investors, investment funds, other market participants and other stakeholders have focused increasingly on the Environmental, Social and Governance (&#8220;ESG&#8221;) practices of companies, including those associated with climate change. These parties have placed increased importance on the importance on the implications of the social cost of their investments. If our ESG practices do not meet investor or other industry stakeholder expectations and standards, which continue to evolve, our reputation and associate retention may be negatively impacted based on an assessment of our ESG practices. Any sustainability disclosures we make may include our policies and practices on a variety of social and ethical matters, including corporate governance, environmental compliance, employee health and safety practices, human capital management, product quality, supply chain management, and workforce inclusion and diversity. It is possible that stakeholders may not be satisfied with our ESG practices or the speed of their adoption, or that we may not sufficiently communicate our ESG practices sufficiently to stakeholders. We could also incur additional costs and require additional resources to monitor, report, and comply with various ESG practices. In addition, investors may decide to refrain from investing in us as a result of their assessment of our approach to and consideration of the ESG factors.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition, we face physical risks associated with climate change. These physical risks include risks to our manufacturing and supply chain from flooding, severe storms, wildfires, droughts or extreme temperatures, all of which could increase costs and impair our ability to meet customer demands in a timely manner. To date, we have not experienced material losses or disruptions to our operations related to climate change, and we do not anticipate that these risks will have a material impact to our Company in the near term.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Health care reform measures could adversely affect our business.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The efforts of governmental and third-party payors to contain or reduce the costs of health care may adversely affect the business and financial condition of pharmaceutical and biotechnology companies, including ours. Specifically, in both the United States and some foreign jurisdictions, there have been a number of legislative and regulatory proposals to change the health care system in ways that could affect our ability to sell our products profitably. For the Patient Protection and Affordable Care Act, as amended by the Health Care and Education Reconciliation Act of 2010 (together, the &#8220;ACA&#8221;), substantially changed the way health care is financed by both governmental and private insurers. The ACA and other federal and state proposals and health care reforms could limit the prices that can be charged for the products we develop and may limit our commercial opportunity.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In August 2022, the Inflation Reduction Act of 2022 (the &#8220;IRA&#8221;) was signed into law. The IRA includes several provisions that will impact our business to varying degrees, including provisions that create a $2,000 out-of-pocket cap for Medicare Part D beneficiaries, impose new manufacturer financial liability on all drugs in Medicare Part D, allow the U.S. government to negotiate Medicare Part B and Part D pricing for certain high-cost drugs and biologics without generic or biosimilar competition, require companies to pay</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">29</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">rebates to Medicare for drug prices that increase faster than inflation, and delay the rebate rule that would require pass through of pharmacy benefit manager rebates to beneficiaries. The implementation of the IRA is currently subject to ongoing litigation challenging the constitutionality of the IRA's Medicare drug price negotiation program. The effect of IRA on our business and the healthcare industry in general is not yet known.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Additionally, the federal government and individual states in the United States have also become increasingly active in passing legislation and implementing regulations designed to control pharmaceutical product pricing, including price or patient reimbursement constraints, discounts, restrictions on certain product access and marketing cost disclosure and transparency measures, and, in some cases, designed to encourage importation from other countries and bulk purchasing. President Biden has issued multiple executive orders that have sought to reduce prescription drug costs. In February 2023, HHS also issued a proposal in response to an October 2022 executive order from President Biden that includes a proposed prescription drug pricing model that will test whether targeted Medicare payment adjustments will sufficiently incentivize manufacturers to complete confirmatory trials for drugs approved through the U.S. Food and Drug Administration&#8217;s (&#8220;FDA's&#8221;) accelerated approval pathway. Although a number of these and other proposed measures may require authorization through additional legislation to become effective, and the Biden administration may reverse or otherwise change these measures, both the Biden administration and Congress have indicated that they will continue to seek new legislation measures to control drug costs.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Legally mandated price controls on payment amounts by third-party payors or other restrictions could harm our business, financial condition, results of operations and prospects. In addition, regional healthcare authorities and individual hospitals are increasingly using bidding procedures to determine what pharmaceutical products and which suppliers will be included in their prescription drug and other healthcare programs. This could reduce the ultimate demand for our products or put pressure on drug pricing, which could negatively affect our business, financial condition, results of operations and prospects. We expect that additional state and federal healthcare reform measures will be adopted in the future.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We may be exposed to liabilities under the Foreign Corrupt Practices Act, and any determination that we violated the Foreign Corrupt Practices Act could have a material adverse effect on our business.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We are subject to the FCPA and other laws that prohibit improper payments or offers of payments to foreign governments and their officials and political parties by U.S. persons and issuers as defined by the statute for the purpose of obtaining or retaining business. We have operations and agreements with third parties and make sales in jurisdictions outside of the United States, which may experience corruption. Our activities in jurisdictions outside of the United States create the risk of unauthorized payments or offers of payments by one of our employees, consultants, sales agents or distributors, because these parties are not always subject to our control. These risks have increased following our recent acquisitions of overseas operations and facilities. It is our policy to implement safeguards to discourage these practices by our employees. However, our existing safeguards and any future improvements may prove to be less than effective, and the employees, consultants, sales agents or distributors of Repligen may engage in conduct for which we might be held responsible. Violations of the FCPA may result in severe criminal or civil sanctions, and we may be subject to other liabilities, which could negatively affect our business, operating results and financial condition. In addition, the government may seek to hold us liable for successor liability FCPA violations committed by any companies in which we invest or that we acquire.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Changes in accounting standards and subjective assumptions, estimates, and judgments by management related to complex accounting matters could significantly affect our financial results or financial condition.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Generally accepted accounting principles and related accounting pronouncements, implementation guidelines, and interpretations with regard to a wide range of matters that are relevant to our business, such as revenue recognition, asset impairment and fair value determinations, inventories, business combinations and intangible asset valuations, leases, and litigation, are highly complex and involve many subjective assumptions, estimates, and judgments. Changes in these rules or their interpretation or changes in underlying assumptions, estimates, or judgments could significantly change our reported or expected financial performance or financial condition.</span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">30</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Data and Privacy</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our internal computer systems, or those of our customers, collaborators or other contractors, may be subject to cyber-attacks or security breaches, which could result in a material disruption of our product development programs.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Despite the implementation of security measures, our internal computer systems and those of our customers, collaborators cloud-based platform service providers, and other contractors are vulnerable to damage from unauthorized access and from cyber-attacks, such as computer viruses, malware, ransomware, phishing denial-of-service attacks, social engineering and other means to affect service reliability and threaten the confidentiality, integrity and availability of information. A material cyber-attack or security breach could cause interruptions in our operations and could result in a material disruption of our business operations, damage to our reputation or a loss of revenues.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In the ordinary course of our business, we collect and store sensitive data, including, among other things, personally identifiable information about our employees, intellectual property, and proprietary business information.  In addition, we could be subject to risks caused by misappropriation, misuse, leakage, falsification or intentional or accidental release or loss of information maintained in the information systems and networks of our company and our vendors, including personal information of our employees, and company and vendor confidential data. Like other companies, we have on occasion experienced, and believe we will continue to experience, data security incidents involving access to company data threats to our data and systems. If a material breach of our information technology systems or those of our vendors occurs, the market perception of the effectiveness of our security measures could be harmed and our reputation and credibility could be damaged.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We could be required to expend significant amounts of money and other resources to respond to these threats or breaches, and to repair or replace information systems or networks and could suffer financial loss or the loss of valuable confidential information. In addition, we could be subject to regulatory actions and/or claims made by individuals and groups in private litigation involving privacy issues related to data collection and use practices and other data privacy laws and regulations, including claims for misuse or inappropriate disclosure of data, as well as unfair or deceptive practices. Moreover, despite our efforts, the possibility of these events occurring cannot be eliminated entirely and there can be no assurance that any measures we take will prevent cyber-attacks or security breaches that could adversely affect our business.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Changes in laws and regulations governing the privacy and protection of data and personal information could adversely affect our business.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We are subject to data privacy and protection laws and regulations that apply to the collection, transmission, storage and use of proprietary information and personally-identifying information, which among other things, imposes certain requirements relating to the privacy, security and transmission of certain individually identifiable information. In addition, numerous other federal and state laws, including state security breach notification laws, state health information privacy laws and federal and state consumer protection laws, govern the collection, use, disclosure and security of personal information. These laws continue to change and evolve and are increasing in breadth and impact.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For example, the European Union's and United Kingdom&#8217;s General Data Protection Regulations impose significant requirements on how we collect, process and transfer personal data, as well as significant regulatory penalties and legal liability for non-compliance. Complying with these laws may impose significant costs or otherwise require us to divert resources or implement changes to our business processes, and any actual or perceived non-compliance could result in significant penalties, claims and reputational damage.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Additionally, we face risks from evolving and uncertain privacy standards in our industry. For example, the California Privacy Rights Act imposes additional obligations on companies covered by the legislation and will significantly modify the California Consumer Privacy Act by expanding consumers&#8217; rights with respect to certain sensitive personal information. The law also created a new regulatory agency in California and that agency&#8217;s finalized and proposed regulations are continuing to change the standard of privacy protection we are required to meet. More than a dozen other states, including Virginia, Colorado and Connecticut, have passed similar privacy laws that are or will be implemented and enforced by various state regulators.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition, federal and state legislators and regulators are imposing new and heightened protections for health and other sensitive information that could impact our business. For example, the Federal Trade Commission (&#8220;FTC&#8221;) has imposed stringent requirements</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">31</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">on the collection and disclosure of sensitive categories of personal information, including health information, and has expanded the application of its Health Breach Notification Rule. Washington&#8217;s My Health My Data Act requires regulated entities to obtain consent to collect health information, grants consumers certain rights, including to request deletion, and provides for robust enforcement mechanisms, including enforcement by the state attorney-general and by litigants through a private right of action for consumer claims. These current and future data privacy laws and regulations may require us to modify our data collection or processing practices and policies, incur substantial costs and expenses in an effort to comply and increase our potential exposure to regulatory enforcement, reputational damage, and/or litigation.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Also, our customers may be subject to different privacy laws, rules and legislation, which may mean that they require us to be bound by varying contractual requirements applicable to certain other jurisdictions. Adherence to such contractual requirements may impact our collection, use, processing, storage, sharing and disclosure of information. As we expand our customer base, these requirements may vary from customer to customer, further increasing the cost of compliance and doing business.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Our Products and Technology</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Our Intellectual Property</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">If we are unable to obtain or maintain our intellectual property, we may not be able to succeed commercially.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We endeavor to obtain and maintain trade secrets and pursue strategic patent protection in order to protect our products and processes from unauthorized use, and to produce a financial return consistent with the significant time and expense required to bring our products to market and continue to be competitive in our technical fields. Our success depends, in part, on our ability to:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">preserve our trade secrets, know-how and confidential information; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">operate without infringing the proprietary rights of third parties; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">obtain and maintain patent protection for our products and processes; and </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">secure any necessary licenses from others on acceptable terms. </span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We consider trade secrets, know-how and other forms of market protection to be among the most important elements of our proprietary position, in particular, as it relates to many of the products that currently account for a majority of our revenue. We also own or have exclusive rights to U.S. patents and U.S. pending patent applications as well as corresponding foreign patents and patent applications. We continue to actively and selectively pursue patent protection and seek to expand our patent estate, particularly for our products currently in development, and we cannot be sure that any patent applications that we will file in the future or that any currently pending applications will issue on a timely basis, if ever. We cannot be certain that we were the first to conceive the invention(s) described by each of our pending patent applications or that we were the first to file patent applications for such invention(s). Even if patents are issued, the degree of protection afforded by such patents will depend upon the:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">scope of the patent claims; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">validity and enforceability of the claims obtained in such patents; and </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">our willingness and financial ability to enforce and/or defend them. </span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Patents that may be granted to us in certain foreign countries may be subject to opposition proceedings brought by third parties or result in suits by us, which may be costly and result in adverse consequences for us.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In some cases, litigation or other proceedings may be necessary to assert claims of infringement, to enforce patents issued to us or our licensors, to protect trade secrets, know-how or other intellectual property rights we own or to determine the scope and validity of the proprietary rights of third parties. Such litigation could result in substantial costs to us and diversion of our resources. An adverse outcome in any such litigation or proceeding could have a material adverse effect on our business, financial condition and results of operations. If our competitors prepare and file patent applications that claim technology also claimed by us, we may be required to participate in interference proceedings declared by Patent Offices to determine priority of invention, which would result in substantial costs to us.</span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">32</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">While we continue to obtain patent grants directed towards Protein A, other patent grants directed towards Protein A have expired, and as a result, we may face increased competition, which could harm our results of operations, financial condition, cash flow and future prospects.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Other companies could begin manufacturing and selling native or some of the commercial forms of recombinant Protein A in the United States and may directly compete with us on certain Protein A products. This may induce us to sell Protein A at lower prices and may erode our market share, which could adversely affect our results of operations, financial condition, cash flow and future prospects.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our freedom to develop our products may be challenged by others, and we may have to engage in litigation to determine the scope and validity of competitors&#8217; patents and proprietary rights, which, if we do not prevail, could harm our business, results of operations, financial condition, cash flow and future prospects.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There has been substantial litigation and other proceedings regarding the complex patent and other intellectual property rights in the life sciences industry. We have been a party to, and in the future may become a party to, patent litigation or other proceedings regarding intellectual property rights.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We may become involved in patent litigation or other intellectual property proceedings, including the following situations:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="item-list-element-wrapper" style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We may initiate litigation or other proceedings against third parties to seek to invalidate the patents held by such third parties or to obtain a judgment that our products or services do not infringe on such third parties&#8217; patents. </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We may initiate litigation or other proceedings against third parties to seek to enforce our patents against infringers. </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">If our competitors file patent applications that claim technology also claimed by us, we may participate in interference or opposition proceedings to determine the priority of invention. </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">If third parties initiate litigation claiming that our processes or products infringe their patent or other intellectual property rights, we will need to defend against such claims. </span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The cost to us of any patent litigation or other proceeding, even if resolved in our favor, could be substantial. Some of our competitors may be able to sustain the cost of such litigation or proceedings more effectively than we can because of their substantially greater financial resources. If a patent litigation or other intellectual property proceeding is resolved in a way that is unfavorable to us, we or our collaborative or strategic partners may be enjoined from manufacturing or selling our products and services without a license from the other party and be held liable for significant damages. The failure to obtain any required license on commercially acceptable terms or at all may harm our business, results of operations, financial condition, cash flow and future prospects.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Uncertainties resulting from the initiation and continuation of patent litigation or other proceedings could have a material adverse effect on our ability to compete in the marketplace. Patent litigation and other proceedings may also absorb significant management time, attention and resources.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">33</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Our Products</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The market may not be receptive to our new bioprocessing products upon their introduction.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We expect a portion of our future revenue growth to come from introducing new bioprocessing products, including line extensions and new features for our OPUS</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> disposable chromatography columns, our XCell ATF system, our SIUS</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> tangential flow filtration (&#8220;TFF&#8221;) cassettes, our Spectrum</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> hollow fiber modules TFF line of cassettes, our process analytics products and our growth factors. The commercial success of all of our products will depend upon their acceptance by the life science and biopharmaceutical industries. Many of the bioprocessing products that we are developing are based upon new technologies or approaches. As a result, there can be no assurance that these new products, even if successfully developed and introduced, will be accepted by customers. If customers do not adopt our new products and technologies, our results of operations may suffer and, as a result, the market price of our common stock may decline.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our products are subject to quality control requirements.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Whether a product is produced by us or purchased from outside suppliers, it is subjected to quality control procedures, including the verification of porosity and with certain products, the complete validation for good manufacturing practices, FDA, CE and ISO</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> compliance, prior to final packaging. Quality control is performed by a staff of technicians utilizing calibrated equipment. In the event we, or our manufacturers, produce products that fail to comply with required quality standards, it may incur delays in fulfilling orders, write-downs, damage to our reputation and damages resulting from product liability claims.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">If our products do not perform as expected or the reliability of the technology on which our products are based is questioned, we could experience lost revenue, delayed or reduced market acceptance of our products, increased costs and damage to our reputation.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our success depends on the market&#8217;s confidence that we can provide reliable, high-quality bioprocessing products. We believe that customers in our target markets are likely to be particularly sensitive to product defects and errors. Our reputation and the public image of our products and technologies may be impaired if our products fail to perform as expected. Although our products are tested prior to shipment, defects or errors could nonetheless occur in our products. Furthermore, the Protein A that we manufacture is subsequently incorporated into products that are sold by other life sciences companies and we have no control over the manufacture and production of those products. In the future, if our products experience, or are perceived to experience, a material defect or error, this could result in loss or delay of revenues, delayed market acceptance, damaged reputation, diversion of development resources, legal claims, increased insurance costs or increased service and warranty costs, any of which could harm our business. Such defects or errors could also narrow the scope of the use of our products, which could hinder our success in the market. Even after any underlying concerns or problems are resolved, any lingering concerns in our target market regarding our technology or any manufacturing defects or performance errors in our products could continue to result in lost revenue, delayed market acceptance, damaged reputation, increased service and warranty costs and claims against us.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Litigation</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We may become involved in litigation or other proceedings with collaborative partners, which may be time consuming, costly and could result in delays in our development and commercialization efforts.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In connection with our decision to focus efforts on the growth of our core bioprocessing business, we sought development and commercialization partnerships for our remaining portfolio of clinical stage assets. Any disputes with such partners that lead to litigation or similar proceedings may result in us incurring legal expenses, as well as facing potential legal liability. Such disputes, litigation or other proceedings are also time-consuming and may cause delays in our development and commercialization efforts. If we fail to resolve these disputes quickly and with terms that are no less favorable to us than the current terms of the arrangements, our business, results of operations, financial condition, cash flow and future prospects may be harmed.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We may become subject to litigation, which could result in substantial costs and divert management&#8217;s attention and resources from our business.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">From time to time, we may become involved in litigation or other legal proceedings relating to claims arising from the ordinary course of business. Litigation is subject to inherent risks and uncertainties that may cause actual results to differ materially from our</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">34</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">expectations. If we receive an adverse judgment in any litigation, we could be required to pay substantial damages. With or without merit, litigation can be complex, can extend for a protracted period of time, can be very expensive and the expense can be unpredictable. Litigation initiated by us could also result in counterclaims against us, which could increase the costs associated with the litigation and result in our payment of damages or other judgments against us. In addition, litigation, and any related publicity, may divert the efforts and attention of some of our management and key personnel, which could adversely affect our business.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">35</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_7_managements_discussion_analysis_f"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 7. MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FINANCIAL CONDITION AND RESULTS OF OPERATIONS</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Information pertaining to fiscal years 2022 and 2021 was included in the Company&#8217;s Annual Report on Form 10-K (&#8220;Form 10-K&#8221;) for the year ended December 31, 2022, on pages 37 through 53 under Part II, Item 7, &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations,&#8221; which was filed with the Securities and Exchange Commission on February 22, 2023.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Repligen and its subsidiaries, collectively doing business as Repligen Corporation (&#8220;Repligen&#8221;, &#8220;we&#8221;, &#8220;our&#8221;, or &#8220;the Company&#8221;) is a global life sciences company that develops and commercializes highly innovated bioprocessing technology and systems that increase efficiencies and flexibility in the process of manufacturing biological drugs.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As the overall market for biologics continues to grow and expand, our customers &#8211; primarily large biopharmaceutical companies and contract development and manufacturing organizations and other life sciences companies (integrators) &#8211; face critical production cost, capacity, quality and time pressures. Built to address these concerns, our products help set new standards for the way biologics are manufactured. We are committed to inspiring advances in bioprocessing as a trusted partner in the production of critical biologic drugs &#8211; including monoclonal antibodies (&#8220;mAbs&#8221;), recombinant proteins, vaccines and cell and gene therapies (&#8220;C&amp;GT&#8221;) &#8211; that are improving human health worldwide. Increasingly, our technologies are being implemented to overcome challenges in processing plasmid DNA (a starting material for the production of mRNA) and gene delivery vectors such as lentivirus and adeno-associated viral vectors. For more information regarding our business, products and acquisitions, see above sections in Part I, Item 1. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">"Business" </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">including &#8220;Overview&#8221;, &#8220;Our Products&#8221;, &#8220;2023 Acquisitions&#8221;, &#8220;2021 Acquisitions&#8221; and &#8220;Our Market Opportunity&#8221; sections therein.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Restatement</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As previously described in the Explanatory Note above and in Note 1 to our consolidated financial statements, we have restated our previously issued consolidated financial statements and related notes for year ended December 31, 2023. In connection with this restatement, we have also corrected other unrelated immaterial errors. As a result, the previously reported financial information as of and for the year ended December 31, 2023 in this Item 7, Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations has been updated to reflect the relevant restatement and immaterial error corrections. Refer to Note 1 in our consolidated financial statements for additional information related to the restatement, including descriptions of the adjustments and the impacts on our consolidated financial statements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Other than the effect of the restatement, this section has not been otherwise modified and does not reflect any information or events occurring after February 22, 2024, the filing date of the Original Report, or modify or update those disclosures affected by events that occurred at a later date or facts that subsequently became known to the Company, except to the extent they are otherwise required to be included and discussed herein.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Macroeconomic Trends</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As a result of our global presence, a significant portion of our revenue and expenses is denominated in currencies other than the U.S. dollar. We are therefore subject to non-U.S. exchange exposure. Exchange rates can be volatile and a substantial weakening or strengthening of foreign currencies against the U.S. dollar could increase or reduce our revenue and gross profit margin and impact the comparability of results from period to period.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have experienced, and expect to continue to experience, cost inflation, primarily in raw materials, and other supply chain costs, as a result of global macroeconomic trends, including global geopolitical conflicts and labor shortages. Actions taken to mitigate supply chain disruptions and inflation, including price increases and productivity improvements, have generally been successful in offsetting the impact of these trends. In addition, decreasing demand for vaccines for the COVID-19 pandemic, including all subsequent variants of the SARS-CoV-1 coronavirus (&#8220;COVID-19&#8221;) is driving a reduction in future demand of our products related to these vaccines. We expect that these trends will continue to impact our results for 2024 as well.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Critical Accounting Policies and Estimates</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">While our significant accounting policies are more fully described in the notes to our consolidated financial statements, we have identified the policies and estimates below as being critical to our business operations and the understanding of our results of operations. These policies require management&#8217;s most difficult, subjective or complex judgments, often as a result of the need to make</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">36</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">estimates about the effect of matters that are inherently uncertain. The impact of and any associated risks related to these policies on our business operations are discussed throughout &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations,&#8221; specifically in the &#8220;Results of Operations&#8221; section, where such policies affect our reported and expected financial results. Although we believe that our estimates, assumptions, and judgments are reasonable, they are based upon information presently available. Actual results may differ significantly from these estimates under different assumptions, judgments, or conditions.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Revenue recognition</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We generate revenue from the sale of bioprocessing products, equipment devices, and related consumables used with these equipment devices to customers in the life science and biopharmaceutical industries. Under Accounting Standards Codification No. (&#8220;ASC&#8221;) 606, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Revenue from Contracts with Customers,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">revenue is recognized when, or as, obligations under the terms of a contract are satisfied, which occurs when control of the promised products or services is transferred to customers.  Revenue is measured as the amount of consideration we expect to receive in exchange for transferring products or services to a customer (&#8220;transaction price&#8221;).  To the extent the transaction price includes variable consideration, we estimate the amount of variable consideration that should be included in the transaction price utilizing the expected value method or the most likely amount method, depending on the facts and circumstances relative to the contract.  Variable consideration is included in the transaction price if, in our judgment, it is probable that a significant future reversal of cumulative revenue under the contract will not occur.  Estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on an assessment of our anticipated performance and all information (historical, current and forecasted) that is reasonably available.  Sales, value add, and other taxes collected on behalf of third parties are excluded from revenue.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">When determining the transaction price of a contract, an adjustment is made if payment from a customer occurs either significantly before or significantly after performance, resulting in a significant financing component. Applying the practical expedient in paragraph 606-10-32-18, we do not assess whether a significant financing component exists if the period between when we perform our obligations under the contract and when the customer pays is one year or less.  None of our contracts contained a significant financing component as of December 31, 2023.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Contracts with customers may contain multiple performance obligations.  For such arrangements, the transaction price is allocated to each performance obligation based on the estimated relative standalone selling prices of the promised products or services underlying each performance obligation.  We determine standalone selling prices based on the price at which the performance obligation is sold separately.  If the standalone selling price is not observable through past transactions, we estimate the standalone selling price taking into account available information such as market conditions and internally approved pricing guidelines related to the performance obligations.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We recognize product revenue under the terms of each customer agreement upon transfer of control to the customer, which occurs at a point in time.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Shipping and handling fees are recorded as a component of product revenue, with the associated costs recorded as a component of cost of product revenue in our consolidated statements of comprehensive income.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Allowance for credit losses</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We evaluate our global accounts receivable through a continuous process of assessing our portfolio on an individual customer and overall basis. This process consists of a thorough review of historical collection experience, current aging status of the customer accounts, financial condition of our customers, and whether the receivables involve retainages. We also consider the economic environment of our customers, both from a marketplace and geographic perspective, in evaluating the need for an allowance. Based on our review of these factors, we establish or adjust allowances for specific customers. Credit losses can vary substantially over time and the process involves judgment and estimation that require a number of assumptions about matters that are uncertain. Accordingly, our</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">37</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">results of operations can be affected by adjustments to the allowance due to actual write-offs that differ from estimated amounts. See Note 9, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Credit Losses,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to our consolidated financial statements included in this report for more information.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Inventories</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We value inventory at cost or, if lower, net realizable value, using the first-in, first-out method. We review our inventory at least quarterly and record a provision for excess and obsolete inventory based on our estimates of expected sales volume, production capacity and expiration dates of raw materials, work-in-process and finished products. We write down inventory that has become obsolete, inventory that has a cost basis in excess of its expected net realizable value, and inventory in excess of expected requirements to cost of product revenue in our consolidated statements of comprehensive income. Manufacturing of bioprocessing finished goods is done to order and tested for quality specifications prior to shipment.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A change in the estimated timing or amount of demand for our products could result in additional provisions for excess inventory quantities on hand. Any significant unanticipated changes in demand or unexpected quality failures could have a significant impact on the value of inventory and reported operating results. In 2023, we recorded a $23.6 million in inventory adjustments, which included the impact of the Company discontinuing the sale of certain product SKUs and the impact of having proactively secured materials during the 2020-2022 COVID-19 pandemic period (the &#8220;COVID-19 Period&#8221;) to meet accelerated demand during a challenging supply chain environment in the industry. Where demand has reduced, finished goods and raw materials, whose value exceeded the projected requirements to be used before reaching their expiration date, were adjusted down to their net realizable value. In addition, these adjustments include inventory that could not be repurposed as a result of the closing of manufacturing facilities and production lines as part of the Company's restructuring activities during 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business combinations</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total consideration transferred for acquisitions is allocated to the tangible and intangible assets acquired and liabilities assumed, if any, based on their fair values at the dates of acquisition. This purchase price allocation process requires management to make significant estimates and assumptions with respect to intangible assets and deferred revenue obligations. The fair value of identifiable intangible assets is based on detailed valuations that use information and assumptions determined by management. Any excess of purchase price over the fair value of the net tangible and intangible assets acquired is allocated to goodwill. While we use our best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as any contingent consideration, where applicable, our estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which may be up to one year from the acquisition date, we record adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to our consolidated statements of comprehensive income. The Company estimates the fair value of the contingent consideration earnouts using the Monte Carlo Simulation and updates the fair value of the contingent consideration at each reporting period based on the estimated probability of achieving the earnout targets and applying a discount rate that captures the risk associated with the expected contingent payments. To the extent that our estimates change in the future regarding the likelihood of achieving these targets, we may need to record material adjustments to our accrued contingent consideration. Such changes in the fair value of contingent consideration are recorded as contingent consideration in our consolidated statements of comprehensive income. We recorded a net decrease to the fair value of the contingent consideration obligations for the twelve months ended December 31, 2023 of ($30.6) million primarily related to the change in estimated contingent consideration obligations from the acquisition of Avitide, Inc. (&#8220;Avitide&#8221;) in September 2021.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We use the income approach to determine the fair value of certain identifiable intangible assets including customer relationships and developed technology. This approach determines fair value by estimating after-tax cash flows attributable to these assets over their respective useful lives and then discounting these after-tax cash flows back to a present value. We base our assumptions on estimates of future cash flows, expected growth rates, expected trends in technology, etc. We base the discount rates used to arrive at a present value as of the date of acquisition on the time value of money and certain industry-specific risk factors. We believe the estimated purchased customer relationships, developed technologies, trademark/tradename, patents, non-competition agreements and in-process  research and development ("R&amp;D") amounts so determined represent the fair value at the date of acquisition and do not exceed the amount a third-party would pay for the assets.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">38</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible assets and goodwill</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible assets</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets with a definite life are amortized over their useful lives using the straight-line method and the amortization expense is recorded within R&amp;D and selling, general and administrative expense in the consolidated statements of comprehensive income. Intangible assets and their related useful lives are reviewed at least annually to determine if any adverse conditions exist, that would indicate the carrying value of these assets may not be recoverable. More frequent impairment assessments are conducted if certain conditions exist, including a change in the competitive landscape, any internal decisions to pursue new or different technology strategies, a loss of a significant customer, or a significant change in the marketplace, including changes in the prices paid for the Company&#8217;s products or changes in the size of the market for the Company&#8217;s products. If impairment indicators are present, the Company determines whether the underlying intangible asset is recoverable through estimated future undiscounted cash flows. If the asset is not found to be recoverable, it is written down to the estimated fair value of the asset based on the sum of the future discounted cash flows expected to result from the use and disposition of the asset. If the estimate of an intangible asset&#8217;s remaining useful life is changed, the remaining carrying amount of the intangible asset is amortized prospectively over the revised remaining useful life. The Company continues to believe that its definite-lived intangible assets are recoverable at December 31, 2023.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Indefinite-lived intangible assets are tested for impairment at least annually. There has been no impairment of our intangible assets for the periods presented.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Goodwill</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We test goodwill for impairment on an annual basis and between annual tests if events and circumstances indicate it is more likely than not that the fair value of a reporting unit is less than its carrying value. Events that would indicate impairment and trigger an interim impairment assessment include, but are not limited to, macroeconomic conditions, industry and market conditions, entity specific factors such as strategies and financial performance, a significant adverse change in legal factors and an adverse action or assessment by a regulator. Goodwill is tested for impairment as of December 31</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">st</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of each year, or more frequently as warranted by events or changes in circumstances mentioned above. Accounting guidance also permits an optional qualitative assessment for goodwill to determine whether it is more likely than not that the carrying value of a reporting unit exceeds its fair value. If, after this qualitative assessment, we determine that it is not more likely than not that the fair value of a reporting unit is less than its carrying amount, then no further quantitative testing would be necessary. A quantitative assessment is performed if the qualitative assessment results in a more likely than not determination or if a qualitative assessment is not performed. The quantitative assessment considers whether the carrying amount of a reporting unit exceeds its fair value, in which case an impairment charge is recorded to the extent the reporting unit&#8217;s carrying value exceeds its fair value.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We operate as one reporting unit. We performed a qualitative assessment for our reporting unit as of December 31, 2023, 2022 and 2021. Based on the assessment, we concluded that it was more likely than not that the estimated fair value of our reporting unit for 2023, 2022 and 2021 was higher than its carrying value for such years, and that the performance of the quantitative impairment test was not required. Therefore, no impairment was required for any of the periods presented.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have historically tested for impairment on our goodwill annually as of our measurement date of December 31st pursuant to Company policy. Subsequent to the 2023 annual impairment test, which was completed on December 31, 2023, we voluntarily changed our annual impairment assessment date from December 31st to October 1st, the first day of our fourth quarter, beginning on October 1, 2024. The change is being made to better align the annual impairment assessment date with our annual planning and budgeting process as well as the long-term planning and forecasting process. We have determined that this voluntary change in accounting principle is preferable and will not impact our consolidated financial statements nor is it being done to accelerate, avoid or trigger an impairment charge. This change is not going to be applied retrospectively as it is impracticable to do so because retrospective application would require application of significant estimates and assumptions with the use of hindsight. Therefore, the change will be applied prospectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">   </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accrued liabilities</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We estimate accrued liabilities by identifying services performed on our behalf, estimating the level of service performed and determining the associated cost incurred for such service as of each balance sheet date. For example, we would accrue for professional</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">39</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and consulting fees incurred with law firms, audit and accounting service providers and other third-party consultants. These expenses are determined by either requesting those service providers to estimate unbilled services at each reporting date for services incurred or tracking costs incurred by service providers under fixed fee arrangements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have processes in place to estimate the appropriate amounts to record for accrued liabilities, which principally involve the applicable personnel reviewing the services provided. In the event that we do not identify certain costs that have begun to be incurred or we under or over-estimate the level of services performed or the costs of such services, the reported expenses for that period may be too low or too high. The date on which certain services commence, the level of services performed on or before a given date, and the cost of such services often require the exercise of judgment. We make these judgments based upon the facts and circumstances known at the date of the financial statements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A change in the estimated cost or volume of services provided could result in additional accrued liabilities. Any significant unanticipated changes in such estimates could have a significant impact on our accrued liabilities and reported operating results. There have been no material adjustments to our accrued liabilities in any of the periods presented in the accompanying consolidated financial statements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Debt accounting</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In December 2023, we issued $600.0 million aggregate principal amount of 1.00% Convertible Senior Notes due 2028 (&#8220;2023 Notes&#8221;) in a private placement pursuant to separate, privately negotiated exchange and subscription agreements (the &#8220;Exchange and Subscription Agreements&#8221;) with a limited number of holders of our outstanding 0.375% Convertible Senior Notes due 2024 (&#8220;2019 Notes&#8221;) and certain other qualified institutional buyers pursuant to Rule 144A under the Securities Act of 1933, as amended. Pursuant to the Exchange and Subscription Agreements, we exchanged $217.7 million of our 2019 Notes for $309.9 million aggregate principal amount of the 2023 Notes (the &#8220;Exchange Transaction&#8221;) and issued $290.1 million aggregate principal amount of the 2023 Notes in a private placement to accredited institutional buyers (the &#8220;Subscription Transactions&#8221;) for cash. Immediately following the closing of the aforementioned transactions, $69.7 million in aggregate principal amount of the 2019 Notes remained outstanding.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We evaluated the Exchange Transaction and determined approximately $29.6 million of the $217.7 million principal of the exchanged 2019 Notes were accounted for as extinguishments of debt and approximately $188.1 million were accounted for as modification of debt. As a result, we recognized a $12.7 million loss on extinguishment of debt in our consolidated statements of comprehensive income for the year ended December 31, 2023. This included unamortized debt issuance costs related to the extinguished 2019 Notes. Under modification accounting, the carrying amount of the modified 2019 Notes was reduced by $2.8 million, with the offset going to additional paid-in capital, to account for the increase in fair value of the embedded conversion option in the modification. The increase in principal, along with the increased option value, totaling $82.1 million, is reflected as a debt discount and is a direct reduction from the carrying value of the debt on our consolidated balance sheets. This amount will be accreted as an adjustment to interest expense using the effective interest method and will accrete up to the full face value of the 2023 Notes of $600.0 million.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Proceeds from the Subscription Transactions amounted to $276.1 million after debt issuance costs of $14.0 million. The exchange resulted in $6.2 million of the debt issuance costs related to the modified notes to be recorded to amortization of debt issuance costs in our 2023 consolidated statement of comprehensive income under the rules of modification accounting. The remaining debt issuance costs of $7.8 million as well as $0.7 million of unamortized costs carried over from the 2019 Notes at the exchange date, were capitalized within long-term debt (as a contra-liability) in our consolidated balance sheets as of December 31, 2023 and will be amortized as an adjustment to amortization of debt issuance costs over the five-year term of the 2023 Notes in our consolidated statement of comprehensive income. The carrying value of the 2023 Notes of $510.1 million is included in long-term debt on our consolidated balance sheets as of December 31, 2023.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prior to the close of business on the business day immediately preceding September 15, 2028, the 2023 Notes will be convertible at the option of the holders of 2023 Notes only upon the satisfaction of specified conditions and during certain periods into cash up to their principal amount, and into cash, shares of the Company's common stock or a combination of cash and the Company's common stock, at the Company's election, for the conversion value above the principal amount, if any. Thereafter until the close of business on the second scheduled trading day immediately preceding the maturity date, the 2023 Notes will be convertible at the options of the holders of 2023 Notes at any time regardless of these conditions. The Company may redeem for cash, all or a portion of the 2023 Notes, at its option, on or after December 18, 2026 and prior to the 21st scheduled trading day immediately preceding the maturity</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">40</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">date at a redemption price of 100% of the principal amount of the 2023 Notes to be redeemed, plus accrued and unpaid interest to, but excluding the redemption date, if certain conditions are met in accordance to the indenture.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our short-term debt balance is related to our 2019 Notes, which were issued in July 2019. Prior to the adoption of Accounting Standards Update No. (&#8220;ASU&#8221;) 2020-06, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Debt - Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging - Contracts in Entity's Own Equity (Subtopic 815-40)&#8221;,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> the 2019 Notes were carried at their principal amount less unamortized debt discount and unamortized debt issuance costs. We had accounted for our convertible notes as separate liability and equity components prior to the adoption of 2020-06. We estimated the carrying amount of the liability component by estimating the fair value of a similar liability that did not have an associated conversion feature. The Company allocated transaction costs related to the issuance of convertible notes to the liability and equity components using the same proportions as the initial carrying value of the convertible notes.  The carrying value of the equity component was calculated by deducting the carrying value of the liability component from the principal amount of the convertible notes as a whole. The difference represented a debt discount that, prior to the adoption of ASU 2020-06, was amortized to interest expense in our consolidated statements of comprehensive income over the term of the convertible notes using the effective interest rate method. We assessed the equity classification of the cash conversion feature quarterly. We allocated transaction costs related to the issuance of the 2019 Notes to the liability and equity components using the same proportions as the initial carrying value of the 2019 Notes. Effective January 1, 2022, the Company adopted ASU 2020-06.  After adoption, the Company now accounts for the 2019 Notes as a single liability measured at amortized cost. See Note 15, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Convertible Senior Notes,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to our consolidated financial statements included in this report for more information on our adoption of ASU 2020-06.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the fourth quarter of 2023, the closing price of the Company&#8217;s common stock exceeded 130% of the conversion price of the 2019 Notes for more than 20 trading days of the last 30 consecutive trading days of the quarter. As a result, the remaining $69.7 million aggregate principal amount of 2019 Notes are convertible at the option of the holders of the 2019 Notes during the first quarter of 2024, the quarter immediately following the quarter when conditions are met, as stated in the terms of the 2019 Notes. These conditions have been met since the third quarter of 2020. Since the 2019 Notes mature within one year of the report date, we classify the carrying value of the 2019 Notes of $69.5 million as current liabilities on our consolidated balance sheets as of December 31, 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock-based compensation</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We use the Black-Scholes option pricing model to calculate the fair value of stock option awards on the grant date. The expected term of options granted represents the period of time for which the options are expected to be outstanding and is derived from our historical stock option exercise experience and option expiration data. For purposes of estimating the expected term, we have aggregated all individual option awards into one group, as we do not expect substantial differences in exercise behavior among our employees. The expected volatility is a measure of the amount by which our stock price is expected to fluctuate during the expected term of options granted. We determined the expected volatility based upon the historical volatility of our common stock over a period commensurate with the option&#8217;s expected term. The risk-free interest rate is the implied yield available on U.S. treasury zero-coupon issues with a remaining term equal to the option&#8217;s expected term on the grant date. We have never declared or paid any cash dividends on any of our capital stock and do not expect to do so in the foreseeable future. Accordingly, we use an expected dividend yield of zero to calculate the grant-date fair value of a stock option.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The fair value for stock units, which include restricted stock units and performance stock units, is calculated using the closing price of the Company&#8217;s common stock on the date of grant. We recognize compensation expense on awards that vest based on service conditions on a straight-line basis over the requisite service period based upon the number of options that are ultimately expected to vest, and accordingly, such compensation expense has been adjusted by an amount of estimated forfeitures. We recognize compensation expense on awards that vest based on performance conditions following our assessment of the probability that the performance condition will be achieved over the service period. Forfeitures represent only the unvested portion of surrendered options, restricted stock units and performance stock units. Forfeitures are estimated at the time of grant and revised, if necessary, in subsequent periods if actual forfeitures differ from those estimates. Based on an analysis of historical data, we have calculated an 8% annual forfeiture rate for non-executive level employees, a 3% annual forfeiture rate for executive level employees, and a 0% forfeiture rate for non-employee members of the Board of Directors (&#8220;Board&#8221;), which we believe are reasonable assumptions to estimate forfeitures. However, the estimation of forfeitures requires significant judgment and, to the extent actual results or updated</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">41</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">estimates differ from our current estimates, a cumulative adjustment to stock-based compensation expense will be recorded in the period estimates are revised.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For the years ended December 31, 2023, 2022 and 2021, we recorded stock-based compensation expense of $25.6 million, $27.3 million and $27.5 million, respectively, for share-based awards granted under all of the Company&#8217;s stock plans.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of December 31, 2023, there was $63.8 million of total unrecognized compensation cost related to unvested share-based awards. This cost is expected to be recognized over a weighted average remaining requisite service period of 2.84 years. We expect 2,185,873 unvested options and stock units to vest over the next five years.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Income taxes</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Deferred taxes are determined based on the difference between the consolidated financial statements and tax basis of assets and liabilities using enacted tax rates in effect in the years in which the differences are expected to reverse. Valuation allowances are provided, if, based upon the weight of available evidence, it is more likely than not that some or all of the deferred tax assets will not be realized. We account for uncertain tax positions using a &#8220;more-likely-than-not&#8221; threshold for recognizing and resolving uncertain tax positions. The evaluation of uncertain tax positions is based on factors including, but not limited to, changes in tax law, the measurement of tax positions taken or expected to be taken in tax returns, the effective settlement of matters subject to audit, new audit activity and changes in facts or circumstances related to a tax position. We evaluate our tax position on a quarterly basis. We also accrue for potential interest and penalties related to unrecognized tax benefits in income tax expense. We are subject to a territorial tax system under the Tax Cuts and Jobs Act enacted in December 2017, in which we are required to provide for tax on Global Intangible Low-Taxed Income (&#8220;GILTI&#8221;) earned by certain foreign subsidiaries. We adopted an accounting policy to provide for the tax expense related to GILTI in the year the tax is incurred as a period expense.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition, we are subject to the continual examination of our income tax returns by the U.S. Internal Revenue Service and other domestic and foreign tax authorities. We regularly assess the likelihood of outcomes resulting from these examinations to determine the adequacy of our provision for income taxes and have reserved for potential adjustments that may result from such examinations. We believe such estimates to be reasonable; however, the final determination of any of these examinations could significantly impact the amounts provided for income taxes in our consolidated financial statements.</span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Recent accounting standards update</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">See Note 3, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Summary of Significant Accounting Policies &#8211; Recent Accounting Standards Updates,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to our consolidated financial statements included in this report for more information.</span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Results of Operations</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following discussion of the financial condition and results of operations should be read in conjunction with the accompanying consolidated financial statements and the related footnotes thereto.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Revenues</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total revenues for years ended December 31, 2023 and 2022 were comprised of the following:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:42.128%;box-sizing:content-box;"/>
    <td style="width:1.42%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:11.042%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1.42%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:11.042%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1.42%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:11.002%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:11.522%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023 vs 2022</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">$</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Change</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">%</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Change</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands, except for percentage data)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue:</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Product</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">631,979</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">801,183</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(169,204</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(21.1</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Royalty and other income</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">383</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">353</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8.5</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">632,362</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">801,536</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(169,174</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(21.1</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Product revenues (As Restated)</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Since 2016, we have been increasingly focused on selling our products directly to customers in the pharmaceutical industry and to our contract manufacturers. These direct sales have represented 85.7% of our total product revenue during 2023 compared to 87.8% of our</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">42</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">total product revenue in 2022. Sales of our bioprocessing products can be impacted by the timing of large-scale production orders and the regulatory approvals for such antibodies, which may result in significant quarterly fluctuations.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Product revenues were comprised of the following:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:97.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:61.843%;box-sizing:content-box;"/>
    <td style="width:1.835%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:15.523%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1.835%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:14.966%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span><span style="color:#000000;top:-3.752pt;white-space:pre-wrap;font-weight:bold;font-size:5.36pt;position:relative;min-width:fit-content;">(1)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Filtration products</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">341,379</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">495,930</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Chromatography products</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126,629</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">131,680</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Process analytics products</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">56,820</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">53,512</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Proteins products</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">103,463</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">114,320</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,688</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,741</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total product revenue</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">631,979</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">801,183</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#8220;FlexBiosys&#8221;) from April 17, 2023, as well as Metenova Holding AB (&#8220;Metenova&#8221;) from October 2, 2023. </span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue from the sale of our products which make up our filtration, chromatography, process analytics and proteins franchises comes from the sale of a number of products as described in Part I, Item 1. &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business - Our Products&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">of this report. Other revenue primarily consists of revenue from the sale of our operating room products to hospitals as well as freight revenue.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For 2023, product revenue decreased by $169.2 million, or 21.1%, as compared to 2022. This is mainly due to a decrease in revenue from programs related to COVID-19 as customers&#8217; inventory has reduced at a slower pace than initially expected, which has primarily affected revenue from sales of our filtration products. Partially offsetting these revenue declines in 2023, as compared to 2022, were price increases and strong performances within our chromatography and process analytics franchises, specifically from chromatography systems and flow paths, as well as slope spectroscopy, consumables and service.  The impact of our acquisitions of FlexBiosys and Metenova also increased revenue in 2023, as compared to 2022.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Sales of our bioprocessing products are impacted by the timing of orders, development efforts at our customers or end-users and regulatory approvals for biologics that incorporate our products, which may result in significant quarterly fluctuations. Such quarterly fluctuations are expected, but they may not be predictive of future revenue or otherwise indicate a trend.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Royalty revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Royalty revenues for all periods presented relate to royalties received from a third-party systems manufacturer associated with our OPUS</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> chromatography columns. Royalty revenues are variable and are dependent on sales generated by our partner.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Costs and operating expenses</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total costs and operating expenses for the years ended December 31, 2023 and 2022 were comprised of the following:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:41.528%;box-sizing:content-box;"/>
    <td style="width:1.4%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:10.862%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1.4%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:10.862%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1.4%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:10.802000000000001%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:11.342%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1.4%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023 vs 2022</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">$ Change</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">% Change</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands, except for percentage data)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of product revenue</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">353,922</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">345,830</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,092</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2.3</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and development</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">42,722</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43,936</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(1,214</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(2.8</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)%</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Selling, general and administrative</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">218,584</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">215,829</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,755</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1.3</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(30,569</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(28,729</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(1,840</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.4</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total costs and operating expenses</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">584,659</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">576,866</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,793</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1.4</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">43</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cost of product revenue (As Restated)</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2023, cost of product revenue increased $8.1 million, or 2.3%, compared to 2022, primarily due to restructuring charges, including $23.6 million in inventory adjustments to reflect inventory at net realizable value, a $3.8 million charge for accelerated depreciation on equipment related to manufacturing facilities closed and $3.0 million in severance and other charges during 2023 as a result of our restructuring activities, which commenced in July 2023. See Note 6, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Restructuring Plan&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">of this report for more information on the restructuring activities to simplify and streamline our organization and strengthen our overall effectiveness of our operations (&#8220;Restructuring Plan&#8221;). Our restructuring activities include consolidating a portion of our manufacturing facilities between certain U.S. locations, discontinuing the sale of certain product SKUs, and evaluating the fair value of finished goods and raw materials secured during the COVID-19 Period to meet increasing demand during a challenging supply chain environment in the industry. Where demand has reduced, finished goods and raw materials, whose value exceeded the projected requirements to be used before reaching their expiration date, were written down to their net realizable value. The inventory adjustments include reserved values which may be recoverable in future periods, if salvageable. Also contributing to the increase in cost of product revenue is cost inflation, primarily in raw materials as well as freight charges due to fuel costs and carrier market conditions in 2023, compared to 2022. Also, our occupancy costs and depreciation expense increased during 2023, as compared to 2022, due to expanded facilities and manufacturing equipment being placed into service towards the end of 2022 and throughout 2023. These increases were partially offset by a decrease in costs associated with lower revenue as well as a decrease in employee-related costs not related to the restructuring activities in 2023, as compared to 2022.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Gross margin was 44.0% in 2023, compared to 56.9% in 2022. The reduction in gross margin in 2023 as compared to 2022, is primarily due to restructuring activities as noted above during 2023 to simplify and streamline our organization and strengthen the overall effectiveness of our operations for which there were no comparable costs in 2022. In addition, lower margins were a result of lower overall sales and production volumes, and a change in product mix, where we saw a significant decline in revenue associated with higher-margin consumable products due to the decrease in COVID-19 vaccine demand. We also experienced an increase in manufacturing costs from an increase in occupancy costs due to added capacity and an increase in depreciation expense.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Research and development expenses</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">R&amp;D expenses are related to bioprocessing products, which include personnel, supplies and other research expenses. Due to the fact that these various programs share personnel and fixed costs, we do not track all of our expenses or allocate any fixed costs by program, and therefore, have not provided historical costs incurred by project.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">R&amp;D expenses decreased $1.2 million, or 2.8%, during 2023, compared to 2022. The decrease during the periods is primarily due to a decrease in occupancy costs for facilities where R&amp;D work is performed, which more than offset the increase in employee-related costs, depreciation expense and spending on new product development during 2023, as compared to 2022.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">R&amp;D expense also includes payments made to expand our proteins product offering through our development agreement with Navigo Proteins GmbH (&#8220;Navigo&#8221;). Such expenses were $3.8 million in 2023, $2.6 million in 2022 and $2.3 million in 2021 in the form of milestone payments to Navigo.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Selling, general and administrative expenses (As Restated)</span><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Selling, general and administrative (&#8220;SG&amp;A&#8221;) expenses include the costs associated with selling our commercial products and costs required to support our marketing efforts, including legal, accounting, patent, shareholder services, amortization of intangible assets and other administrative functions.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">SG&amp;A costs increased by $2.8 million, or 1.3%, in 2023, as compared to 2022 primarily due to an increase in SG&amp;A costs related to the operations of FlexBiosys and Metenova, which have been included in our results of operations since their acquisition dates in April 2023 and October 2023, respectively. In addition, there were $1.7 million in one-time costs incurred from restructuring activities during 2023, for which there were no comparable costs in 2022. Partially offsetting this increase was a decrease in the amount of commissions paid out resulting from lower revenue and a decrease in employee-related costs.</span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">44</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Contingent consideration</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Contingent consideration represents the change in fair value of the contingent consideration obligation included in current and noncurrent contingent consideration on the consolidated balance sheets as of the end of each period. Remeasurement of the contingent consideration obligation is done each quarter and the carrying value of the obligation is adjusted to the current fair value through our consolidated statements of comprehensive income. In 2023, 2022 and 2021, actual and expected results and a change in market inputs used to calculate the discount rate, resulted in adjustments to the fair value of the contingent consideration obligation for the years ended December 31, 2023, 2022 and 2021 of ($30.6) million, ($28.7) million and $5.9 million, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Other income (expenses), net</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The table below provides detail regarding our other income (expenses), net:</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:42.128%;box-sizing:content-box;"/>
    <td style="width:1.42%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:11.042%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1.42%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:11.042%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1.42%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:11.002%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:11.522%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023 vs 2022</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">$ Change</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">% Change</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands, except for percentage data)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Investment income</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24,135</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,978</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,157</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">245.9</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Interest expense</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(2,503</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(1,162</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(1,341</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">115.4</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Loss on extinguishment of debt</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(12,676</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(12,676</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100.0</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amortization of debt issuance costs</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(8,075</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(1,815</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(6,260</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">344.9</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other income (expenses)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,123</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(9,531</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,654</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(185.2</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total other income (expenses), net</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,004</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(5,530</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,534</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(262.8</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)%</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Investment income</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Investment income includes income earned on invested cash balances. Our investment income increased by $17.2 million in 2023, as compared to 2022 due to an increase in interest rates on higher average invested cash balances since December 31, 2022, as well as interest earned on U.S. treasury bills purchased at the end of 2022.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Interest expense</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Interest expense in 2023 is primarily from contractual coupon interest on the convertible debt outstanding as of December 31, 2023. On December 14, 2023, we entered into a privately negotiated exchange and subscription agreement with certain holders of the 2019 Notes and certain new investors pursuant to which we issued $600.0 million aggregate principal amount of the 2023 Notes. Interest expense in 2023 includes $1.0 million of interest on the 2019 Notes, compared to $1.1 million of interest expense on the 2019 Notes in 2022. Interest expense in 2023 also includes $0.3 million of contractual coupon interest on the 2023 Notes for which there were no comparable amounts in 2022 as well as $0.6 million in accretion of the $82.1 million debt discount on the modified notes, which includes the accretion of an increase in principal and the accretion of increased fair value of the conversion option in 2023, for which there were no comparable costs in 2022. See Note 15, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Convertible Senior Notes,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to our consolidated financial statements included in this report for more information on this transaction.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Loss on extinguishment of debt</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2023, as part of the Exchange Transaction, we exchanged $217.7 million in aggregate principal amount of the 2019 Notes for $309.9 million in aggregate principal amount of the 2023 Notes. Upon evaluation of the Exchange Transaction, approximately $29.6 million, of the $217.7 million in aggregate principal amount of the 2019 Notes were deemed extinguished. As a result, we recorded a $12.7 million loss on extinguishment of debt in our consolidated statements of comprehensive income in 2023, which includes a $12.6 million write-off for the increase in principal of the converted notes being extinguished and a $0.1 million write-off of unamortized debt issuance costs related to the converted notes being extinguished.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Amortization of debt issuance costs</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Transaction costs related to the issuance of the 2019 Notes and the 2023 Notes are amortized to amortization of debt issuance costs on the consolidated statements of comprehensive income. Amortization of debt issuance costs increased during 2023, as compared to 2022. Under ASC 470, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Debt&#8221;, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">any third-party costs directly related to the modification or exchange are expensed as incurred.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">45</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Therefore, in 2023, we recorded $6.4 million to amortization of debt issuance costs in accordance to this guidance, which included $6.2 million of debt issuance costs directly related to the modified notes and $0.2 million of amortization of the capitalized debt issuance costs.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Other income (expenses), net</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The changes in other expenses, net in 2023, as compared to 2022, is primarily attributable to realized and unrealized foreign currency gains and losses related to transactions with customers and vendors, as well as the revaluation impact of intercompany loans with subsidiaries.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Income tax provision (As Restated)</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Income tax provision for the years ended December 31, 2023 and 2022 was as follows:</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:42.128%;box-sizing:content-box;"/>
    <td style="width:1.42%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:11.042%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1.42%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:11.042%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1.42%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:11.002%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:11.522%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023 vs 2022</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">$ Change</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">% Change</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands, except for percentage data)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income tax provision</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21,111</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,181</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(12,070</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(36.4</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effective tax rate</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">37.2</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15.1</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For 2023, we recorded an income tax provision of $21.1 million. The effective tax rate was 37.2% for 2023 and is based upon the income for the year ended December 31, 2023 and the composition of income in different jurisdictions. The difference in effective tax rates between 2023 and 2022 was primarily due to a loss on extinguishment of debt and a debt discount basis difference, partially offset by increased benefits from business tax credits and nontaxable contingent consideration. Our effective tax rate for 2023 was higher than the U.S. statutory rate of 21% primarily due to a debt discount basis difference partially offset by business tax credits and nontaxable contingent consideration.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Liquidity and Capital Resources (As Restated)</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have financed our operations primarily through revenues derived from product sales, the issuance of the 2016 Notes in May 2016, our 2019 Notes in July 2019, the 2023 Notes in December 2023 and the issuance of common stock in our December 2020, July 2019 and May 2019 public offerings. Our revenue for the foreseeable future will primarily be limited to our bioprocessing product revenue.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">At December 31, 2023, we had cash and cash equivalents of $751.3 million compared to cash and cash equivalents of $523.5 million at December 31, 2022. There were no restrictions on cash as of December 31, 2023.</span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Working capital increased by $352.5 million to $946.4 million at December 31, 2023 from $593.9 million at December 31, 2022 due to various changes noted</span><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> below</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, primarily the exchange of $217.7 million in aggregate principal of the 2019 Notes in December 2023.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On March 10, 2023, Silicon Valley Bank (&#8220;SVB&#8221;) was closed by the California Department of Financial Protection and Innovation, which appointed the Federal Deposit Insurance Corporation (&#8220;FDIC&#8221;) as receiver. Subsequently, the U.S. Treasury, Federal Reserve and FDIC announced that SVB depositors would have access to all of their money. We have a banking relationship with SVB and hold cash, cash equivalents and marketable securities of $0.1 million as of December 31, 2023 in SVB depository accounts to cover short-term operational payments. While we have not experienced any losses in such accounts, the recent failure of SVB caused us to utilize our accounts at other financial institutions in order to mitigate potential operational risks stemming from the temporary inability to access funds in our SVB operating accounts. As a result of bank failures, such as SVB, our access to funding sources in amounts adequate to finance or capitalize our current and projected future business operations could be significantly impaired and could negatively impact the financial institutions with which we have direct arrangements, or the financial services industry or economy in general.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2023, we acquired two companies for an aggregate of $186.6 million in cash, net of cash acquired. In connection with the acquisitions, the Company has an obligation to pay up to $52.0 million (undiscounted) in contingent consideration earnout payments</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">46</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">in cash over a two-year earnout period beginning January 1, 2023 and ending December 31, 2024). See Note 4, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value Measurements,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and Note 5, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquisitions,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">for additional information.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On December 14, 2023, we issued $600.0 million aggregate principal amount of our 2023 Notes in Exchange and Subscription Agreements with a limited number of holders of our outstanding 2019 Notes and certain other investors. Pursuant to the Exchange and Subscription Agreements, we exchanged $217.7 million aggregate principal amount of the 2019 Notes for $309.9 million in aggregate principal amount of the 2023 Notes (the "Exchange Transaction") and issued $290.1 million aggregate principal amount of the 2023 Notes (the "Subscription Transactions") for $290.1 million in cash. Immediately following the closing of the aforementioned transactions, the exchanged 2019 Notes were cancelled and $69.7 million in aggregate principal amount of the 2019 Notes remained outstanding. We evaluated all exchanges and determined approximately $29.6 million of the exchanged notes were accounted for as extinguishment of debt and approximately $188.1 million were accounted for as modification of debt. As a result, we recognized a $12.7 million loss on extinguishment of debt on our consolidated statement of comprehensive income in 2023.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Proceeds from the Subscription Transactions amounted to $276.1 million after debt issuance costs of $14.0 million. The exchange resulted in $6.2 million of the debt issuance costs related to the modified notes to be recorded to amortization of debt issuance costs in our 2023 consolidated statement of comprehensive income under the rules of modification accounting. The remaining debt issuance costs of $7.8 million as well as $0.7 million of unamortized costs carried over from the 2019 Notes at the exchange date, were capitalized within long-term debt (as a contra-liability) in our consolidated balance sheets as of December 31, 2023 and will be amortized as an adjustment to amortization of debt issuance costs over the five-year term of the 2023 Notes in our consolidated statements of comprehensive income. The 2023 Notes are senior, unsecured obligations of the Company, and bear interest at a rate of 1.00% per year. Interest is payable semi-annually in arrears on each June 15 and December 15, commencing on June 15, 2024. The 2023 Notes will mature on December 15, 2028, unless earlier redeemed, repurchased or converted.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prior to the close of business on the business day immediately preceding September 15, 2028, the 2023 Notes will be convertible at the option of the holders of 2023 Notes only upon the satisfaction of specified conditions and during certain periods into cash up to their principal amount, and into cash, shares of the Company's common stock or a combination of cash and the Company's common stock, at the Company's election, for the conversion value above the principal amount, if any. Thereafter until the close of business on the second scheduled trading day immediately preceding the maturity date, the 2023 Notes will be convertible at the options of the holders of 2023 Notes at any time regardless of these conditions.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the fourth quarter of 2023, the closing price of our common stock exceeded 130% of the conversion price of the 2019 Notes for more than 20 trading days of the last 30 consecutive trading days of the quarter. As a result, the 2019 Notes are convertible at the option of the holders of the 2019 Notes during the first quarter of 2024, the quarter immediately following the quarter when the conditions are met, as stated in the terms of the 2019 Notes. These conditions have been met each quarter since the third quarter of 2020. As a result, as of the date of this filing and prior to the Exchange Transaction, we received requests to convert $0.2 million aggregate principal amount of the 2019 Notes and all but $0.1 million of the requests have been settled as of December 31, 2023. The remaining conversions will settle in the first quarter of 2024. The conversions resulted in the issuance of a nominal number of shares of our common stock to the note holders. Because the 2019 Notes mature within one year of the report date, we classify the carrying value of the 2019 Notes of $69.5 million as current liabilities on our consolidated balance sheets at December 31, 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2023, our Board authorized the repurchase of up to $25.0 million of our common stock concurrent with the issuance of the 2023 Notes. The authorization does not obligate us to acquire a specific number of shares during any period and does not have an expiration date, but it may be modified, suspended, or discontinued at any time at the discretion of our Board. In December 2023, we used $14.4 million of cash of the proceeds from the issuance of the 2023 Notes to repurchase and retire 92,090 shares of our common stock at an average price of $156.22 per share, including $0.02 per share commission.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2023, we had lease arrangements for certain equipment and facilities including corporate and manufacturing sites. As of December 31, 2023, the Company had fixed lease payment obligations of $132.2 million, with $5.6 million payable within 12 months. See Note 7, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Leases,&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> for additional information.</span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">47</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2023, we had other purchase obligations primarily consisting of purchase commitments with certain vendors and open purchase orders for the procurement of raw materials for manufacturing. As of December 31, 2023, the Company had other purchase obligations of $34.3 million, payable within 12 months.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cash flows</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:57.477%;box-sizing:content-box;"/>
    <td style="width:1.399%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:10.776%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1.399%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:10.776%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1.399%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:10.776%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023 vs 2022</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">$ Change</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;min-width:fit-content;">Cash provided by (used in):</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Revised)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating activities</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">113,918</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">172,083</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(58,165</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Investing activities</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(123,275</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(233,236</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">109,961</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Financing activities</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">248,961</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(13,337</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">262,298</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of exchange rate changes on cash, cash<br/>&#160;&#160;&#160;equivalents and restricted cash</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(11,739</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(5,866</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(5,873</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net increase (decrease) in cash, cash equivalents<br/>&#160;&#160;&#160;and restricted cash</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">227,865</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(80,356</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">308,221</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Operating activities (As Restated)</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For 2023, our operating activities provided cash of $113.9 million reflecting net income of $35.6 million and non-cash charges totaling $98.4 million primarily related to amortization of inventory step-up charges, depreciation expense, intangible amortization expense,  amortization of debt discount and issuance costs, contingent consideration fair value adjustments, deferred income taxes, stock-based compensation charges, loss on extinguishment of debt and operating lease right of use asset amortization. A decrease in inventory provided $41.0 million of which $23.6 million was related to the Restructuring Plan. An increase in prepaid expenses, primarily related to prepaid taxes and insurance as well as subscriptions, consumed $13.3 million. A decrease in accounts payable and accrued expenses consumed $31.3 million and was due to the timing of payments to vendors as well as the payment of employee bonuses related to 2022 during 2023. The remaining cash provided by operating activities resulted from favorable changes in various other working capital accounts.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For 2022, our operating activities provided cash of $172.1 million reflecting net income of $186.0 million and non-cash charges totaling $56.0 million primarily related to depreciation, amortization, contingent consideration adjustments, amortization of debt issuance costs, deferred income taxes, stock-based compensation charges and operating lease right of use asset amortization. An increase in accounts receivable consumed $3.6 million of cash and was primarily driven by the 19.5% year-to-date increase in revenue in 2022, as compared to 2021. Additionally, we had an increase in inventory of $57.2 million to support expected increases in future revenue. Accounts payable decreased $8.2 million due to the timing of payments to vendors and accrued expenses decreased $2.0 million due to corporate income taxes paid. Offsetting these uses of cash was a $2.4 million decrease in prepaid expenses, including corporate income taxes. The remaining cash used in operating activities resulted from unfavorable changes in various other working capital accounts.</span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Investing activities</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our investing activities consumed $123.3 million of cash in 2023, primarily due to $186.6 million in cash (net of cash received) used for the 2023 acquisitions of Metenova and FlexBiosys, in the aggregate. Capital expenditures consumed $39.0 million in 2023, as we continue to increase our manufacturing capacity worldwide. Of these expenditures, $2.8 million represented capitalized costs related to our internal-use software for 2023. These uses of cash were partially offset by the maturity of our short-term investment in U.S. treasury securities in June 2023, which provided cash of $102.3 million.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our investing activities consumed $233.2 million of cash during 2022, mainly due to $88.3 million of capital expenditures in 2022 as we continued to increase our manufacturing capacity worldwide. Of these expenditures, $3.5 million represented capitalized costs related to our internal-use software for 2022. In addition, in September 2022, the Company paid a one-time, non-refundable, non-creditable upfront payment to Daylight as required under the Daylight Agreement for the commercialization and sale of Culpeo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">QCL-IR Liquid Analyzer. In December 2022, the Company invested $100.0 million in short-term U.S. treasury securities.</span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">48</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Financing activities</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2023, cash provided by financing activities of $249.0 million included $290.1 million of proceeds from the issuance of the 2023 Notes in December 2023 and proceeds from stock option exercises during 2023 were $1.1 million. Offsetting these activities was $14.4 million for the buyback of 92,090 shares of our common stock, $13.2 million in cash disbursed for shares withheld to cover employee income tax due upon the vesting and release of restricted stock units, $7.3 million paid for debt issuance costs related to the 2023 Notes and the payment of $7.3 million to settle the cash portion of the First Earnout Year contingent earnout obligation related to our acquisition of Avitide in September 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our financing activities consumed $13.3 million of cash in 2022, which included cash disbursed in relation to shares withheld to cover employee income tax due upon the vesting and release of restricted stock units of $17.0 million. This was partially offset by proceeds received from stock option exercises during the period of $3.7 million.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Effect of exchange rate changes on cash, cash equivalents and restricted cash</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The effect of exchange rate changes on cash during 2023 is a result of the strengthening of the Swedish krona against the U.S. dollar by 3%, the strengthening of the Euro against the U.S. dollar by 3% and the strengthening of the British pound against the U.S. dollar by 5%.</span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Off-Balance Sheet Arrangements</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We do not have any special purpose entities or off-balance sheet financing arrangements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Capital Requirements</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our future capital requirements will depend on many factors, including the following:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the expansion of our bioprocessing business; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the ability to sustain sales and profits of our bioprocessing products and successfully integrate them into our business; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">our ability to acquire additional bioprocessing products; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the scope of and progress made in our R&amp;D activities;</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the scope of investment in our intellectual property portfolio;</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">contingent consideration earnout payments resulting from our acquisitions; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the extent of any share repurchase activity; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the success of any proposed financing efforts;</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">general economic and capital markets;</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">change in accounting standards;</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the impact of inflation on our operations, including our expenditures on raw material and freight charges;</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">fluctuations in foreign currency exchange rates; and</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">costs associated with our ability to comply with emerging environmental, social and governance standards.</span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Absent acquisitions of additional products, product candidates or intellectual property, we believe our current cash balances are adequate to meet our cash needs for at least the next 24 months. We expect operating expenses in 2024 to increase as we continue to expand our bioprocessing business. We expect to incur continued spending related to the development and expansion of our bioprocessing product lines and expansion of our commercial capabilities for the foreseeable future. Our future capital requirements may include, but are not limited to, purchases of property, plant and equipment, the acquisition of additional bioprocessing products and technologies to complement our existing manufacturing capabilities, and continued investment in our intellectual property portfolio.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">49</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We plan to continue to invest in our bioprocessing business and in key R&amp;D activities associated with the development of new bioprocessing products. We actively evaluate various strategic transactions on an ongoing basis, including licensing or acquiring complementary products, technologies or businesses that would complement our existing portfolio. We continue to seek to acquire such potential assets that may offer us the best opportunity to create value for our shareholders. In order to acquire such assets, we may need to seek additional financing to fund these investments. If our available cash balances and anticipated cash flow from operations are insufficient to satisfy our liquidity requirements, for example, due to acquisition-related financing needs or lower demand for our products, among potential other events, we may seek to sell common or preferred equity or convertible debt securities, enter into a credit facility or another form of third-party funding, or seek other debt funding. The sale of equity and convertible debt securities may result in dilution to our shareholders, and those securities may have rights senior to those of our common shares. If we raise additional funds through the issuance of preferred stock, convertible debt securities or other debt financing, these securities or other debt could contain covenants that would restrict our operations. Any other third-party funding arrangement could require us to relinquish valuable rights. We may require additional capital beyond our currently anticipated amounts. Additional capital may not be available on reasonable terms, if at all.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Net Operating Loss Carryforwards </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">(As Restated)</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">At December 31, 2023, we had federal net operating loss carryforwards of $31.1 million, state net operating loss carryforwards of $4.8 million, and foreign net operating loss carryforwards of $4.9 million. The state net operating loss carryforwards will expire at various dates through 2043, while the federal and foreign net operating loss carryforwards have unlimited carryforward periods and do not expire. We had federal and state business tax credits carryforwards of $5.8 million available to reduce future federal and state income taxes. The business tax credits carryforwards will expire at various dates through December 2043. Net operating loss carryforwards and available tax credits are subject to review and possible adjustment by the Internal Revenue Service, state and foreign jurisdictions and may be limited in the event of certain changes in the ownership interest of significant stockholders.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Foreign Earnings</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of December 31, 2023, we have accumulated undistributed earnings generated by our foreign subsidiaries of approximately $212.4 million. Because $5.7 million of such earnings have previously been subject to the one-time transition tax on foreign earnings required by the Tax Cuts and Jobs Act enacted in December 2017, any additional taxes due with respect to such earnings or the excess of the amount for financial reporting over the tax basis of our foreign investments would generally be limited to foreign and state taxes. At December 31, 2023, we have not provided for taxes on outside basis differences of our foreign subsidiaries as it is not practicable and we have the ability and intent to indefinitely reinvest the undistributed earnings of our foreign subsidiaries, and there are no needs for such earnings in the United States that would contradict our plan to indefinitely reinvest.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Effects of Inflation</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our assets are primarily monetary, consisting of cash and cash equivalents and marketable securities. Because of their liquidity, these assets are not directly affected by inflation. Since we intend to retain and continue to use our equipment, furniture, fixtures and office equipment, computer hardware and software and leasehold improvements, we believe that the incremental inflation related to replacement costs of such items will not materially affect our operations. However, the rate of inflation affects our expenses, such as those for employee compensation and contract services, which could increase our level of expenses and the rate at which we use our resources.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_7a_quantitative_qualitative_disclos"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 7A. QUANTITATIVE AND QUALITAT</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">IVE DISCLOSURES ABOUT MARKET RISK</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We are exposed to market risk in the ordinary course of our business. Market risk represents the risk of loss that may impact our financial position due to adverse changes in financial market prices and rates. Our market risk exposure is primarily a result of fluctuations in interest rates and foreign currency exchange rates.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Interest Rate Risk</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have historically held investments in commercial paper, U.S. treasury and government securities as well as corporate bonds and other debt securities. As a result, we have been exposed to potential loss from market risks that may occur as a result of changes in interest rates, changes in credit quality of the issuer or otherwise. We do not have any such investments as of December 31, 2023. Our investment portfolio consists of cash and cash equivalents (cash and money market funds) that total $751.3 million on the consolidated</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">50</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">balance sheets as of December 31, 2023. Our cash equivalent investments (money market funds) have short-term maturity periods that dampen the impact of market or interest rate risk. As a result, a hypothetical 100 basis point increase in interest rates would have no effect on our cash position as of December 31, 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We manage our investment portfolio in accordance with our investment policy or approval by the Board of Directors. The primary objectives of our investment policy are to preserve principal, maintain a high degree of liquidity to meet operating and other needs, and obtain competitive returns subject to prevailing market conditions without significantly increasing risk. To achieve this objective, we maintain our portfolio of cash equivalents in high-quality securities, including money market funds.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Foreign Exchange Risk </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">(As Restated)</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The reporting currency of the Company is U.S. dollars, and the functional currency of each of our foreign subsidiaries is its respective local currency. Our foreign currency exposures include the Swedish krona, Euro, British pound, Chinese yuan, Japanese yen, Singapore dollar, South Korean won and Indian rupee; of these, the primary foreign currency exposures are the Swedish krona, Euro and Chinese yuan. Exchange gains or losses resulting from the translation between the transactional currency and the functional currency are included in net income. Fluctuations in exchange rates may adversely affect our results of operations, financial position and cash flows. We currently do not seek to hedge this exposure to fluctuations in exchange rates.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Although a majority of our contracts are denominated in U.S. dollars, 37.9% and 38.2% of total revenues were denominated in foreign currencies during 2023 and 2022, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_8_financial_statements_supplementar"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 8. FINANCIAL STATEMEN</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">TS AND SUPPLEMENTARY DATA</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Financial statements and supplementary data required by Item 8 are set forth at the pages indicated in Item 15(a) below and are incorporated herein by reference.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_9a_controls_procedures"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 9A. CONTROLS</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> AND PROCEDURES</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">(a) Disclosure Controls and Procedures.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s management, with the participation of our principal executive officer and principal financial officer, has evaluated the effectiveness of the Company&#8217;s disclosure controls and procedures (as defined in Rules 13a-15(e) or 15d-15(e) under the Securities Exchange Act of 1934 (&#8220;Exchange Act&#8221;) and as required by paragraph (b) of Rules 13a-15 or 15d-15 under the Exchange Act) as of the end of the period covered by this report. Based on such evaluation, our principal executive officer and principal financial officer have concluded that, as of December 31, 2023, the Company&#8217;s disclosure controls and procedures were not effective as of such date due to material weaknesses in our internal control over financial reporting, as described below.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">(b) Report of Management on Internal Control Over Financial Reporting.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Management of the Company is responsible for establishing and maintaining adequate internal control over financial reporting. Internal control over financial reporting is defined in Rule 13a-15(f) and 15d-15(f) under the Exchange Act as a process designed by, or under the supervision of, the Company&#8217;s principal executive and principal financial officers and effected by the Company&#8217;s Board of Directors (&#8220;Board&#8221;), management and other personnel, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with U.S. generally accepted accounting principles and includes those policies and procedures that:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="item-list-element-wrapper" style="margin-left:7.861%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.6173607267280956%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">pertain to the maintenance of records that in reasonable detail accurately and fairly reflect the transactions and dispositions of the assets of the Company; </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:7.861%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.6173607267280956%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the Company are being made only in accordance with authorizations of management and directors of the Company; and </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:7.861%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.6173607267280956%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use or disposition of the Company&#8217;s assets that could have a material effect on the financial statements. </span></div></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">51</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Management assessed the effectiveness of the Company&#8217;s internal control over financial reporting as of December 31, 2023. In making this assessment, management used the criteria established in </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Internal Control &#8211; Integrated Framework</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, issued by the Committee of Sponsoring Organizations of the Treadway Commission (2013 framework) (COSO).</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Projections of any evaluation of effectiveness to future periods are subject to the risks that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We acquired FlexBiosys Inc. (&#8220;FlexBiosys&#8221;) on April 17, 2023 and Metenova Holding AB ("Metenova") on October 2, 2023. The financial results of each of these acquisitions are included in our audited consolidated financial statements as of December 31, 2023. The Company's consolidated total assets as of December 31, 2023 includes $43.7 million and $197.2 million from the FlexBiosys and Metenova businesses, respectively. The Company's consolidated revenue for the year ended December 31, 2023 includes $2.5 million and $5.0 million from the FlexBiosys and Metenova businesses, respectively. As these acquisitions occurred during 2023, the scope of our assessment of our internal control over financial reporting does not include these acquisitions. These exclusions are in accordance with the Security and Exchange Commission's general guidance that an assessment of a recently acquired business may be omitted from our scope in the year of such acquisition.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In connection with our initiative to integrate and enhance our global information technology systems and business processes, we continued the phased implementation of a new enterprise resource planning (&#8220;ERP&#8221;) system. The Company is implementing the ERP system in phases and will continue until all current and future subsidiaries are using it. The fifth phase of implementation was completed during the second quarter of 2023. As a result of this implementation, we modified certain existing internal control over financial reporting as well as implemented new controls and procedures related to the new ERP system as of December 31, 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of December 31, 2023, the Company identified the following material weaknesses in internal control over financial reporting:</span></p>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">1.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In conjunction with management&#8217;s assessment of internal control over financial reporting in the fourth quarter of  2023, management identified a material weakness in the operation of our controls over the deferred income tax accounting for complex and non-routine transactions. Specifically, management did not have adequate supervision and review controls over the complex accounting for deferred income tax on the exchange of our outstanding 0.375% Convertible Senior Notes due 2024 and the issuance of 1.00% Convertible Senior Notes due 2028, including work performed by external advisors and the internal review of such transaction and related analyses. This material weakness did not result in an error in any of our previously issued consolidated financial statements including the consolidated financial statements as of and for the year ended December 31, 2023.  </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.537%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.528%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.743198935713313%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">2.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Subsequent to the issuance of our Original Report and as part of the restatement, Management identified deficiencies related to the design and operating effectiveness of controls related to revenue recognition specific to the evaluation of accounting for contract terms.  The Company has concluded that such deficiencies represented a material weakness as of December 31, 2023 and 2022.</span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Based on these material weaknesses, the Company&#8217;s management concluded that at December 31, 2023, the Company&#8217;s internal control over financial reporting was not effective.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Remediation Plan - Income tax accounting related to non-routine transactions</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Following identification of the income tax material weakness, and as part of our commitment to strengthen our internal control over financial reporting, we are implementing remedial actions under the oversight of the Audit Committee of our Board to address these deficiencies. On highly-technical, non-routine and complex accounting transactions, we will continue to engage nationally recognized third-party advisors with the requisite skills and technical expertise to assist us in assessing, performing and reviewing such transactions; however we will:</span></p>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Improve our process to identify and select qualified third-party advisors, including enhanced review of capabilities and work performed, specifically related to the review of tax advice and related accounting guidance. </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Implement a process to verify the controls, processes and internal reviews performed by third-party advisors.</span></div></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">52</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Consider whether the non-routine transaction warrants additional advisor oversight or validation of analyses based on complexity or changes in applicable regulations.</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Increase education for internal resources on complex transactions to enhance diligence capabilities with third-party advisors. </span></div></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We will continue to monitor the design and operating effectiveness of these and other processes, procedures and controls and make any further changes management determines appropriate.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Remediation Plan &#8211; Revenue recognition, specific to the evaluation of accounting for contract terms</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Following identification of the revenue recognition material weakness, and as part of our commitment to strengthen our internal control over financial reporting, we are implementing remedial actions under the oversight of the Audit Committee of our Board to address these deficiencies. Our remediation activities will include the following:</span></p>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Designing new internal controls to validate there is a complete listing of revenue contracts that have non-standard terms, which require incremental accounting analysis under ASC 606.</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Designing new internal controls evaluating the accounting for contract amendments, including amendments accounted for as contract modifications. </span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Enhancing and expanding our existing revenue recognition control procedures and attributes when evaluating the accounting impact of non-standard contract terms and contract modifications.</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Increasing education for internal resources on accounting for contracts within the scope of ASC 606 and deploying enablers to facilitate documentation of accounting analyses and conclusions.</span></div></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We will continue to monitor the design and operating effectiveness of these and other processes, procedures and controls and make any further changes management determines appropriate.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our CEO and CFO have certified that, based on their knowledge, our consolidated financial statements and other financial information included in this Amendment, fairly present, in all material respects, our financial condition, results of operations and cash flows as of, and for, the periods presented in this Amendment.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Ernst &amp; Young LLP, the independent registered public accounting firm that audited our consolidated financial statements included in this Amendment, has issued an unqualified opinion on our consolidated financial statements and has issued an adverse opinion on the effectiveness of our internal control over financial reporting as of December 31, 2023.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">53</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">(c) Attestation Report of the Independent Registered Public Accounting Firm.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">To the Stockholders and the Board of Directors of Repligen Corporation</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Opinion on Internal Control Over Financial Reporting</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have audited Repligen Corporation&#8217;s internal control over financial reporting as of December 31, 2023, based on criteria established in Internal Control&#8212;Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission (2013 framework) (the COSO criteria). In our opinion, because of the effect of the material weaknesses described below on the achievement of the objectives of the control criteria, Repligen Corporation (the Company) has not maintained effective internal control over financial reporting as of December 31, 2023, based on the COSO criteria.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In our report dated February 22, 2024, we expressed an adverse opinion that the Company had not maintained effective internal control over financial reporting as of December 31, 2023, based on the COSO criteria. Management has subsequently identified deficiencies related to the design and operating effectiveness of controls related to revenue recognition specific to the evaluation of accounting for contract terms, and has further concluded that such deficiencies represented a material weakness as of December 31, 2023. As a result, management has revised its assessment, as presented in the accompanying Report of Management on Internal Control over Financial Reporting and concluded that the Company&#8217;s internal control over financial reporting was not effective as of December 31, 2023. Accordingly, our present opinion on the effectiveness of internal controls over financial reporting as of December 31, 2023, as expressed herein, includes an additional material weakness from that included in our previous report.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As indicated in the accompanying Report of Management on Internal Control Over Financial Reporting, management&#8217;s assessment of and conclusion on the effectiveness of internal control over financial reporting did not include the internal controls of Metenova Holding AB ("Metenova") and FlexBiosys Inc. ("FlexBiosys"), which is included in the 2023 consolidated financial statements of the Company and constituted $197.2 million and $43.7 million of total assets, respectively, as of December 31, 2023 and $5.0 million and $2.5 million of revenues, respectively, for the year then ended. Our audit of internal control over financial reporting of the Company also did not include an evaluation of the internal control over financial reporting of Metenova and FlexBiosys.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A material weakness is a deficiency, or combination of deficiencies, in internal control over financial reporting, such that there is a reasonable possibility that a material misstatement of the company&#8217;s annual or interim financial statements will not be prevented or detected on a timely basis. The following material weaknesses have been identified and included in management&#8217;s assessment. Management has identified a material weakness in controls related to the Company&#8217;s income tax accounting related to non-routine transactions. Management also has identified a material weakness in controls related to the Company&#8217;s revenue recognition process.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">   </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We also have audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the consolidated balance sheets of the Company as of December 31, 2023 and 2022, the related consolidated statements of comprehensive income, stockholders' equity and cash flows for each of the three years in the period ended December 31, 2023, and the related notes. These material weaknesses were considered in determining the nature, timing and extent of audit tests applied in our audit of the 2023 consolidated financial statements, and this report does not affect our report dated February 22, 2024, except for the effect of the restatement disclosed in Note 1, as to which the date is November 18, 2024, which expressed an unqualified opinion on those financial statements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Basis for Opinion</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s management is responsible for maintaining effective internal control over financial reporting and for its assessment of the effectiveness of internal control over financial reporting included in the accompanying Report of Management on Internal Control Over Financial Reporting. Our responsibility is to express an opinion on the Company&#8217;s internal control over financial reporting based on our audit. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">54</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We conducted our audit in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether effective internal control over financial reporting was maintained in all material respects.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our audit included obtaining an understanding of internal control over financial reporting, assessing the risk that a material weakness exists, testing and evaluating the design and operating effectiveness of internal control based on the assessed risk, and performing such other procedures as we considered necessary in the circumstances. We believe that our audit provides a reasonable basis for our opinion.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Definition and Limitations of Internal Control Over Financial Reporting</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A company&#8217;s internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles. A company&#8217;s internal control over financial reporting includes those policies and procedures that (1) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the company; (2) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the company are being made only in accordance with authorizations of management and directors of the company; and (3) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the company&#8217;s assets that could have a material effect on the financial statements.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.</span></p>
  <p style="font-size:10pt;margin-top:7pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">/s/ Ernst &amp; Young LLP</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:7pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Boston, Massachusetts</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">February 22, 2024, except for the effect of the material weakness in controls related to the revenue recognition process described in the second and fourth paragraphs above, as to which the date is November 18, 2024.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">(d) Changes in Internal Control Over Financial Reporting</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Excluding the material weaknesses identified above, there have been no changes in our internal control over financial reporting identified in connection with the evaluation required by paragraph (d) of Exchange Act Rule 13a-15 or Rule 15d-15 that occurred in the three months ended December 31, 2023 that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting. Management believes the consolidated financial statements reflected in our current Amendment are accurately stated.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">55</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="part_iv"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">PART</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> IV</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_15_exhibits_financial_statement_sch"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 15. EXHIBITS AND FINAN</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CIAL STATEMENT SCHEDULES</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following documents are filed as part of this Amendment:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(a) (1)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> Financial Statements</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The financial statements required by this item are submitted in a separate section beginning on page 67 of this report, as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:93%;box-sizing:content-box;"/>
    <td style="width:7%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:8pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Page</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#report_independent_registered_public_acc"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Report of Independent Registered Public Accounting Firm (PCAOB ID:42)</span></a></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">62</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#consolidated_balance_sheets"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Consolidated Balance Sheets as of December 31, 2023 (As Restated) and December 31, 2022 (As Revised)</span></a></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">65</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#consolidated_statements_comprehensive_in"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Consolidated Statements of Comprehensive Income for the Years Ended December 31, 2023 (As Restated), 2022 and 2021</span></a></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">66</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#consolidated_statements_stockholders_equ"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Consolidated Statements of Stockholders&#8217; Equity for the Years Ended December 31, 2023 (As Restated), 2022 and 2021</span></a></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">67</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#consolidated_statements_cash_flows"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Consolidated Statements of Cash Flows for the Years Ended December 31, 2023 (As Restated), 2022 (As Revised) and 2021 (As Revised)</span></a></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">68</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#note_to_financial_statements"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Notes to Consolidated Financial Statements (As Restated)</span></a></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">69</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(a) (2)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> Financial Statement Schedules</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">None.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(a) (3)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> Exhibits</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Exhibits which are filed as part of this Amendment or which are incorporated by reference are set forth in the Exhibit Index hereto.</span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">56</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">EXHIBIT INDEX</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:10.58%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:88.42%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:8pt;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Exhibit</span></p><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Number</span></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Document Description</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.1</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000091205799005920/0000912057-99-005920.txt"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Restated Certificate of Incorporation dated June 30, 1992, as amended September 17, 1999 (filed as Exhibit 3.1 to Repligen Corporation&#8217;s Quarterly Report on Form 10-Q for the quarter ended September 30, 1999 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.2</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000091205799005920/0000912057-99-005920.txt"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Certificate of Amendment to the Certificate of Incorporation of Repligen Corporation, effective as of May 16, 2014 (filed as Exhibit 3.1 to Repligen Corporation&#8217;s Current Report on Form 8-K filed on May 19, 2014 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.3</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312523150037/d444083dex31.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Certificate of Amendment to the Certificate of Incorporation of Repligen Corporation, effective as of May 19, 2023 (filed as Exhibit 3.1 to Repligen Corporation's Current Report on Form 8-K filed on May 22, 2023 and incorporated herein by reference).</span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.4</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312521020747/d117561dex31.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Third Amended and Restated Bylaws (filed as Exhibit 3.1 to Repligen Corporation&#8217;s Current Report on Form 8-K filed on January 28, 2021 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.1</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000089155402003661/d50741_ex4-1.txt"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Specimen Stock Certificate (filed as Exhibit 4.1 to Repligen Corporation&#8217;s Annual Report on Form 10-K for the year ended March 31, 2002 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.2</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312516600591/d184696dex41.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Base Indenture, dated as of July 19, 2019, by and between Repligen Corporation and Wilmington Trust, National Association (filed as Exhibit 4.1 to Repligen Corporation&#8217;s Current Report on Form 8-K filed on July 22, 2019 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.3</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312519199075/d780262dex42.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">First Supplemental Indenture, dated as of July 19, 2019, by and between Repligen Corporation and Wilmington Trust, National Association (filed as Exhibit 4.2 to Repligen Corporation&#8217;s Current Report on Form 8-K filed on July 22, 2019 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.4</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312522068716/d316288dex41.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Second Supplemental Indenture, dated as of March 4, 2022, by and between Repligen Corporation and Wilmington Trust, National Association, as trustee (filed as Exhibit 4.1 to Repligen Corporation's Form 8-K filed on March 8, 2022).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.5</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312516600591/d184696dex42.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Form of 0.375% Convertible Senior Notes due 2024 (included in Exhibit 4.3).</span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.6</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312523296692/d654708dex41.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Base Indenture, dated as of December 14, 2023, by and between Repligen Corporation and Wilmington Trust, National Association (filed as Exhibit 4.1 to Repligen Corporation's Current Report on Form 8-K filed on December 15, 2023 and incorporated herein by reference).</span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.7</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312523296692/d654708dex41.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Form of 1.00% Convertible Senior Notes due 2028 (included in Exhibit 4.6).</span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.8</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312520050136/d862842dex45.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Description of Certain Registrant&#8217;s Securities (filed as Exhibit 4.5 to Repligen Corporation&#8217;s Annual Report on Form 10-K for the year ended December 31, 2019 and incorporated by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.1*</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312505242248/dex101.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Repligen Executive Incentive Compensation Plan (filed as Exhibit 10.1 to Repligen Corporation&#8217;s Current Report on Form 8-K filed on December 14, 2005 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.2</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000089155402000671/d27862_ex10-1.txt"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Lease Between Repligen Corporation as Tenant and West Seyon LLC as Landlord, 35 Seyon Street, Waltham, MA (as amended to date) (filed as Exhibit 10.4 to Repligen Corporation&#8217;s Annual Report on Form 10-K for the year ended December 31, 2019 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.3#</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312510136879/dex1017.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Strategic Supplier Alliance Agreement dated January 28, 2010 by and between Repligen Corporation and GE Healthcare Bio-Sciences AB (as amended to date) (filed as Exhibit 10.1 to Repligen Corporation&#8217;s Quarterly Report on Form 10-Q for the quarter ended March 31, 2016 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.4*</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312514222092/d738592dex991.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Repligen Corporation Amended and Restated 2012 Stock Option and Incentive Plan (filed as Exhibit 99.1 to Repligen Corporation&#8217;s Form S-8 filed on June 2, 2014 and incorporated herein by reference).</span></a></p></td>
   </tr>
  </table>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">57</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:10.58%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:88.42%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.5*</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000095017024018809/rgen-ex10_5.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Repligen Corporation Amended and Restated Non-Employee Directors' Compensation Policy (filed with the Original Report).</span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.6</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312516589062/d153757dex101.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Form of Indemnification Agreement (filed as Exhibit 10.1 to Repligen Corporation&#8217;s Current Report on Form 8-K filed on May 12, 2016 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.7</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312518036440/d445328dex101.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Lease Agreement, dated February 6, 2018, by and between Repligen Corporation and U.S. REIF 111 Locke Drive Massachusetts, LLC (filed as Exhibit 10.1 to Repligen Corporation&#8217;s Current Report on Form 8-K filed on February 8, 2018 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.8*</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312518236196/d491984dex101.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">2018 Repligen Corporation Stock Option and Incentive Plan (filed as Exhibit 10.1 to Repligen Corporation&#8217;s Quarterly Report on Form 10-Q for the quarter ended June 30, 2018 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.9*</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312519060645/d682580dex1017.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Letter Agreement, dated as of September 3, 2016 by and between Repligen Corporation and Ralf Kuriyel (filed as Exhibit 10.17 to Repligen Corporation&#8217;s Annual Report on Form 10-K for the year ended December 31, 2018 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.10*</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312522165344/d339987dex101.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Repligen Corporation Amended and Restated Severance and Change in Control Plan, effective as of May 26, 2022 (filed as Exhibit 10.1 to Repligen Corporation's Form 8-K filed June 1, 2022).</span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.11*</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000095017023056871/rgen-ex10_1.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Employment Agreement, dated as of September 8, 2023, by and between Repligen Corporation and Olivier Loeillot (filed as Exhibit 10.1 to Repligen Corporation's Form 10-Q for the quarter ended September 30, 2023).</span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.12*</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312523233111/d554431dex101.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Employment Agreement, dated as of September 8, 2023, by and between Repligen Corporation and Jason Garland (filed as Exhibit 10.1 to Repligen Corporation's Current Report on Form 8-K filed on September 12, 2023).</span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.13</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312520191159/d29647dex101.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">First Amendment to Lease Agreement, dated as of July 7, 2020 by and between Repligen Corporation and U.S. REIF 111 Locke Drive Massachusetts, LLC (filed as Exhibit 10.1 to Repligen Corporation&#8217;s Current Report on Form 8-K filed on July 10, 2020 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.14*</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312521225812/d200434dex101.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Repligen Corporation 2018 Stock Option and Incentive Plan, Sub-Plan for French-Qualified Restricted Stock Units (filed as Exhibit 10.1 to Repligen Corporation&#8217;s Form 10-Q for the quarter ended June 30, 2021 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19.1</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000095017024018809/rgen-ex19_1.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Repligen Corporation Amended and Restated Statement of Company Policy on Insider Trading and Disclosure &amp; Trading Procedures for Insiders (filed with the Original Report).</span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21.1</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000095017024018809/rgen-ex21_1.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Subsidiaries of the Registrant (filed with the Original Report).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">23.1+</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="rgen-ex23_1.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Consent of Ernst &amp; Young LLP, Independent Registered Accounting Firm.</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24.1+</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/ix?doc=/Archives/edgar/data/730272/000095017024018809/rgen-20231231.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Power of Attorney (included on signature page to the Original Report).</span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">31.1+</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="rgen-ex31_1.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Rule 13a-14(a)/15d-14(a) Certification.</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">31.2+</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="rgen-ex31_2.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Rule 13a-14(a)/15d-14(a) Certification.</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">32.1+</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="rgen-ex32_1.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Certification Pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">97.1</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000095017024018809/rgen-ex97_1.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Repligen Corporation Compensation Recovery Policy (filed with the Original Report).</span></a></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">101.INS</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inline 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.</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">101.SCH</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inline XBRL Taxonomy Extension Schema With Embedded Linkbase Documents.</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:9.35pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">104</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;text-indent:5.05pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cover page formatted as Inline XBRL and contained in Exhibits 101.*).</span></p></td>
   </tr>
  </table>
  <p style="margin-left:3.333%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.75pt solid;margin-right:83.333%;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"># Confidential treatment obtained as to certain portions.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">* Management contract or compensatory plan or arrangement.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">58</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">+ Filed electronically herewith.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The exhibits listed above are not contained in the copy of the Original Report distributed to stockholders. Upon the request of any stockholder entitled to vote at the 2024 Annual Meeting, the Registrant will furnish that person without charge a copy of any exhibits listed above. Requests should be addressed to Repligen Corporation, 41 Seyon Street, Waltham, MA 02453.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:-11.111%;padding-left:10%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_16_10k_summary">&#160;</p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">59</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="signatures"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">SIGNAT</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">URES</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Pursuant to the requirements of Section 13 or 15(d) 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:48.74%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:3%;box-sizing:content-box;"/>
    <td style="width:47.26%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">REPLIGEN CORPORATION</span></p></td>
   </tr>
   <tr style="height:12.25pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Date: November 18, 2024</span></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">By:</span></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;border-bottom:0.75pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">S</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/ J</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">ASON</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;G</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">ARLAND</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">  </span></p></td>
   </tr>
   <tr style="height:8pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Jason Garland</span></p><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Chief Financial Officer</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">60</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">INDEX TO FINANCIAL STATEMENTS</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:94%;box-sizing:content-box;"/>
    <td style="width:6%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:8pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Page</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#report_independent_registered_public_acc"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Report of Independent Registered Public Accounting Firm (PCAOB ID:42)</span></a></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">62</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#consolidated_balance_sheets"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Consolidated Balance Sheets as of December 31, 2023 (As Restated) and December 31, 2022 (As Revised)</span></a></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">65</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#consolidated_statements_comprehensive_in"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Consolidated Statements of Comprehensive Income for the Years Ended December 31, 2023 (As Restated), 2022 and 2021</span></a></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">66</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#consolidated_statements_stockholders_equ"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Consolidated Statements of Stockholders&#8217; Equity for the Years Ended December 31, 2023 (As Restated), 2022 and 2021</span></a></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">67</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#consolidated_statements_cash_flows"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Consolidated Statements of Cash Flows for the Years Ended December 31, 2023 (As Restated), 2022 (As Revised) and 2021 (As Revised)</span></a></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">68</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#note_to_financial_statements"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Notes to Consolidated Financial Statements (As Restated)</span></a></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">69</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">61</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="report_independent_registered_public_acc"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">REPORT OF INDEPENDENT REGIST</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ERED PUBLIC ACCOUNTING FIRM</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">To the Stockholders and the Board of Directors of Repligen Corporation</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Opinion on the Financial Statements</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have audited the accompanying consolidated balance sheets of Repligen Corporation (the Company) as of December 31, 2023 and 2022, the related consolidated statements of comprehensive income, stockholders' equity and cash flows for each of the three years in the period ended December 31, 2023, and the related notes (collectively referred to as the &#8220;consolidated financial statements&#8221;). In our opinion, the consolidated financial statements present fairly, in all material respects, the financial position of the Company at December 31, 2023 and 2022, and the results of its operations and its cash flows for each of the three years in the period ended December 31, 2023, in conformity with U.S. generally accepted accounting principles.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We also have audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the Company&#8217;s internal control over financial reporting as of December 31, 2023, based on criteria established in Internal Control&#8212;Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission (2013 framework), and our report dated February 22, 2024, except for the effect of the material weakness in controls related to the revenue recognition process described in the second and fourth paragraphs of that report as to which the date is November 18, 2024, expressed an adverse opinion thereon.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Adoption of ASU No. 2020-06</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As discussed in Note 3 to the consolidated financial statements, the Company changed its method for accounting for convertible debt in 2022 due to the adoption of ASU No. 2020-06, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Debt &#8211; Debt with Conversion and Other Options (Subtopic 470-20)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Restatement of 2023 Financial Statements</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As discussed in Note 1, the 2023 consolidated financial statements have been restated to correct a misstatement related to revenue recognition.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Basis for Opinion</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">These financial statements are the responsibility of the Company&#8217;s management. Our responsibility is to express an opinion on the Company&#8217;s financial statements based on our audits. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Critical Audit Matters</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The critical audit matters communicated below are matters arising from the current period audit of the financial statements that were communicated or required to be communicated to the audit committee and that: (1) relate to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective or complex judgments. The communication of critical audit matters does not alter in any way our opinion on the consolidated financial statements, taken as a whole, and we are not, by communicating the critical audit matters below, providing separate opinions on the critical audit matters or on the accounts or disclosures to which they relate.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">62</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:15.903%;box-sizing:content-box;"/>
    <td style="width:5.741%;box-sizing:content-box;"/>
    <td style="width:78.356%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:21.65pt;white-space:pre-wrap;word-break:break-word;text-align:right;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-style:italic;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;margin-right:0.04861111111111111in;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-style:italic;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-style:italic;min-width:fit-content;">Accounting for acquisitions</span></p></td>
   </tr>
   <tr style="height:42.8pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-style:italic;min-width:fit-content;">Description of the Matter</span></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:right;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;margin-right:0.04861111111111111in;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:right;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;margin-right:0.04861111111111111in;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">As disclosed in Note 5 to the consolidated financial statements, during 2023, the Company completed two acquisitions. The most significant of the two acquisitions was the acquisition of Metenova Holding AB for total consideration of approximately $172.6 million. The transactions were accounted for as business combinations.</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;margin-right:0.04861111111111111in;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Auditing the Company's accounting for its acquisition of Metenova Holding AB was complex due to the significant estimation uncertainty in the Company&#8217;s determination of the fair value of identified intangible assets of $58.8 million, which principally consisted of customer relationships and developed technology. The significant estimation uncertainty was primarily due to the sensitivity of the respective customer relationship and developed technology fair values to underlying assumptions about the future performance of the acquired business. The Company used a discounted cash flow model to measure the customer relationship and developed technology intangible assets. The significant assumptions used to estimate the value of the intangible assets included discount rates and certain assumptions that form the basis of the forecasted results, including revenue growth, and cost of revenues and operating expenses as a percentage of revenue. These significant assumptions are forward looking and could be affected by future economic and market conditions.</span></p></td>
   </tr>
   <tr style="height:183.15pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-style:italic;min-width:fit-content;">How We Addressed the Matter in Our Audit</span></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:right;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;margin-right:0.04861111111111111in;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:right;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">We tested the Company's controls over its accounting for acquisitions. Our tests included controls over the determination of the fair value of customer relationship and developed technology intangible assets. We also tested management&#8217;s review of assumptions used in the valuation models.</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">To test the estimated fair value of the customer relationship and developed technology intangible assets, we performed audit procedures that included, among others, evaluating the Company's selection of the valuation methodology, evaluating the methods and significant assumptions used by the Company, and evaluating the completeness and accuracy of the underlying data supporting the significant assumptions and estimates. This includes comparing the significant assumptions to current industry, market and economic trends, to the assumptions used to value similar assets in other acquisitions, to the historical results of the acquired business and to other guidelines used by companies within the same industry. We involved our valuation professionals to assist in our evaluation of the methodology used by the Company and significant assumptions included in the fair value estimates.</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
   </tr>
   <tr style="height:21.65pt;white-space:pre-wrap;word-break:break-word;text-align:right;">
    <td style="padding-top:0in;padding-left:0.08in;vertical-align:top;padding-bottom:0in;padding-right:0.08in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-style:italic;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0in;padding-left:0.08in;vertical-align:top;padding-bottom:0in;padding-right:0.08in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;margin-right:0.04861111111111111in;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-style:italic;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0in;padding-left:0.08in;vertical-align:top;padding-bottom:0in;padding-right:0.08in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-style:italic;min-width:fit-content;">Accounting for convertible notes</span></p></td>
   </tr>
   <tr style="height:42.8pt;white-space:pre-wrap;word-break:break-word;text-align:right;">
    <td style="padding-top:0in;padding-left:0.08in;vertical-align:top;padding-bottom:0in;padding-right:0.08in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-style:italic;min-width:fit-content;">Description of the Matter</span></p></td>
    <td style="padding-top:0in;padding-left:0.08in;vertical-align:top;padding-bottom:0in;padding-right:0.08in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;margin-right:0.04861111111111111in;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0in;padding-left:0.08in;vertical-align:top;padding-bottom:0in;padding-right:0.08in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;margin-right:0.04861111111111111in;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">As disclosed in Note 15 to the consolidated financial statements, during 2023, the Company issued $600.0 million aggregate principal amount of 1.00% Convertible Senior Notes due in 2028 (the &#8220;2023 Notes&#8221;). The Company privately negotiated exchange and subscription agreements (the &#8220;Exchange and Subscription Agreements&#8221;) with a limited number of holders of its outstanding 2019 Notes and certain other qualified institutional buyers. Pursuant to the Exchange and Subscription Agreements, the Company exchanged $217.7 million of its 2019 Notes for $309.9 million aggregate principal of the 2023 Notes (the &#8220;Exchange Transaction&#8221;) and issued $290.1 million aggregate principal amount of the 2023 Notes in a private placement to accredited institutional buyers (the &#8220;Subscription Transactions&#8221;) for $290.1 million in cash. The Company evaluated the Exchange Transaction for extinguishment or modification accounting and recorded an extinguishment loss of $12.7 million and an aggregate debt discount of $82.1 million related to the settlement of the Exchange Transaction.</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;margin-right:0.04861111111111111in;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Auditing the accounting treatment for the 2023 Notes and the Exchange Transaction involved especially challenging and complex auditor judgment and required team members with specialized knowledge and skills in accounting and valuation in order to evaluate the Company&#8217;s accounting assessment, and the determination of the related extinguishment loss upon settlement of the Exchange Transaction.</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  </span></p></td>
   </tr>
  </table>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">63</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:15.903%;box-sizing:content-box;"/>
    <td style="width:5.741%;box-sizing:content-box;"/>
    <td style="width:78.356%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:214.65pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;padding-left:0.08in;vertical-align:top;padding-bottom:0in;padding-right:0.08in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-style:italic;min-width:fit-content;">How We Addressed the Matter in Our Audit</span></p></td>
    <td style="padding-top:0in;padding-left:0.08in;vertical-align:top;padding-bottom:0in;padding-right:0.08in;text-align:right;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;margin-right:0.04861111111111111in;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0in;padding-left:0.08in;vertical-align:top;padding-bottom:0in;padding-right:0.08in;text-align:right;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">We obtained an understanding, evaluated the design and tested the operating effectiveness of the Company&#8217;s controls over the issuance of the 2023 Notes and the accounting for the Exchange Transaction, including the valuation of the conversion feature used in the extinguishment test and incorporated into the accounting assessment for the Exchange Transaction to determine the extinguishment loss and debt discount recorded.</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Our testing of the Company&#8217;s accounting for the issuance of the 2023 Notes and Exchange Transaction included, among other procedures, inspection of the underlying Exchange and Subscription Agreements and testing management&#8217;s application of the relevant accounting guidance. To test the Exchange Transaction, we evaluated the Company&#8217;s extinguishment accounting assessment, including the Company&#8217;s determination of the change in fair value of the conversion feature associated with the Exchange Transaction, which included testing the appropriateness of the methodology and underlying assumptions used to determine such fair value.  We involved our valuation professionals to assist in our evaluation of the valuation methodology used by the Company and significant assumptions included in the fair value estimate. Also, we tested the Company&#8217;s key inputs into the calculation of the extinguishment loss and evaluated the appropriateness of the Company&#8217;s disclosures.</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">/s/ Ernst &amp; Young LLP</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have served as the Company&#8217;s auditor since 2002.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Boston, Massachusetts</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">February 22, 2024, except for the effects of the restatement disclosed in Note 1, as to which the date is November 18, 2024.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">64</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">REPLIGEN CORPORATION</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="consolidated_balance_sheets"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CONSOLIDATED B</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ALANCE SHEETS</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(Amounts in thousands, except share data)</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:66.993%;box-sizing:content-box;"/>
    <td style="width:1.58%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:12.923%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1.58%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:12.923%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Revised)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">ASSETS</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Current assets:</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4a97040c-80e0-4cdc-8259-914bc73c4278" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">751,323</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4618ac5a-d683-4e77-a3a3-b1451307d61c" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">523,458</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Marketable securities held to maturity</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c624a0c1-83d7-490a-b5f5-3b32e8ffb7aa" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:HeldToMaturitySecuritiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_20c26866-1865-4d68-acee-2cb4e6057118" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:HeldToMaturitySecuritiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">100,299</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">Accounts receivable, net of reserves of $</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9519da84-83a5-4f8b-8fa3-ded40a63a2cb" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,122</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;and $</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1ffeaca5-5d50-461d-bc9c-94da66244d16" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,365</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;at<br/>&#160;&#160;&#160;December 31, 2023 and December 31, 2022, respectively</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_12ac5da2-2db6-4ea3-9c42-775d7814bfee" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:AccountsReceivableNetCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">124,161</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7da435eb-7ba5-4787-8f1c-5b6dd11d0938" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:AccountsReceivableNetCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">116,247</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventories, net</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d16effcf-f86e-4b45-b522-661ec415d133" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:InventoryNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">202,321</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aa6a8753-f2ab-4bf5-b842-d289429e75d8" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:InventoryNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">238,277</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_abe00106-042d-4a78-a4fb-13f47a719cc7" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">33,541</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c8db7bb3-3cb5-4fad-acc0-fb853db5692e" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,837</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total current assets</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ea230911-5ba2-4740-904e-faceb92f2cf2" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:AssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,111,346</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_db0ab66b-beef-415d-af8e-53c236be4163" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:AssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">998,118</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Noncurrent assets:</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property, plant and equipment, net</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_68900624-909f-49de-9c61-99b2b658ad0f" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">207,440</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8edc83e4-a6c2-4ebc-8a25-2f4f1af8b7c4" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">190,673</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Intangible assets, net</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d1eb0dd0-26dd-4eea-b43d-2119043c9655" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">406,957</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4389a41a-473c-4058-b053-4444d2da3401" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">360,618</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b6b36750-9361-44aa-bea2-6d13b2407ab4" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">987,120</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aa2ec816-d8fa-431b-ac24-0c6e59446e01" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">855,513</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax assets</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_345e2ff3-925e-4455-aacf-f6fcc1dc7174" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:DeferredIncomeTaxAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,530</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_620ab623-7458-4e83-a6ba-cb3694872f5a" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:DeferredIncomeTaxAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">840</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use assets</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cc613c2c-9f2d-4000-8f89-6029b594bbeb" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">115,515</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ccb5a7f1-b56c-4989-b923-3d9b87cb708a" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">125,023</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other noncurrent assets</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d69bb105-a881-49b9-b0bb-a9b3eb41783e" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:OtherAssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,277</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ba20c058-90ff-40d1-b610-a77f85eb1344" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:OtherAssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">815</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total noncurrent assets</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6bbb5652-6443-4835-bb4a-bf76475e0245" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:AssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,719,839</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5964ee9e-4777-4c9b-b138-f4995afa9fb9" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:AssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,533,482</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total assets</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_489067ea-441a-45e7-85de-fb1ee3acb81c" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,831,185</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9f48b0e1-3778-404a-9c55-fc68e9e175c0" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,531,600</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">LIABILITIES AND STOCKHOLDERS' EQUITY</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Current liabilities:</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bee8f7a8-0b99-43ff-8ecb-078b54f0e045" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:AccountsPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,563</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_936bc644-852e-4deb-a4b8-301a6af145f7" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:AccountsPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,554</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9da86ab5-614c-4dfb-912e-0cfab0769488" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:OperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,631</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1185e1b3-cf97-4815-8b31-0063211ae21b" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:OperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,957</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Current contingent consideration</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9be54740-915b-45f5-b0a5-2bdd3b57d488" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,983</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_50768a0a-7df8-4062-8ddb-f9e412cb208a" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,950</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3b3b8c31-bda4-4246-a671-2fd6af652365" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:AccruedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">57,313</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c8dc5b1a-12ee-4872-bef2-648364219109" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:AccruedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">71,120</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Convertible Senior Notes due 2024, net</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_740ffca9-4696-4b42-a2ab-f75d3c888716" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:ConvertibleNotesPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">69,452</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_80606c67-a7fc-4591-9c68-0864ba149521" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:ConvertibleNotesPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">284,615</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total current liabilities</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c478854f-513b-4fc9-a58e-14a387d02923" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:LiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">164,942</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e9cb23da-5fcf-4fd4-a2f6-536ef8893b68" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:LiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">404,196</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Noncurrent liabilities:</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Convertible Senior Notes due 2028, net</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2fc8766b-c888-4f3b-80ea-35dda4bea810" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:ConvertibleDebtNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">510,143</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_87bb8a0e-40f8-4f87-ac71-bc578ef2e61b" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:ConvertibleDebtNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax liabilities</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_11b83221-a16b-49cf-9904-e957c3eefcd4" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:DeferredTaxAndOtherLiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">39,324</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1b1a7172-0c80-4786-b346-51a25cdfd3a7" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:DeferredTaxAndOtherLiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">23,000</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Noncurrent operating lease liability</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6f2ded9e-a655-4015-aaeb-29aca673613b" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:OperatingLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">126,578</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3e2c52b3-37de-44a8-89fc-df1839bc08b7" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:OperatingLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">131,389</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Noncurrent contingent consideration</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bfc18ea7-a408-4b92-98ae-9598f627357f" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,070</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ffc5907d-38e0-402c-bb3f-72225b3f0fe6" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">51,559</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other noncurrent liabilities</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e30084e5-ad7c-4fba-b9cb-72d14c7833bd" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:OtherLiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,283</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d6465394-df10-4e62-904f-bfea5f9cf90c" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:OtherLiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,756</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total noncurrent liabilities</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_91065bce-d561-4a61-ac62-f7cda3f70b87" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:LiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">701,398</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6c207950-4111-4563-a7f0-e60ccc9c5038" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:LiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">216,704</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total liabilities</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dd50d903-043d-4fbf-8b4d-00182426370e" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:Liabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">866,340</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_55e038f3-7faa-4242-a799-ef5efe91fd1e" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:Liabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">620,900</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:9pt;"><span style="-sec-ix-hidden:F_e440efcd-a2b2-4801-8a9d-6dfd8426c861;"><span style="-sec-ix-hidden:F_a1f42ed0-b7b2-413e-af8a-b0691a4f9450;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Commitments and contingencies (Note 14)</span></span></span></span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stockholders' equity:</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">Preferred stock, $</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3f948f5c-cf88-4db7-aed5-c6f30f1cda86" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:PreferredStockParOrStatedValuePerShare" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal"><ix:nonFraction id="F_dcd0c072-ddd6-4655-8059-4b918c00a286" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:PreferredStockParOrStatedValuePerShare" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">0.01</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;par value, </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_04ac0e53-1c29-4264-b62b-5c3e37043801" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:PreferredStockSharesAuthorized" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_05e8f552-3235-4b99-8e4d-bfd529992cbe" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:PreferredStockSharesAuthorized" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">5,000,000</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;shares authorized, </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3a75002a-fe16-46f9-bacd-ab9d5ad2ae22" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt-sec:numwordsen"><ix:nonFraction id="F_51d01a70-b0bc-4558-87a6-b37a4e448e2b" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:PreferredStockSharesIssued" unitRef="U_shares" decimals="INF" format="ixt-sec:numwordsen"><ix:nonFraction id="F_ab52c81d-9a02-4bd4-9de6-37d58fa420b3" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:PreferredStockSharesIssued" unitRef="U_shares" decimals="INF" format="ixt-sec:numwordsen"><ix:nonFraction id="F_f476f83c-f9c5-479b-a7b3-31facc362aad" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt-sec:numwordsen">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;shares<br/>&#160;&#160;&#160;issued or outstanding</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bd2e6249-f10c-4f7a-9ebc-ead29ac321e9" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:PreferredStockValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_51b1674e-08d6-4ec5-a0c8-993d40812cc7" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:PreferredStockValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">Common stock, $</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_af0ebe02-516c-4525-8d4a-deec697c446f" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:CommonStockParOrStatedValuePerShare" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal"><ix:nonFraction id="F_a60c001a-119e-4e22-9c61-f26d8ee00b08" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:CommonStockParOrStatedValuePerShare" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">0.01</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;par value; </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5849209c-2182-48c9-bf4c-dc520f58734d" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:CommonStockSharesAuthorized" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_6368c2a5-a027-47fb-9ebf-2fbdd9772401" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:CommonStockSharesAuthorized" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">80,000,000</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;shares authorized; </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8ccbf7d1-fc06-42ad-81a7-79c46f14b7be" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:CommonStockSharesIssued" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_7317a037-53b3-4165-bc23-e867e4366e9d" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:CommonStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">55,766,078</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"><br/>&#160;&#160;&#160;shares at December 31, 2023 and </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2019c867-1ff9-451a-b2f9-56c99145765f" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:CommonStockSharesIssued" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_66d9893c-b6ea-479c-bc2a-06a3ed9b9793" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:CommonStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">55,557,698</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;shares at December 31, 2022<br/>&#160;&#160;&#160;issued and outstanding</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b10923f1-0c7e-40bc-afd2-038daf569289" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:CommonStockValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">558</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_12b5022e-d0f2-421f-9c4b-1d7a8449df15" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:CommonStockValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">556</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Additional paid-in capital</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_22c797f1-69fd-4305-ab01-99e16c9dcb88" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:AdditionalPaidInCapitalCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,569,227</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0c0f2e6e-165e-493c-a9a7-5cb6c5901e71" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:AdditionalPaidInCapitalCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,547,266</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accumulated other comprehensive loss</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dbe57bc7-7c99-4d3f-9c34-74a933bea662" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">37,808</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1b6527d1-3c83-48bb-a3c1-41baaf1b87a1" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">34,394</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accumulated earnings</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e3d70374-b6c6-4d1e-af97-43ed07e6a6ce" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:RetainedEarningsAccumulatedDeficit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">432,868</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_12be7705-2736-48a2-8af9-bb73f67f7a0e" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:RetainedEarningsAccumulatedDeficit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">397,272</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total stockholders&#8217; equity</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_19910f5d-5848-4660-b644-c4ac5cb4cd63" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,964,845</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_273552ed-a94a-464f-8add-5f58045f3bf5" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,910,700</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total liabilities and stockholders&#8217; equity</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8e5ce37e-a6b1-415c-90d3-edb05ce2f1ac" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:LiabilitiesAndStockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,831,185</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_70b8faa0-3152-400a-8b85-240da573e05c" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:LiabilitiesAndStockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,531,600</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The accompanying notes are an integral part of these consolidated financial statements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:1pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">65</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">REPLIGEN CORPORATION</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="consolidated_statements_comprehensive_in"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CONSOLIDATED STATEMENTS </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">OF COMPREHENSIVE INCOME</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(Amounts in thousands, except per share data)</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:57.091%;box-sizing:content-box;"/>
    <td style="width:1.382%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:11.022%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1.382%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:11.022%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1.382%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:10.721%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue:</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Products</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cf0438e1-78b9-4de4-b038-4d612c5fa08d" contextRef="C_986f06fb-599d-441f-bf85-de13b571525e" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">631,979</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3c71d121-f5a7-45c7-9515-9fdcd0f92990" contextRef="C_63d4e2c0-13f1-4b63-a2b4-ed1c5a642163" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">801,183</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2bffca1d-9d54-43f6-8d00-89620ab18d50" contextRef="C_56b5ac01-5af9-4a1e-ae71-eebdd534d000" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">670,319</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Royalty and other revenue</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6914f30a-74f1-49f1-b2ef-04a4914e453d" contextRef="C_47d99feb-bd92-4150-b94c-3d6e4128c1aa" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">383</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ce701116-9346-4a40-8084-b2e743a6c10a" contextRef="C_b394aa78-5ae7-4528-8866-e5b57064eba4" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">353</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_47ffe6fc-5d97-4597-a36f-8ff05e1844db" contextRef="C_2eb61456-3e86-445c-b113-c64ce244019d" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">215</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_33e1268b-5348-4333-8cc4-684d8c7697e4" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">632,362</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c55babe3-a863-498f-99f7-d52a9c1af163" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">801,536</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a9897293-4381-4879-8f38-b02218334a59" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">670,534</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Costs and operating expenses:</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of product revenue</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5c4b380d-cac6-419b-97b3-6389b23f0dcc" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:CostOfGoodsAndServicesSold" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">353,922</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d0c58a5d-fac8-4a22-8c44-79ae347c1b66" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:CostOfGoodsAndServicesSold" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">345,830</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e847734c-2c2b-40f9-a725-2f2a99a60f69" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:CostOfGoodsAndServicesSold" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">279,280</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and development</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d08226d0-b339-498f-97d6-cc35e906748f" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ResearchAndDevelopmentExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">42,722</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_24321e79-30f5-442d-9dfa-9afaccfaf017" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:ResearchAndDevelopmentExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">43,936</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6e0170e0-5785-49b0-a4c0-ab087924f349" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:ResearchAndDevelopmentExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">34,274</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Selling, general and administrative</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_baa5d067-e5be-46b2-a935-13ceb571d671" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:SellingGeneralAndAdministrativeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">218,584</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ae8adcf0-b715-4360-95a5-e9ac6f8bc11f" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:SellingGeneralAndAdministrativeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">215,829</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_660668eb-15e5-4393-b1f5-fd8e0280f157" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:SellingGeneralAndAdministrativeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">183,866</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b8aaf34f-3251-4725-98df-d6b5941a6fa6" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">30,569</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8134d707-6d0e-42b8-b42b-e02373ce13c3" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">28,729</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f8fd67b2-d0fa-401d-8096-fe51501a5eed" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,865</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total costs and operating expenses</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1c3c2f41-c7e0-4587-9331-17f7e54fd1a9" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:CostsAndExpenses" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">584,659</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4e9b3872-0159-44d3-bde7-631bf2cffa44" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:CostsAndExpenses" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">576,866</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ee000b66-5d7a-4fb2-b612-308cb14b051b" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:CostsAndExpenses" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">503,285</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income from operations</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8eebc8bf-bb41-4b17-85c7-7db98e119de7" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:OperatingIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">47,703</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_67fd27f8-097b-4fad-877a-48f56fc30c79" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:OperatingIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">224,670</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7d10eadc-e128-4c09-bbf4-c971a84f91a5" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:OperatingIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">167,249</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other income (expenses):</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Investment income</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_753eb213-ede0-4f65-97ad-cb7b92a54ccf" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:InvestmentIncomeNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">24,135</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5dadd047-4554-430a-84c9-c6c81560de88" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:InvestmentIncomeNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,978</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0240aa85-c743-4ef3-8fe1-8069bb8b9f6c" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:InvestmentIncomeNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">176</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Interest expense</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_90d94470-0c32-4f7a-892e-fb8c6e8d0d4c" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:InterestExpenseNonoperating" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,503</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e601db74-59aa-44ac-80d5-3dcdb6eb49a5" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:InterestExpenseNonoperating" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,162</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_986722f7-4a0d-46ae-8e92-0ddb2cc3c7c1" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:InterestExpenseNonoperating" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,278</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Loss on extinguishment of debt</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_46b69e85-4b26-497e-873e-a481ce894b12" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">12,676</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_36a15f00-06e6-4138-aaeb-c14d20e0208e" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3df6614b-e2ca-4772-98d2-f4aa8fd5d718" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amortization of debt issuance costs</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4e9366e4-c87d-41ba-8e6d-a6e85245837d" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:AmortizationOfDebtIssuanceCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,075</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7c1e4cd5-be65-4fc9-9701-c32f5dc28182" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:AmortizationOfDebtIssuanceCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,815</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c10f29c9-20f1-4091-9540-8c2cceb36e0f" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:AmortizationOfDebtIssuanceCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,436</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other income (expenses)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c6f8e587-4361-49df-a8d1-e0747a2dd81b" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:OtherNonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,123</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_60a11b29-db8c-4f7d-9104-b3adac19d995" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:OtherNonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">9,531</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d5119346-c0b0-42e2-b9ae-fe659cd00f84" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:OtherNonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,168</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other income (expenses), net</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9f75c88c-d5ab-48ec-9c65-850ee182075d" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:NonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,004</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_34c37dd7-f583-425d-a49d-83bfa24bc450" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:NonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,530</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2106dda5-a6b3-46c6-b2fa-cc8f4bdc2b97" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:NonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">13,706</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income before income taxes</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c45061c4-7fd3-48c4-87b9-9f1c51c753d3" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">56,707</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_281de38a-a3bb-4ab0-990a-38807d23aaef" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">219,140</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a67b0451-47ef-4d5d-a1f2-396da7315d7d" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">153,543</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income tax provision</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a9725091-b7ae-4757-a7d8-321d13acd840" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">21,111</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2d1bd194-e1b7-49be-8c16-fcc31d129ea5" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">33,181</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fc6922d8-4ff4-4ff5-9e41-2584716d8fc9" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,252</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_09d2eff8-7630-4aee-825b-e566566c719e" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">35,596</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d1315125-92fb-4292-99ca-ea6cecad0deb" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">185,959</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6e06e007-95e4-41bf-bb09-6491a6d0e6c3" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">128,291</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnings per share:</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Basic</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dcf16b4b-c7d2-4ec7-be79-f059a12ba0f2" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:EarningsPerShareBasic" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">0.64</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_14295663-43db-4d6e-b3c4-4231fa4f65d8" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:EarningsPerShareBasic" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">3.35</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_69679405-7adb-4a55-80c8-6b6391a99252" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:EarningsPerShareBasic" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">2.33</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Diluted (Note 3)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e4f2271c-71ce-46a3-8ac5-90a98734ddea" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:EarningsPerShareDiluted" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">0.63</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_65a5139a-d50f-4e63-bd8a-48767626ce0c" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:EarningsPerShareDiluted" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">3.24</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_00cbc165-7b48-498d-b8b7-3d68f8dc2f90" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:EarningsPerShareDiluted" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">2.24</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average common shares outstanding:</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Basic</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0dc3ca0f-8597-4865-82f7-769976fd2f34" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">55,720</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eea849e0-07f6-4439-bb82-ae4bf62af5dd" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">55,460</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cbf8c1f1-d66e-4c2b-84fb-dc22327bedfd" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">55,015</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Diluted (Note 3)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1bfddbb7-1962-4a49-9ed4-2cce31df6aea" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">56,377</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6424db0d-d299-4923-a03f-aaaa46c93939" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">57,455</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cb49d1f1-13b8-465e-90d4-ecf769ef3498" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">57,264</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0b6e825d-a32c-40ef-b7a3-acb46817ae36" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">35,596</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_534f88c9-3334-4750-b76f-2887d5d83a9b" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">185,959</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_06047ad5-a542-472a-a5a2-88794873eb7a" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">128,291</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other comprehensive income (loss):</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign currency translation adjustment</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9024c012-3b8f-4058-8428-ff81c29a935c" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">3,414</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_077802a7-55e3-449e-bb60-58c194016147" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">17,508</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_314f7aea-2246-4465-a436-eb4d4c1fde38" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">18,971</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Comprehensive income</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f6a67908-3886-43fa-ba20-963a161f68f3" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ComprehensiveIncomeNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">32,182</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2e517f6c-1eba-437b-9f25-0a155a13c347" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:ComprehensiveIncomeNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">168,451</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_37d19799-95b0-42f6-a14a-f527137ca678" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:ComprehensiveIncomeNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">109,320</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The accompanying notes are an integral part of these consolidated financial statements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">66</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">REPLIGEN CORPORATION</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="consolidated_statements_stockholders_equ"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CONSOLIDATED STATEMENTS </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">OF STOCKHOLDERS&#8217; EQUITY</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(Amounts in thousands, except share data)</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:32.193%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:8.643%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:8.223%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:8.223%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:8.223%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:8.223%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:8.263%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Common Stock</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Number of<br/>Shares<br/>(#)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Par<br/>Value</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Additional<br/>Paid-In<br/>Capital</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated<br/>Other<br/>Comprehensive<br/>Income (Loss)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated<br/>Earnings/<br/>(Deficit)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total<br/>Stockholders'<br/>Equity</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2020</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d29dbd30-15ca-4a83-ba32-d0ae3eaa9fbb" contextRef="C_e54d09a6-b2af-4dea-9a1a-ccf608319a7f" name="us-gaap:SharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">54,760,837</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_81aaed9c-6e5a-4483-b5b5-5f99a8fd6fc4" contextRef="C_e54d09a6-b2af-4dea-9a1a-ccf608319a7f" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">548</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5831c756-b7d2-4eba-bc19-a48befa09d0a" contextRef="C_43253817-317a-4144-8883-3be2d894465a" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,460,748</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bfb5b860-b92d-4291-aaba-d9679144ea5e" contextRef="C_8af8b489-1cbe-4901-a978-1f6ad5592df3" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,085</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cc4144c6-bd0f-4edf-9039-c6fe8ab02e2a" contextRef="C_202cb0e8-ee66-489b-925c-8fc276fc256b" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">65,769</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fe33fa6b-ed1d-44b0-b65a-484467eb0852" contextRef="C_e337dcc3-8c1c-48d1-8a8c-84c2b207455a" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,529,150</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_15d0cec9-d0a7-4287-9ab7-013b843a20f4" contextRef="C_72e6137b-e590-4c9f-9dcf-70d18a768f7d" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">128,291</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bcee0992-05b8-4c38-9822-047f4f2aec02" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">128,291</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Issuance of common stock for debt<br/>&#160;&#160;&#160;conversion</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_45084961-8861-4223-8be3-b05135b63e2c" contextRef="C_ab14e346-b902-4523-a4d0-462c826e602f" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">7</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7992671d-2ab0-46bf-bc16-cb7a50e45e0b" contextRef="C_b651fab6-218e-40fe-b528-78073ff3fb2d" name="us-gaap:StockIssuedDuringPeriodValueConversionOfUnits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_956c1736-a19b-489a-8185-bbbe1bb15dcf" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:StockIssuedDuringPeriodValueConversionOfUnits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Exercise of stock options and vesting<br/>&#160;&#160;&#160;of stock units</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9c6f9523-4b47-4be0-8972-3ac01fde864c" contextRef="C_ab14e346-b902-4523-a4d0-462c826e602f" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">300,721</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_44e3e2e9-5cbe-4a25-b695-cf3282d144aa" contextRef="C_ab14e346-b902-4523-a4d0-462c826e602f" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_85ab49d4-a88a-4fb2-af9e-46802d0ccbaa" contextRef="C_b651fab6-218e-40fe-b528-78073ff3fb2d" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,876</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6ef24928-c23a-41f1-a1f5-b38b92f05cf2" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,879</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Issuance of common stock pursuant to the acquisition<br/>&#160;&#160;&#160;&#160;&#160;of Avitide Inc.</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_16fde23e-148e-4d92-9d24-76c66fa7a9bc" contextRef="C_77d006db-b71d-4439-bc7e-74bc655c27f4" name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">271,096</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c889b83c-4274-4ecb-8981-d9968ce0720e" contextRef="C_77d006db-b71d-4439-bc7e-74bc655c27f4" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ae4ebe1e-bedf-43a0-820e-87cb95d087bb" contextRef="C_5e1e8005-1ca3-4e0f-959b-ffd66c98b024" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">82,966</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6dcbd704-92a0-42d9-8540-242dce25e087" contextRef="C_3b03e0b4-2f2a-44a7-b962-8f45b78cdb25" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">82,968</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Tax withholding on vesting of<br/>&#160;&#160;&#160;restricted stock</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_273fbdbc-00cc-4701-bf5f-5205afa4f343" contextRef="C_ab14e346-b902-4523-a4d0-462c826e602f" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">11,204</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_163cb999-798c-4f00-a8e1-7473cd9b514e" contextRef="C_b651fab6-218e-40fe-b528-78073ff3fb2d" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,897</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_91034a64-7937-4185-860c-8316fc630281" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,897</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation expense</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_abf3f6b6-f8c5-4183-9ce2-271cd821f188" contextRef="C_b651fab6-218e-40fe-b528-78073ff3fb2d" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,500</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6da04354-85a9-4432-86b0-a36010eafff8" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,500</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">True-up of costs related to the December 2020<br/>&#160;&#160;&#160;&#160;issuance of common stock</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_54bd5cd4-2a6b-4e66-9cd1-9bedb0d09571" contextRef="C_f730894e-6672-4551-b8e1-e2153ae8128c" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">145</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_451565bf-32ba-461e-91a0-a24ec88f18b6" contextRef="C_118d8396-b244-4c68-8e81-188dd4dcd960" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">145</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Translation adjustment</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1707480f-2b74-43a4-94f8-d7ebd790f03e" contextRef="C_c8c16607-47c9-4aa9-aee7-7168c0e96aaa" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">18,971</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_43f0af91-84e1-468d-8465-948909790b51" contextRef="C_82911078-bdd7-49a5-87bb-adfb316a68b0" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">18,971</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2021</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d2ee4714-6fca-4b2c-8e28-d385d58e04cc" contextRef="C_0845755d-0cfc-4ed1-a63c-056c0003f037" name="us-gaap:SharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">55,321,457</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f647a469-23ed-47d1-a0bc-7c45393cd6e8" contextRef="C_0845755d-0cfc-4ed1-a63c-056c0003f037" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">553</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fa90b1d5-6566-43b5-a7b9-af70ba874d47" contextRef="C_ccaaa367-b7bf-4baf-ab46-429b000b1df1" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,572,340</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f9d26c07-191b-4f09-84cf-b47aa9e52590" contextRef="C_c8c16607-47c9-4aa9-aee7-7168c0e96aaa" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">16,886</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5d40fb64-310e-4f5f-a41a-592f742dd275" contextRef="C_0731af32-df9f-47e9-a89b-ec05eb65660a" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">194,060</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ae8137a8-c40b-4b52-9325-746509540a96" contextRef="C_82911078-bdd7-49a5-87bb-adfb316a68b0" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,750,067</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b54ac8e8-53dc-4819-9df3-1c6069a9d95a" contextRef="C_8d587b79-2e7f-4374-8758-4ef3f7efb9e3" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">185,959</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3bc41036-8d2b-4502-a7f7-92ade06206ac" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">185,959</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Issuance of common stock for debt<br/>&#160;&#160;&#160;conversion</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_74ef57a6-7b7e-402f-a8b4-5cf325b58d86" contextRef="C_4197089d-b2ad-407a-a88d-524d55d415bb" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">21</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a01836ee-5542-426f-b48a-675809cbf1fa" contextRef="C_4197089d-b2ad-407a-a88d-524d55d415bb" name="us-gaap:StockIssuedDuringPeriodValueConversionOfUnits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_55e9fed4-0c80-4fa2-af8d-237153a3a475" contextRef="C_ae2cbb3d-114a-4975-b60e-dd1909dc9d88" name="us-gaap:StockIssuedDuringPeriodValueConversionOfUnits" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">7</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fae25aac-6222-4ead-abe6-25132a5071b8" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:StockIssuedDuringPeriodValueConversionOfUnits" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">6</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Exercise of stock options and vesting<br/>&#160;&#160;&#160;of stock units</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5797d848-13c6-4439-9b02-97b235a4cd59" contextRef="C_4197089d-b2ad-407a-a88d-524d55d415bb" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">326,192</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7b300596-fb19-4c53-9cd7-beb2938d7cbd" contextRef="C_4197089d-b2ad-407a-a88d-524d55d415bb" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ce0a5ce5-202a-4f6d-9eb4-d878942bd137" contextRef="C_ae2cbb3d-114a-4975-b60e-dd1909dc9d88" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,704</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7e07097a-61e7-4a5f-8e35-69d06acbb51c" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,707</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Tax withholding on vesting of<br/>&#160;&#160;&#160;restricted stock</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dd9866aa-b365-407d-9135-87d3f6ac532c" contextRef="C_4197089d-b2ad-407a-a88d-524d55d415bb" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">89,972</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dfbab02a-b0e8-4c2c-9f15-e1b94601d66f" contextRef="C_4197089d-b2ad-407a-a88d-524d55d415bb" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_05b0764e-caca-4d9e-9aae-5c138f8c5a9b" contextRef="C_ae2cbb3d-114a-4975-b60e-dd1909dc9d88" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,017</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_46da8586-ba33-431c-8f22-85338c041b83" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,018</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation expense</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_699d6300-2fa1-4240-8fc6-553c19ad6481" contextRef="C_ae2cbb3d-114a-4975-b60e-dd1909dc9d88" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,316</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5d0a8b2e-44af-4809-aa84-038ef2f37cdf" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,316</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Impact of the adoption of ASU 2020-06</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f9bdc252-9392-4db0-898e-aed9dddae550" contextRef="C_2de31f01-f836-48c2-b730-1200730900ad" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">39,070</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a30e4ee6-8b65-436e-94dd-f688afb1ae8a" contextRef="C_69b9f203-4ffd-4060-a3b3-bc1b1bddc8fc" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,253</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_de859ebc-9803-438d-b11c-0851e7be2d7c" contextRef="C_a8b70017-761d-4a6c-b9b3-8968744c7f3a" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">21,817</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Translation adjustment</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_20a112a0-8e97-4588-a648-6b319f149a4e" contextRef="C_9bae31a8-0cc1-43bb-b714-0cf69b8da537" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">17,508</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3b791a5c-06b5-4999-a7b2-d57aed8a7276" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">17,508</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2022</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3e182dc6-3822-4047-8744-912d4d04f5e8" contextRef="C_87f5646d-4d99-44dd-9b9c-267dbcb6fda5" name="us-gaap:SharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">55,557,698</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7c3785d9-0873-4194-ac9b-5610d242a960" contextRef="C_87f5646d-4d99-44dd-9b9c-267dbcb6fda5" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">556</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b1c01cf7-76b9-4f7d-aa31-cccad5aa1eb0" contextRef="C_9e554bd1-4e0f-4a0a-914b-df0f3f131710" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,547,266</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_18b68e53-1bc9-4f49-8dc5-89ef978155b9" contextRef="C_9bae31a8-0cc1-43bb-b714-0cf69b8da537" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">34,394</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_988bec6d-db9b-4e9a-9fb7-214fbda9ac19" contextRef="C_53a812b6-9bab-4db1-8dd3-3c253c58bc27" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">397,272</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_079b3493-2016-4c1b-924d-805b124ca7ca" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,910,700</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income, as restated</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fb37d60e-16e0-4e07-8932-3524c3ab70a1" contextRef="C_cf8baa91-9ed0-49cc-aeba-358ed6c5f80a" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">35,596</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_760b76a6-8cab-4fdf-91f0-5a4e5942e8d0" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">35,596</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Issuance of common stock for debt<br/>&#160;&#160;&#160;&#160;conversion</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8809a398-8082-40af-abca-143a438519c2" contextRef="C_94e893cd-90c2-43d8-b310-6400c65c6ad1" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">8</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5b22f5d5-2782-4a31-9675-d004baac25a7" contextRef="C_2fb30509-c5dc-4f33-ab46-ae3839f99b64" name="us-gaap:StockIssuedDuringPeriodValueConversionOfUnits" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">13</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fa39658e-bee1-4c60-8820-df3e2743e7f8" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:StockIssuedDuringPeriodValueConversionOfUnits" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">13</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Exercise of stock options and vesting<br/>&#160;&#160;&#160;of stock units</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b3cf51ed-ebe3-4418-a432-03ae13be6276" contextRef="C_94e893cd-90c2-43d8-b310-6400c65c6ad1" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">251,886</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_64bd99b2-8232-4cdf-ae56-4c744b1417dd" contextRef="C_94e893cd-90c2-43d8-b310-6400c65c6ad1" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7ab03a11-7005-4e12-9ca1-0bca166e8709" contextRef="C_2fb30509-c5dc-4f33-ab46-ae3839f99b64" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,073</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fb7b142c-a46a-4988-81d5-3fbd9f71660b" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,076</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Repurchase of common stock</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_72899c42-1c1d-4523-8a6e-71759b041080" contextRef="C_94e893cd-90c2-43d8-b310-6400c65c6ad1" name="us-gaap:StockRepurchasedDuringPeriodShares" unitRef="U_shares" decimals="INF" sign="-" format="ixt:num-dot-decimal">92,090</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_46088c94-458a-494b-91b1-b801eb548c00" contextRef="C_94e893cd-90c2-43d8-b310-6400c65c6ad1" name="us-gaap:StockRepurchasedDuringPeriodValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4b2ca23a-4587-4f91-8172-7fbe8318549b" contextRef="C_2fb30509-c5dc-4f33-ab46-ae3839f99b64" name="us-gaap:StockRepurchasedDuringPeriodValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,385</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_066e1b67-13c3-4600-b7b6-ba6ec4418940" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:StockRepurchasedDuringPeriodValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,386</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Tax withholding on vesting of<br/>&#160;&#160;&#160;restricted stock</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9a888b46-1fa5-43df-8cc3-27675b2e9f30" contextRef="C_94e893cd-90c2-43d8-b310-6400c65c6ad1" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">77,759</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4a980c7e-1a90-459b-ab8a-16956bf8a3e3" contextRef="C_94e893cd-90c2-43d8-b310-6400c65c6ad1" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e9638630-472c-4c44-8e9f-8f8954027584" contextRef="C_2fb30509-c5dc-4f33-ab46-ae3839f99b64" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,226</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0d12daa4-731a-4197-8a6b-88ab30679cac" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,227</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Issuance of common stock pursuant to the <br/>&#160;&#160;&#160;&#160;&#160;acquisition of FlexBiosys, Inc.</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d3bc9cb5-866f-4a0f-afe8-3e81002ad33f" contextRef="C_e79368cb-90de-4a4a-8a13-09bf91d1a79b" name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">31,415</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7c097006-5dfa-4df0-a5ee-c54afac73024" contextRef="C_e957b3ec-b78b-4a0f-b705-c76d381678bf" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,465</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5602f9fd-7472-4625-ba9f-5b7ed91f50d3" contextRef="C_29eef544-91ed-4d72-864a-9119c13364c8" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,465</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Issuance of common stock pursuant to the <br/>&#160;&#160;&#160;&#160;&#160;acquisition of Metenova Holding AB</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c89eb0ea-e109-4751-9d95-3b36c490aa80" contextRef="C_a107ef67-eec8-4142-85f2-d4a945acc80d" name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">52,299</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4214996a-871e-4eca-92e7-ef090a3aa081" contextRef="C_a107ef67-eec8-4142-85f2-d4a945acc80d" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fdf019fd-fc8b-4bbf-be31-b0df59b6b959" contextRef="C_cc0780ab-47bb-4184-9412-5e8b7cb682ca" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,103</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2489b243-6f30-43d5-bdf6-5db0e8b1c258" contextRef="C_1a3669c7-edae-4d97-bd42-a06f7bc215b9" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,104</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Issuance of common stock pursuant to the Avitide, <br/>&#160;&#160;&#160;&#160;&#160;Inc. contingent consideration earnout payment</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_874aa327-0dc8-4e7c-8c06-92a5ce7ca649" contextRef="C_94e893cd-90c2-43d8-b310-6400c65c6ad1" name="rgen:StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">42,621</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_68d35993-c489-4386-8054-a9786affa80f" contextRef="C_2fb30509-c5dc-4f33-ab46-ae3839f99b64" name="rgen:StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,229</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5955d384-6ead-494e-88e2-4b28e4bbfe74" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,229</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation expense</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4f622336-91c7-4351-b863-f04bee42cda8" contextRef="C_2fb30509-c5dc-4f33-ab46-ae3839f99b64" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,575</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9229a6c1-7c5c-4d96-8d13-b7989d957c70" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,575</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Convertible note modification</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9293f476-f0ef-44dd-afcf-bcfd7e7cb40f" contextRef="C_2fb30509-c5dc-4f33-ab46-ae3839f99b64" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,791</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6a3bb438-4c80-48cf-8695-826c5cdac38b" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,791</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax impact on conversion feature</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2fb21e44-e304-4690-84e5-71f1da2cff7e" contextRef="C_2fb30509-c5dc-4f33-ab46-ae3839f99b64" name="rgen:DeferredTaxImpactOnConversionFeature" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">651</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_47d28e64-e83d-47dd-8763-094ffd0b7964" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:DeferredTaxImpactOnConversionFeature" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">651</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Translation adjustment, as restated</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aa201342-6b71-422a-a016-eda4d8ba6d19" contextRef="C_5165589d-58c2-4afb-a632-66aaeda3d669" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">3,414</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ca640370-e6bf-4353-9f0b-28b28ed56f1c" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">3,414</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2023, as restated</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d0a5f01d-82bd-47f6-83b7-fad6b94be917" contextRef="C_a77bf54e-aee2-41ad-98b5-74f7826c46c7" name="us-gaap:SharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">55,766,078</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_af3a4c94-74ef-4cb8-ab8f-8435fa9eae33" contextRef="C_a77bf54e-aee2-41ad-98b5-74f7826c46c7" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">558</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1d1cb80d-5304-464a-8281-5baab8a7aae9" contextRef="C_3e8eacaa-8727-449c-96aa-bf986e717256" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,569,227</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_344b688b-9d2d-421c-bde0-868df5041e86" contextRef="C_5165589d-58c2-4afb-a632-66aaeda3d669" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">37,808</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_20ded247-2dbd-4e44-9f92-73ce7ef797f9" contextRef="C_be87c643-2923-4319-9d3b-a157c97efd76" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">432,868</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_82e4afc0-84a2-4c6f-9e6f-31c799a0be3c" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,964,845</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The accompanying notes are an integral part of these consolidated financial statements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">67</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">REPLIGEN CORPORATION</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="consolidated_statements_cash_flows"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CONSOLIDATED STATEM</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ENTS OF CASH FLOWS</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(Amounts in thousands)</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:57.512%;box-sizing:content-box;"/>
    <td style="width:1.24%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:10.922%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1.24%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:10.922%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:1.24%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
    <td style="width:10.922%;box-sizing:content-box;"/>
    <td style="width:1%;box-sizing:content-box;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Revised)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Revised)</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash flows from operating activities:</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_864d0118-8650-42f9-a735-0544ad8967d0" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">35,596</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_72b2eb98-4139-4c05-99c7-01070ada1475" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">185,959</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_deafa524-6cb5-4018-a289-2d035df03a7a" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">128,291</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Adjustments to reconcile net income to net cash provided by operating activities:</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory step-up charges</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_04938ba6-789d-419a-b3cb-d878df82b3c2" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:AmortizationOfInventoryStepUp" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,238</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0f40c89b-00af-4804-86d1-b46305e47a5e" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:AmortizationOfInventoryStepUp" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6fc17ffb-3eea-4902-922a-7ef550b9b2b1" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:AmortizationOfInventoryStepUp" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,130</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Depreciation and amortization</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ab330b5e-b9a4-43d7-8e38-7634a7805214" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:DepreciationAndAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">68,556</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cebd20c6-15d6-4142-8c69-a688d4ab2ca4" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:DepreciationAndAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">50,985</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d9011dac-0d31-4abf-bb6f-4bb09de7a933" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:DepreciationAndAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">38,447</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amortization of debt discount and issuance costs</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dbdb140d-7ba6-4dfd-9493-2ee11507c262" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:AmortizationOfDebtDiscountPremium" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,448</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_720d3dc1-dc84-4ec4-9604-563ad5c281a1" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:AmortizationOfDebtDiscountPremium" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,815</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_13048e70-f8d2-44d1-8636-c84e27f39ca9" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:AmortizationOfDebtDiscountPremium" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,530</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e430163d-791c-412c-bfba-b72fb680c6e9" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,575</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_09e99488-c6ed-42f8-9459-bb40a1a73276" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,316</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ab007374-5a78-435f-bfcc-98a2d860bd91" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,500</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred income taxes, net</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0c7f1d53-09ed-4087-8274-2dc243806d4f" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:DeferredIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,175</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9d38ce2d-ce43-4ec0-8530-9fc43b471221" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:DeferredIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,352</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5d2a62de-b9d6-4299-b23f-e832199d8822" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:DeferredIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,517</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_231ed4dc-290d-4f99-a3ca-632feb11db08" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">30,569</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f1add0be-9400-43e4-81ce-fe73b21aaf8e" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">28,729</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4ed59d42-3108-48b8-a794-a652641b948c" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,865</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-cash interest income</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7c6b6904-ae53-4500-8967-a4074f63b9e0" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:NoncashInterestIncome" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,023</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_035d6d6b-8eec-4bdc-94f3-6442970a1145" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:NoncashInterestIncome" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_58299878-378b-4f6c-b63d-f77b5bbcedc9" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:NoncashInterestIncome" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Loss on extinguishment of debt</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a0836147-dd39-4f0a-89f8-936da53c9006" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">12,676</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_366c9b40-1129-4e04-b64f-c631c298b8c3" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d3312474-7bef-4fee-b2dd-53f126b2d611" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset amortization*</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_25e7894a-1744-4cad-b588-ea0b61c2e311" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">17,558</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d4bb3b80-b15e-4eac-a3c8-c1e5e0a5ef90" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">6,027</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_db028658-b596-42a8-ab2b-efb8e857416e" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">10,555</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_38de8d39-a01d-4786-bd1e-e0d141e6d635" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:OtherNoncashIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,783</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ad20621e-f635-4469-8fd9-62a7b38eb244" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:OtherNoncashIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">100</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_47cddea7-568b-4118-8ac2-686e298ad84e" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:OtherNoncashIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">864</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Changes in operating assets and liabilities, excluding impact of acquisitions:</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5886e8df-882e-4b28-afe4-9919f83c3413" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncreaseDecreaseInAccountsReceivable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,312</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7bfcd765-515f-4f40-ac7a-5140778c2edb" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncreaseDecreaseInAccountsReceivable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,596</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_98ced28a-63ee-4a53-a45b-1fd0725fdb2e" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncreaseDecreaseInAccountsReceivable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">46,523</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventories</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cbda88a2-32e9-418a-a15a-c89062d6455c" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncreaseDecreaseInInventories" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">40,973</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1f42e2b1-e7de-4e46-878f-9555f24a2217" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncreaseDecreaseInInventories" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">57,204</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bde18d52-c8c9-41da-b2a4-d2b1e7a32646" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncreaseDecreaseInInventories" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">89,781</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other assets</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_29eda661-6579-411c-9bc6-81574687dd57" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,333</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_90896974-3e48-4815-b6b8-12bf3b6ce52b" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,396</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ab3c5e28-7379-49e8-8cfd-3a290e942ca0" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,192</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other assets</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9fa531b1-6115-4810-b10e-aae48dd22695" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">461</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2a0465b2-0bc0-4dc6-895f-72092ef61157" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">231</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_94f18d35-a58c-4e34-b657-9701b1521174" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">430</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bd122ab6-9e61-4e1f-be08-bfe27a9d104f" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncreaseDecreaseInAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">9,803</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_98dd09cc-9467-45c5-b467-b99fd0a0e586" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncreaseDecreaseInAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">8,197</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d452ed40-4a4e-49b1-b745-1a60f3ba1d89" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncreaseDecreaseInAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,523</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued expenses</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8295388f-1bce-41ee-bb28-1d332a515279" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">21,518</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d1b127e8-4829-4548-a569-32ca50a3bb24" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,019</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_363ab44c-409b-4f3a-8d23-23ad6cbae6d3" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">23,196</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_36ed0544-ee45-4d6c-b9a3-1e9b0ed491af" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">12,728</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_25df30f0-cd06-4041-9936-3157c86e6da2" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,953</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_936325ac-84d4-47d7-84db-88f4fbdc2260" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">7,912</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-term liabilities</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_76a8ed11-3915-4306-a4a4-343f0fe1502c" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">87</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7a6ae8bf-5da9-4726-83b1-6d74bdbf55a7" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">966</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_58382360-9719-492d-bfda-a7aa6fe57af9" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,424</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash provided by operating activities</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_01f54fe2-4ca7-4cfc-8b76-23238c71e917" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">113,918</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7de4c853-ff59-401d-950a-7e14b55ebf66" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">172,083</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b22d1f75-e93f-4db5-8fe8-a084d6130dc2" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">119,016</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash flows from investing activities:</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Purchase of marketable securities held to maturity</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_723201be-0232-435f-87e4-c77db5061cf7" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:PaymentsToAcquireHeldToMaturitySecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">100,000</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_477a1632-5d82-4712-9864-e0597b394c51" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:PaymentsToAcquireHeldToMaturitySecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Redemption of marketable securities</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a2b72f8a-c277-4966-892c-32466a0bd8fc" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">102,323</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e841a796-c2a5-438f-a745-f87878ff899e" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_23f4b76e-68f7-472c-95a3-77dcd6080e28" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Additions to capitalized software costs</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6bcbcbc4-cddc-498a-a02f-1c4f2cc1f6d0" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:PaymentsToAcquireSoftware" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,766</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_85a0991b-3e0d-4431-9e4d-e8ea7c71072c" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:PaymentsToAcquireSoftware" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,512</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5f2bef3e-9ce0-4833-9338-e8f275bb9dfb" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:PaymentsToAcquireSoftware" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,187</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisitions, net of cash acquired</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_af97e623-b0aa-4caf-a0bd-e737bec0f96d" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">186,642</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_52c2b5e9-c68a-432e-9195-5ad1c3757ea4" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4d420484-d08f-4f4a-a7c5-08fae62a4e6d" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">149,893</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Purchases of property, plant and equipment</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_baeb9d65-54ab-4960-b24c-76f8f12ecdd1" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">36,222</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_60a720ce-1755-424e-9cfc-c6078eaa7b2b" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">84,834</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_78ae8c81-245d-49fb-b395-2d188e665dee" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">67,089</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Purchase of intellectual property</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e8809692-c8af-4d3c-a00b-1043150a04fc" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:PaymentsToAcquireIntangibleAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d4349299-8e14-4f12-95d8-ceabb701a022" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:PaymentsToAcquireIntangibleAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">45,000</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_158fa642-1060-45e9-9638-6429cfce56a1" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:PaymentsToAcquireIntangibleAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other investing activities</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7af595a6-9043-4b01-afd5-02410e6d2166" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:PaymentsForProceedsFromOtherInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">32</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f104ab7a-955a-4b01-afb3-3f696a135e17" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:PaymentsForProceedsFromOtherInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">110</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a91ecad6-9e96-4e17-b5d3-921cd76e74b1" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:PaymentsForProceedsFromOtherInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash used in investing activities</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(123,275</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_56fcb931-f931-4892-a63d-7ab27d97047a" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">233,236</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_43c3ce72-fd7b-4e99-905f-15c3d9562439" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">221,169</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash flows from financing activities:</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Repurchase of common stock</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0bcb14f5-6f6a-4f24-aac2-9fe1ca3fc6b6" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:PaymentsForRepurchaseOfCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,386</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3d9ef777-b22f-41a9-9fe9-84e9c335fe2a" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:PaymentsForRepurchaseOfCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_abf40997-2e40-4bf0-a86e-44b0ae398ce1" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:PaymentsForRepurchaseOfCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Proceeds from issuance of 2023 Convertible Senior Notes</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_02788edd-b549-45bf-9ef0-d246ba7ddc88" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ProceedsFromConvertibleDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">290,094</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_45f73c6e-db5a-4c5e-824a-1436c5b7168e" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:ProceedsFromConvertibleDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dbec608b-b7e3-4014-958c-5e5f11473d61" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:ProceedsFromConvertibleDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Proceeds from exercise of stock options</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eb10bcef-d772-4f0d-8aae-ad29430a3d0a" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ProceedsFromStockOptionsExercised" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,076</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b9637c5e-2203-470b-af85-d8e3aede028a" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:ProceedsFromStockOptionsExercised" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,707</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5d864b92-f254-45b8-8bf4-6e1efe7c26b2" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:ProceedsFromStockOptionsExercised" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,879</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payment of debt issuance costs</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2692f173-2b40-448c-8fb0-48834f205cff" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:PaymentsOfDebtIssuanceCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,253</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cebcd53a-7543-451f-8c3d-9f215587d314" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:PaymentsOfDebtIssuanceCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_afe6585d-2255-4a94-9b43-82e472d3e8ee" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:PaymentsOfDebtIssuanceCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payment of tax withholding obligation on vesting of restricted stock</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b7bf9586-6c14-43a5-b74d-2cc8d5c9311f" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,227</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b7207999-1ad5-48bb-85a4-fb934b77d8cf" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,018</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dd5f5def-dc35-4738-acd4-3a7cbe193f11" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,897</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payment of earnout consideration</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_875fc339-386e-4217-bff0-9a13b0ef5bac" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,298</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_90b16c32-0a90-47d2-872a-4b5f907295ce" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6f0d15e4-e314-4e2e-b030-baf9db2c4a84" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other financing activities</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bd1c690a-43aa-4d58-a546-f40cf51a3c64" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ProceedsFromPaymentsForOtherFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">45</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0519767a-816e-4e2a-8f80-92374ed6a099" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:ProceedsFromPaymentsForOtherFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">26</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1d7a776f-7de4-4a9f-b4c0-6f467b2494d2" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:ProceedsFromPaymentsForOtherFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">21</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash provided by (used in) financing activities</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cae09ddf-48a8-41fa-8f3f-264f618149ab" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">248,961</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_71284ba8-591e-417e-a08d-5e183c12d9e8" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">13,337</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f103ce28-c528-457f-a7a5-d1a1d7a9b6d8" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">961</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of exchange rate changes on cash and cash equivalents</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_acf645df-d762-44ee-baef-11ba8580888e" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">11,739</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_77d679b4-ea3c-4ba5-9a96-6f2add25f672" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,866</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_214aa354-c238-4259-8eea-8c4635dee730" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">12,286</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net increase (decrease) in cash and cash equivalents</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">227,865</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4b03da25-975f-49ab-bc34-ec8d015afd81" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">80,356</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_97f2ce36-57f4-430b-b2ca-ea9d2f69c5a1" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">113,478</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents, beginning of period</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d8d47b68-f0b9-4bf7-9522-460d111d04e3" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">523,458</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b04b33ad-9531-4cbe-bb22-24ff5c2f4472" contextRef="C_82911078-bdd7-49a5-87bb-adfb316a68b0" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">603,814</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f3f88a6b-620a-491d-9ea7-bf38aabdcca5" contextRef="C_e337dcc3-8c1c-48d1-8a8c-84c2b207455a" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">717,292</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents, end of period</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4b30e14e-485c-42dc-814c-69bd81717fa6" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">523,458</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c28aadd3-1df4-4d3c-bbe9-7799fefde9b3" contextRef="C_82911078-bdd7-49a5-87bb-adfb316a68b0" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">603,814</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Supplemental disclosure of cash flow information:</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income taxes paid</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d5d15ef0-f824-4c91-bf57-e6b7e7806231" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncomeTaxesPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">26,963</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_551243c0-d6e8-4795-bb02-a0e8deb30810" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncomeTaxesPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">34,365</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fc2d2eb7-310c-4fe7-8ba5-f52aa4470609" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncomeTaxesPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">16,515</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Interest paid</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_07695ee6-80f1-40b1-a88d-70aab54c23a1" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:InterestPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">988</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_98feb3a9-e219-49a7-b132-2fc42c62bdfe" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:InterestPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,033</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f0108060-bfe2-4de3-8b7b-783f76561483" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:InterestPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,066</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Supplemental disclosure of non-cash investing and financing activities:</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Assets acquired under operating leases</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2a3032e7-e10d-421a-a7f9-a7c438812b7d" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,335</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a165fb62-b451-4e5b-8d09-a1c986a2a40b" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">29,126</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_96170262-5409-43d6-a3a1-de1caf0fe78d" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">85,312</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Fair value of shares of common stock issued for acquisitions</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_937cefd1-4919-45cd-99ae-ffcb16fc1bf4" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:StockIssued1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,569</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e25928dd-21c5-4b91-912f-847f2646568e" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:StockIssued1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2d0de74f-2d8d-45e8-a599-cf49c6583b2a" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:StockIssued1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">82,968</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Fair value of shares of common stock issued for contingent consideration earnouts</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_575d9981-c3f6-4ad5-9fcf-53929dfb98cf" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,229</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d0849368-015d-4d1e-94c3-819c5cac592d" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_241ac920-0cb4-40bd-997d-c11144da937b" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition date fair value of contingent consideration earnouts</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1734df1f-e02a-4720-83d4-64bfb94d2686" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,640</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f2dd5b0a-08fe-4eb7-9645-c2a6517ac60d" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_53aed3e6-e438-4720-984d-7cdeda25f65e" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">88,373</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition of intangible assets and issuance of financing liability</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_151b72e9-b3e1-4999-af42-357d999755b6" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_08470e8d-0a99-47ee-a218-58bfbc3b9b6b" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,948</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0078ed81-a8e0-43b0-a19f-b9a25cb87e2d" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Issuance of 2023 Notes in exchange of 2019 Notes</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_49de4df1-73fc-4135-94e8-86505ee85d30" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:NotesIssued1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">42,179</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b4c7338f-ca0b-4a37-b743-b0553a462a55" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:NotesIssued1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9f9bd11f-ef0c-4b41-a18d-8dff3c5c2ccc" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:NotesIssued1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Extinguished 2019 Notes</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c1bc84c7-597d-4b71-be3e-3c9246f3ec43" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ExtinguishmentOfDebtAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">29,634</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_92cd6b4d-dd88-4f83-b537-811609017d0c" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:ExtinguishmentOfDebtAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_69b2d501-4816-4119-a244-6386c565cc34" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:ExtinguishmentOfDebtAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="margin-left:3.333%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:3pt;border-bottom:0.75pt solid;margin-right:83.333%;text-align:left;"><span style="white-space:pre-wrap;font-size:6pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><ix:footnote id="FNT_f064784a-54fe-44eb-8435-6562f6374049" xml:lang="en-US"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">         *</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">Amounts reclassified in the current presentation from a component of &#8220;Changes in operating assets and liabilities&#8221; to a component of &#8220;Adjustments to reconcile net income.&#8221; The reclassification did not result in any change to total cash provided by operating activities.</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:footnote>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The accompanying notes are an integral part of these consolidated financial statements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">68</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="note_to_financial_statements"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">REPLIGEN CORPORATION</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div><ix:nonNumeric id="F_2ec5b9d4-83b4-4610-ac4b-dd64a50a1339" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock" escape="true" continuedAt="F_2ec5b9d4-83b4-4610-ac4b-dd64a50a1339_1"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">1.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Restatement of Previously Issued Financial Statements</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Subsequent to the issuance of the Annual Report on Form 10-K for the fiscal year ended December 31, 2023, originally filed with the U.S. Securities and Exchange Commission (the &#8220;SEC&#8221;) on February 22, 2024 (the &#8220;Original Report&#8221;), the Company identified a material accounting error related to the timing of revenue recognition (referred to as &#8220;the Misstatement&#8221;) which impacts the Company&#8217;s consolidated financial statements as of and for the period ended December 31, 2023. Within this report, the Company has restated all impacted financial information and footnote disclosures impacted by the Misstatement. A description of the error and its impact on the previously issued financial statements is included below. In connection with the restatement, the Company determined that it was appropriate to revise the consolidated balance sheet as of December 31, 2022 and the consolidated statement of cash flows for the periods ended December 31, 2022 and 2021, as well as impacted footnote disclosures, in this Form 10-K/A to correct other unrelated immaterial errors.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Description of revenue restatement adjustments</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the first quarter of 2023, a customer cancelled two COVID-related, non-cancellable product purchase orders (&#8220;Cancelled PO&#8217;s&#8221;) in exchange for a $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9a4bd6e1-4a5d-4b52-8dcd-c87fa139fb0d" contextRef="C_d41a49c7-4e1a-4e04-88c8-9a0e57f6b897" name="rgen:CancelledPurchaseOrderPayments" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">17.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million one-time cash payment (the &#8220;Payment&#8221;), which was received in April 2023. At the time of cancellation, no product units had been delivered under the Cancelled PO&#8217;s and the Company had two other purchase orders from the same customer for the same product (&#8220;Open PO&#8217;s&#8221;). The Company originally accounted for the Cancelled PO&#8217;s as a single contract and recognized the $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cd5c6b13-cf7c-4c39-91e1-7d967e462bef" contextRef="C_997e96ec-9286-42a3-8367-3faf0ca99114" name="us-gaap:Revenues" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">17.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million payment as component of product revenue in the first quarter of 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Subsequent to the issuance of the Original Report, the Company reassessed the accounting treatment of the Payment and concluded that the Cancelled PO&#8217;s and Open PO&#8217;s represented a combined contract such that the February 2023 transaction should have been analyzed and accounted for as a contract modification, which required the Payment to be deferred and recognized as product units were delivered under the Open PO&#8217;s. All Open PO product units were fully delivered to the customer by June 30, 2024.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The correction of the Misstatement affects certain financial statement line items in these consolidated financial statements including but not limited to product revenues, income tax provision, foreign currency translation, deferred revenues, prepaid expenses, deferred taxes and earnings-per-share.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consolidated Financial Statements - Restatement Reconciliation Tables</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_bb9d69b4-1d0d-4aa3-b3d8-30d60fccdcb4" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock" escape="true" continuedAt="F_bb9d69b4-1d0d-4aa3-b3d8-30d60fccdcb4_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following tables present the impact of the financial statement adjustments on the Company's previously reported consolidated financial statements.</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> The "Previously Reported" amounts in the following tables are amounts derived from the Original Report. The amounts in the columns labeled "Revenue Adjustments" represent the effect of adjustments resulting from the correction of the overstatement of revenues associated with the Payment and related tax impact. The amounts in the columns labeled "Other Adjustments" represent the effect of other adjustments that relate to other unrelated errors in previously filed financial statements that were not material, individually or in the aggregate, to those filed financial statements. The effects of both the restatement for the Revenue Adjustments and the revisions for the immaterial Other Adjustments have been corrected in all impacted tables and footnotes throughout these consolidated financial statements.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></ix:nonNumeric></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">69</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_bb9d69b4-1d0d-4aa3-b3d8-30d60fccdcb4_1" continuedAt="F_bb9d69b4-1d0d-4aa3-b3d8-30d60fccdcb4_2"><div><ix:continuation id="F_2ec5b9d4-83b4-4610-ac4b-dd64a50a1339_1" continuedAt="F_2ec5b9d4-83b4-4610-ac4b-dd64a50a1339_2">
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.41%;box-sizing:content-box;"/>
        <td style="width:1.18%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.242%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.18%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.242%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.28%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.222%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.242%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Revenue Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Restated</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">ASSETS</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Current assets:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0e49e291-1efc-44fd-853a-340ee9e698b3" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">751,323</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4573ad66-5d59-456f-9057-6f7cd39498a1" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1cf9aa2b-f678-4540-8991-03cf1133814c" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5a0952b2-d2e2-4b05-88b3-f51ae2d14c89" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">751,323</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Marketable securities held to maturity</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ca84ef18-9651-4f0d-8bd7-7ab6454016f7" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:HeldToMaturitySecuritiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b7dcb32e-1d3c-4eb1-806b-d64507fcdb94" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:HeldToMaturitySecuritiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b4544e32-b5c4-4482-ba7c-b23ec1f744ac" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:HeldToMaturitySecuritiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a4a9860c-fce2-45df-8067-1c2e5f208eeb" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:HeldToMaturitySecuritiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">Accounts receivable, net of reserves of $</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_23c13986-32bc-4e26-876b-35b4d577cce6" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,122</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;and $</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8de1cd8c-f26e-43f3-a2d2-0ec54040cf21" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,365</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;at<br/>&#160;&#160;&#160;December 31, 2023 and December 31, 2022, respectively</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_42b9555b-08a6-4463-abf3-0a55af875b28" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:AccountsReceivableNetCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">124,161</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_79aeaaa4-2317-49ff-9dd4-4c31ba87f9a2" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:AccountsReceivableNetCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e9521d5e-26c7-4b9c-8ebc-2b987217a70a" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:AccountsReceivableNetCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2249d49f-36dd-431f-b26a-7ea1d7a56fd2" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:AccountsReceivableNetCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">124,161</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventories, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2c765b3e-5ffd-49fa-b598-c71a9bab0ee0" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:InventoryNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">202,321</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9c1096ec-4204-419f-996e-23b27d62a12e" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:InventoryNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e532f773-7501-4f06-a4c4-d70e3cd2dadd" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:InventoryNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_626942e4-067e-498a-b08e-878bfccaeae4" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:InventoryNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">202,321</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e598e18c-8699-4d92-aede-2c411e1a5737" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">33,238</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_958a9285-0a2e-4119-91bc-3e330a9f0248" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">303</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b77b312a-2bac-4c51-8321-a31b1afbcc9e" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5c1a22f1-58d0-4113-a8f9-735bba897ab7" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">33,541</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total current assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f4b5e859-b7f2-43b7-b3c7-6f24d57bc2b3" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:AssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,111,043</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c76881f4-0be7-46db-b840-212ceac32bd7" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:AssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">303</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8797f90e-814a-46e5-bed3-554708cb590f" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:AssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9c0cf0a4-030d-46b4-8d1e-ade3dc99b646" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:AssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,111,346</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Noncurrent assets:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property, plant and equipment, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f5c60f0f-c058-4974-8823-d1f313f64a94" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">207,440</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f60abeff-2c0c-4b01-b0f1-e0caf55445b1" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c94e3cf9-2d2e-47d2-83ec-d87515c93293" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7f26b5c6-69fd-46e1-9f71-ef56289373aa" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">207,440</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Intangible assets, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2271a4f6-5555-4e06-8b27-c6a4f30ef6ab" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">400,486</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f9134d9d-52ed-4fb6-8033-9810b56957b5" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eab7570a-af7e-4bdf-85d7-2ce1644144e5" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,471</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e9a735b8-2db8-4900-bb6a-54c96415f44e" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">406,957</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6d71acd9-e465-487b-b65c-4b68473c81aa" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">987,120</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_40e39df8-239b-45d1-9215-dfc3bdec4997" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1e68f6b3-1db3-4d71-9aa0-f39d54f98d77" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_513267d5-496b-47d0-a5bb-d991d6099227" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">987,120</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e4ea7f29-3608-4884-b260-81757bf519f5" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:DeferredIncomeTaxAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,530</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6a9fd72b-6b63-44b3-ad9f-68bfcd941979" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:DeferredIncomeTaxAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1d213843-30d3-45ba-ae9e-834593ae5bb8" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:DeferredIncomeTaxAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d1ffc824-6c4c-41c7-b020-ea64aed015dc" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:DeferredIncomeTaxAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,530</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_72e3d6a3-c339-4d72-8ba5-6a908d2fc9aa" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">115,515</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1c24b385-7772-4836-a87c-8a689699efd3" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f26797ed-1752-4dc3-8471-4ef93c24d4a7" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e281954b-6149-45b8-8fa0-eae583ad5a42" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">115,515</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other noncurrent assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4cfd2b7d-1382-47dd-a759-24fa9a779339" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:OtherAssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,277</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_15f17928-0661-455a-af3a-e7f80925044a" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:OtherAssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a4dd1650-a2f2-45a1-ac61-7c466a9a7522" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:OtherAssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_22e027e2-1a78-465f-a800-99adbfde4992" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:OtherAssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,277</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total noncurrent assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e3085da9-2854-4e3f-8cf2-eb9228e14160" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:AssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,713,368</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b2ac3b47-3096-42ca-9251-196854294da7" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:AssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_20ec722d-4e6d-43fa-83f4-1776743663c5" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:AssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,471</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2bf3c3ff-8a5f-4067-915f-f59e12d18d63" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:AssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,719,839</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f19033e1-3f3a-4cda-aa3a-b2521560df7c" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,824,411</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3ed63482-d06a-41f4-b73c-a345252f00bb" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">303</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_36dc0c26-121a-49e8-ab4b-83690fb2ed9f" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,471</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_97823a33-49cd-42f8-b82e-367643fa5c76" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,831,185</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">LIABILITIES AND STOCKHOLDERS' EQUITY</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Current liabilities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4c9bcfb7-a2e8-4612-b3ed-3934aa805d8a" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:AccountsPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,563</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e73a1703-385c-4423-847c-4e2c5c071b83" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:AccountsPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ec46447d-e2fc-4481-a646-827e0d449046" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:AccountsPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5a78b04e-4f6d-42c2-9f30-b20bb92eb147" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:AccountsPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,563</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_60c4a54c-dc82-4c07-8a9a-bb1082f5e04e" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:OperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,631</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d91642ba-240f-4f6a-a68d-e62a3c1c8a05" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:OperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_079a307c-0b85-452c-a1e7-213673adf25d" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:OperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0cac3141-7717-4fd5-bd02-6fbfa1e40fae" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:OperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,631</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Current contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6c713998-6a4f-4594-99ec-4e4fac1ab53a" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,983</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6a441231-3ecb-4c66-813d-9ea38a5e38ee" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f96130c1-9590-4168-bb11-3b95935266c9" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5b015103-c5bf-4c34-b3fd-de08585aa2d4" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,983</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_39c2076b-f528-49d8-b4e9-154afc79d62a" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:AccruedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">50,533</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3bfbe6da-8550-4f2b-ba11-1562f8cd3d00" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:AccruedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,780</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_332b1b83-109f-4747-a7a0-874942c8ec71" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:AccruedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1b02ddff-e50f-4ae0-8e8a-8de663e93e5a" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:AccruedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">57,313</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Convertible Senior Notes due 2024, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_524116d6-f6ef-4ef9-a47c-3e4c612f8beb" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:ConvertibleNotesPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">69,452</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_08f20e6e-820f-4d62-8aa4-af704a40c08f" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:ConvertibleNotesPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2e11e413-888b-48c1-a33d-692275c2a7af" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:ConvertibleNotesPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d4f7a448-f678-40ba-8ca3-7a4cb9c67dfe" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:ConvertibleNotesPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">69,452</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total current liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_15ddc901-ab99-4c3f-86b8-ec00193afaa2" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:LiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">158,162</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b7d5602b-1137-4072-ab2c-d6c27207da15" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:LiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,780</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_29d45ce7-5644-4971-9b87-f19b8f3c2757" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:LiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5868ab59-575e-4f6d-932a-150c3feb93f3" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:LiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">164,942</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Noncurrent liabilities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Convertible Senior Notes due 2028, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_88d20bb7-0c22-4e85-b04d-2568937a5f85" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:ConvertibleDebtNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">510,143</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_853a26be-b2ae-4a11-850a-b92df4aacb12" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:ConvertibleDebtNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_567ffdfc-c835-4f53-9cd2-58509d7053af" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:ConvertibleDebtNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b04ea956-1323-48d3-85bb-ede66070deaa" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:ConvertibleDebtNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">510,143</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c11ae014-3cac-4957-aabb-f22c25d320ba" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:DeferredTaxAndOtherLiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">40,466</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e0f4fcc5-00c6-47a3-a5c2-9a5ad4e360da" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:DeferredTaxAndOtherLiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">903</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f8ae9c70-8c0a-4cc6-a51f-9670370337c1" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:DeferredTaxAndOtherLiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">239</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7d9d43d2-ecad-41ee-a063-00afe582d89c" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:DeferredTaxAndOtherLiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">39,324</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Noncurrent operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6b261a24-7032-4b9c-96c3-e339441837c8" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:OperatingLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">126,578</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_772b68ac-e9e5-4631-945d-cd5c8030bff2" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:OperatingLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9c51f2b4-0715-4085-aae8-3fbf6b249ac6" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:OperatingLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0bfc77ad-8ee4-4735-a3af-fddfb1e7920a" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:OperatingLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">126,578</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Noncurrent contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1dd088ab-2ca3-453a-b057-8dc3f6c661c3" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,070</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eeaa1076-dc8c-4734-9e07-e3b8af2400fe" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_52c73428-05e4-4d8e-8adc-1f9137622299" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d7741036-4dbb-446c-94b4-597cc7b9080a" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,070</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other noncurrent liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f0941a54-b293-4503-a5a5-32237b4493de" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:OtherLiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,789</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;"><span style="-sec-ix-hidden:F_f6be4637-cef0-4d20-94ff-4351dbd23794;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_79e847bd-5a67-44eb-881e-40b57b140102" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:OtherLiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,494</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_593f2b4c-94c1-4127-b4fd-990ed5895102" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:OtherLiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,283</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total noncurrent liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c8908552-95b4-4395-a63e-51e9240634f3" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:LiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">695,046</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5732d02a-0591-4f39-bc16-41ef6383ecf0" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:LiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">903</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_14a28c21-6113-424b-805a-febb0c6e6b3d" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:LiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,255</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8d1d08af-4f94-498e-b24a-47cdadb6092a" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:LiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">701,398</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_98d369e7-f794-403d-b7bf-176400ef8dcc" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:Liabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">853,208</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_db42c50b-6e05-45c5-9206-433b5a5add79" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:Liabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,877</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d7ae9f25-1fa4-4ae3-855d-4bb576642d13" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:Liabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,255</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_352dfdd3-e5a8-47d2-9acd-43c875b310be" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:Liabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">866,340</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:9pt;"><span style="-sec-ix-hidden:F_0acfdd04-3b72-46e2-851e-b95899936c90;"><span style="-sec-ix-hidden:F_1f00a0dc-85df-45f3-823c-2e66daf692bb;"><span style="-sec-ix-hidden:F_eef92064-b3a7-4175-a0a0-71dc9aad4828;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Commitments and contingencies (Note 14)</span></span></span></span></span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stockholders' equity:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">Preferred stock, $</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c6c84dfe-4efd-43b4-852e-d42f7519fcc4" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:PreferredStockParOrStatedValuePerShare" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">0.01</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;par value, </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9e7eea05-d3cc-44c7-ba13-94287631cdf0" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:PreferredStockSharesAuthorized" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">5,000,000</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;shares authorized, </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8a97ab22-7d33-47d5-802a-49a6b8794262" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt-sec:numwordsen"><ix:nonFraction id="F_ba818cb4-02cd-4358-9f6c-e33a35cd87fc" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:PreferredStockSharesIssued" unitRef="U_shares" decimals="INF" format="ixt-sec:numwordsen">no</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;shares issued or outstanding</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aa85bafe-eac2-40ec-b981-0f346e31a4f5" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:PreferredStockValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2216f69c-f79f-4e7d-95f6-2fd5adc3fde8" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:PreferredStockValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_00a18b78-a302-425c-8cc6-d252a2be183c" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:PreferredStockValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9f334f22-eb29-4d61-ad93-0b220ddc688f" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:PreferredStockValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">Common stock, $</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_042b7e7c-faa6-4ee1-af7f-a9a6874394a7" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:CommonStockParOrStatedValuePerShare" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal"><ix:nonFraction id="F_841abb54-92c9-4528-b1a3-20769fb4567c" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:CommonStockParOrStatedValuePerShare" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">0.01</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;par value; </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e8802bea-b4f9-41c9-bacd-7e87590578f5" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:CommonStockSharesAuthorized" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_07cb224f-de39-4694-84dd-00fe5dcd84cb" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:CommonStockSharesAuthorized" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">80,000,000</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;shares authorized; </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_783c3f9f-bab3-42bd-9b95-1d0d7280ff7e" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:CommonStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_4529fa26-3e4c-4f09-a7b6-447650daddc5" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:CommonStockSharesIssued" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">55,766,078</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;&#160;shares at December 31, 2023 and </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ab6ed8cb-8f05-49fb-be13-f38dabc0b2e4" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:CommonStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_c939bd65-e046-4eac-8aea-6af0820d4c68" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:CommonStockSharesIssued" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">55,557,698</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;shares at December 31, 2022  issued and outstanding</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8ef28a57-a41b-4776-bf9f-b215aee898c4" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:CommonStockValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">558</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_324e4796-166c-4ddd-883e-c29b69cf58c0" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:CommonStockValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_20d20c19-6ed8-400c-a673-adad4ad5df3d" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:CommonStockValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b53a68a5-3694-491b-a8c0-2d6af2a69868" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:CommonStockValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">558</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Additional paid-in capital</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6559e4cc-d2bc-4199-992f-30a0ba7d51a7" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:AdditionalPaidInCapitalCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,569,227</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ebe76d9b-ee59-4fe4-8142-bd2808fd4d89" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:AdditionalPaidInCapitalCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_29e7cf36-0039-4332-887b-29a102214709" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:AdditionalPaidInCapitalCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dd249d20-a32a-4f4e-bc72-bd8be7c67e6f" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:AdditionalPaidInCapitalCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,569,227</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accumulated other comprehensive loss</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_af3608ed-1d58-4b1a-b605-ee822945ad56" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">37,431</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_49686373-e0fb-4519-9c67-f3d7b84e89a8" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">377</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3c96d138-9761-405c-97ab-13ed256623e8" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3eeba4aa-a505-47df-b34d-9b0b4c56f9f6" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">37,808</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accumulated earnings</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fef570b9-e50f-4418-b33c-302ee61b39e2" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:RetainedEarningsAccumulatedDeficit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">438,849</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8027182d-9736-427b-b502-8380c7c94127" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:RetainedEarningsAccumulatedDeficit" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,197</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0ed36c26-d146-4bf5-9fa8-f5a8be94e373" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:RetainedEarningsAccumulatedDeficit" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">784</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_77fe4611-4fa2-4822-8c93-663c3324aada" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:RetainedEarningsAccumulatedDeficit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">432,868</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total stockholders&#8217; equity</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9951b5a6-e340-4024-848f-fd27a6b5cd02" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,971,203</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a36b21f2-acc8-4a3f-8357-6dd65971f7ce" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,574</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a44139f5-95c4-46e6-a193-3c4883e482a2" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">784</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a97e3f77-263d-462d-9c57-1080473cb445" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,964,845</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total liabilities and stockholders&#8217; equity</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f3eb08a1-6fc6-4320-a45a-125de08100d8" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:LiabilitiesAndStockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,824,411</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d8751280-9a6a-4296-b17e-b5efc1d88398" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:LiabilitiesAndStockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">303</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_13110c84-3853-4eca-bdbd-fb70ba489288" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:LiabilitiesAndStockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,471</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e1f3b2d7-380c-4313-a3be-1769c06f9006" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:LiabilitiesAndStockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,831,185</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></ix:continuation></div></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">70</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_2ec5b9d4-83b4-4610-ac4b-dd64a50a1339_2" continuedAt="F_2ec5b9d4-83b4-4610-ac4b-dd64a50a1339_3"><div><ix:continuation id="F_bb9d69b4-1d0d-4aa3-b3d8-30d60fccdcb4_2" continuedAt="F_bb9d69b4-1d0d-4aa3-b3d8-30d60fccdcb4_3">
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.443%;box-sizing:content-box;"/>
        <td style="width:1.341%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:10.804%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.341%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:10.804%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.461%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:10.804%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Revised</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">ASSETS</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Intangible assets, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_34b9301a-aeca-478a-94be-8ecb2354d909" contextRef="C_92fd7898-1fd9-433e-b658-b545abdfd64b" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">353,676</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0439d735-9b39-4c89-927c-317abfe78f59" contextRef="C_a0eac4f5-17af-4888-b40b-5756dfe48d35" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,942</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f2c9c05b-0da8-42ea-9840-6d35f1626629" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">360,618</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total noncurrent assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4e98972b-7c3a-4960-9698-6da0961c1981" contextRef="C_92fd7898-1fd9-433e-b658-b545abdfd64b" name="us-gaap:AssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,526,540</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_23b75298-27a5-45d0-8d8e-14420af5608f" contextRef="C_a0eac4f5-17af-4888-b40b-5756dfe48d35" name="us-gaap:AssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,942</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e1b6c343-0bdc-46bc-9878-83e1356917c6" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:AssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,533,482</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b82d7bae-3c90-4cce-8480-c66eec04c618" contextRef="C_92fd7898-1fd9-433e-b658-b545abdfd64b" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,524,658</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b0b64465-9ccf-4958-bba6-0dac20251c3d" contextRef="C_a0eac4f5-17af-4888-b40b-5756dfe48d35" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,942</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2d9109e3-662c-4a51-87b6-16fd89877f88" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,531,600</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">LIABILITIES AND STOCKHOLDERS' EQUITY</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other noncurrent liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6eb5b29c-a949-4feb-9406-deb642d065bd" contextRef="C_92fd7898-1fd9-433e-b658-b545abdfd64b" name="us-gaap:OtherLiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,814</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_92a4bb08-adf6-455d-b1ce-44f78ef00ae0" contextRef="C_a0eac4f5-17af-4888-b40b-5756dfe48d35" name="us-gaap:OtherLiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,942</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_33d5fb56-4fbe-4aa5-a400-3154356aad06" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:OtherLiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,756</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total noncurrent liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_75427c64-6fa6-4504-a35f-7f840f151055" contextRef="C_92fd7898-1fd9-433e-b658-b545abdfd64b" name="us-gaap:LiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">209,762</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7d5f2d25-37fc-460c-b469-2138fb14f8a6" contextRef="C_a0eac4f5-17af-4888-b40b-5756dfe48d35" name="us-gaap:LiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,942</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_452cd5a6-6be3-470c-a1e7-0dddef90d8cf" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:LiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">216,704</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_90a83db3-1455-47e1-a5d1-956802ca8205" contextRef="C_92fd7898-1fd9-433e-b658-b545abdfd64b" name="us-gaap:Liabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">613,958</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b211e2de-8c44-42ff-b96e-a8314952f1dd" contextRef="C_a0eac4f5-17af-4888-b40b-5756dfe48d35" name="us-gaap:Liabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,942</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_15e020fd-e2b8-4760-b23f-164b46165548" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:Liabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">620,900</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total liabilities and stockholders&#8217; equity</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c322ee8c-f6b9-43fb-a65e-462023ac68d8" contextRef="C_92fd7898-1fd9-433e-b658-b545abdfd64b" name="us-gaap:LiabilitiesAndStockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,524,658</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4dc3f179-d438-44b9-95b9-dd4264c9f636" contextRef="C_a0eac4f5-17af-4888-b40b-5756dfe48d35" name="us-gaap:LiabilitiesAndStockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,942</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f946ef9c-e061-408b-b556-0cd7d68ce86b" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:LiabilitiesAndStockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,531,600</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.41%;box-sizing:content-box;"/>
        <td style="width:1.18%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.242%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.18%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.242%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.28%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.222%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.242%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Year Ended December 31, 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Revenue Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Restated</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Products</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_54c39654-88fd-4ffe-92cc-cf09b69e2712" contextRef="C_fa007337-552c-411f-ae97-cdf1ea9c3ff9" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">638,381</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0a0f7240-d804-441a-bd4d-d472204e4a47" contextRef="C_5a1ec2d7-31b8-4b06-8565-02b0b26e4979" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">6,402</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_62fef578-9bdd-4b0d-be2a-16714c76d2b3" contextRef="C_caa82be9-db75-4168-922a-499572d850ba" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a5161be0-a8d8-4ee6-aded-943f0d1fe0e6" contextRef="C_986f06fb-599d-441f-bf85-de13b571525e" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">631,979</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Royalty and other revenue</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eaafc8aa-bb02-462b-9b34-691561917e24" contextRef="C_2374c88d-b37a-4841-a36a-8234abda4d8d" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">383</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9b7340b0-16df-431a-a045-8036547e1e82" contextRef="C_5b183dbc-53e1-4b2b-a841-fcf2afa67f2e" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f92511d1-3598-4a45-921c-be240947601c" contextRef="C_fddbf4cb-18b5-4d77-9733-54cf29167937" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aaaf77cc-79aa-4a84-932b-8e0bb86c2e57" contextRef="C_47d99feb-bd92-4150-b94c-3d6e4128c1aa" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">383</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c667fd17-53fe-486e-964f-451d1de35f90" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">638,764</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_30b2c6e2-874c-4b0e-8218-11cd70e9a7af" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">6,402</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2cf5dd18-20bb-40e1-aead-c5ee627a662a" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2031e44b-e986-4e6e-92fe-860d2ff92646" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">632,362</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Costs and operating expenses:</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of product revenue</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1aaeb8f0-4d20-46d6-861e-ca850fc10367" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:CostOfGoodsAndServicesSold" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">353,922</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b35b09f1-8145-42c4-afc8-62464fa57afd" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:CostOfGoodsAndServicesSold" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_067e243b-cfd4-403e-a1e1-dba92fa55f28" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:CostOfGoodsAndServicesSold" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9d97940f-3e4c-4241-8c5a-088fb67013de" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:CostOfGoodsAndServicesSold" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">353,922</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and development</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_69232a40-925c-4ac3-9e59-f0b4890895fa" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:ResearchAndDevelopmentExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">42,722</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_010ec5b0-4f6b-44e8-9e10-4d3b1599676a" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:ResearchAndDevelopmentExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ad16b2a1-e895-497a-b6dd-d2665d56a849" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:ResearchAndDevelopmentExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0127c2ef-8094-4318-821e-c1299a227bb1" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ResearchAndDevelopmentExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">42,722</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Selling, general and administrative</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_04d1cb5f-6b08-4125-86ab-20f4ff610a83" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:SellingGeneralAndAdministrativeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">218,113</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_172294a0-7e9b-4c2e-aedb-e95ea807dee1" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:SellingGeneralAndAdministrativeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d15d494c-04f7-419d-93de-d084d0b4314b" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:SellingGeneralAndAdministrativeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">471</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eeb9dbc1-4083-4ce4-846c-7a86bb33289a" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:SellingGeneralAndAdministrativeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">218,584</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b2834487-4cea-4faa-8662-0aec42c4dee1" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">30,569</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0c9f1980-02fa-4a52-b8cd-e44caf885463" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f55c21b8-7a35-4832-852e-0228e9fd1ee6" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c1d05fc2-fee0-484e-8213-7f68f1b2fc1a" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">30,569</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total costs and operating expenses</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_978ee348-3c76-42b3-bd02-565e0b46f590" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:CostsAndExpenses" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">584,188</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1ab2e82c-8819-4166-887e-119279bf012e" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:CostsAndExpenses" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e08e8597-3c6a-45d3-bd43-ab87310e4892" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:CostsAndExpenses" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">471</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_89f3310d-1d71-47b3-8a59-2ec5e58c1c5b" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:CostsAndExpenses" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">584,659</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income from operations</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d63e07d5-8ef9-4263-ab16-f4c8638e4626" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:OperatingIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">54,576</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8a06ce0e-bc89-4b2a-907a-0ff44113c80c" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:OperatingIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">6,402</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_06ef65da-9b5e-4179-9edd-ab2155080f4d" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:OperatingIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">471</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2a136abe-aab2-4e2f-877f-f5f8e532f74b" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:OperatingIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">47,703</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other income (expenses):</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Investment income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fa4f4e10-8a5e-4f4d-8e7d-61d1be1fbf87" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:InvestmentIncomeNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">24,135</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ca0ed699-7696-4412-8d5b-6fd892161751" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:InvestmentIncomeNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_19b312ef-7a34-40d2-a2bd-55840bae747d" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:InvestmentIncomeNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c5ec38f9-aec7-4396-a91e-f9e1f00fd5d1" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:InvestmentIncomeNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">24,135</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Interest expense</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9aff0ff9-9ede-4f89-943d-24e73cac0aab" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:InterestExpenseNonoperating" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,951</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_97a479a3-1dfb-4266-bc4d-7209505a6482" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:InterestExpenseNonoperating" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6417a627-6d11-4758-83b3-49c5d5d222f3" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:InterestExpenseNonoperating" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">552</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_07433e50-2466-4ab4-8c74-1712fdf08620" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:InterestExpenseNonoperating" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,503</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Loss on extinguishment of debt</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_44d036eb-bb02-4ce4-ba95-ec83525db726" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">12,676</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eff44afe-b93f-4bfd-aa37-438a173b8c5f" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_46032298-7e02-4191-8395-b3b7826fff61" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7ce57e73-f05f-442d-96b9-7f670cb0d3bd" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">12,676</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amortization of debt issuance costs</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_879d7536-37f8-40b4-8058-1f429d08a3e3" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="rgen:AmortizationOfDebtIssuanceCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,075</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e1b54ca4-fa39-4f52-afe8-c7dd01b5ef7e" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="rgen:AmortizationOfDebtIssuanceCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_28d56e38-926d-42c3-9a5b-ec5e794b11c6" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="rgen:AmortizationOfDebtIssuanceCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a96855ed-454e-4710-a773-32d622ae0690" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:AmortizationOfDebtIssuanceCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,075</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other income (expenses)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_753bd4fd-8b27-48ea-81a5-ea8c914c7511" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:OtherNonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,123</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3c6ef2dd-9272-423b-83ea-a20c2da410b7" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:OtherNonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_81204313-f15c-4d93-833c-69edccadda8c" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:OtherNonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b86629a5-8e6c-4843-aea0-a8a6c350d2e6" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:OtherNonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,123</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other income (expenses), net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8028726d-2a27-4f7a-bfdb-d2e1fc3387ac" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:NonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,556</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8b188af7-a52e-4842-ae03-9ad3f3c9f0da" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:NonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0a5259f9-4114-4999-a23a-e5ef53085c27" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:NonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">552</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5f1765c5-2a32-43b1-81fa-349af5aa9cd6" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:NonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,004</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income before income taxes</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1b81cf52-95e3-4e64-9795-71348a156194" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">64,132</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_203ab41f-ec94-4ccd-8cb8-c3f8cc95c11d" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">6,402</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_35bc7164-c39f-4c2e-9b72-a53e5da4ea2d" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,023</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d24bfad8-4fb9-4907-bc42-8a48dc53d33e" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">56,707</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income tax provision</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7d3f3012-3cb2-44d3-8ed5-a20d5e4f4a41" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">22,555</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e5ac387e-3fa9-45bc-8bb8-33d154016fbf" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,205</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_994db1fc-8d46-4c92-be30-47ffe05ed45f" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">239</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d0f4fb45-a6b1-4424-9d31-da82d7b17f5c" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">21,111</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cc72e39c-6845-4d35-92dc-8267793fe6c7" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">41,577</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8e07de77-4649-41cb-940b-8cb6f393f5ea" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,197</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_79406e36-5b04-4b36-9e74-1f7f97fc7ab2" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">784</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_941937e4-d71a-4c1c-8744-ffe20179f836" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">35,596</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnings per share:</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Basic</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0ababa95-07e6-4a4e-a963-67f118e182a4" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:EarningsPerShareBasic" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">0.75</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c8f36aaf-027f-4861-8757-d72d7b46529d" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:EarningsPerShareBasic" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal">0.09</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a29688ee-963b-4ffb-bc46-28b92fcc6b45" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:EarningsPerShareBasic" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal">0.02</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_79374229-3737-4a91-8cfa-70758de91509" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:EarningsPerShareBasic" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">0.64</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Diluted (Note 3)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_03ac2641-5062-4145-a54f-89ded38402ea" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:EarningsPerShareDiluted" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">0.74</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_60b009c6-c4e4-4daf-92f7-677ef8207f42" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:EarningsPerShareDiluted" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal">0.09</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eb4b6873-f27f-41e0-a4da-b734bc09ec5a" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:EarningsPerShareDiluted" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal">0.02</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_58629f45-9bb2-4b14-9cec-7bf42a8ce939" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:EarningsPerShareDiluted" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">0.63</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average common shares outstanding:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Basic</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2695eb3a-1a88-42bb-9fe2-671138a87e47" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">55,720</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_83abe040-5baf-4085-b8ba-0fa517f71fb5" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" decimals="0" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0bdea9ce-b95c-4892-b4f8-b56638967b08" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" decimals="0" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bbeb0da6-174e-43cc-a511-a57a434822a5" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">55,720</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Diluted (Note 3)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_40c424ce-06f0-4999-8ca7-cbbf99212ae3" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">56,377</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_721d898d-cfb9-4af7-84a7-8f1bc1e4831e" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" decimals="0" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_355016b1-7fb0-4af7-bd2c-4e54c5ce0402" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" decimals="0" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_729e4cc3-0850-4857-bd5f-b2ec4f1a5e7f" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">56,377</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_caf1291b-36eb-4861-bfaa-1e32e2b97361" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">41,577</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_68e3f756-88b0-4ac7-b17c-cf942c94f0c7" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,197</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_242ed19f-ee28-4b56-b597-65db7bc2949a" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">784</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c8f1692d-521f-46a2-b1b6-4fc64a53f761" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">35,596</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other comprehensive income (loss):</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign currency translation adjustment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_50f55b84-78aa-4840-a6ca-d4819d6b66c6" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">3,037</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eb7a4fbc-9697-4b62-8998-0137d3abeefd" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">377</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_043666ee-de04-494c-abbe-32472970b1d0" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4627b3ad-2067-4539-814d-fe8b81396f55" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">3,414</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Comprehensive income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8d4ad80e-fcd4-4c05-bb6e-d83e0b8503c0" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:ComprehensiveIncomeNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">38,540</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5b098cda-8a9b-42ad-b873-2ff417a87862" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:ComprehensiveIncomeNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,574</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_06a01b21-8b72-494c-b052-ffc7e8c4a1f2" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:ComprehensiveIncomeNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">784</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6db720d6-452e-43b5-b1d4-f2039369e06f" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ComprehensiveIncomeNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">32,182</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></ix:continuation></div></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">71</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_2ec5b9d4-83b4-4610-ac4b-dd64a50a1339_3" continuedAt="F_2ec5b9d4-83b4-4610-ac4b-dd64a50a1339_4"><div><ix:continuation id="F_bb9d69b4-1d0d-4aa3-b3d8-30d60fccdcb4_3" continuedAt="F_bb9d69b4-1d0d-4aa3-b3d8-30d60fccdcb4_4"><p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:11.14%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:4.3%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:4.3%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:4.3%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:4.3%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:4.22%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:4.36%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:4.36%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:4.36%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:4.36%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:4.36%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:4.36%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:5.28%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated Other Comprehensive Loss</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated Earnings</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total Stockholders' Equity</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Revenue Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Restated</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Revenue Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Restated</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Revenue Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Restated</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2022</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f97fea51-36c3-4f9a-942b-d3c4cb18ba02" contextRef="C_9505990e-7cbe-4599-8424-97d3294f28f7" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">34,394</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ba2e8a6a-8b83-40f4-85a3-933ace015219" contextRef="C_9bae31a8-0cc1-43bb-b714-0cf69b8da537" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">34,394</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5bc5cb2c-34ce-4f88-8dd2-3dd5ba2a60ff" contextRef="C_61fa9d78-8afb-439d-9113-ea81e70ba86f" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">397,272</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8f9dda13-be7b-40e9-a59c-de302560b585" contextRef="C_53a812b6-9bab-4db1-8dd3-3c253c58bc27" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">397,272</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_65ccb972-a76c-4eba-a140-c488f94f7f9e" contextRef="C_92fd7898-1fd9-433e-b658-b545abdfd64b" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,910,700</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7b75dcd9-5bcc-4cc6-9409-d736785fdb42" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,910,700</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f307644d-1be0-4ad6-bc96-e42f133d514e" contextRef="C_86adc6fc-af85-462e-b84e-1251a2c4a03c" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">41,577</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f77b473e-731f-4d85-a586-cc5474214010" contextRef="C_af0b13aa-d164-4720-bcf2-3543a93184e5" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,197</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_778af8c9-cb40-41e0-b331-bcf8c3282261" contextRef="C_18b06a93-bd91-423c-b2db-256ea54bda8f" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">784</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c463949d-9e35-4e36-a960-d214e546eb2a" contextRef="C_cf8baa91-9ed0-49cc-aeba-358ed6c5f80a" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">35,596</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bbac90c3-438f-4bea-8457-14e10bf122ef" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">41,577</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_29cc5c25-eab7-4e3e-ab73-9fac601037b8" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,197</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d76e834e-93c3-4304-834b-606766740d23" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">784</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3401c309-af14-4747-a8f4-e707c7d105f2" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">35,596</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Translation adjustment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3adb67df-8563-4157-b746-949f7d5e2c21" contextRef="C_81bb32d0-08be-4527-b298-a69684ed779f" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">3,037</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_93bd017c-56b0-4b0b-a87b-9d111e03cf9e" contextRef="C_1b2f1d9b-c655-407a-9d8f-914703d177cb" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">377</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_611fbb0f-b8fa-42d1-97c5-2768b754fdc4" contextRef="C_06ed5cd2-5d02-4b7c-a060-089ca983ba21" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">3,414</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2a06fa0d-99c8-4ace-bcf0-a042d6e13dda" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">3,037</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_da46e54a-bb5c-459c-b73b-7820f10beece" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">377</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8d31fc70-8d1b-4470-aead-e05fa3214a8b" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">3,414</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2023</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_55d03916-9bb5-41fe-a074-50905fe63fc6" contextRef="C_4557533e-862a-44b5-842c-fa9a8121748f" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">37,431</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d889b537-dad2-4f6a-afb9-e1d7321ba9ff" contextRef="C_e862366e-decd-4cda-8652-36c9b987bfb5" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">377</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_38667eca-de3e-41ad-95c7-a5de3ba3b0b0" contextRef="C_5165589d-58c2-4afb-a632-66aaeda3d669" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">37,808</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7b43eb2a-524b-437a-b905-cd0b6cd0f2b0" contextRef="C_ba8ab06a-f7e6-4507-8ea8-4fee4941e8fc" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">438,849</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_46074a07-77eb-4a94-bcfa-8ee9a8e72304" contextRef="C_a8cf4262-1377-41c3-a8ac-30ab371952af" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,197</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_334ff047-44ac-4f13-a121-33dbc0405622" contextRef="C_181178a0-f552-4946-a008-377187584c9f" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">784</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fd96432c-ceb6-42df-8f80-57d608c98c22" contextRef="C_be87c643-2923-4319-9d3b-a157c97efd76" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">432,868</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0c9fd7c3-873c-4d8e-888e-e7e31fef7116" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,971,203</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e59c4541-22cb-498a-bdd7-1edb00b3b4a9" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,574</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e650bdce-a5e5-4bb2-bdec-abaaf91b922a" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">784</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_62c789b4-b066-4648-8c93-66bc8ae37a68" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,964,845</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></ix:continuation></div></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">72</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_2ec5b9d4-83b4-4610-ac4b-dd64a50a1339_4" continuedAt="F_2ec5b9d4-83b4-4610-ac4b-dd64a50a1339_5"><div><ix:continuation id="F_bb9d69b4-1d0d-4aa3-b3d8-30d60fccdcb4_4" continuedAt="F_bb9d69b4-1d0d-4aa3-b3d8-30d60fccdcb4_5"><p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.38%;box-sizing:content-box;"/>
        <td style="width:1.08%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.356%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.08%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.356%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.18%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.216%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.356%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Year Ended December 31, 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Revenue Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Restated</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash flows from operating activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e012743b-215f-4e7c-b385-5ee91cc42747" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">41,577</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9a6c1cd6-8b35-4b3b-ae9e-d876a7ea99d5" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,197</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fe885a2f-fc05-441a-9eff-f8c0d34c13d6" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">784</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b3d63f94-e7be-4d4c-9d18-b70d5b6ee4a9" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">35,596</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Adjustments to reconcile net income to net cash provided by operating activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory step-up charges</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_778206ab-cd99-4056-b4a3-4bc5e0939145" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="rgen:AmortizationOfInventoryStepUp" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,238</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8dc541b1-8f03-4d9d-b2a1-edfb86e75e7d" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="rgen:AmortizationOfInventoryStepUp" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_01da89bd-7151-41f5-b2ca-3cb325fac5ba" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="rgen:AmortizationOfInventoryStepUp" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d033964c-a34b-427f-a73c-7eab9631a836" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:AmortizationOfInventoryStepUp" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,238</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Depreciation and amortization</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d084caea-ed17-4a9d-ad19-5d2bd4bfc720" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:DepreciationAndAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">68,085</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f3ce1bb7-4884-47b4-8b3a-1e595df4fa43" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:DepreciationAndAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6d3b9d15-fc6d-4b95-8b92-948926aa90b5" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:DepreciationAndAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">471</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0bec9a26-44b3-4f05-a48e-6d1245315057" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:DepreciationAndAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">68,556</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amortization of debt discount and issuance costs</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4d445c12-1b7e-485f-be7c-ebeecb636aa0" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:AmortizationOfDebtDiscountPremium" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,448</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f3e04c18-201d-4a75-93ea-c7987e8758a4" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:AmortizationOfDebtDiscountPremium" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dacf9feb-8882-4f08-9c8c-0acbe3b69dfd" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:AmortizationOfDebtDiscountPremium" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c78cc348-9ab6-4e92-af35-d4782c6d97ea" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:AmortizationOfDebtDiscountPremium" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,448</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_00c04f99-6359-4483-993f-e222d211bada" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,575</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7c023f34-aeb3-42f9-8656-4446dae8f9e4" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_81c5a745-fe13-4ad8-93ad-9a8087deba93" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3c175c95-8373-4a6b-9bf5-fe27ec00c22d" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,575</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred income taxes, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_83c1d00a-2e53-44f6-9a2c-63c5bf13ba46" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:DeferredIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,317</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_23e8c511-535c-4e0a-902b-af68dca10019" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:DeferredIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">903</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_06eafbef-f1c5-4734-9daf-3f9dd8337675" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:DeferredIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">239</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9ed5262b-4d19-4746-a92a-cdcdb1c46704" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:DeferredIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,175</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_744707b8-83c1-4aed-8b4e-b39a13bb6d5e" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">30,569</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8a792188-3d8d-4099-afdb-17cf5077001f" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a0176020-c0e9-49af-8df2-0c668160e412" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3bda2039-22bf-402b-81f0-97722f06b843" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">30,569</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-cash interest income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eae9be09-6ce0-483e-86e8-5dc7b9bc0fdb" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="rgen:NoncashInterestIncome" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,023</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d0c66c11-94cc-4ae9-bcc2-edf9d3d20a84" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="rgen:NoncashInterestIncome" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5bf5b250-16e4-4346-b195-7071ca431d5b" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="rgen:NoncashInterestIncome" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e5703490-0305-455c-9c5c-8c1e0acd113e" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:NoncashInterestIncome" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,023</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Loss on extinguishment of debt</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d0961157-10d9-4d11-a2e2-76108f4dbb9c" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">12,676</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d903a084-7f5e-4893-9f72-7e086738b3d8" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5bd8c796-5e4d-4695-894f-c93dfccdec79" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_260b5a69-e7a8-4045-9c73-727ae3aa9b7f" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">12,676</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset amortization</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d6979ca5-e3cd-4495-9ca0-d792c5f5559e" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">14,059</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_452ee887-2cba-4d83-9ed8-3a348daa7282" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5602e030-e2ca-4598-81a0-38e06ce50888" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">3,499</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f52441ac-e019-4da6-899b-efa08d8b8813" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">17,558</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5c1ba4a8-375d-45fd-8469-9ce6d107aa4e" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:OtherNoncashIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,231</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c87d7eb3-0a27-4036-a611-2f9e42f3a9bb" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:OtherNoncashIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d66a4435-9294-403b-89a3-ac8a31e8d2cd" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:OtherNoncashIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">552</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b54807c8-52b7-46fc-b5d5-ecc62b79d8e6" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:OtherNoncashIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,783</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Changes in operating assets and liabilities, excluding impact of acquisitions:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_277e0112-a37c-401a-a344-371cf33d751c" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:IncreaseDecreaseInAccountsReceivable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,312</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_56460c7a-3172-44a6-80f6-9ce28dc0955d" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:IncreaseDecreaseInAccountsReceivable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ebbc76dd-66ba-430e-b426-a805df7d1bc8" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:IncreaseDecreaseInAccountsReceivable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e4907a1b-04ad-489d-9347-36eab32de821" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncreaseDecreaseInAccountsReceivable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,312</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventories</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0901eb7f-5b0c-44cd-9653-09863ec0f553" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:IncreaseDecreaseInInventories" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">40,973</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bcd04073-7e86-435f-b733-aa672f306656" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:IncreaseDecreaseInInventories" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6dcd3787-7585-4bcf-ab58-1b1be55e0a93" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:IncreaseDecreaseInInventories" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bcf0963b-a712-445b-ac2d-dd6ffddc13f8" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncreaseDecreaseInInventories" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">40,973</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e402a561-0366-4747-bd71-ed97bbc334a5" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,030</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b0cbc630-8e36-4135-b436-399dc3d89a1e" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">303</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9844ff99-6100-4f6d-9004-4645966a8a50" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3452cee4-ad4a-40ee-b18f-952cb1cc28e2" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,333</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bada3f4f-c866-4c7f-b434-2142ff344416" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">461</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2631cfdd-3582-4136-9e68-0238801c46de" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5679cf14-7a92-4d91-9318-438ab87e59cd" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d4f0569f-7648-4994-a4a9-01f78cbae12e" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">461</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dfa82020-6594-4e9e-a3f3-4ed6b6d7c636" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:IncreaseDecreaseInAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">9,803</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_faf3aa36-b1c9-4722-a6c1-c6dda8b25f37" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:IncreaseDecreaseInAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6006620e-c45a-4937-b52d-2327a1507895" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:IncreaseDecreaseInAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b159a449-1940-472a-a3fe-b7c18efa6417" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncreaseDecreaseInAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">9,803</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued expenses</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c1f13f62-fb75-484e-9c13-23aef28baa83" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">27,921</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ffe44243-7d92-4db7-89a0-0d372e3e9c6f" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,403</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2c2f2306-c367-4882-9e34-06be375a8688" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_36b6a7e0-b2f6-4bfc-8dd6-6a3b30d72cf8" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">21,518</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_038999a3-48d0-4634-ab7c-ede050c8f183" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">9,229</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_418d5d8b-1132-4076-9fa0-83c377f237a0" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3efac2e6-c345-4f91-aac7-651fa2532c45" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">3,499</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b2245972-23e6-4818-866e-c24226b816a2" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">12,728</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-term liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4d2922f9-e83a-46be-a7f7-c58aa833a6ec" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">87</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_076c4f5d-8698-43a2-a0de-6d47190f2b3e" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c7f069e6-2afd-44c0-899b-6f29b45340dc" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4719b9b2-58c3-4dea-aa5c-67ac41d90e10" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">87</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash provided by operating activities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9983aa3b-8908-4cbb-b79e-9f4c8eba7ce9" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">113,918</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fd65f369-7a18-4e04-b41f-5bdeead82747" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b9ae2e7f-0a7e-465f-87e4-328c1e819ad8" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_17208928-29de-4d5b-b7ad-bcb7483d888f" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">113,918</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash flows from investing activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Redemption of marketable securities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_286f2c4c-99d6-4297-bee2-9da5beabc3d2" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">102,323</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c4e4d3f1-18c0-45c7-987a-8298e2e48ddc" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bc70e29c-9ba3-47d7-8d9c-5337337c0856" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ab7ffeff-034c-415d-b0fd-36dd336b1f95" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">102,323</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Additions to capitalized software costs</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9a1b3a98-20fb-42df-ab32-e322f85763b1" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:PaymentsToAcquireSoftware" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,766</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3d21dcd2-3bd2-44e9-b151-6add91f1bae8" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:PaymentsToAcquireSoftware" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8d5d0f5c-d0c2-4a1b-989d-e94e306c87d7" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:PaymentsToAcquireSoftware" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cb3e6d6c-a543-44d9-bc16-e4ba793a1f42" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:PaymentsToAcquireSoftware" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,766</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisitions, net of cash acquired</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_05ac7dbb-aaea-40ae-a7ce-a5862b1ef4cc" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">186,642</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8b00646a-a40a-4526-8ee1-88b4320c9097" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6652c469-a2b7-4948-a62c-e62809dc02ef" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4e3a7929-7cd0-4049-803f-bb1c5b66bac5" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">186,642</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Purchases of property, plant and equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_99281363-c317-41c2-bd26-22af2dc258db" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">36,222</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8b4942b2-8761-416b-a8a4-558bcf553172" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0b8f2061-db60-4b87-8f29-bfd0fe0e8ae8" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_457878d1-016d-4dd4-9614-15039697eeab" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">36,222</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Purchase of intellectual property</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d703f136-f248-4bd5-adbe-4b1fad69e418" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:PaymentsToAcquireIntangibleAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bd9d9e3b-5a6c-4a63-a60f-4a206321bcd2" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:PaymentsToAcquireIntangibleAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1c001565-9593-4b54-9ea5-77127d5f4895" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:PaymentsToAcquireIntangibleAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_206ce774-81b0-4db2-b28d-38ef3bd65c8b" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:PaymentsToAcquireIntangibleAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other investing activities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_afa66df2-b0d8-4a08-a2fa-9f92c36235cd" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:PaymentsForProceedsFromOtherInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">32</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7f818171-35b9-416c-a6fe-5ec93ca17072" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:PaymentsForProceedsFromOtherInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b72dd001-8f1c-48c7-9514-50dd2fc8314b" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:PaymentsForProceedsFromOtherInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c9f9c793-be88-4385-99b9-846a70ce6341" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:PaymentsForProceedsFromOtherInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">32</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash used in investing activities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a72319dc-a686-40cb-8595-6b288f5cec9f" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">123,275</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_581c2d56-db6f-4a1b-96a8-1140d729c6b6" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b15dafd7-bab9-4703-aac4-8df71a28417c" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5d9b13c6-2d3f-49fb-84c8-288aa61a3da7" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">123,275</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash flows from financing activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Repurchase of common stock</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a8226898-ee8a-4500-8db2-f41de7bc1c9d" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:PaymentsForRepurchaseOfCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,386</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5539b8fc-5d66-47b1-88c0-299e27935557" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:PaymentsForRepurchaseOfCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bd76de51-762f-4758-9152-df56810f891c" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:PaymentsForRepurchaseOfCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7e7f9937-1279-4f2a-8287-004708c70dcd" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:PaymentsForRepurchaseOfCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,386</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Proceeds from issuance of 2023 Convertible Senior Notes</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ac67a843-2856-4d56-a837-f002d728c7cc" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:ProceedsFromConvertibleDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">290,094</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_641aee4a-9c74-429c-9088-b9c65afff940" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:ProceedsFromConvertibleDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3830b50a-fe52-4b3e-88ab-9abc07c2c74b" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:ProceedsFromConvertibleDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_00f87f61-b276-4037-8255-88e9344cd744" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ProceedsFromConvertibleDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">290,094</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Proceeds from exercise of stock options</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7f91f017-75cc-4c6d-9c51-5b8e4cf119ec" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:ProceedsFromStockOptionsExercised" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,076</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_64d887b8-a9e3-43f1-af50-875f476b057a" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:ProceedsFromStockOptionsExercised" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6692fd26-4cd1-45cc-b92b-f09dfa6c42e1" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:ProceedsFromStockOptionsExercised" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1b10a025-4e90-4e5d-91ea-639134b438f6" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ProceedsFromStockOptionsExercised" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,076</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payment of debt issuance costs</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_248673fa-3531-4f55-a125-03e96991abea" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:PaymentsOfDebtIssuanceCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,253</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_37c193cc-abb0-46b9-ab41-4ea46c7c4ef6" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:PaymentsOfDebtIssuanceCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f240bbac-661a-4f43-acff-b4992699d27e" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:PaymentsOfDebtIssuanceCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_867726b2-1259-4443-9ebe-0431c73f08b4" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:PaymentsOfDebtIssuanceCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,253</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payment of tax withholding obligation on vesting of restricted stock</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ddb9e68f-ddd3-420b-9cf2-791cabdd4b2b" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,227</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e4bcf393-963b-45f0-82f8-21462f102215" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_678a62cd-3f4f-446e-bfcd-7aee837d1a5d" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ae911914-1178-4894-943e-b74c52fba424" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,227</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payment of earnout consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f817b84c-bd5a-4219-b201-f307b43d6838" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,298</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ec765626-062c-46ba-865d-7becf6d249d2" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5bc551c7-f402-489e-91c5-b950d7185ad6" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bf2127ff-c592-4b8d-b435-5de105af1a10" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,298</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other financing activities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ec1bf38a-1b26-47fc-8cb9-a317e01ca767" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:ProceedsFromPaymentsForOtherFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">45</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;"><span style="-sec-ix-hidden:F_d983390b-710f-4bf6-984b-01a5c58be1af;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_667fd0b7-ee8f-4996-9b0d-7361682b1a74" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:ProceedsFromPaymentsForOtherFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_528b8dd9-df79-4a89-a856-63e7fb3d370d" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ProceedsFromPaymentsForOtherFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">45</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash provided by (used in) financing activities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f3496e7f-db16-4988-8d16-5780720965f0" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">248,961</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5872f15e-a9b3-4d70-8f57-01406e9bf812" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d114c116-d383-4232-a85a-94372ad6f181" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0ecb31f1-a5ff-4fe7-a252-dd733a472cd7" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">248,961</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of exchange rate changes on cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_81fc7cdf-7f24-45b8-8749-d0726b5176a4" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">11,739</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1eb1e7a0-961e-4ba1-944d-d0734b31825b" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d1102c37-1529-4761-b6ce-d77af0b0dda1" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e67b71ce-ec05-4f9e-8584-d24caceb6adb" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">11,739</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net increase (decrease) in cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d440173e-d690-4c13-9700-ea1a85f1fb0e" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">227,865</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c022e90d-0415-4a19-b638-4b6c592f51b7" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eb107f97-d2fa-4b74-ad5b-ae1439bf45fc" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a7349fff-08bd-4a81-9bdb-87a54260db11" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">227,865</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents, beginning of period</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ae2dfec1-dbaf-426a-80c1-f0ac5dafc1d4" contextRef="C_92fd7898-1fd9-433e-b658-b545abdfd64b" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">523,458</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2941a97d-920d-4141-8119-4993e1fd2664" contextRef="C_420f22c2-f005-4a1b-80f6-81fba79b4662" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_787b2bc3-d222-4d22-9c0b-f59277615d03" contextRef="C_a0eac4f5-17af-4888-b40b-5756dfe48d35" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2f89ac8a-6964-45e7-b7fd-93c39412b87a" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">523,458</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents, end of period</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4d2b5030-85ec-447d-9517-0fb575275a05" contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">751,323</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bc154ded-ca36-487b-820a-49877a33139a" contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_74d13763-63b3-49d6-9d0b-83ebe149d020" contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9730a830-e540-481b-87c6-a12d1acebb76" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">751,323</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Supplemental disclosure of cash flow information:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income taxes paid</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ffb6bd38-3b4b-4abb-b6de-12d39d3d605e" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:IncomeTaxesPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">26,963</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_56b1a67f-0212-4964-b73c-11164c0511e7" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:IncomeTaxesPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_074ae7da-c7ab-416f-b0b1-fccd793c0923" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:IncomeTaxesPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7b25abce-14fc-48ca-aaea-a47389dfd037" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncomeTaxesPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">26,963</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Interest paid</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fd0abf2c-4443-4868-bc42-d9e1368510b1" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:InterestPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">988</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b3d48532-283a-489d-95d9-8d8db883e818" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:InterestPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_957ccfee-ed92-4247-b19a-ba51a7107480" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:InterestPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4d1c4511-6e0e-44e7-a13d-5b22186be25c" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:InterestPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">988</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Supplemental disclosure of non-cash investing and financing activities:</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Assets acquired under operating leases</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8cdc99fc-02f7-4f6c-ab85-dc961408ea71" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,335</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_37fbd3c6-5dcb-443b-86b2-723239c52fee" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4669f4aa-2e96-4508-b67d-ae756f2da27e" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ce0e0fe2-8542-4a34-8223-97a9cdc25998" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,335</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Fair value of shares of common stock issued for acquisitions</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_82bbab0b-5be3-4764-bbac-e156d2a4a004" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:StockIssued1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,569</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6946ec71-f964-42bf-bdc9-45466cc397b2" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:StockIssued1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f26bdbfc-d2b5-4323-8ead-17765c9e9c30" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:StockIssued1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_743eaee8-cc27-4129-9d9d-40bfaa9bc5b7" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:StockIssued1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,569</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Fair value of shares of common stock issued for contingent consideration earnouts</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d905989e-0df2-4f0b-8af4-d5dfbfd0788c" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,229</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3fc1d8cf-86e9-40cb-83ab-7b439a5d9354" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6eebdc6e-7373-4d57-98ba-6ce03f6fea1f" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0a2be097-3d00-487c-a2c8-fd7dfc46878d" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,229</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition date fair value of contingent consideration earnouts</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1e7a0d81-6993-4933-8cf5-ce212b1a23f1" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,640</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d8071d91-ec5d-4218-95e1-a3acc78b022b" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0ea17e50-a6cd-49d8-84f7-619857aa9e62" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dd91d90f-da52-482d-bd5d-14c1027b2284" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,640</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Issuance of 2023 Notes in exchange of 2019 Notes</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e3ee1374-4c44-497f-ba80-8c90ae6a8c3f" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:NotesIssued1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">42,179</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_73206dda-97d5-4cc4-8662-6d78f5983ee2" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:NotesIssued1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_600507af-0f1e-4a04-b48f-1e58823d7ae7" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:NotesIssued1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9968260b-9672-4ab7-856b-347613b0099e" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:NotesIssued1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">42,179</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Extinguished 2019 Notes</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d8df76c9-5df7-4e8b-9386-0631d41afbf2" contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855" name="us-gaap:ExtinguishmentOfDebtAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">29,634</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c40f1937-b4e7-4ad7-a4a5-a5503a10153e" contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d" name="us-gaap:ExtinguishmentOfDebtAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ccf807f3-b5f7-4a19-9cb1-24af0a1bc2fa" contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4" name="us-gaap:ExtinguishmentOfDebtAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a8a94237-1871-4e9c-836a-06196e5e2414" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ExtinguishmentOfDebtAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">29,634</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></ix:continuation></div></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">73</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_2ec5b9d4-83b4-4610-ac4b-dd64a50a1339_5"><div style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_bb9d69b4-1d0d-4aa3-b3d8-30d60fccdcb4_5">
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.443%;box-sizing:content-box;"/>
        <td style="width:1.341%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:10.804%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.341%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:10.804%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.461%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:10.804%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Year Ended December 31, 2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Revised</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash flows from operating activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Adjustments to reconcile net income to net cash provided by operating activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset amortization</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b48149c2-4fb6-4352-8de4-4854814e7cc9" contextRef="C_96331592-f117-43d9-b5ec-35aa5a317f89" name="rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">24,549</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c5c198cf-a7f1-4d08-9ea6-031f1e0d9ba8" contextRef="C_ae41742b-f99e-42ca-9480-c8113505d556" name="rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">30,576</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d6b2b4b2-99f1-441f-b114-d7ad0cc0919d" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">6,027</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Changes in operating assets and liabilities, excluding impact of acquisitions:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c04b6d58-4dcf-4cf8-8b80-fdfed724a321" contextRef="C_96331592-f117-43d9-b5ec-35aa5a317f89" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">28,623</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c1c612d1-7792-45fd-b2a0-4ee1481be50a" contextRef="C_ae41742b-f99e-42ca-9480-c8113505d556" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">30,576</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_099215af-0970-47a3-ba1a-cbc008d7174d" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,953</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash provided by operating activities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3c4b54c7-0fb7-4356-9221-c9adce01ed81" contextRef="C_96331592-f117-43d9-b5ec-35aa5a317f89" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">172,083</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fff2ef8e-f5c7-4253-adf0-01f14de02f4a" contextRef="C_ae41742b-f99e-42ca-9480-c8113505d556" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9ffd219b-5a55-4c77-a4b3-021f1ecd010d" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">172,083</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Supplemental disclosure of non-cash investing and financing activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition of intangible assets and issuance of financing liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7541316d-5e73-4ffe-9eaf-03de169166fa" contextRef="C_ae41742b-f99e-42ca-9480-c8113505d556" name="us-gaap:NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,948</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5065e4e5-dc42-4c34-8ce7-2364cd012840" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,948</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.443%;box-sizing:content-box;"/>
        <td style="width:1.341%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:10.804%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.341%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:10.804%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.461%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:10.804%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Year Ended December 31, 2021</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Revised</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash flows from operating activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Adjustments to reconcile net income to net cash provided by operating activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset amortization</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dc4cd17b-27a5-4b48-b27a-ce00944455a0" contextRef="C_02c52a78-79ec-40d7-b349-18e33fddba71" name="rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,315</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_08989c42-ee77-42bf-acff-003ba11dc99b" contextRef="C_19468930-07e5-4404-a47f-5ed70bd40065" name="rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">14,870</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0b91af35-e9e0-4244-84bb-774ad77a4cc4" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">10,555</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Changes in operating assets and liabilities, excluding impact of acquisitions:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4905f8f0-8dc1-48f4-b3d6-988724922ef7" contextRef="C_02c52a78-79ec-40d7-b349-18e33fddba71" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,958</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4a7d3d56-5033-4508-8575-d392971d6be7" contextRef="C_19468930-07e5-4404-a47f-5ed70bd40065" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">14,870</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c1b50f21-77db-4a2b-862c-05983b019a9f" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">7,912</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash provided by operating activities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_71ebbd9f-0a3a-4499-b0b7-934d24695332" contextRef="C_02c52a78-79ec-40d7-b349-18e33fddba71" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">119,016</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ce0975d7-c32c-498a-9ced-d544fd1debb8" contextRef="C_19468930-07e5-4404-a47f-5ed70bd40065" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_91182db2-36df-4fa4-94f0-bdc539b876d3" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">119,016</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:continuation></div></ix:continuation></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_ef7bfd36-b21f-46f5-9f5c-c3f8288c9049" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:NatureOfOperations" escape="true" continuedAt="F_ef7bfd36-b21f-46f5-9f5c-c3f8288c9049_1"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">2.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Organization and Nature of Busines</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">s</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Repligen Corporation (NASDAQ: RGEN) is a global life sciences company that develops and commercializes highly innovative bioprocessing technologies and systems that increase efficiencies and flexibility in the process of manufacturing biological drugs.  The Company&#8217;s franchises include filtration, chromatography, process analytics and proteins. See Part I, Item 1. &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business - Our Products&#8221;, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">of this report for additional information related to the Company's products. The Company&#8217;s bioprocessing products are sold to major life sciences companies, biopharmaceutical development companies and contract manufacturing organizations worldwide. The Company operates under one reportable segment. The Company&#8217;s chief operating decision maker (&#8220;CODM&#8221;), its Chief Executive Officer (&#8220;CEO&#8221;), reviews financial information presented on a consolidated basis for purposes of allocating resources and evaluating financial performance. See Note 3, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Summary of Significant Accounting Policies &#8211; Segment Reporting,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">for more information on the Company&#8217;s segment.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A majority of our </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b4b0001b-9d84-4a96-955f-195442af47c6" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="rgen:NumberOfManufacturingSites" unitRef="U_Sites" decimals="INF" format="ixt:num-dot-decimal">19</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> manufacturing sites are located in the United States (California, Massachusetts, New Hampshire, New Jersey, New York and Texas). Outside the United States, we have manufacturing sites in Estonia, France, Germany, Ireland, the Netherlands and Sweden.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div>
  <p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><ix:continuation id="F_ef7bfd36-b21f-46f5-9f5c-c3f8288c9049_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company is subject to a number of risks typically associated with companies in the biotechnology industry. These risks principally include the Company&#8217;s dependence on key customers, development by the Company or its competitors of new technological innovations, dependence on key personnel, protection of proprietary technology, compliance with the U.S. Food and Drug Association and other governmental regulations and approval requirements, as well as the ability to grow the Company&#8217;s business and obtain adequate funding to finance this growth.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div><ix:nonNumeric id="F_e6a3867f-fbae-45e5-944b-12881ac67995" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:SignificantAccountingPoliciesTextBlock" escape="true" continuedAt="F_e6a3867f-fbae-45e5-944b-12881ac67995_1"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">3.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Summary of Significant Accounting Policies </span></div></div><div><ix:nonNumeric id="F_aabc0153-70df-4f8c-99ef-ff2f56524117" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:UseOfEstimates" escape="true" continuedAt="F_aabc0153-70df-4f8c-99ef-ff2f56524117_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Use of Estimates</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The preparation of financial statements in conformity with accounting principles generally accepted in the United States requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting periods.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div></ix:nonNumeric></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">74</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_e6a3867f-fbae-45e5-944b-12881ac67995_1" continuedAt="F_e6a3867f-fbae-45e5-944b-12881ac67995_2"><div style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_aabc0153-70df-4f8c-99ef-ff2f56524117_1" continuedAt="F_aabc0153-70df-4f8c-99ef-ff2f56524117_2"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Significant estimates and assumptions by management affect the Company&#8217;s revenue recognition for multiple element arrangements, allowance for credit losses, the net realizable value of inventory, valuations and purchase price allocations related to business combinations, contingent consideration, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, estimates related to the fair value of the conversion features of the convertible notes for purposes of assessing whether debt extinguishment or modification accounting applies to the Company&#8217;s debt exchange, stock-based compensation, tax reserves and recoverability of the Company&#8217;s net deferred tax assets and related valuation allowance.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:continuation></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><ix:continuation id="F_aabc0153-70df-4f8c-99ef-ff2f56524117_2"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Although the Company regularly assesses these estimates, actual results could differ materially from these estimates. Changes in estimates are recorded in the period in which they become known. The Company bases its estimates on historical experience and various other assumptions that it believes to be reasonable under the circumstances.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_cb00d731-e54f-4e1c-976e-3ee8036bfa6a" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Basis of Presentation</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All significant intercompany accounts and transactions have been eliminated in consolidation. Certain prior year balances have changed to reflect current year presentation.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_d76e29b4-2529-40ea-afe4-a20fcedfebfb" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" escape="true" continuedAt="F_d76e29b4-2529-40ea-afe4-a20fcedfebfb_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Foreign Currency</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><ix:continuation id="F_d76e29b4-2529-40ea-afe4-a20fcedfebfb_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company translates the assets and liabilities of its foreign subsidiary at rates in effect at the end of the reporting period. Revenues and expenses are translated at average rates in effect during the reporting period. Translation adjustments include adjustments related to the Company&#8217;s various intercompany loans with foreign subsidiaries. Intercompany loans determined to be permanent are remeasured at each period end and included in accumulated other comprehensive loss on the consolidated balance sheets. Intercompany loans with foreign subsidiaries determined to be repayable are remeasured at each period end and included in other income (expenses) on the consolidated statements of comprehensive income.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><div><ix:nonNumeric id="F_9ccc9706-4533-4336-a131-8ef85afc6ce6" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:RevenueRecognitionPolicyTextBlock" escape="true" continuedAt="F_9ccc9706-4533-4336-a131-8ef85afc6ce6_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Revenue Recognition</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company generates revenue from the sale of bioprocessing products, equipment devices, and related consumables used with these equipment devices to customers in the life sciences and biopharmaceutical industries. Under Accounting Standard Codification No. (&#8220;ASC&#8221;) 606, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Revenue from Contracts with Customers,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">revenue is recognized when, or as, obligations under the terms of a contract are satisfied, which occurs when control of the promised products or services is transferred to customers.  Revenue is measured as the amount of consideration the Company expects to receive in exchange for transferring products or services to a customer (&#8220;transaction price&#8221;).  To the extent the transaction price includes variable consideration, the Company estimates the amount of variable consideration that should be included in the transaction price utilizing the expected value method or the most likely amount method, depending on the facts and circumstances relative to the contract.  Variable consideration is included in the transaction price if, in the Company&#8217;s judgment, it is probable that a significant future reversal of cumulative revenue under the contract will not occur.  Estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on an assessment of the Company&#8217;s anticipated performance and all information (historical, current and forecasted) that is reasonably available.  Sales, value add, and other taxes collected on behalf of third parties are excluded from revenue.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">When determining the transaction price of a contract, an adjustment is made if payment from a customer occurs either significantly before or significantly after performance, resulting in a significant financing component.  Applying the practical expedient in paragraph 606-10-32-18, the Company does not assess whether a significant financing component exists if the period between when the Company performs its obligations under the contract and when the customer pays is one year or less.  None of the Company&#8217;s contracts contained a significant financing component as of December 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Contracts with customers may contain multiple performance obligations.  For such arrangements, the transaction price is allocated to each performance obligation based on the estimated relative standalone selling prices of the promised products or services underlying each performance obligation.  The Company determines standalone selling prices based on the price at which the performance obligation is sold separately.  If the standalone selling price is not observable through past transactions, the</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">75</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_e6a3867f-fbae-45e5-944b-12881ac67995_2" continuedAt="F_e6a3867f-fbae-45e5-944b-12881ac67995_3"><div style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_9ccc9706-4533-4336-a131-8ef85afc6ce6_1" continuedAt="F_9ccc9706-4533-4336-a131-8ef85afc6ce6_2"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Company estimates the standalone selling price taking into account available information such as market conditions and internally approved pricing guidelines related to the performance obligations.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company recognizes product revenue under the terms of each customer agreement upon transfer of control to the customer, which occurs at a point in time.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:continuation></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><ix:continuation id="F_9ccc9706-4533-4336-a131-8ef85afc6ce6_2"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Shipping and handling fees are recorded as a component of product revenue, with the associated costs recorded as a component of cost of product revenue.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_42631e44-01ca-4715-bce9-e74239054f9b" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" escape="true" continuedAt="F_42631e44-01ca-4715-bce9-e74239054f9b_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Risks and Uncertainties</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><ix:continuation id="F_42631e44-01ca-4715-bce9-e74239054f9b_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company evaluates its operations periodically to determine if any risks and uncertainties exist that could impact its operations in the near term. The Company does not believe that there are any significant risks that have not already been disclosed in the consolidated financial statements. A loss of certain suppliers could temporarily disrupt operations, although alternate sources of supply exist for these items. The Company has mitigated these risks by working closely with key suppliers, identifying alternate sources and developing contingency plans.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_2ea3645d-7aa6-42c9-9451-82abbbb2f2b7" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" escape="true" continuedAt="F_2ea3645d-7aa6-42c9-9451-82abbbb2f2b7_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cash, Cash Equivalents and Restricted Cash</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Cash and cash equivalents include cash on hand and on deposit. Highly liquid investments in money market mutual funds with an original maturity of three months or less are classified as cash equivalents. All cash equivalents are carried at cost, which approximates fair value. Restricted cash represents cash that is restricted as to withdrawal or usage. There was no restriction on the Company&#8217;s cash balance as of December 31, 2023 and 2022.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_2ea3645d-7aa6-42c9-9451-82abbbb2f2b7_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s cash, cash equivalents and restricted cash total as presented in the Company&#8217;s consolidated statements of cash flows for the years ended December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_42884275-c404-4189-a99f-87f1c3eb4611" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">751.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eed15646-5e64-4163-a6af-98fa2e47c0d4" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">523.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_330c9c73-5622-4d8a-a94c-244d994c8cf7" contextRef="C_82911078-bdd7-49a5-87bb-adfb316a68b0" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">603.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_597fb013-693c-4208-89ba-70f660d3dec0" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:DerivativesPolicyTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Instruments</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company evaluates the embedded conversion feature within its convertible debt instruments under Accounting Standards Codification (&#8220;ASC&#8221;) 815, &#8221;Derivatives and Hedging.&#8221; The Company refers to ASC 815-15 and ASC 815-40 to determine if the conversion feature meets the definition of a derivative and, if so, whether to bifurcate the conversion feature and account for it as a separate derivative liability.  Based on the Company&#8217;s analysis, its Convertible Senior Notes do not have an embedded conversion feature requiring bifurcation under ASC 815-15 and thus are accounted for as a single unit of account, a liability under ASC 470, &#8221;Debt.&#8221;</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_623cfda9-9868-47a1-b758-9d84b114957d" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:MarketableSecuritiesPolicy" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Investment Securities</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We classify our investment securities in one of three categories: held to maturity, trading, or available for sale. Our investment portfolio at December 31, 2022 consisted of an investment in U.S. treasury bills classified as held to maturity which was included in the Company's consolidated balance sheets under marketable securities held to maturity. These marketable securities matured in June 2023 and there are no comparable investments as of December 31, 2023. Securities that we have the positive intent and ability to hold to maturity are classified as held to maturity and stated at amortized cost in the consolidated balance sheets. Management determines the appropriate classification of securities at the time of purchase based upon management's intent with regards to such investment and reevaluates such designation as of each balance sheet date. The Company's investment policy requires that it only invest in high-rated securities and limit its exposure to any single-user. There were no realized or unrealized gains or losses on investments recorded as of December 31, 2023, 2022 and 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company classifies marketable securities as short-term when they have remaining contractual maturities of one year or less from the balance sheet date. The Company periodically assesses its marketable securities, if any, for impairment or credit losses.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div><div><ix:nonNumeric id="F_03a470cd-30cf-40ac-ac56-7cd0f254786b" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:FairValueMeasurementPolicyPolicyTextBlock" escape="true" continuedAt="F_03a470cd-30cf-40ac-ac56-7cd0f254786b_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value Measurement</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In determining the fair value of its assets and liabilities, the Company uses various valuation approaches. The Company employs a hierarchy for inputs used in measuring fair value that maximizes the use of observable inputs and minimizes the use of</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">76</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_e6a3867f-fbae-45e5-944b-12881ac67995_3" continuedAt="F_e6a3867f-fbae-45e5-944b-12881ac67995_4"><div style="font-size:12pt;font-family:Times New Roman;"><ix:continuation id="F_03a470cd-30cf-40ac-ac56-7cd0f254786b_1" continuedAt="F_03a470cd-30cf-40ac-ac56-7cd0f254786b_2"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">unobservable inputs by requiring that observable inputs be used when available. Observable inputs are inputs that market participants would use in pricing the asset or liability based on market data obtained from sources independent of the Company. Unobservable inputs are inputs that reflect the Company&#8217;s assumptions about the inputs that market participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances. The fair value hierarchy is broken down into three levels based on the source of inputs as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:3.333%;border-spacing:0;table-layout:fixed;width:96.0%;border-collapse:separate;">
       <tr style="visibility:collapse;">
        <td style="width:8.08%;box-sizing:content-box;"/>
        <td style="width:91.92%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Level 1  &#8211;</span></p></td>
        <td style="padding-top:0in;text-indent:5pt;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities that the Company has the ability to access.</span></p></td>
       </tr>
       <tr style="height:5.75pt;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"><p style="font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;text-indent:5pt;vertical-align:middle;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Level 2  &#8211;</span></p></td>
        <td style="padding-top:0in;text-indent:5pt;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Valuations based on quoted prices for similar assets or liabilities in active markets, quoted prices for identical or similar assets or liabilities.</span></p></td>
       </tr>
       <tr style="height:5.75pt;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"><p style="font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;text-indent:5pt;vertical-align:middle;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Level 3  &#8211;</span></p></td>
        <td style="padding-top:0in;text-indent:5pt;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Valuations based on inputs that are unobservable and significant to the overall fair value measurement.</span></p></td>
       </tr>
      </table></ix:continuation></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><ix:continuation id="F_03a470cd-30cf-40ac-ac56-7cd0f254786b_2"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The availability of observable inputs can vary among the various types of financial assets and liabilities. To the extent that the valuation is based on models or inputs that are less observable or unobservable in the market, the determination of fair value requires more judgment. In certain cases, the inputs used to measure fair value may fall into different levels of the fair value hierarchy. In such cases, for financial statement disclosure purposes, the level in the fair value hierarchy within which the fair value measurement is categorized is based on the lowest level input that is significant to the overall fair value measurement.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_0fb928a4-ae7c-46b5-a3ee-c02706f5074e" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:CreditLossFinancialInstrumentPolicyTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Allowance for credit losses</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We establish an allowance for credit losses through a review of several factors, including historical collection experience, current aging status of the customer accounts, and current financial condition of our customers. Losses are charged against the allowance when the customer accounts are determined to be uncollectible.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_0eb748aa-c61d-4696-bcb2-27de203d2b3d" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:InventoryPolicyTextBlock" escape="true" continuedAt="F_0eb748aa-c61d-4696-bcb2-27de203d2b3d_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Inventories</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inventories relate to the Company&#8217;s bioprocessing business. The Company values inventory at cost or, if lower, net realizable value, using the first-in, first-out method. The Company reviews its inventories at least quarterly and records a provision for excess and obsolete inventory based on its estimates of expected sales volume, production capacity and expiration dates of raw materials, work-in-process and finished products. The Company writes down inventory that has become obsolete, inventory that has a cost basis in excess of its expected net realizable value, and inventory in excess of expected requirements to cost of product revenue. Manufacturing of bioprocessing finished goods is done to order and tested for quality specifications prior to shipment.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A change in the estimated timing or amount of demand for the Company&#8217;s products could result in additional provisions for excess inventory quantities on hand. Any significant unanticipated changes in demand or unexpected quality failures could have a significant impact on the value of inventory and reported operating results. During all periods presented in the accompanying consolidated financial statements, there have been no material adjustments related to a revised estimate of inventory valuations.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><ix:continuation id="F_0eb748aa-c61d-4696-bcb2-27de203d2b3d_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Work-in-process and finished products inventories consist of material, labor, outside processing costs and manufacturing overhead.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div><ix:nonNumeric id="F_504a6ba6-61e3-4417-b907-ebc3e04734e3" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:LoansAndLeasesReceivableLeaseFinancingPolicy" escape="true" continuedAt="F_504a6ba6-61e3-4417-b907-ebc3e04734e3_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Lease Accounting</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company adopted Accounting Standards Update No. (&#8220;ASU&#8221;) 2016-02, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Leases (Topic 842)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8221; (&#8220;ASC 842&#8221;) as of January 1, 2019. Under ASC 842, the Company determines whether the arrangement contains a lease at the inception of an arrangement. If a lease is identified in an arrangement, the Company recognizes a right-of-use asset and liability on its consolidated balance sheets and determines whether the lease should be classified as a finance or operating lease. The Company does not recognize assets or liabilities for leases with lease terms of less than 12 months.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A lease qualifies as a finance lease if any of the following criteria are met at the inception of the lease: (i) there is a transfer of ownership of the leased asset to the Company by the end of the lease term, (ii) the Company holds an option to purchase the</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">77</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_e6a3867f-fbae-45e5-944b-12881ac67995_4" continuedAt="F_e6a3867f-fbae-45e5-944b-12881ac67995_5"><div style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_504a6ba6-61e3-4417-b907-ebc3e04734e3_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">leased asset that it is reasonably certain to exercise, (iii) the lease term is for a major part of the remaining economic life of the leased asset, (iv) the present value of the sum of lease payments equals or exceeds substantially all of the fair value of the leased asset, or (v) the nature of the leased asset is specialized to the point that it is expected to provide the lessor no alternative use at the end of the lease term. All other leases are recorded as operating leases.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Finance and operating lease assets and liabilities are recognized at the lease commencement date based on the present value of the lease payments over the lease term using the discount rate implicit in the lease. If the rate implicit is not readily determinable, the Company utilizes its incremental borrowing rate at the lease commencement date. Operating lease assets are further adjusted for prepaid or accrued lease payments. Operating lease payments are expensed using the straight-line method as an operating expense over the lease term. Finance lease assets are amortized to depreciation expense using the straight-line method over the shorter of the useful life of the related asset or the lease term. Finance lease payments are bifurcated into (i) a portion that is recorded as imputed interest expense and (ii) a portion that reduces the finance liability associated with the lease.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company does not separate lease and non-lease components when determining which lease payments to include in the calculation of its lease assets and liabilities. Variable lease payments are expensed as incurred. If a lease includes an option to extend or terminate the lease, the Company reflects the option in the lease term if it is reasonably certain it will exercise the option.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Finance leases are recorded in property, plant and equipment, net, other current liabilities and long-term finance lease liabilities and operating leases are recorded in operating lease right of use assets, operating lease liability and operating lease liability, long-term on the Company&#8217;s consolidated balance sheets.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Certain of the Company&#8217;s operating leases where the Company is the lessee provide for minimum annual payments that increase over the life of the lease. Some of these leases include obligations to pay for other services, such as operations and maintenance. For leases of property, the Company accounts for these other services as a component of the lease. The aggregate minimum annual payments are expensed on the straight-line basis beginning when the Company takes possession of the property and extending over the term of the related lease, including renewal options when the exercise of the option is reasonably certain as an economic penalty may be incurred if the option is not exercised. The Company also accounts in its straight-line computation for the effect of any &#8220;rental holidays.&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Operating lease assets represent the Company&#8217;s right to use an underlying asset for the lease term and lease liabilities represent the Company&#8217;s obligation to make lease payments arising from the lease. Operating lease assets and liabilities are recognized at the lease commencement date based on the estimated present value of the fixed lease payments, reduced by landlord incentives using a discount rate based on similarly secured borrowings available to the Company. Most of the leases do not provide implicit interest rates and therefore the Company determines the discount rate based on its incremental borrowing rate. The incremental borrowing rate for the Company&#8217;s leases is determined based on lease term and currency in which the lease payments are made.</span></p></ix:continuation></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_8cacef10-3c88-4ed5-befb-416bfdf57af7" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:AccruedLiabilitiesPolicyTextBlock" escape="true" continuedAt="F_8cacef10-3c88-4ed5-befb-416bfdf57af7_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accrued Liabilities</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company estimates accrued liabilities by identifying services performed on the Company&#8217;s behalf, estimating the level of service performed and determining the associated cost incurred for such service as of each balance sheet date. For example, the Company would accrue for professional and consulting fees incurred with law firms, audit and accounting service providers and other third-party consultants. These expenses are determined by either requesting those service providers to estimate unbilled services at each reporting date for services incurred or tracking costs incurred by service providers under fixed fee arrangements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><ix:continuation id="F_8cacef10-3c88-4ed5-befb-416bfdf57af7_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company has processes in place to estimate the appropriate amounts to record for accrued liabilities, which principally involve the applicable personnel reviewing the services provided. In the event that the Company does not identify certain costs that have begun to be incurred or the Company under or over-estimates the level of services performed or the costs of such services, the reported expenses for that period may be too low or too high. The date on which certain services commence, the level of services performed on or before a given date, and the cost of such services often require the exercise of judgment. The Company makes these judgments based upon the facts and circumstances known at the date of the consolidated financial statements.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">78</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_e6a3867f-fbae-45e5-944b-12881ac67995_5" continuedAt="F_e6a3867f-fbae-45e5-944b-12881ac67995_6"><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_54004bf2-39c5-4d0c-ac73-b8c42ab325f1" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncomeTaxPolicyTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Income Taxes</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Deferred taxes are determined based on the difference between the consolidated financial statements and tax basis of assets and liabilities using enacted tax rates in effect in the years in which the differences are expected to reverse. Valuation allowances are provided, if, based upon the weight of available evidence, it is more likely than not that some or all of the deferred tax assets will not be realized. The Company accounts for uncertain tax positions using a &#8220;more-likely-than-not&#8221; threshold for recognizing and resolving uncertain tax positions. The evaluation of uncertain tax positions is based on factors including, but not limited to, changes in tax law, the measurement of tax positions taken or expected to be taken in tax returns, the effective settlement of matters subject to audit, new audit activity and changes in facts or circumstances related to a tax position. The Company evaluates this tax position on a quarterly basis. The Company also accrues for potential interest and penalties related to unrecognized tax benefits in income tax expense. The Company is subject to a territorial tax system under the Tax Cuts and Jobs Act enacted in December 2017, in which the Company is required to provide for tax on Global Intangible Low-Taxed Income (&#8220;GILTI&#8221;) earned by certain foreign subsidiaries. The Company has adopted an accounting policy to provide for the tax expense related to GILTI in the year the tax is incurred as a period expense.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_b7bc02ed-540d-4d3e-bde1-2effce754d28" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" escape="true" continuedAt="F_b7bc02ed-540d-4d3e-bde1-2effce754d28_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Property, Plant &amp; Equipment</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_b27df4ba-246c-403f-a20f-073ea611052b" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property, plant &amp; equipment is recorded at cost less allowances for depreciation. Depreciation is calculated using the straight-line method over the estimated useful life of the asset as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
        <table style="margin-left:3.333%;border-spacing:0;table-layout:fixed;width:96.0%;border-collapse:separate;">
         <tr style="visibility:collapse;">
          <td style="width:45.7%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:53.3%;box-sizing:content-box;"/>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.5pt solid;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Classification</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated Useful Life</span></p></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Buildings</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><ix:nonNumeric id="F_a214ff37-5b0b-41f7-98d9-65e7406aa091" contextRef="C_86a748c8-c612-4cdb-ae92-87b947f1df49" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Thirty years</span></ix:nonNumeric></span></p></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Leasehold improvements</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_97c658e9-763a-4c74-b869-847703160c86;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Shorter of the term of the lease or estimated useful life</span></span></span></p></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equipment</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_951db97f-38a2-4f75-b2a0-786c13d36d24;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Three</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to </span><span><ix:nonNumeric id="F_27677132-dedc-40b7-aa4e-20ebb3a0216d" contextRef="C_7f338a95-2d65-45f1-9fb3-126f775914f6" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">twelve years</span></ix:nonNumeric></span></p></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Furniture, fixtures and office equipment</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_a515c115-d6c2-4112-a709-4feb4a3856a2;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Three</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to </span><span><ix:nonNumeric id="F_7113ffea-1cb2-4dfb-b222-eb8b1f51e9fd" contextRef="C_1e8e8c9a-8ef5-4d29-ad8a-567d523c650e" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">eight years</span></ix:nonNumeric></span></p></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Computer hardware and software</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_dbc0aa1e-92ac-4d71-9c5b-67e87dcc2701;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Three</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to </span><span><ix:nonNumeric id="F_b0f83ce6-a297-43d9-938f-19407231005e" contextRef="C_c5357c8f-638a-4156-89d4-9566b631c253" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">seven years</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;or estimated useful life</span></p></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vehicles</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><ix:nonNumeric id="F_2f5f6220-ca3a-49a0-89a4-5d0f08d54a11" contextRef="C_2306aad4-6e30-4ac6-91da-b9012537d38e" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Five years</span></ix:nonNumeric></span></p></td>
         </tr>
        </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Upon disposal of property, plant &amp; equipment, the cost of the asset and the accumulated depreciation are removed from the accounts and the resulting gain or loss is reflected in our results of operations. Fully depreciated assets are not removed from the accounts until they are physically disposed of.</span></p></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><ix:continuation id="F_b7bc02ed-540d-4d3e-bde1-2effce754d28_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Certain systems development costs related to the purchase, development and installation of computer software developed or obtained for internal use are capitalized and depreciated over the estimated useful life of the related project. Costs incurred prior to the development stage, as well as maintenance, training costs, and general and administrative expenses are expensed as incurred.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div><ix:nonNumeric id="F_8ed6fc73-77e4-4417-9c25-7ff2a11ea4c4" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:EarningsPerSharePolicyTextBlock" escape="true" continuedAt="F_8ed6fc73-77e4-4417-9c25-7ff2a11ea4c4_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Earnings Per Share</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company reports earnings per share (&#8220;EPS&#8221;) in accordance with ASC 260, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">"Earnings Per Share," </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">which establishes standards for computing and presenting EPS. Basic EPS is computed by dividing net income available to common shareholders by the weighted average number of common shares outstanding during the period. Diluted EPS is computed by dividing net income available to common shareholders by the weighted-average number of common shares and dilutive common share equivalents outstanding during the period. Potential common share equivalents consist of restricted stock awards (including performance stock units) and the incremental common shares issuable upon the exercise of stock options and warrants. Under the treasury stock method, unexercised &#8220;in-the-money&#8221; stock options are assumed to be exercised at the beginning of the period or at issuance, if later. The assumed proceeds are then used to purchase common shares at the average market price during the period. In periods when the Company has a net loss, stock awards are excluded from the calculation of earnings per share as their inclusion would have an antidilutive effect.</span></p></ix:nonNumeric></div></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">79</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_e6a3867f-fbae-45e5-944b-12881ac67995_6" continuedAt="F_e6a3867f-fbae-45e5-944b-12881ac67995_7"><div><ix:continuation id="F_8ed6fc73-77e4-4417-9c25-7ff2a11ea4c4_1" continuedAt="F_8ed6fc73-77e4-4417-9c25-7ff2a11ea4c4_2"><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_b1315c7c-5d72-4cea-89d2-2c38929ee22b" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A reconciliation of basic and diluted weighted average share outstanding is as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
        <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
         <tr style="visibility:collapse;">
          <td style="width:57.477%;box-sizing:content-box;"/>
          <td style="width:1.399%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:10.776%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:1.399%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:10.776%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:1.399%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:10.776%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands, except per share data)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Numerator:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6fdeb397-014b-4ad5-a692-6647edd454e3" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">35,596</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_96731ea6-bffa-40e5-b322-7ffd470336cc" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">185,959</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5a2aaa4b-bad3-4443-be3a-b2dbcc66376a" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">128,291</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of dilutive securities:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;Charges associated with convertible debt instruments, net of tax</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6f0b6c02-7fc3-4730-a262-bb596b5fd1ab" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:InterestOnConvertibleDebtNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5a548b45-36e7-4334-b9ba-29f5e338c593" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:InterestOnConvertibleDebtNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">387</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c547bf98-83ed-4e75-b56f-cb2ed510071e" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:InterestOnConvertibleDebtNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;Numerator for diluted earnings per share - net income available to common stockholders after the effect of dilutive securities</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ce43711e-d332-4c45-af53-2450b36d6353" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:NetIncomeLossAttributableToParentDiluted" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">35,596</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7cefec3f-594f-4b36-aada-4f82e6013b86" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:NetIncomeLossAttributableToParentDiluted" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">186,346</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0388b4db-29e2-4968-b909-b6e775728217" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:NetIncomeLossAttributableToParentDiluted" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">128,291</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Denominator:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average shares used in computing net income per<br/>&#160;&#160;&#160;share - basic</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b8e6c8d9-99ed-4008-beec-3161420ed936" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:NumberOfSharesBasicOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">55,720</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_866815ec-91d4-404a-8b76-5872a6b8f15b" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:NumberOfSharesBasicOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">55,460</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5a7e1cc7-0b27-48d6-ada5-d70092b4e8e0" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:NumberOfSharesBasicOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">55,015</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of dilutive shares:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options and stock units</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1729b132-f2b1-4bf3-9133-8ac7861de1ce" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:WeightedAverageNumberOfSharesRestrictedStock" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">457</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6efc2fd2-ed6f-4931-9905-fca28a357cd4" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:WeightedAverageNumberOfSharesRestrictedStock" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">608</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dc460c07-9d33-49a3-bc5d-e35aa81c5269" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:WeightedAverageNumberOfSharesRestrictedStock" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">915</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Convertible senior notes</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_861881d7-4892-409d-b731-77fe13d96c22" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">181</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_89b0ea6b-5f84-4ee3-8152-1225892aecf0" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">1,360</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_29c76701-e631-4e49-a3b3-279168f10c46" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">1,253</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7a71958b-7fbb-4786-b732-1bd133ecf143" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">8</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9b5828ba-5d13-444c-8a2b-f138d7b8eaca" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">11</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aabbe6b5-54b0-4351-89ad-88bf02afac52" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" unitRef="U_shares" decimals="INF" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Dilutive effect of unvested performance stock units</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_89e7a7f9-bc37-41aa-a50f-805f2457efbd" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">11</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_88682bb8-b22d-4529-a708-57e58909223c" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">16</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_11b59b4c-4a36-4424-bfca-9de21616782c" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">81</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Dilutive potential common shares</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_233bad57-84b2-47de-9730-baf737fd926b" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">657</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8f27bfdd-6d1d-4886-aa39-d120b89669bc" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">1,995</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c2262554-a115-4632-a186-50c14e4804e3" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">2,249</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b9651fcf-c803-46f1-a136-3ac94640a4df" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">56,377</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_95cc9958-d53c-456a-afcb-9211a1920605" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">57,455</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ce23e076-b722-4757-83f3-3c2d279d7518" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">57,264</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnings per share:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Basic</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ca568047-05f1-4a82-aa20-54f08c8fe107" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:EarningsPerShareBasic" unitRef="U_UnitedStatesOfAmericaDollarsShare" decimals="INF" format="ixt:num-dot-decimal">0.64</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ba39475d-61ef-4790-a9bd-067cb5e3d9bd" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:EarningsPerShareBasic" unitRef="U_UnitedStatesOfAmericaDollarsShare" decimals="INF" format="ixt:num-dot-decimal">3.35</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_668840f2-b5b4-41f3-aa59-83b4158c6336" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:EarningsPerShareBasic" unitRef="U_UnitedStatesOfAmericaDollarsShare" decimals="INF" format="ixt:num-dot-decimal">2.33</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Diluted</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_40792667-6832-4e87-8abd-ecbb5bb99ed6" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:EarningsPerShareDiluted" unitRef="U_UnitedStatesOfAmericaDollarsShare" decimals="INF" format="ixt:num-dot-decimal">0.63</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6a93ffdb-46dc-4767-a37c-d2d508937fe8" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:EarningsPerShareDiluted" unitRef="U_UnitedStatesOfAmericaDollarsShare" decimals="INF" format="ixt:num-dot-decimal">3.24</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e4bee34a-cf58-4fe7-9fa3-7b8d61fea64b" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:EarningsPerShareDiluted" unitRef="U_UnitedStatesOfAmericaDollarsShare" decimals="INF" format="ixt:num-dot-decimal">2.24</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><ix:footnote id="FNT_bfc3ab98-c8da-4fff-a74b-15614015aed9" xml:lang="en-US"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the dilutive impact for the Company's </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3372c2d6-151c-4506-8390-a2ffc425111c" contextRef="C_dd71ae59-f1fd-409e-b94a-3357654f6efd" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" unitRef="U_pure" scale="-2" decimals="5" format="ixt:num-dot-decimal">0.375</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% Convertible Senior Notes due 2024 (the &#8220; 2019 Notes&#8221;) and its </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_101840b5-21a4-41fe-a3c1-839f212b3076" contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">1.00</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% Convertible Senior Notes due 2028 (the &#8220;2023 Notes&#8221;). As of December 31, 2023, the if-converted value is less than the outstanding principal of the 2023 Notes and are therefore anti-dilutive. Refer to Note 15, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> for more information.</span></ix:footnote></div></div></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For the years ended December 31, 2023, 2022 and 2021, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7e5a590f-58e3-468c-9ecf-bcaf57d0354d" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">306,849</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e945676b-facf-48c2-98bf-cfc4d4833c6b" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">177,318</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares and </span><span style="font-size:10pt;font-family:Times New Roman;white-space:pre-wrap;min-width:fit-content;color:#000000;"><ix:nonFraction id="F_708708c8-a8fa-4123-99ca-a93b99ae877c" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">68,968</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares, respectively, of the Company&#8217;s common stock were excluded from the calculation of diluted earnings per share because they would have had an anti-dilutive effect for years presented.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In July 2019, the Company issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0e28fbb2-c751-4d31-a31a-9bfccecc1d14" contextRef="C_fb630dbe-e192-4d10-a0bc-d7caa78ff0b7" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">287.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of its 2019 Notes. As provided by the terms of the indenture underlying the 2019 Notes, prior to March 4, 2022, conversion of the 2019 Notes could have been settled in cash, shares of the Company&#8217;s common stock or a combination thereof, at the Company&#8217;s election. On March 4, 2022, we entered into the Second Supplemental Indenture for the 2019 Notes, which irrevocably elected to settle the conversion of the 2019 Notes using a combination of cash and shares of the Company's common stock, settling the par value of the 2019 Notes in cash and any excess conversion premium in shares. On December 14, 2023, the Company exchanged, in a privately negotiated exchange, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f4e2e583-cd6c-4b57-8d34-bd07ff96ad73" contextRef="C_b4d4e915-4714-412b-939b-5521b848cb6e" name="us-gaap:DebtInstrumentCarryingAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">309.9</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million principal amount of 2023 Notes for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2336c732-6b9e-4648-94f7-5fc2bd977194" contextRef="C_29a848f4-ea3f-496e-98fb-674103147d75" name="us-gaap:DebtInstrumentCarryingAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">217.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million principal amount of 2019 Notes and issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_426370bd-f7c9-4183-a723-a7e59491b52b" contextRef="C_b4d4e915-4714-412b-939b-5521b848cb6e" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">290.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of 2023 Notes for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f75ccb96-fbb2-45c7-8611-ec220c9d4d7f" contextRef="C_b4d4e915-4714-412b-939b-5521b848cb6e" name="us-gaap:Cash" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">290.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash. Following the close of the Exchange Transaction, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fac7548c-70a1-44dc-9761-b2066ddbe0a2" contextRef="C_29a848f4-ea3f-496e-98fb-674103147d75" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">69.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in aggregate principal amount of 2019 Notes remains outstanding with terms unchanged.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As provided by the terms of the Second Supplemental Indenture underlying the 2019 Notes, the Company irrevocably elected to settle the conversion obligation for the 2019 Notes in a combination of cash and shares of the Company's common stock. This means the Company will settle the par value of the 2019 Notes in cash and any excess conversion premium in shares. As mentioned in Note 15, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Company adopted ASU 2020-06 effective January 1, 2022. Under ASU 2020-06, the Company is required to reflect the dilutive effect of the convertible securities by application of the &#8220;if-converted&#8221; method, which means the denominator of the EPS calculation would include the total number of shares assuming the 2019 Notes had been fully converted at the beginning of the period. Prior to March 4, 2022, the Company had the choice to settle the</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:continuation></div></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">80</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_e6a3867f-fbae-45e5-944b-12881ac67995_7" continuedAt="F_e6a3867f-fbae-45e5-944b-12881ac67995_8"><div style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_8ed6fc73-77e4-4417-9c25-7ff2a11ea4c4_2" continuedAt="F_8ed6fc73-77e4-4417-9c25-7ff2a11ea4c4_3"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">conversion </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">of the 2019 Notes in cash, stock or a combination of the two. Therefore, from January 1, 2022 (the date the Company adopted ASU 2020-06) to March 4, 2022, the Company included </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5081fab1-ad10-446a-beb2-59c61c582f84" contextRef="C_0da3fa68-d185-4ccd-acca-ba79deaa1e03" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">3,474,429</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares in the denominator of the EPS calculation, applying the if converted method. Subsequent to March 4, 2022, after the Second Supplemental Indenture became effective, the Company irrevocably elected to settle the conversion obligation for the 2019 Notes in a combination of cash and shares of the Company's common stock, and from March 5, 2022 forward, only the excess premium will be settled with shares. Under the if-converted method of calculating dilutive shares, the Company was also required to exclude amortization of debt issuance costs and interest charges applicable to the convertible debt from the numerator of the dilutive EPS calculation for the period from January 1, 2022 to March 4, 2022, as if the interest on convertible debt was never recognized for that period. As a result, the Company excluded interest charges of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_63787f5c-4c21-454c-9c5d-eb2dfc085f4a" contextRef="C_4b6f2d99-6a60-4eb8-98f6-539b51a3bc51" name="us-gaap:InterestOnConvertibleDebtNetOfTax" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (net of tax) from the numerator and included </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_09c177e3-5f51-4ace-aff1-1cb7be4e3850" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:DilutiveEffectOnSharesOfConversionPremium" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">1,359,957</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares in the calculation of diluted earnings as the dilutive effect of the conversion premium for the year ended December 31, 2022. There were no comparable amounts included in 2023 or 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:continuation></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_8ed6fc73-77e4-4417-9c25-7ff2a11ea4c4_3"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prior to the adoption of ASU 2020-06, the Company applied the provisions of ASC 260, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Earnings Per Share,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">subsection 10-45-44, to determine the diluted weighted average shares outstanding as it related to the conversion spread on its convertible notes. Accordingly, the par value of the 2019 Notes was not included in the calculation of diluted EPS, but the dilutive effect of the conversion premium was considered in the calculation of diluted EPS using the treasury stock method. The dilutive impact of the 2019 Notes was based on the difference between the Company&#8217;s current period average stock price and the conversion price of the convertible notes, provided there is a premium. Pursuant to this accounting standard, there was no dilution from the accreted principal of the 2019 Notes.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div><ix:nonNumeric id="F_1353f9aa-ce15-4408-b6d7-71d84a4696ec" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:SegmentReportingPolicyPolicyTextBlock" escape="true" continuedAt="F_1353f9aa-ce15-4408-b6d7-71d84a4696ec_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Segment Reporting</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Operating segments are components of an enterprise that engage in business activities for which discrete financial information is available and regularly reviewed by the CODM in deciding how to allocate resources and assess performance. Our CEO has been identified as our CODM.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company views its operations, makes decisions regarding how to allocate resources and manages its business as </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2d7e1264-8659-4a8e-9650-a0e8cfc7cc13" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:NumberOfOperatingSegments" unitRef="U_Segment" decimals="INF" format="ixt-sec:numwordsen">one</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> reportable segment and one reporting unit. As a result, the financial information disclosed herein represents all of the material financial information related to the Company.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_1734bf15-96fb-47dc-aa1b-f9b343ad9267" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents product revenues by product line:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:49.24%;box-sizing:content-box;"/>
          <td style="width:1.66%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:13.26%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:1.66%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:13.26%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:1.66%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:13.26%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span><span style="color:#000000;top:-3.752pt;white-space:pre-wrap;font-weight:bold;font-size:5.36pt;position:relative;min-width:fit-content;">(1)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span><span style="color:#000000;top:-3.752pt;white-space:pre-wrap;font-weight:bold;font-size:5.36pt;position:relative;min-width:fit-content;">(2)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Filtration products</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f509d41c-5da8-4fd0-a453-24a05f8530a4" contextRef="C_45d4a4e0-a4ed-4901-b2d3-5c70924ea702" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">341,379</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5f36d84a-245e-404c-b507-338fd78c2105" contextRef="C_f1ac95cc-2a2f-4c6d-b070-857146dea57d" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">495,930</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ceef037b-2330-4938-b3cb-47e73627807d" contextRef="C_21cb6274-03c5-4f2c-bc2e-1ae30fc4b8c4" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">403,505</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Chromatography products</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b1ffe4ea-7316-444c-b857-e041ec38f9e6" contextRef="C_828b60f1-7f4c-41de-ab48-de2fad2baddf" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">126,629</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5ca081fb-58f5-492b-83ad-8d6fd5445c74" contextRef="C_c7bf4bbb-9480-4f18-a942-b0bebb57bcd5" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">131,680</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_17d8eb53-fd7c-41c5-9e34-f0fd5696908a" contextRef="C_dfb4eed7-fb35-4d58-9cc6-904dd41d7feb" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">91,037</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Process analytics products</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f6e945f7-13e4-49b2-a13c-dcfb5e5be255" contextRef="C_8e95ff1f-a37f-43db-b5d6-e6c7d5095abb" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">56,820</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_80852761-1b85-44f6-b8da-063dacc01eb1" contextRef="C_aa029d8a-3fde-4c72-8a40-44437d26696c" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">53,512</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1b2d0dfc-a3ee-4825-a26b-a787d26cd88c" contextRef="C_3cda38b9-3bf9-4a27-ba89-447c16d2f99b" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">48,019</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Proteins products</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_97909c0e-34ec-4899-a634-334a9e5d2901" contextRef="C_43d07d1c-4638-4ece-a12c-72e135a3b500" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">103,463</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_082b113d-9974-4d50-84f7-101a837d9964" contextRef="C_93e23824-4001-4d83-b57f-abe01e7a1cec" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">114,320</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_38637e94-aeb7-4644-b22e-530ae275b15a" contextRef="C_2ebdc143-b937-4a25-8992-2d85226e2e5e" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">123,707</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_41b171e9-8ee9-4d07-8cdf-b85a169968d2" contextRef="C_ae758623-b001-4707-b9da-c6ce9ead2177" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,688</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b39d4e19-4daa-4383-9c4d-72fa5b24e8a1" contextRef="C_6fbf62a7-4be7-4e53-824d-972254971729" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,741</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a7e85f61-3695-4b3d-bbf0-5a31e53af7bc" contextRef="C_15cb21fa-c992-46f4-b1c5-079db171c763" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,051</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total product revenue</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_587f9d8b-5ff8-439b-a202-ab2e518b9139" contextRef="C_986f06fb-599d-441f-bf85-de13b571525e" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">631,979</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_168a85ec-9893-4170-983e-5eeb5d78e54d" contextRef="C_63d4e2c0-13f1-4b63-a2b4-ed1c5a642163" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">801,183</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_10b7aaf5-58f9-4d2d-bbd4-86ba3f3b8400" contextRef="C_56b5ac01-5af9-4a1e-ae71-eebdd534d000" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">670,319</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table><div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><ix:footnote id="FNT_8160f178-9e0f-4080-97c2-68dfc4345e56" xml:lang="en-US"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#8220;FlexBiosys&#8221;) from April 17, 2023, as well as Metenova Holding AB (&#8220;Metenova&#8221;) from October 2, 2023.</span></ix:footnote></div></div><div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(2)</span><div style="width:100%;display:inline;"><ix:footnote id="FNT_8edd26bf-634c-4946-9577-6e405f9011ec" xml:lang="en-US"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2021 revenue for filtration products includes revenue related to Polymem S.A. (&#8220;Polymem&#8221;) from July 1, 2021, as well as BioFlex Solutions LLC (&#8220;BioFlex&#8221;) and Newton T&amp;M Corp. (&#8220;NTM&#8221;) from December 16, 2021 through December 31, 2021. 2021 revenue for proteins products includes revenue related to Avitide, Inc. (&#8220;Avitide&#8221;) from September 20, 2021 through December 31, 2021.</span></ix:footnote><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> </span></div></div></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue from filtration products includes the XCell ATF</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> systems and consumables as well as the KrosFlo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and SIUS</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> filtration products. Revenue from chromatography products includes the OPUS</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> chromatography pre-packed columns, chromatography resins and ELISA test kits. Revenue from process analytics products includes the SoloVPE</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, FlowVPE</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> RPM</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and FlowVPX</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> devices. Revenue from protein products includes the Protein A affinity ligands and cell culture growth factors. Other revenue primarily consists of revenue from the sale of operating room products to hospitals as well as freight revenue.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">81</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_e6a3867f-fbae-45e5-944b-12881ac67995_8" continuedAt="F_e6a3867f-fbae-45e5-944b-12881ac67995_9"><div style="font-size:12pt;font-family:Times New Roman;"><ix:continuation id="F_1353f9aa-ce15-4408-b6d7-71d84a4696ec_1"><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_8c58cba7-86c4-4080-b2a4-7265143bda46" contextRef="C_d517e436-774e-430b-b7a9-215ae3774a7e" name="us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s total revenue by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented (based on the location of the customer):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:57.409%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:11.177999999999999%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:11.177999999999999%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:11.238%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue by customers' geographic locations:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f1c792ee-b2d1-40c0-b6a9-6a3aafb4997e" contextRef="C_d80d597c-3ac0-45b9-a4a1-fbd9ed9072ce" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">44</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_724b3e13-4464-4083-9487-1d483d3a5bf1" contextRef="C_458045ff-bf6d-4fbc-9e9e-1b2c8f456dd2" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">43</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_03423379-ef60-453c-a1dd-e9348c1307d5" contextRef="C_18de3830-8e4b-43b1-b769-f4d6404c6044" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">41</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_403ba4e7-a4a5-4483-931a-bb4409041c5c" contextRef="C_a40eb5ba-0a80-41bb-a4de-c91b4e73a339" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">36</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_41fa8e80-0b0c-411c-8892-97acc895025a" contextRef="C_f200702d-3542-4b3f-b0cd-72b379dcd4de" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">37</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d2a3d3c9-e4cf-49ac-a42c-377b125eff87" contextRef="C_de576b41-579e-486b-b67a-91a0de11cca0" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">40</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC/Other</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_47b67124-2129-4f5d-a1e0-6b7fe9c45e17" contextRef="C_7c8ecffb-e521-43b6-9f00-cf54e50c4240" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">20</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1398004d-3e2a-4335-b17b-8486a96a2be5" contextRef="C_57a31b66-c67f-42d7-a0fe-f939794d67d6" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">20</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7c85e7ab-f9f8-42f7-8758-f7f72626df02" contextRef="C_5571093e-15b6-44fc-977a-a5b348d7b236" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">19</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3b7df6fa-be00-45ca-8523-a9d24476cc37" contextRef="C_7f11107d-8c42-4922-babc-75a59b58c2c2" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f88011a0-fbac-4427-84f4-a12844fc2469" contextRef="C_a34f5856-042c-46e8-a686-e88ec78ac42e" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e0774460-34ea-4229-9664-0cfe7cab0592" contextRef="C_c72349fb-9b16-4d54-ab39-870ba6ec83a3" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
        </table><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></ix:nonNumeric></div><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_49db2a38-95ba-42f0-9b7f-cc4af7a7d80c" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s total assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:66.993%;box-sizing:content-box;"/>
          <td style="width:1.62%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:12.883000000000001%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:1.62%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:12.883000000000001%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Revised)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total assets by geographic locations:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_87266b2d-7140-43ba-89c8-986133d9eda5" contextRef="C_028f0a92-fc2f-4765-8d45-da300d48f16f" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,377,868</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a3d74dfd-a080-4d6c-8721-58b98feba473" contextRef="C_731ef2bc-8693-4fa5-b925-51d077ac24fe" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,216,186</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b323dca8-0863-4187-84c6-9dc09013e249" contextRef="C_63483dd9-9699-4dae-8b4d-61ed89fe7e2b" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">426,148</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f983b08b-f9bf-42e2-80e2-891c61778bad" contextRef="C_36242248-d8f6-4cc4-a6d9-f748120d033b" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">287,543</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ba59b5aa-57fa-4a5d-afa4-bc5c3c8ea91a" contextRef="C_4983baff-0876-4143-a902-ebc910164077" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,169</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_19f9339b-5bd8-468a-b3fd-c35c3f2510f0" contextRef="C_5db82e18-d6a0-4194-a855-2452c0c03355" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,871</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total assets by geographic location</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_07f10edf-6ba3-4ce0-b726-957a414aff24" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,831,185</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a72d3d79-531c-4ba7-a4c3-207b7eb28b5d" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,531,600</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_4a0c34bf-5c07-48ab-8cda-6fdfea5f0462" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s long-lived assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:66.993%;box-sizing:content-box;"/>
          <td style="width:1.62%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:12.883000000000001%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:1.62%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
          <td style="width:12.883000000000001%;box-sizing:content-box;"/>
          <td style="width:1%;box-sizing:content-box;"/>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-lived assets by geographic locations:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_80e2ae04-41ca-4a66-a96f-ed28932d05f4" contextRef="C_028f0a92-fc2f-4765-8d45-da300d48f16f" name="rgen:AssetsNonCurrentExcludingDifferedTaxAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">278,033</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c47fb7aa-8f09-4901-87d5-008c25ab86cf" contextRef="C_731ef2bc-8693-4fa5-b925-51d077ac24fe" name="rgen:AssetsNonCurrentExcludingDifferedTaxAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">275,151</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_15636578-6fb7-4371-8a40-f36897293e02" contextRef="C_63483dd9-9699-4dae-8b4d-61ed89fe7e2b" name="rgen:AssetsNonCurrentExcludingDifferedTaxAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">43,280</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e701ad5d-0c39-4a6e-bda1-bf3e75497aa8" contextRef="C_36242248-d8f6-4cc4-a6d9-f748120d033b" name="rgen:AssetsNonCurrentExcludingDifferedTaxAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">38,541</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1416d88f-1964-46b2-a3ff-cdfa2532e63b" contextRef="C_4983baff-0876-4143-a902-ebc910164077" name="rgen:AssetsNonCurrentExcludingDifferedTaxAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,919</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dc7b16fc-3bc6-4663-b844-70d9680f3d02" contextRef="C_5db82e18-d6a0-4194-a855-2452c0c03355" name="rgen:AssetsNonCurrentExcludingDifferedTaxAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,819</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total long-lived assets by geographic location</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1caae79c-c707-4122-8acf-be2f500cf977" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="rgen:AssetsNonCurrentExcludingDifferedTaxAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">324,232</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2f6e0fd4-36d6-44b2-8675-dd83801c6a92" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="rgen:AssetsNonCurrentExcludingDifferedTaxAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">316,511</ix:nonFraction></span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table></ix:nonNumeric></div></ix:continuation></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div><ix:nonNumeric id="F_89a0ba58-6831-41e1-bea1-8976e7e2d141" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ConcentrationRiskCreditRisk" escape="true" continuedAt="F_89a0ba58-6831-41e1-bea1-8976e7e2d141_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentrations of Credit Risk and Significant Customers</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Financial instruments that subject the Company to significant concentrations of credit risk primarily consist of cash and cash equivalents, marketable securities and accounts receivable. Per the Company&#8217;s investment policy, cash equivalents and marketable securities are invested in financial instruments with high credit ratings, limit its credit exposure to any one issuer (with the exception of U.S. treasury obligations) and type of instrument is limited. At December 31, 2023, the Company had no investments associated with foreign exchange contracts, options contracts or other foreign hedging arrangements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Concentration of credit risk with respect to accounts receivable is limited to customers to whom the Company makes significant sales. While a reserve for the potential write-off of accounts receivable is maintained, the Company has not written off any significant accounts to date. To control credit risk, the Company performs regular credit evaluations of its customers&#8217; financial condition.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Ther</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">e was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e68db123-b876-440f-a86c-99e8fc42e5e4" contextRef="C_80f872bc-1413-411b-896e-4fd151e4eea3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="6" decimals="-6" format="ixt-sec:numwordsen"><ix:nonFraction id="F_c7226cd4-ba3c-4268-aaba-a9c64a09f39f" contextRef="C_3192f6c5-626e-4de8-9965-0ec8fdfb47b9" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="6" decimals="-6" format="ixt-sec:numwordsen">no</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> revenue from customers that represented </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a724e0d9-9bfb-4cb5-a134-1a9952ca18c3" contextRef="C_60fa6f45-39ec-43c5-adac-3320c3d8a679" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal"><ix:nonFraction id="F_d9a7fc26-3e6c-421b-a758-3baa138334a8" contextRef="C_2ee23860-329f-4620-b83a-78ee0abbc74c" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">10</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% or more of the Company's total revenue for the year ended December 31, 2023 or 2022. Revenue from Pfizer Inc. accounted for </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_20140a3d-7a4e-4b72-a465-5f5c51562ac7" contextRef="C_30f269ef-88ed-48fb-a4fe-70aa91245eb7" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">10</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of total revenue for the year ended December 31, 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">No accounts receivable balance from a specific c</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ustomer represented </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_22f6bf83-51f0-486f-8322-25629e33bdcd" contextRef="C_fc678d8d-1280-471c-b5dd-e8b0f6b74a55" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">10</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% or more of the Company's total trade accounts receivable at </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. Significant accounts receivable balances representing </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_35d117b1-b5a2-4488-bfa8-f76777026e96" contextRef="C_bc92bded-7ed3-40b1-9afd-fef7811fe1c0" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">10</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">or more of the Company&#8217;s total</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">82</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_e6a3867f-fbae-45e5-944b-12881ac67995_9" continuedAt="F_e6a3867f-fbae-45e5-944b-12881ac67995_10"><div style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_89a0ba58-6831-41e1-bea1-8976e7e2d141_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">trade </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">accounts receivable balances at December 31, 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> came from our accounts receivable balance outstanding with Purolite, an Ecolab Inc. company (&#8220;Purolite&#8221;), which was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a8325dcb-a343-4ae6-a061-70f0e4c96ce3" contextRef="C_65b08794-f7d8-4059-ac5e-94d03811f466" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">12.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the Company's total trade accounts receivable balance.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:continuation></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div><ix:nonNumeric id="F_d0ef2ae5-dc3d-4d92-9edb-709cd628f7b2" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock" escape="true" continuedAt="F_d0ef2ae5-dc3d-4d92-9edb-709cd628f7b2_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business Combinations, Goodwill and Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business Combinations</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total consideration transferred for acquisitions is allocated to the tangible and intangible assets acquired and liabilities assumed, if any, based on their fair values at the dates of acquisition. This purchase price allocation process requires management to make significant estimates and assumptions with respect to intangible assets and deferred revenue. The fair value of identifiable intangible assets is based on detailed valuations that use information and assumptions determined by management. Any excess of purchase price over the fair value of the net tangible and intangible assets acquired is allocated to goodwill. While the Company uses its best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as any contingent consideration, where applicable, the Company&#8217;s estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which may be up to one year from the acquisition date, the Company records adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill.  Upon conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to the Company&#8217;s consolidated statements of comprehensive income. Any excess of the fair value of the net tangible and intangible assets acquired over the purchase price is recognized in the consolidated statements of comprehensive income. The fair value of contingent consideration includes estimates and judgments made by management regarding the probability that future contingent payments will be made and the extent of royalties to be earned in excess of the defined minimum royalties. Management updates these estimates and the related fair value of contingent consideration at each reporting period. These changes in the fair value of contingent consideration are recorded to contingent consideration in the Company&#8217;s consolidated statements of comprehensive income. For the years ended December 31, 2023 and 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, we recorded a decrease of $</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c30f6dbe-c91a-4893-af61-4dda950d143e" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="rgen:ContingentConsiderationObligationEstimated" unitRef="U_USD" scale="6" decimals="-5" sign="-" format="ixt:num-dot-decimal">30.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8169fe30-b76d-4ad6-a6ce-5f23ee34cb32" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="rgen:ContingentConsiderationObligationEstimated" unitRef="U_USD" scale="6" decimals="-5" sign="-" format="ixt:num-dot-decimal">28.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively, to the estimated contingent consideration obligation, primarily related to the acquisition of Avitide (the &#8220;Avitide Acquisition&#8221;).</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company uses the income approach to determine the fair value of certain identifiable intangible assets including customer relationships and developed technology. This approach determines fair value by estimating after-tax cash flows attributable to these assets over their respective useful lives and then discounting these after-tax cash flows back to a present value. The Company bases its assumptions on estimates of future cash flows, expected growth rates, expected trends in technology, etc. Discount rates used to arrive at a present value as of the date of acquisition are based on the time value of money and certain industry-specific risk factors. The Company believes the estimated purchased customer relationships, developed technologies, trademark/tradename, patents, non-compete agreements and in-process research and development amounts so determined represent the fair value at the date of acquisition, and do not exceed the amount a third-party would pay for such assets.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Goodwill is not amortized and is tested for impairment at least annually at the reporting unit level. The Company operates as one reporting unit as of the goodwill impairment measurement date of December 31, 2023. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the qualitative assessment of the Company&#8217;s </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4bcb8b03-4c7d-4f98-8370-c36ab59568d4" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:NumberOfReportingUnits" unitRef="U_ReportingUnit" decimals="INF" format="ixt-sec:numwordsen">one</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> reporting unit during the 2023 goodwill impairment testing, it was determined that it was not more likely than not that its fair value was less than its carrying amount. As such, a quantitative impairment assessment was not required as of December 31, 2023. If an event occurs or circumstances change that would more likely than not reduce the fair value of its reporting unit below its carrying value, the Company will evaluate its goodwill for impairment between annual tests. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_800b2d9f-ed94-4003-96e1-8debcaf54543" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:GoodwillImpairmentLoss" unitRef="U_USD" scale="6" decimals="-6" format="ixt-sec:numwordsen"><ix:nonFraction id="F_35d493ca-4608-4da4-8da4-d1f0c4b174ab" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:GoodwillImpairmentLoss" unitRef="U_USD" scale="6" decimals="-6" format="ixt-sec:numwordsen"><ix:nonFraction id="F_cfd772b1-967f-4e01-bfc6-359edb21add7" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:GoodwillImpairmentLoss" unitRef="U_USD" scale="6" decimals="-6" format="ixt-sec:numwordsen">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> impairment to goodwill and therefore </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7633176d-a9ec-4db6-8660-2233bab54bea" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:AssetImpairmentCharges" unitRef="U_USD" scale="6" decimals="-6" format="ixt-sec:numwordsen"><ix:nonFraction id="F_d622c344-dbb2-47c6-aaec-830a906ecb32" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:AssetImpairmentCharges" unitRef="U_USD" scale="6" decimals="-6" format="ixt-sec:numwordsen"><ix:nonFraction id="F_02f2095d-ada4-4104-9321-a2f44cc9bff9" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:AssetImpairmentCharges" unitRef="U_USD" scale="6" decimals="-6" format="ixt-sec:numwordsen">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> impairment charge recorded for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company has historically tested for impairment on its goodwill annually as of its measurement date of December 31st pursuant to company policy. Subsequent to the 2023 annual impairment test, the Company voluntarily changed its annual impairment assessment date from December 31st to October 1st, the first day of the Company's fourth quarter, beginning on </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_099311a1-912d-4d04-84f1-fcc629df7164" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:NewDateOfAnnualGoodwillImpairmentTest"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">October 1, 2024</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_b420ed46-eb74-4892-bab4-6d5efc9b9b08" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:GoodwillImpairedFactsAndCircumstancesLeadingToImpairment"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The change is being made to better align the annual impairment assessment date with the Company's annual planning and budgeting process as well as long-term planning and forecasting process.</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> The </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Company has determined this voluntary change in accounting principle is preferable and will not impact its consolidated financial statements nor is it being done to accelerate, avoid or trigger an impairment charge. This change is not going to be applied retrospectively as it is</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">83</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_e6a3867f-fbae-45e5-944b-12881ac67995_10" continuedAt="F_e6a3867f-fbae-45e5-944b-12881ac67995_11"><div style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_d0ef2ae5-dc3d-4d92-9edb-709cd628f7b2_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">impracticable </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to do so because retrospective application would require application of significant estimates and assumptions with the use of hindsight. Accordingly, the change will be applied prospectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets with a definite life are amortized over their useful lives using the straight-line method and the amortization expense is recorded within research and development (&#8220;R&amp;D&#8221;) and selling, general and administrative expense in the consolidated statements of comprehensive income. Intangible assets and their related useful lives are reviewed at least annually to determine if any adverse conditions existed that would indicate the carrying value of these assets may not be recoverable. More frequent impairment assessments are conducted if certain conditions exist, including a change in the competitive landscape, any internal decisions to pursue new or different technology strategies, a loss of a significant customer, or a significant change in the marketplace, including changes in the prices paid for the Company&#8217;s products or changes in the size of the market for the Company&#8217;s products. If impairment indicators are present, the Company determines whether the underlying intangible asset is recoverable through estimated future undiscounted cash flows. If the asset is not found to be recoverable, it is written down to the estimated fair value of the asset based on the sum of the future discounted cash flows expected to result from the use and disposition of the asset. If the estimate of an intangible asset&#8217;s remaining useful life is changed, the remaining carrying amount of the intangible asset is amortized prospectively over the revised remaining useful life. The Company continues to believe that its definite-lived intangible assets are recoverable at December 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Indefinite-lived intangible assets are reviewed for impairment at least annually. There has been </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b4ed6c4d-ed63-4351-a656-c5a72b0739c7" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill" unitRef="U_USD" scale="6" decimals="-6" format="ixt-sec:numwordsen">no</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> impairment of our intangible assets for the periods presented.</span></p></ix:continuation></div><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_484f1b07-02ce-4028-9eb2-b4fdb6801928" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" escape="true" continuedAt="F_484f1b07-02ce-4028-9eb2-b4fdb6801928_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock Based Compensation</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company measures stock-based compensation cost at the grant date based on the estimated fair value of the award and recognizes it as an expense over the employee&#8217;s requisite service period on a straight-line basis. The Company records the expense for share-based awards subject to performance-based milestone vesting over the remaining service period when management determines that achievement of the milestone is probable. Management evaluates whether the achievement of a performance-based milestone is probable as of the reporting date. The Company has no awards that are subject to market conditions. The Company recognizes stock-based compensation expense based upon options that are ultimately expected to vest, and accordingly, such compensation expense has been adjusted by an amount of estimated forfeitures.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company uses the Black-Scholes option pricing model to calculate the fair value of share-based awards on the grant date. The following assumptions are used in calculating the fair value of share-based awards:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Expected term</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; The expected term of options granted represents the period of time for which the options are expected to be outstanding. For purposes of estimating the expected term, the Company has aggregated all individual option awards into one group as the Company does not expect substantial differences in exercise behavior among its employees.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Expected volatility</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; The expected volatility is a measure of the amount by which the Company&#8217;s stock price is expected to fluctuate during the expected term of options granted. The Company determines the expected volatility based primarily upon the historical volatility of the Company&#8217;s common stock over a period commensurate with the option&#8217;s expected term.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Risk-free interest rate</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; The risk-free interest rate is the implied yield available on U.S. treasury zero-coupon issues with a remaining term equal to the option&#8217;s expected term on the grant date.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Expected dividend yield</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; The Company has never declared or paid any cash dividends on any of its capital stock and does not expect to do so in the foreseeable future. Accordingly, the Company uses an expected dividend yield of zero to calculate the grant-date fair value of a stock option.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Estimated forfeiture rates</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; The Company has applied, based on an analysis of its historical forfeitures, annual forfeiture rates of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_85a378a9-1fa1-416b-bf23-b7fa6a56f848" contextRef="C_d3d3487c-fcb3-4a02-bfae-0d51403d51fa" name="rgen:PercentageOfSharesSubjectToForfeiture" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_19bb1802-576a-4c2d-8dfd-7e42b6ec67b6" contextRef="C_4fe67a58-54bc-4aef-a0c3-06b74b3c59ed" name="rgen:PercentageOfSharesSubjectToForfeiture" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c9ff88ed-e3b3-458f-b38a-dc56d3a40874" contextRef="C_2a39499c-96c9-4ec2-a199-753949caf542" name="rgen:PercentageOfSharesSubjectToForfeiture" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-employee members of the Board of Directors (&#8220;Board&#8221;) to all unvested stock options as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">84</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_e6a3867f-fbae-45e5-944b-12881ac67995_11" continuedAt="F_e6a3867f-fbae-45e5-944b-12881ac67995_12"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_484f1b07-02ce-4028-9eb2-b4fdb6801928_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Company reevaluates this analysis periodically and adjusts these estimated forfeiture rates as necessary. Ultimately, the Company will only recognize an expense for those shares that vest.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_2d4c35d3-001d-4d70-8262-560035394580" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:AdvertisingCostsPolicyTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Advertising Costs</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company expenses advertising costs as they are incurred. Advertising expense for the years ended December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8a6012e2-9656-4c2e-be2b-f79e3b600db1" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:AdvertisingExpense" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3d6b0ab0-41a6-4a7e-8488-307d3e5e0f32" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:AdvertisingExpense" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_91e73f9d-674c-462e-8be7-f7c206d99d46" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:AdvertisingExpense" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span></p></ix:nonNumeric></div><div><ix:nonNumeric id="F_3dc8fcbd-04a5-4db8-9b56-9b9e54332d66" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" escape="true" continuedAt="F_3dc8fcbd-04a5-4db8-9b56-9b9e54332d66_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Recent Accounting Standards Updates</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We consider the applicability and impact of all ASUs and other accounting guidance on the Company&#8217;s consolidated financial statements. Updates not listed below were assessed and determined to be either not applicable or are expected to have minimal impact on the Company&#8217;s consolidated financial position or results of operations. Recently issued accounting guidance that we feel may be applicable to the Company are as follows:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Recently Issued Accounting Guidance &#8211; Adopted During the Fiscal Year</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In July 2023, the U.S. Securities and Exchange Commission (the &#8220;SEC&#8221;) adopted the final rule under SEC Release No. 33-11216, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cybersecurity Risk Management, Strategy, Governance, and Incident Disclosure,&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> requiring current reporting about material cybersecurity incidents and annual disclosures on management&#8217;s processes for assessing, identifying, and managing material cybersecurity risks, the material impacts of cybersecurity threats and previous cybersecurity incidents, the Board's oversight of cybersecurity risks, and management&#8217;s role and expertise in assessing and managing material cybersecurity risks. SEC Release No. 33-11216 was effective for us during the third quarter of 2023. The adoption of this guidance did not have a material impact on the Company&#8217;s consolidated financial statements and disclosures.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In December 2022, the SEC adopted the final rule under SEC Release No. 33-11138,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> "Insider Trading Arrangements and Related Disclosures</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">," which requires new disclosures regarding insider trading policies and procedures, the use of Rule 10b5-1 plans by directors and officers, and stock option grants issued in close proximity to the release of material nonpublic information. SEC Release No. 33-11138 was effective for us for our second quarter of 2023, and did not have a material impact on our consolidated financial statements and disclosures.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Recently Issued Accounting Guidance &#8211; Not Yet Adopted</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In December 2023, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued ASU 2023-09, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Income Taxes (Topic 740) - Improvements to Income Tax Disclosures.&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ASU 2023-09 enhances the transparency and decision usefulness of income tax disclosures by requiring consistent categories and greater disaggregation of information in the rate reconciliation and income taxes paid disaggregated by jurisdiction. ASU 2023-09 will be effective for the Company in its income tax disclosure included in its 2025 Annual Report on Form 10-K and will be applied on a prospective basis. However, retrospective application is permitted. Early adoption is also permitted. Besides a change in income tax disclosures, the Company does not expect the adoption of ASU 2023-09 to have a material impact on its consolidated financial statements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">    </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In November 2023, the FASB issued ASU 2023-07, &#8220;S</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">egment Reporting (Topic 820) - Improvements to Reportable Segment Disclosures.&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ASU </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2023-07 will improve reportable segment disclosure requirements, primarily through enhanced annual and interim disclosures about significant segment expenses that are regularly provided to the CODM. The disclosure required under  ASU 2023-07 are also required for public entities with a single reportable segment. ASU 2023-07 will be effective for the Company for annual periods beginning on January 1, 2024 and interim periods beginning on January 1, 2025. The amendments of this guidance apply retrospectively to all prior periods presented in the consolidated financial statements. Early adoption is</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">85</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_e6a3867f-fbae-45e5-944b-12881ac67995_12"><div style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_3dc8fcbd-04a5-4db8-9b56-9b9e54332d66_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">permitted. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Besides presentation in the segment footnote for its interim reporting, the Company does not expect the adoption of ASU 2023-07 to have a material impact on its consolidated financial statements.</span></p></ix:continuation></div></ix:continuation></div>
  <div><ix:nonNumeric id="F_201a74a4-cca2-4868-ab55-f50aaa4ee9bf" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:FairValueDisclosuresTextBlock" escape="true" continuedAt="F_201a74a4-cca2-4868-ab55-f50aaa4ee9bf_1"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">4.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Fair Value Measurements</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cash, Cash Equivalents and Marketable Securities Held to Maturity</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_19fff8a4-0e35-4135-9626-88d3d84bfab0" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the Company's cash, cash equivalents and marketable securities held to maturity as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:95.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:46.731%;box-sizing:content-box;"/>
        <td style="width:1.78%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.538%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.78%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.538%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.78%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.538%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.78%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.538%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amortized<br/>&#160;Costs</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Unrealized<br/>Gains</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Unrealized<br/>Losses</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated<br/>Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash and cash equivalents:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and money market funds</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e749752e-d331-4ac7-874f-abcb1f46e1fa" contextRef="C_be9d030f-78a2-4010-a51c-2a17318bea4f" name="rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">751,323</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_771866d8-75bb-4348-91c3-722a62776b01" contextRef="C_be9d030f-78a2-4010-a51c-2a17318bea4f" name="rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">751,323</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8e1272e0-4424-43ed-9000-7269374536f9" contextRef="C_533fde4c-b9a5-449d-bd18-10f5117f2dbd" name="rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">751,323</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_45ce8965-e26e-4ee6-a470-0ac79ae5cdbc" contextRef="C_533fde4c-b9a5-449d-bd18-10f5117f2dbd" name="rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">751,323</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amortized <br/>Cost</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Unrealized<br/>Gains</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Unrealized<br/>Losses</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated<br/>Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash and cash equivalents:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and money market funds</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f18868e3-c32f-4f53-bd1e-39b85ae51903" contextRef="C_d9562d39-4385-4173-ba25-d5d0094e6ea9" name="rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">523,458</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dcd3f428-bc5f-4530-b8d2-1f72d9e8471e" contextRef="C_d9562d39-4385-4173-ba25-d5d0094e6ea9" name="rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">523,458</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1bc820d1-608e-463b-b92b-a6838679ff97" contextRef="C_937a64bd-6ee4-4148-827a-f4988711ba0f" name="rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">523,458</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8c7cca4d-a95f-4497-a0bb-5b63f93b7acb" contextRef="C_937a64bd-6ee4-4148-827a-f4988711ba0f" name="rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">523,458</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Marketable securities held to maturity:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">U.S. treasury bills - short-term</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_856720bc-402e-44b2-b9d0-1bfdab9e0e0b" contextRef="C_8de54cac-61d7-4b01-8623-866bf3400eff" name="rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">100,299</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4b7febcb-280c-44ce-b43b-f0fba987d310" contextRef="C_8de54cac-61d7-4b01-8623-866bf3400eff" name="rgen:DebtSecuritiesHeldToMaturityGrossUnrealizedGain" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">24</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0276b2c4-6a7a-43d3-b85a-609ede1f9292" contextRef="C_8de54cac-61d7-4b01-8623-866bf3400eff" name="rgen:DebtSecuritiesHeldToMaturityEstimatedFairValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">100,323</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash, cash equivalents and marketable securities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dc3e512c-9d69-4048-835a-3b6eeb77331d" contextRef="C_79d7ac14-41d7-4dd7-93cf-7d251a407a89" name="rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">623,757</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8b9b5056-29ca-48dd-aae2-01584380ad42" contextRef="C_79d7ac14-41d7-4dd7-93cf-7d251a407a89" name="rgen:DebtSecuritiesHeldToMaturityGrossUnrealizedGain" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">24</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ce377788-0229-41d2-ace7-7596788a09e2" contextRef="C_79d7ac14-41d7-4dd7-93cf-7d251a407a89" name="rgen:AvailableForSaleSecuritiesEstimatedFairValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">623,781</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the fourth quarter of 2022, the Company purchased $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9cdd4f94-9244-4ffa-81cb-c3f44f9bc5f5" contextRef="C_e0310568-ba23-447a-89dc-cc0078b4a0d9" name="us-gaap:TreasuryStockValueAcquiredCostMethod" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">100.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of 6-month U.S. treasury bills with </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the positive intent and ability to hold them until maturity. Therefore, the Company classified this investment as held to maturity and stated it at amortized cost on the consolidated balance sheets. There is no comparable investment as of December 31, 2023.</span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_10cff186-438f-40d5-a2d2-c227cc2d3780" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The amortized cost and fair value of the Company's held to maturity securities by contractual maturity at December 31, 2022 are summarized below. There were no comparable investments as of December 31, 2023:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:56.949%;box-sizing:content-box;"/>
        <td style="width:2.699%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:15.477%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:2.699%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:15.477%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:2.699%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31, 2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amortized<br/>&#160;Costs</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated<br/>Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Maturity of one year or less</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_122f9a2f-afe4-430f-85db-624921f27d79" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="rgen:DebtSecuritiesMaturityWithinOneYearAmortizedCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">100,299</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1507fdbe-2963-42b3-9b36-6c31bb403826" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">100,323</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;word-break:break-word;">
        <td style="background-color:#cff0fc;padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e05fb451-0b5a-4e0a-b65f-c4b233c81adc" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="rgen:DebtSecuritiesMaturityWithinOneYearAmortizedCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">100,299</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_312128d4-9f8b-468e-b0c9-770d59c3629d" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">100,323</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#ffffff;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></ix:nonNumeric></div></ix:nonNumeric></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">86</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_201a74a4-cca2-4868-ab55-f50aaa4ee9bf_1" continuedAt="F_201a74a4-cca2-4868-ab55-f50aaa4ee9bf_2"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value Measured on a Recurring Basis</span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_c1cdcf04-fc8e-4193-96ee-df275627141c" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Financial assets and financial liabilities measured at fair value on a recurring basis consist of the following as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 and 2022:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:47.819%;box-sizing:content-box;"/>
        <td style="width:1.24%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.804%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.24%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.804%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.24%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.804%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.24%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.804%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 1</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 2</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 3</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Assets:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Money market accounts</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4876de0d-2dfa-4b45-bda7-bbab650da556" contextRef="C_cef25962-2aac-42c1-aec4-f4841404e3d1" name="us-gaap:AssetsFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">658,574</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_91176e7c-541e-4a51-bea4-ae4d751728ff" contextRef="C_ddd10db0-03d4-4d03-9e8c-2914b3b666f0" name="us-gaap:AssetsFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">658,574</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Liabilities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Short-term contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ac9c65bc-e9b0-444d-b1f3-a2eed0017c7a" contextRef="C_bcb710f7-000c-4e37-a3eb-32503afc8b07" name="rgen:ShortTermContingentConsideration" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,983</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c3dbbf94-2687-45bc-b37f-4a82eca2b2a1" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="rgen:ShortTermContingentConsideration" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,983</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-term contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_22039aaa-3727-43a8-be54-a9e78f8343d0" contextRef="C_bcb710f7-000c-4e37-a3eb-32503afc8b07" name="rgen:LongTermContingentConsideration" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,070</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a1a3a8a8-f9a2-40df-ab8a-aac7331f2ed4" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="rgen:LongTermContingentConsideration" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,070</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 1</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 2</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 3</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Assets:</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Money market accounts</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_88e478fa-70a8-4f5d-b6c1-d2d953f96236" contextRef="C_89c3f917-9344-45fe-8e0b-9a68f965636b" name="us-gaap:AssetsFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">343,929</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_07b2d66c-f928-451b-85c5-8191e5861343" contextRef="C_1737730b-9d9b-4c4f-bd00-8f491b41a9d1" name="us-gaap:AssetsFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">343,929</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Liabilities:</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Short-term contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_577476a7-9c89-4185-a1fb-c3b96fb4e8c7" contextRef="C_f8bb04aa-ddc7-4367-a928-cad669795554" name="rgen:ShortTermContingentConsideration" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,950</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f17612e5-026d-4d47-afbb-11e1d0a9338f" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="rgen:ShortTermContingentConsideration" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,950</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-term contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dee313b2-76a9-4b3d-8b9f-adb8060692b8" contextRef="C_f8bb04aa-ddc7-4367-a928-cad669795554" name="rgen:LongTermContingentConsideration" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">51,559</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_55acf5c2-e468-46a7-9e16-24c4c2011039" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="rgen:LongTermContingentConsideration" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">51,559</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Contingent Consideration &#8211; Earnout</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of December 31, 2023, the maximum amount of future contingent consideration (undiscounted) that the Company could be required to pay in connection with each of the completed acquisitions is; $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_54872f27-bdb4-4a1e-80cb-0c5380ba61cf" contextRef="C_5f034394-cf78-4eb4-8ff9-9f23954cccd0" name="us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">125.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million over a three-year earnout period for Avitide, which was acquired in September 2021 and for which the earnout periods run from January 1, 2022 through December 31, 2024; $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c6786e50-63dd-4aa7-a213-98fc5cf54d66" contextRef="C_29eef544-91ed-4d72-864a-9119c13364c8" name="us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">42.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million over a two-year earnout period for FlexBiosys, which was acquired in April 2023 and for which the earnout periods run from January 1, 2023 through December 31, 2024; and approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9c256b9b-dffc-4789-88b2-8d655a547e50" contextRef="C_1a3669c7-edae-4d97-bd42-a06f7bc215b9" name="us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred" unitRef="U_USD" scale="6" decimals="-6" format="ixt:num-dot-decimal">10</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million over a one-year earnout period for Metenova, which was acquired in October 2023 and for which the earnout period runs from January 1, 2024 through December 31, 2024. See Note 5, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquisitions&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to this report for more information on the contingent consideration earnouts.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During 2023, expected results and change in market inputs used to calculate the discount rate, resulted in a decrease in amounts reported as of December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. </span><span><ix:nonNumeric id="F_e8a1d5b1-bc02-4db8-92fe-a028dda8cab9" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" escape="true" continuedAt="F_e8a1d5b1-bc02-4db8-92fe-a028dda8cab9_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A reconciliation of the change in fair value of contingent consideration &#8211; earnout is included in the following table (amounts in thousands):</span></ix:nonNumeric></span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:continuation id="F_e8a1d5b1-bc02-4db8-92fe-a028dda8cab9_1"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:78.56%;box-sizing:content-box;"/>
        <td style="width:2.1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:17.34%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2022</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8031c783-9346-4bca-b735-395ce5152ea4" contextRef="C_45414736-003e-4605-ac98-b13a2377daa3" name="us-gaap:LiabilitiesFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">65,509</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition date fair value of contingent consideration earnouts</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_24c31412-5dda-4d68-a55e-2b6b51c79469" contextRef="C_c3b98cb2-71c9-4900-851c-19332d055ff6" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,640</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payment of contingent consideration earnouts</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ce8c328f-3fe2-4401-a515-2409e6d41371" contextRef="C_c3b98cb2-71c9-4900-851c-19332d055ff6" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">14,527</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Decrease in fair value of contingent consideration earnouts</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a3e048ad-5238-4cb0-883b-ad00083a9292" contextRef="C_c3b98cb2-71c9-4900-851c-19332d055ff6" name="us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">30,569</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2023</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c5d339c7-4b0c-44d7-879b-5129d66fc6f8" contextRef="C_ade650d3-99e2-445d-912a-b1fa113c189b" name="us-gaap:LiabilitiesFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,053</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:continuation></div><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">87</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_201a74a4-cca2-4868-ab55-f50aaa4ee9bf_2"><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_9852119c-2072-465c-8665-bec63a4ef31e" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The recurring Level 3 fair value measurement of our contingent consideration &#8211; earnout that we expect to be required to settle our 2023, 2024 and 2025 contingent consideration obligation for Avitide, FlexBiosys and Metenova include the following significant unobservable inputs (amounts in thousands, except percent data):</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:18.524%;box-sizing:content-box;"/>
        <td style="width:1.74%;box-sizing:content-box;"/>
        <td style="width:1.08%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:13.903%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:15.163%;box-sizing:content-box;"/>
        <td style="width:1.62%;box-sizing:content-box;"/>
        <td style="width:16.383%;box-sizing:content-box;"/>
        <td style="width:1.74%;box-sizing:content-box;"/>
        <td style="width:11.942%;box-sizing:content-box;"/>
        <td style="width:1.62%;box-sizing:content-box;"/>
        <td style="width:13.283%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Contingent Consideration Earnout</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="3" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value as of<br/>&#160;December 31, 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Valuation Technique</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Unobservable Input</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Range</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted Average</span><span style="color:#000000;top:-4.221pt;white-space:pre-wrap;font-weight:bold;font-size:6.03pt;position:relative;min-width:fit-content;">(1)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Probability of</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Success</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1f53b011-c94d-426e-a593-5950ecafb9db" contextRef="C_fd1dc4c0-461d-4328-b57e-2aff96e9a0a7" name="rgen:ProbabilityOfSuccess" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c7f20c0c-a323-45d1-8e73-0a598b2eda21" contextRef="C_62ee8892-57c4-4b40-bfbb-bc710d3f7bac" name="rgen:WeightedAverageDiscountRate" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Commercialization-based payments</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_30d77639-f97f-4d72-8603-1a9a619a509e" contextRef="C_fd1dc4c0-461d-4328-b57e-2aff96e9a0a7" name="us-gaap:LiabilitiesFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20,094</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Monte Carlo<br/>Simulation</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnout Discount Rate</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2f8ae61f-e4a4-4bfa-b808-e7e095db629e" contextRef="C_e4db7810-9e58-430e-a904-ed67c8356fb0" name="us-gaap:DerivativeFixedInterestRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">5.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_245eac3c-7440-42c5-984a-3578b89dc730" contextRef="C_d57a8ced-7509-4082-a3ca-2ccd9891343a" name="us-gaap:DerivativeFixedInterestRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">5.9</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3793dfaa-ae57-4cd7-bba1-9f8fc002bcda" contextRef="C_2b4e0f3a-856b-4d30-9b74-ecd78010640c" name="rgen:WeightedAverageDiscountRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">5.9</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Volatility</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7b0d8caa-5f09-4615-9295-dcec646b9e22" contextRef="C_47283da4-d33d-452b-905b-fcae0fd0bc2c" name="rgen:VolatilityRateOfContingentConsideration" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">12.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_72f70251-a2f0-4169-830b-655fb172f0a9" contextRef="C_9bb8eaca-94f5-49ee-9d54-6eef6dfaf8ff" name="rgen:VolatilityRateOfContingentConsideration" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">24.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_28109e6d-9e04-4005-920b-66cf31fd627f" contextRef="C_9a8c889c-19a3-4f28-9b85-0ca6b5d4d96d" name="rgen:WeightedAverageDiscountRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">21.9</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue and Volume-<br/>based payments</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b4d1bed6-d535-42dd-99b7-5af19846d554" contextRef="C_4b95d4be-6015-49f9-a615-2a5f36704184" name="us-gaap:LiabilitiesFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,454</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Monte Carlo<br/>Simulation</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue &amp; Volume<br/>Discount Rate</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1ec420b4-2e1c-4b61-a5c8-c050db5195c5" contextRef="C_47283da4-d33d-452b-905b-fcae0fd0bc2c" name="rgen:RevenueAndVolumeDiscountRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">2.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0db8e9e4-b9c0-4bdf-8b13-529b88b47638" contextRef="C_9bb8eaca-94f5-49ee-9d54-6eef6dfaf8ff" name="rgen:RevenueAndVolumeDiscountRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">9.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_912db92f-8af1-432f-9d9c-e155c2b67b42" contextRef="C_2e9572fd-807d-405f-b7b3-e7ebfd30dbcc" name="rgen:WeightedAverageDiscountRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">8.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnout Discount Rate</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_71bbad4a-211f-4dd2-b8b1-f75036593f7c" contextRef="C_47283da4-d33d-452b-905b-fcae0fd0bc2c" name="us-gaap:DerivativeFixedInterestRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">5.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6694713f-7b43-4d41-ab1e-cf28c3d156f7" contextRef="C_9bb8eaca-94f5-49ee-9d54-6eef6dfaf8ff" name="us-gaap:DerivativeFixedInterestRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">7.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8f549153-45c9-4a57-ad1c-4634125d18d7" contextRef="C_4efbc7e3-ffdf-49cf-9231-6e9cd054deeb" name="rgen:WeightedAverageDiscountRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">6.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Probability of<br/>&#160;Success</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d09a5594-6021-43c8-a3d3-f293664eb3b1" contextRef="C_5cafeb64-d914-401d-bf4c-d45df9d3ea60" name="rgen:ProbabilityOfSuccess" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0afbca3f-5b03-47f1-a186-aa0a448603a4" contextRef="C_fec4765a-86f8-4ef3-b39a-a5083a207150" name="rgen:WeightedAverageDiscountRate" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Manufacturing line expansions</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b06be254-ac99-4bbb-a088-494fb7c24b8e" contextRef="C_e6aacc32-5791-4b11-9df3-2bff916ddb5a" name="us-gaap:LiabilitiesFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,505</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Probability-weighted present value</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnout Discount Rate</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4eb4d066-69ee-488d-860c-b279dad54cdf" contextRef="C_b8e12f24-a00c-4ecf-98c5-08e540d70eb1" name="us-gaap:DerivativeFixedInterestRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">6.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eb962ac7-d573-4ca0-b08a-c88c424e8ca2" contextRef="C_357e55f3-c316-406e-b1eb-308c55345fdf" name="us-gaap:DerivativeFixedInterestRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">6.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b8426ec9-5701-42d1-83d6-5095bc976f9c" contextRef="C_ccbed23e-b536-4c0d-b083-8e75690759fd" name="rgen:WeightedAverageDiscountRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">6.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><ix:footnote id="FNT_7590bd9e-4e2c-4213-8d6c-0b9fde55e0a2" xml:lang="en-US"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">Unobservable inputs were weighted by the relative fair value of the contingent consideration liability.</span></ix:footnote></div></div></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company estimates the fair value of the contingent consideration earnouts using a Monte Carlo simulation. Changes in the projected performance of the acquired business could result in a higher or lower contingent consideration obligation in the future.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value Measured on a Nonrecurring Basis</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During 2023, there were no re-measurements to fair value of financial assets and liabilities that are measured at fair value on a nonrecurring basis.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In July 2019, the Company issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f17ef9ff-80ca-43b2-8ab7-902fc92ab3a4" contextRef="C_e577c14f-0a88-47c6-b306-33ee91d44b1b" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">287.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2019 Notes. Interest is payable </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_7f3655e9-bbc2-43ae-a9c9-a05b651b111a" contextRef="C_067a6114-4b5a-4053-96f4-f46a5a9efe53" name="us-gaap:DebtInstrumentFrequencyOfPeriodicPayment"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">semi-annually</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> in arrears on January 15 and July 15 of each year. The 2019 Notes will mature on July 15, 2024, unless earlier converted or repurchased in accordance with their terms. At </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 and 2022, subsequent to the adoption of ASU 2020-06, the carrying value of the 2019 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_761c2500-6d04-4340-a682-378eeec05b3b" contextRef="C_cc30fe8f-8f76-40be-9d6f-5f22734651e2" name="us-gaap:LongTermDebt" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">69.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f6c9cb47-6142-434e-a312-e0ccd918fc8f" contextRef="C_2275e601-d650-4815-a23e-bb50cf4ced4b" name="us-gaap:LongTermDebt" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">284.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively, net of unamortized debt issuance costs and the fair value of the 2019 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f988992b-c1f7-42f4-8c52-dda0e9b5b910" contextRef="C_cc30fe8f-8f76-40be-9d6f-5f22734651e2" name="us-gaap:LongTermDebtFairValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">109.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_05aca758-d616-4ad7-976c-1d52fc0ded01" contextRef="C_2275e601-d650-4815-a23e-bb50cf4ced4b" name="us-gaap:LongTermDebtFairValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">452.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively. The fair value of the 2019 Notes is a Level 1 valuation and was determined based on the most recent trade activity of the 2019 Notes as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 and 2022. The 2019 Notes are discussed in more detail in Note 15, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Convertible Senior Notes,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to these consolidated financial statements.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On December 14, 2023, the Company issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8b695ecb-e813-4e5b-b138-263abfef09f0" contextRef="C_2ecdb204-949b-48a4-8e49-b9f444873ce3" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">600.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of its 2023 Notes in a private placement pursuant to separate, privately negotiated exchange and subscription agreements (the &#8220;Exchange and Subscription Agreements&#8221;) with a limited number of holders of its outstanding 2019 Notes and certain other qualified institutional buyers pursuant to Rule 144A under the Securities Act of 1933, as amended (&#8220;Securities Act&#8221;). Pursuant to the Exchange and Subscription Agreements, the Company exchanged $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_701b2987-ae87-4fcb-ae8f-f6231dc229c8" contextRef="C_c8400b9c-a292-460d-9ec9-8b21c8adc9ba" name="rgen:DebtInstrumentExchangeAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">217.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of its 2019 Notes for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bc73cd89-d5a2-470f-b5a5-5adfca10eba1" contextRef="C_11d24eba-5e1b-4e9b-ae8e-2f7ef5ef6006" name="rgen:DebtInstrumentExchangedAmountCancelled" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">309.9</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2023 Notes (the &#8220;Exchange Transaction&#8221;) and issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ee66c9be-747a-447a-ac45-f09334927c44" contextRef="C_9b397362-a50f-409a-8150-574b325acafc" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">290.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2023 Notes (the &#8220;Subscription Transactions&#8221;) for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_299dacdf-f5a3-4173-bcba-7eafbb2e7359" contextRef="C_b4d4e915-4714-412b-939b-5521b848cb6e" name="rgen:DebtInstrumentIssuedForCash" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">290.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash. At December 31, 2023, the carrying value of the 2023 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a881ba39-d124-4219-9347-13d03e3a23d9" contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09" name="us-gaap:LongTermDebt" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">510.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, net of unamortized debt issuance costs, and the fair value of the 2023 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cf55173e-e9d1-4de1-b946-decba7f03efb" contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09" name="us-gaap:LongTermDebtFairValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">596.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The fair value of the 2023 Notes is a Level 1 valuation and was determined based on the most recent trade activity of the 2023 Notes as of December 31, 2023. The 2023 Notes are discussed in more detail in Note 15, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to these consolidated financial statements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">88</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:nonNumeric id="F_b152780f-f619-4ea3-b0e7-562830f36a5c" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:BusinessCombinationDisclosureTextBlock" escape="true" continuedAt="F_b152780f-f619-4ea3-b0e7-562830f36a5c_1"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">5.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Acquisitions</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">2023 Acquisitions</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Metenova Holding AB</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On October 2, 2023, the Company's subsidiary, Repligen Sweden AB acquired Metenova from the former shareholders of Metenova (the &#8220;Metenova Seller&#8221;) pursuant to a Share Sale and Purchase Agreement (the &#8220;Share Purchase Agreement&#8221;), dated as of September 23, 2023 (such acquisition, the &#8220;Metenova Acquisition&#8221;), by and among Repligen Sweden AB, the Metenova Seller, and the Company, in its capacity as guarantor of the obligations of Repligen Sweden AB under the Share Purchase Agreement.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Metenova, which is headquartered in Molndal, Sweden, offers magnetic mixing and drive train technologies that are widely used by global biopharmaceutical companies and contract development and manufacturing organizations. The Metenova Acquisition further strengthens our fluid management portfolio with these products.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consideration Transferred</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company accounted for the Metenova Acquisition as a purchase of business under ASC 805, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business Combinations,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and the Company engaged a third-party valuation firm to assist with the valuation of Metenova. Under the Share Purchase Agreement, all outstanding equity interests of Metenova were acquired for consideration with a value totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ee17f6d9-0cd9-46dc-9612-e8b326de27c9" contextRef="C_a82de08f-7d1d-4d1d-b664-f03878b55e70" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">172.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The Metenova Acquisition was funded through payment of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8437cdf2-6f90-4bb3-a2ec-5df3059a019c" contextRef="C_a82de08f-7d1d-4d1d-b664-f03878b55e70" name="us-gaap:PaymentsToAcquireBusinessesGross" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">164.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash, the issuance of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_320553e7-235f-4b95-9a37-7bc79849668b" contextRef="C_a82de08f-7d1d-4d1d-b664-f03878b55e70" name="us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">52,299</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> unregistered shares of the Company's common stock totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8404ce18-aff9-4cad-b299-215e48aaef9e" contextRef="C_4262f47e-b7af-4b7a-a6c9-99632074c7bb" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">8.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and contingent consideration with an immaterial fair value.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the acquisition method of accounting, the assets acquired and liabilities assumed of Metenova were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net liabilities acquired is estimated to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_778ca369-d62c-47f0-a1d1-771823f00019" contextRef="C_e4f5cb18-a0e8-4e04-bab9-b673b7dd06ae" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, the fair value of the intangible assets acquired is estimated to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cb69508f-8731-48be-b20a-845d7a53c5be" contextRef="C_e4f5cb18-a0e8-4e04-bab9-b673b7dd06ae" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">58.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and the residual goodwill is estimated to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e2039fee-7afe-4c9a-8957-6e6c8737a305" contextRef="C_e4f5cb18-a0e8-4e04-bab9-b673b7dd06ae" name="us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">115.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The estimated consideration and preliminary purchase price information has been prepared using a preliminary valuation. Acquisition-related costs are not included as a component of consideration transferred but are expensed in the periods in which costs are incurred. The Company has incurred $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_622bc47e-8340-41a9-b383-4f1db017f7b7" contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62" name="us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">3.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of transaction and integration costs associated with the Metenova Acquisition from the date of acquisition to December 31, 2023. The transaction costs are included in operating expenses in the consolidated statements of comprehensive income in 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value of Net Assets Acquired</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The preliminary allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date. As of December 31, 2023, the purchase accounting for this acquisition had not been finalized. As additional information becomes available, the Company may further revise its preliminary purchase price allocation during the remainder of the measurement period. Besides tax implications of the purchase price allocation, the final allocation may result in changes to other assets and liabilities.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><div><ix:nonNumeric id="F_99a2f396-474c-46e5-94e1-50f86eac7e37" contextRef="C_1a3669c7-edae-4d97-bd42-a06f7bc215b9" name="us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" escape="true" continuedAt="F_99a2f396-474c-46e5-94e1-50f86eac7e37_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and estimated allocation of the purchase price consist of the following (amounts in thousands):</span></p></ix:nonNumeric></div></ix:nonNumeric></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">89</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_b152780f-f619-4ea3-b0e7-562830f36a5c_1" continuedAt="F_b152780f-f619-4ea3-b0e7-562830f36a5c_2"><div style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_99a2f396-474c-46e5-94e1-50f86eac7e37_1">
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;box-sizing:content-box;"/>
        <td style="width:1.94%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:15.823%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0e94bcf1-a4e3-4418-a663-5605dd681c20" contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,768</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_47fe43d7-4aec-4f40-80ca-feae482fb397" contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,730</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d2e870e5-24de-4089-9c09-7280181fe7d4" contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,421</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0dab7971-090f-472b-b5b5-6b01d8cf380a" contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">470</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f8a0d477-ed47-4cc9-8cec-535ddb35776a" contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">433</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c275c82e-a157-4d02-848f-7c3ebf63a89d" contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">615</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b63fe699-21f9-4ba1-9b99-3478657e960b" contextRef="C_b9ac2779-f189-44a9-a97c-13ae9a156480" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,659</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2973823c-b65c-4a82-9a64-8afd011986b3" contextRef="C_eba96294-5ae5-40e7-9508-1239e17102bb" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">44,377</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bdd61bb5-da85-47e5-b297-b4a8bb3d2013" contextRef="C_0788b2db-3193-4735-87b4-2ebcc611c50e" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">939</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0def3c9f-cb09-4240-8ba5-1358eb593184" contextRef="C_468b46f7-ee57-40de-be00-b230bf3bcc7d" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">787</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e1b7317a-a728-4d65-80b1-49b842072652" contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">115,778</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7aaac466-4114-4ba3-9797-ce517295cc03" contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,432</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_96ac2a34-c033-423c-9eca-385dc74f7bfc" contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,934</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_12d1e53e-acd7-462d-b7cf-6d74cbdd6f4d" contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">275</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax liability, long-term</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5eaa6a61-b5f4-4fa4-b62a-2c4eb7e3cf1e" contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,481</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1ddffe55-3307-49dc-961c-7b5aae21bd45" contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">255</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8adcfa2b-817a-498b-8e46-ac70c66d2d9d" contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">172,600</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:continuation></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquired Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The goodwill of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4423d0df-22e7-43e7-b4e4-590764e2c973" contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62" name="us-gaap:Goodwill" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">115.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million represents future economic benefits expected to arise from anticipated synergies from the integration of Metenova into the Company. These synergies include operating efficiencies and strategic benefits projected to be achieved as a result of the Metenova Acquisition. Substantially all of the goodwill recorded is expected to be nondeductible for income tax purposes.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span></p><div style="font-size:11pt;font-family:'Calibri',sans-serif;"><ix:nonNumeric id="F_5e1283b4-58ad-4999-9ce8-a01aaae5baaf" contextRef="C_1a3669c7-edae-4d97-bd42-a06f7bc215b9" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the Metenova Acquisition and their estimated useful lives:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.871%;box-sizing:content-box;"/>
        <td style="width:1.82%;box-sizing:content-box;"/>
        <td style="width:19.884%;box-sizing:content-box;"/>
        <td style="width:1.82%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:20.604%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_ec5819b5-b910-4128-8660-b7dda7c4b5a6" contextRef="C_1ea7cfd9-b67e-4786-a857-c751e74895fc" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1fdfdefc-024e-4d81-93cd-658872079226" contextRef="C_b9ac2779-f189-44a9-a97c-13ae9a156480" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,659</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_bb471dbc-47a9-40c6-b846-3548a95bae9a" contextRef="C_24150723-7711-48f4-98ec-4f54e99b7614" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_86ac4ebb-ca0a-4961-b5d9-b7fca50b2604" contextRef="C_eba96294-5ae5-40e7-9508-1239e17102bb" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">44,377</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_ac3632e0-57c7-4fda-94d2-4417abb92378" contextRef="C_db4a7269-67e4-4aba-8cef-e29da396221e" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_61532fe9-bde9-4673-b7ec-a8b22b9f26a4" contextRef="C_dcb0ae5a-6042-446a-b135-e56632d03469" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">939</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_0836d913-6308-47e3-a953-c992dc5a6a74" contextRef="C_d43babec-e112-4a4e-bd41-99b5e5a5370e" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2 years</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e045659d-a334-4a01-90fd-19fca6b38f01" contextRef="C_468b46f7-ee57-40de-be00-b230bf3bcc7d" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">787</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3cd4eff1-38ac-4d07-a82a-b1e61311694d" contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">58,762</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">FlexBiosys, Inc.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_bd29b2ec-fb6f-4da5-aee6-9a08e76df5b5" contextRef="C_79e62abb-7c94-41a6-814c-90254943c565" name="us-gaap:BusinessAcquisitionEffectiveDateOfAcquisition1" format="ixt:date-monthname-day-year-en"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">April 17, 2023</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company completed its acquisition of all of the outstanding equity interests in FlexBiosys, pursuant to an Equity Purchase Agreement with FlexBiosys, TSAP Holdings Inc. (&#8220;NJ Seller&#8221;), Gayle Tarry and Stanley Tarry, as individuals (collectively with NJ Seller, the &#8220;FlexBiosys Sellers&#8221;), and Stanley Tarry, in his capacity as the representative of the FlexBiosys Sellers (the &#8220;FlexBiosys Acquisition&#8221;).</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FlexBiosys, which is headquartered in Branchburg, New Jersey, offers expert design and custom manufacturing of single-use bioprocessing products and a comprehensive range of products that include bioprocessing bags, bottles, and tubing assemblies. These products will complement and expand our fluid management portfolio of offerings.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consideration transferred</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The FlexBiosys Acquisition was accounted for as a purchase of a business under ASC 805, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business Combinations,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and the Company engaged a third-party valuation firm to assist with the valuation of FlexBiosys. Under the terms of the EPA, all outstanding equity interests of FlexBiosys were acquired for consideration with a value totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_96391252-ca10-420b-9d1f-c8eb56805c4c" contextRef="C_79e62abb-7c94-41a6-814c-90254943c565" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">41.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The FlexBiosys Acquisition was funded through payment of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_19d891c7-3443-4a75-93c0-bf7800204ea3" contextRef="C_79e62abb-7c94-41a6-814c-90254943c565" name="us-gaap:PaymentsToAcquireBusinessesGross" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">29.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash, which includes $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_35459020-b391-42f6-82e9-5d5a33acefc3" contextRef="C_7975b29f-6b21-4987-8e7c-b58d2df11b0e" name="us-gaap:BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">6.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million deposited in escrow for future payments, the issuance of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_821e6e8e-a229-4cb6-af36-3e509c3fab6f" contextRef="C_79e62abb-7c94-41a6-814c-90254943c565" name="us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">31,415</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> unregistered shares of the Company's common stock totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d30af69e-6ab6-4b97-98f1-dea0317f2092" contextRef="C_1eea2353-4969-4ce8-9058-2e8547d6c132" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">5.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and contingent consideration with fair value of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_719fed68-e749-4459-aa88-144db96b89c1" contextRef="C_79e62abb-7c94-41a6-814c-90254943c565" name="us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">6.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">90</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_b152780f-f619-4ea3-b0e7-562830f36a5c_2" continuedAt="F_b152780f-f619-4ea3-b0e7-562830f36a5c_3"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the acquisition method of accounting, the assets acquired and liabilities assumed of FlexBiosys were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net assets acquired is estimated to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_36bd7d72-8dd1-405b-b0f4-226894317ab0" contextRef="C_7975b29f-6b21-4987-8e7c-b58d2df11b0e" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">14.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, the fair value of the intangible assets acquired is estimated to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3091c39e-a0eb-4771-b230-230617ce3ba0" contextRef="C_7975b29f-6b21-4987-8e7c-b58d2df11b0e" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">12.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and the residual goodwill is estimated to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_248dbdae-bc8c-45d2-98e1-5ba114b727ee" contextRef="C_7975b29f-6b21-4987-8e7c-b58d2df11b0e" name="us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">14.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The estimated consideration and preliminary purchase price information has been prepared using a preliminary valuation. Acquisition-related costs are not included as a component of consideration transferred but are expensed in the periods in which costs are incurred. The Company has incurred $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_74361673-bc27-4354-90ca-c5618c874e16" contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5" name="us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of transaction and integration costs associated with the FlexBiosys Acquisition from the date of acquisition to December 31, 2023 with $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_002bdecf-4d53-4f72-b187-bcbee69c5bf8" contextRef="C_a85a323e-95db-4086-a929-bcaabf49c967" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the transaction and integration costs incurred during the three months ended December 31, 2023. The transaction costs are included in operating expenses in the consolidated statements of comprehensive income in 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value of Net Assets Acquired</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The preliminary allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date. As of December 31, 2023, the purchase accounting for this acquisition had not been finalized. As additional information becomes available, the Company may further revise its preliminary purchase price allocation during the remainder of the measurement period, which ends on April 17, 2024. The final allocation may result in changes to other assets and liabilities.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_036833e7-714f-4848-b74d-73b629694cb2" contextRef="C_29eef544-91ed-4d72-864a-9119c13364c8" name="us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and estimated allocation of the purchase price consist of the following (amounts in thousands):</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;box-sizing:content-box;"/>
        <td style="width:1.94%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:15.823%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f498efe1-36e9-4d43-a838-f65891809f0a" contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,090</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3790005b-a951-43d2-92ef-95df934dae62" contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">683</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1addf947-d66a-4aa2-9e59-eabbb5c91040" contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">667</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4f4fbe17-03bc-471f-87ec-32676255a1b7" contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">35</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d631307a-d278-4949-a144-f5b844dbe18e" contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,034</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2272e769-1b16-47d5-9fb8-76cff11cf05c" contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,537</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6c75a8f7-fb1b-4882-bbd5-f29f592d91d2" contextRef="C_8d0cc9f9-4286-45fb-8903-515fb81aacb1" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,530</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a54cf4ce-1e43-4088-b696-1b2c38e9205d" contextRef="C_9b13cfe3-1b2a-4a9b-880a-9ddb6149f09e" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,860</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b0f58611-e885-459c-a9c4-0d92fdda48db" contextRef="C_d52b9952-ec66-4682-9c8a-39eb7b430fe1" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">30</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_debe2e50-9f79-4531-95c1-53c3e9efe5df" contextRef="C_511030e1-8f3a-44ca-8fda-31bd3de6c203" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">220</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3815de17-c5f9-4b9e-b95f-dc97cc5426c1" contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,321</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other long-term assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_898b8732-5690-4f14-afb0-bb007cc5d06b" contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d4d2c961-977c-47e0-91ca-a704a141f316" contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">136</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9185f72a-eb33-4b01-a172-49f85da6f833" contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">314</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_467ee8a3-9c07-473d-a630-a351a4917081" contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">39</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_325fdbec-d3e7-40f1-8d97-943f7840a41f" contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,498</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8e36a594-4cea-434e-b9dc-449a7ced50bd" contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">41,030</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During 2023, the Company recorded an immaterial net working capital adjustment related to the FlexBiosys Acquisition, which is included in goodwill in the table above.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquired Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The goodwill of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_22f2668a-42f0-4783-903a-56feafddac81" contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5" name="us-gaap:Goodwill" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">14.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million represents future economic benefits expected to arise from anticipated synergies from the integration of FlexBiosys into the Company. These synergies include operating efficiencies and strategic benefits projected to be achieved as a result of the FlexBiosys Acquisition. Substantially all of the goodwill recorded is expected to be deductible for income tax purposes.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span></p><div><ix:nonNumeric id="F_cf201f3f-5397-4e37-9721-ea2075a937ed" contextRef="C_29eef544-91ed-4d72-864a-9119c13364c8" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" escape="true" continuedAt="F_cf201f3f-5397-4e37-9721-ea2075a937ed_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the FlexBiosys Acquisition and their estimated useful lives:</span></p></ix:nonNumeric></div></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">91</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_b152780f-f619-4ea3-b0e7-562830f36a5c_3" continuedAt="F_b152780f-f619-4ea3-b0e7-562830f36a5c_4"><div style="font-size:11pt;font-family:'Calibri',sans-serif;"><ix:continuation id="F_cf201f3f-5397-4e37-9721-ea2075a937ed_1">
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.871%;box-sizing:content-box;"/>
        <td style="width:1.82%;box-sizing:content-box;"/>
        <td style="width:19.884%;box-sizing:content-box;"/>
        <td style="width:1.82%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:20.604%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_ea364bc5-7379-4159-9730-5c5747517a77" contextRef="C_4abf8ec1-5831-417f-a7a0-df8d261e5250" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12 years</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_30e5b542-9374-44a9-85c0-81d0b0b4e5af" contextRef="C_8d0cc9f9-4286-45fb-8903-515fb81aacb1" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,530</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_87cac108-1a6c-4d71-ab07-cde7f0d789a3" contextRef="C_8a126f1d-fe79-4bb7-9205-98984f6392f7" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16 years</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2acd4a55-1927-4c5d-a4c3-3309b56cffc8" contextRef="C_9b13cfe3-1b2a-4a9b-880a-9ddb6149f09e" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,860</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_661600af-64f5-4c88-972b-36c28333fae2" contextRef="C_f8ce4662-639c-43a7-9c32-7def0ed265ec" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4 years</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e65549be-29d9-401b-8637-574c96ac57d0" contextRef="C_0265e8fb-5e58-4f2d-a6c9-2fa91822cfc7" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">30</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_cbbe38b2-d09a-49d0-ac2e-ac55cf4e8d24" contextRef="C_7d52f340-2312-47b8-b669-dcdf99df683e" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5 years</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4df30578-a2ba-4a27-b3b7-563193e3ea7d" contextRef="C_511030e1-8f3a-44ca-8fda-31bd3de6c203" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">220</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d09ca27d-6d6d-4c1c-99ec-656a115e916d" contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,640</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:continuation></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">2021 Acquisitions</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">BioFlex Solutions LLC and Newton T&amp;M Corp.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On November 29, 2021, the Company entered into an Equity Purchase Agreement with BioFlex (&#8220;BioFlex EPA&#8221;), NTM and each of Ralph Meola and Jason Nisler, to acquire </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_772bc283-832d-4daf-acb7-ce631d0a1973" contextRef="C_be871d4a-3756-4b33-ab96-659992a35015" name="us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired" unitRef="U_pure" scale="-2" decimals="INF" format="ixt:num-dot-decimal">100</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the outstanding securities of BioFlex and NTM (collectively, the &#8220;NTM Acquisition&#8221;). The transaction closed on December 16, 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">NTM, which is headquartered in Newton, New Jersey, is the parent company of BioFlex and focuses on manufacturing of products, while BioFlex, also headquartered in Newton, New Jersey, commercializes branded products to biotech customers. The NTM Acquisition complements and expands our filtration offering paths as the industry migrates to single-use flow paths solutions for monoclonal antibody (&#8220;mAb&#8221;), vaccine and cell and gene therapy (&#8220;C&amp;GT&#8221;) applications, with a focus on single-use fluid management components, including single-use clamps, adapters, end caps and hose assemblies. The NTM Acquisition streamlines and increases control over many components in our single-use supply chain which ultimately should drive reduced lead-times for Repligen customers in the coming years.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consideration Transferred</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The NTM Acquisition was accounted for as a purchase of businesses under ASC 805, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Business Combinations&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and the Company engaged a third-party valuation firm to assist with the valuation of the business acquired. Under the terms of the BioFlex EPA, all outstanding shares of capital stock of BioFlex were acquired for consideration with a value totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_714f2ac4-3ae6-45bb-aa41-1b82a8b1b1f1" contextRef="C_6510b4a8-454d-4c05-903f-a7055df45cb9" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">31.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, which includes $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0ebf473d-423b-4d5b-a85a-5ab6348a2b5c" contextRef="C_6510b4a8-454d-4c05-903f-a7055df45cb9" name="rgen:BusinessCombinationConsiderationIndemnificationEscrow" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">3.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million deposited into an escrow against which the Company may make claims for indemnification.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the acquisition method of accounting, the assets acquired and liabilities assumed of BioFlex were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net assets acquired is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1aa48b2d-e9b2-4661-a143-8b8450b3e4c3" contextRef="C_be871d4a-3756-4b33-ab96-659992a35015" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">4.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, the fair value of the intangible assets acquired is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e339a523-3836-486a-a9a8-928c72852d9e" contextRef="C_be871d4a-3756-4b33-ab96-659992a35015" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">17.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, and the residual goodwill is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2878f612-b99d-420c-b796-e76fc5bd8a15" contextRef="C_be871d4a-3756-4b33-ab96-659992a35015" name="us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">9.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million.  Acquisition-related costs are not included as a component of consideration transferred but are expensed in the periods in which costs are incurred. The Company incurred </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3086b7a0-d9f8-4ee3-aa92-6c5f231b941d" contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2" name="us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">3.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of transaction and integration costs associated with the NTM Acquisition from the date of acquisition to December 31, 2022, with $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f7a70738-1ba6-4f5b-9faa-5ebd42565ec6" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of transaction and integration costs incurred in 2022 and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7800e64e-33b1-481d-9970-8735c756372f" contextRef="C_82911078-bdd7-49a5-87bb-adfb316a68b0" name="us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million incurred in 2021. The transaction and integration costs are included in operating expenses in the consolidated statements of comprehensive income for the periods ended December 31, 2022 and 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value of Net Assets Acquired</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date, based on the final valuation. The Company has made appropriate adjustments to the purchase price allocation during the measurement period, which ended December 16, 2022.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">92</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_b152780f-f619-4ea3-b0e7-562830f36a5c_4" continuedAt="F_b152780f-f619-4ea3-b0e7-562830f36a5c_5"><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_d6b0a49a-f531-4e52-8205-36dc291f453c" contextRef="C_932c309b-51cb-44b3-bc0b-590bd77b766c" name="us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and estimated allocation of the purchase price consist of the following (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;box-sizing:content-box;"/>
        <td style="width:1.94%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:15.823%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_70f1a5ef-4970-4416-94a3-f048ab5c7371" contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,870</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b52478bc-717d-4e55-9f01-14efbb498b83" contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,408</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bc014fe6-4959-4ca7-84af-c2b7599a2e6f" contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">741</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b78b984c-6f17-4f18-b4e5-9084ba967bf9" contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">126</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_01ebdf16-a327-4983-bcb5-666f1357255b" contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">34</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2ca9def1-a37a-42f3-84df-2c4f23071bc6" contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,034</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ce7ee763-e9d3-4f89-877e-a6b60bff135b" contextRef="C_4ece218e-ea24-4147-b907-3f5bb672e770" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,240</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5c0be24d-1fb3-4372-9be6-bd65dbd6fbed" contextRef="C_f2669897-cafb-4b1e-8549-28ba2a50496b" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,540</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d4d369a6-1c3b-4c70-9119-48166910f4b2" contextRef="C_abc21ae5-4e05-4e1a-b86b-4aabbb320074" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">310</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_71c5a351-bba6-4f6a-9f09-9b93da06f65d" contextRef="C_8f21fc99-0e7a-4bd4-9d0f-1ad39154124c" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">60</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_44b01b32-db74-4c33-b0be-456640fb578c" contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,834</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long term deferred tax asset</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b9379722-ecec-4f74-9919-e20bd2105887" contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">81</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_71883027-c1c1-4d8c-bf9a-df6a021079b2" contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">224</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7fba2669-7321-4fe6-9af1-e2b369d0f353" contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">450</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_720a94d5-d773-4f25-aa1f-7a6f20d2dcaa" contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,030</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2b8a4056-9a9a-4456-b42b-86613c2eff1a" contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_39ba7b90-25c6-427b-ae5f-c31edd90ea31" contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">31,571</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During 2022, the Company recorded net working capital adjustments of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d2a9ef56-fab0-429a-ab06-b4ee892b2c4a" contextRef="C_05ebe28c-5ee0-42ff-b7aa-c238426453d1" name="rgen:BusinessAcquisitionWorkingCapitalAdjustments" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million related to pre-acquisition liabilities, which are included in goodwill and accrued liabilities in the table above.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquired Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The goodwill of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dfcbabd8-b6d7-4c46-a193-44808abb923f" contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2" name="us-gaap:Goodwill" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">9.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million represents future economic benefits expected to arise from anticipated synergies from the integration of BioFlex and NTM into the Company. These synergies include certain operating efficiencies and strategic benefits projected to be achieved as a result of the NTM Acquisition. Substantially all of the goodwill recorded is expected to be deductible for income tax purposes.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_611b7791-b345-41c2-aca8-77e762bab9e7" contextRef="C_932c309b-51cb-44b3-bc0b-590bd77b766c" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the NTM Acquisition and their estimated useful lives:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.871%;box-sizing:content-box;"/>
        <td style="width:1.82%;box-sizing:content-box;"/>
        <td style="width:19.884%;box-sizing:content-box;"/>
        <td style="width:1.82%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:20.604%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_b7a3a48c-74d2-4a37-a127-e9712d32ba2a" contextRef="C_13d41b52-dc6f-40b2-b68b-8be806556dc4" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10 years</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_08ddc1eb-7e39-47f5-bfa2-73745be0a2e9" contextRef="C_4ece218e-ea24-4147-b907-3f5bb672e770" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,240</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_2e208ed0-6891-48a5-9460-451ad62cc296" contextRef="C_4a29c368-0c77-4046-977c-d443e13aff4e" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11 years</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f6a67fbd-575e-4c30-b863-4173cc78298a" contextRef="C_f2669897-cafb-4b1e-8549-28ba2a50496b" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,540</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_04f43269-ee9d-4b3b-8a5a-a1a4fd78bef1" contextRef="C_6fb54043-1aab-4aa6-bca1-093388f54d18" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_194ff804-291f-45e8-84ed-be646d49f997" contextRef="C_23640028-5b90-4cc8-b258-9a033867cf65" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">310</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_a7773300-e7bd-4741-b9d0-f16876d54fee" contextRef="C_34a9826a-c845-4d3c-afab-416c4c140419" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3 years</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7200a92e-b34b-41e6-9891-64450e5e01d2" contextRef="C_8f21fc99-0e7a-4bd4-9d0f-1ad39154124c" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">60</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d7aea39a-40ea-4460-9669-d7bbe0a285f6" contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,150</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Avitide, Inc.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On September 16, 2021, the Company entered into an Agreement and Plan of Merger and Reorganization (&#8220;Avitide Merger Agreement&#8221;) with Avalon Merger Sub, Inc., a Delaware corporation and a wholly owned direct subsidiary of the Company, Avalon Merger Sub LLC, a Delaware limited liability company and a wholly owned direct subsidiary of the Company, Avitide, a Delaware corporation, and Shareholder Representative Services LLC, a Colorado limited liability company, solely in its capacity as the representative, agent and attorney-in-fact of Avitide's securityholders to purchase Avitide. The transaction closed on September 20, 2021, and on the terms set forth in the Avitide Merger Agreement.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Avitide, which is headquartered in Lebanon, New Hampshire, offers diverse libraries and leading technology in affinity ligand discovery and development resulting in best-in-class ligand discovery and development lead-times. The acquisition gives the</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">93</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_b152780f-f619-4ea3-b0e7-562830f36a5c_5" continuedAt="F_b152780f-f619-4ea3-b0e7-562830f36a5c_6"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Company a new platform for affinity resin development, including C&amp;GT, and advances and expands the Company&#8217;s proteins and chromatography franchises to address the unique purification needs of gene therapies and other emerging modalities.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consideration Transferred</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Avitide Acquisition was accounted for as a purchase of a business under ASC 805, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Business Combinations&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and the Company engaged a third-party valuation firm to assist with the valuation of the business acquired. Under the terms of the Avitide Merger Agreement, all outstanding shares of capital stock of Avitide were cancelled and converted into the right to receive merger consideration with a value totaling up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5f09f0cd-9108-4262-bf18-ee25ef46875f" contextRef="C_739f2499-5a6e-4497-a335-0b687d7c1206" name="us-gaap:BusinessCombinationConsiderationTransferred1" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">275.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, which consisted of upfront payments in aggregate of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2c3728b2-f78e-4ed6-a22f-5c5084df0baf" contextRef="C_739f2499-5a6e-4497-a335-0b687d7c1206" name="us-gaap:PaymentsToAcquireBusinessesGross" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">150.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million ($</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_41793cd8-3a49-4c33-a809-9f284c185c52" contextRef="C_739f2499-5a6e-4497-a335-0b687d7c1206" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">149.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, net of cash acquired) and up to an additional $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ee288431-70ba-4310-b6e6-042886a56bfd" contextRef="C_739f2499-5a6e-4497-a335-0b687d7c1206" name="us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">125.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (undiscounted) in contingent consideration earnout payments if certain performance targets are achieved. Total consideration paid also included $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_291375c2-411a-4651-8313-4a5cc6f17d96" contextRef="C_739f2499-5a6e-4497-a335-0b687d7c1206" name="rgen:BusinessCombinationConsiderationIndemnificationEscrow" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million deposited into an escrow account against which the Company may make claims for indemnification. The Avitide Acquisition was funded through payment of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cd2f0e0a-ea1d-474f-9e8d-73da35bf296c" contextRef="C_bd45c841-c1b1-43de-9cf5-7b66118f6d51" name="us-gaap:PaymentsToAcquireBusinessesGross" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">75.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash, the issuance of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3b8e01fd-03db-40c9-883f-37422be6fa8b" contextRef="C_bd45c841-c1b1-43de-9cf5-7b66118f6d51" name="us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">271,096</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> unregistered shares of the Company&#8217;s common stock totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_504273d3-d571-4408-af61-8ecf0c58f4c5" contextRef="C_bd45c841-c1b1-43de-9cf5-7b66118f6d51" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">83.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and contingent consideration with fair value of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_14917ff9-c9bd-46b5-a207-01a9f2a237ec" contextRef="C_bd45c841-c1b1-43de-9cf5-7b66118f6d51" name="us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">88.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the acquisition method of accounting, the assets acquired and liabilities assumed of Avitide were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net assets acquired is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_29f9f28d-3ec8-4e5c-a310-75e1d42f16bd" contextRef="C_85787cd2-cc97-4fa0-9dc9-8c12203050fb" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, fair value of the intangible assets acquired is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5c58e83c-555f-4ec9-a84c-90c634966ddb" contextRef="C_85787cd2-cc97-4fa0-9dc9-8c12203050fb" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">46.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, and the residual goodwill is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bceec413-e81a-452a-92b3-d532fa5bb5ce" contextRef="C_85787cd2-cc97-4fa0-9dc9-8c12203050fb" name="us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">197.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million.  The Company has incurred </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e03b5e4a-385f-4486-bd5a-8d22a386dbfe" contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07" name="us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">5.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of transaction and integration costs associated with the Avitide Acquisition from the date of acquisition to December 31, 2022, with </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_73cd7330-af06-4a9f-ad6e-c53f5b36b91f" contextRef="C_5b2f98f0-5aaf-47f7-a6c3-eb82a9a19723" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">3.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">million of transaction and integration costs incurred in 2022 and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9d7b2a55-d418-4b91-ba46-9d7367c8fca7" contextRef="C_3b03e0b4-2f2a-44a7-b962-8f45b78cdb25" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in 2021. The transaction costs are included in operating expenses in the consolidated statements of comprehensive income for the periods ended December 31, 2022 and 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The preparation of the valuation required the use of significant assumptions and estimates. Critical estimates included, but were not limited to, future expected cash flows, including projected revenues and expenses, and the applicable discount rates. These estimates were based on assumptions that the Company believes to be reasonable. However, actual results may differ from these estimates.</span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_92151a46-5a2b-4e88-b8d2-6015e8a955de" contextRef="C_5f034394-cf78-4eb4-8ff9-9f23954cccd0" name="rgen:ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total consideration transferred is as follows (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;box-sizing:content-box;"/>
        <td style="width:1.94%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:15.823%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3b7a6536-cf0a-4173-a539-12d9dc573435" contextRef="C_5b2f98f0-5aaf-47f7-a6c3-eb82a9a19723" name="rgen:CashConsiderationExcludingRestrictedCash" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">74,962</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equity consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_57b34f9b-da1b-458e-91da-b806d0f49262" contextRef="C_5b2f98f0-5aaf-47f7-a6c3-eb82a9a19723" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">82,968</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration - earnout</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0557422e-c5a7-4f11-824f-4b16691b029d" contextRef="C_5b2f98f0-5aaf-47f7-a6c3-eb82a9a19723" name="us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">88,373</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_94e1d8c2-5839-4a24-bf1e-ddd6e8644655" contextRef="C_5b2f98f0-5aaf-47f7-a6c3-eb82a9a19723" name="us-gaap:BusinessCombinationConsiderationTransferred1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">246,303</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">       Fair Value of Net Assets Acquired</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date, based on the final valuation of Avitide. The Company has made appropriate adjustments to the purchase price allocation during the measurement period, which ended on September 20, 2022.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">94</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_b152780f-f619-4ea3-b0e7-562830f36a5c_6" continuedAt="F_b152780f-f619-4ea3-b0e7-562830f36a5c_7"><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_ca931bd5-9a11-49fc-84eb-9b2393cd8ca2" contextRef="C_5f034394-cf78-4eb4-8ff9-9f23954cccd0" name="us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and estimated allocation of the purchase price consist of the following (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;box-sizing:content-box;"/>
        <td style="width:1.94%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:15.823%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bd714bc2-301e-439e-aac4-7653a198a088" contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">572</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_97e43761-d8d1-4f66-b518-4a6c9e21080b" contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">228</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_43975ff5-7f2d-4f48-b668-0830ff7c37cd" contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">332</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8de2c992-f32a-4faf-b88a-f65301a00c49" contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">114</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e66c8aa7-1025-4be6-94bb-a1d3d9259509" contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,862</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8abf98d5-a8c3-449d-a849-3070e68f486a" contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,648</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_adedc4b1-2f82-4eb3-94e8-c904df84a825" contextRef="C_e5346cff-daa3-4b88-af43-66a2dfc7c4cc" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">24,580</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_415a7d56-f0df-4106-a837-0762dfc7824c" contextRef="C_13a377e5-c54c-40c1-8862-a75c34f185ad" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20,650</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_74358af2-39b8-48e7-889d-d9f7aa8dc3ce" contextRef="C_65474625-14e9-4073-bb51-8a868ee6020c" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,210</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1ebd81c4-acf4-4ed0-83c5-2297abc2ea47" contextRef="C_5b80df83-7025-491e-a539-f48cf74a13a9" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">210</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_486b02e9-c7c5-4736-aa27-f2d1c562f3c7" contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">197,476</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long term deferred tax asset</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a6f7fe76-3844-4346-930c-1e03187bfc9c" contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,525</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c6df9ccd-7ec3-46fe-a491-3e78924bb65f" contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">215</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d90ca595-f1ba-4f9f-9cdd-cef86e4df82b" contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,183</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7b5dffb0-d185-482f-ae4a-6d6f9d5d688e" contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">698</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_576f5560-e71e-439d-88ac-4de25924fba1" contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,950</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7fb8545d-19f3-4a0b-8b63-cc29fec2d48b" contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">58</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_84279c65-13d8-46ef-b250-1700053514f8" contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">246,303</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquired Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The goodwill of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_572c0dfd-e645-45e9-8de3-adeebc948934" contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07" name="us-gaap:Goodwill" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">197.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million represents future economic benefits expected to arise from anticipated synergies from the integration of Avitide. These synergies include certain cost savings, operating efficiencies and other strategic benefits projected to be achieved as a result of the Avitide Acquisition. Substantially all of the goodwill recorded is expected to be nondeductible for income tax purposes. During 2022, the Company recorded adjustments to goodwill of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a4de73ec-59c2-4644-9b75-644dcd572b99" contextRef="C_5b2f98f0-5aaf-47f7-a6c3-eb82a9a19723" name="rgen:BusinessAcquisitionWorkingCapitalAdjustments" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million related to a change in estimated tax benefits associated with the net operating loss carryforward filed on the Avitide pre-acquisition tax return. The offset of these adjustments is included in long term deferred tax asset in the table above.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_1bc81a19-02b9-4404-a214-3f9092287eba" contextRef="C_5f034394-cf78-4eb4-8ff9-9f23954cccd0" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the Avitide Acquisition and their estimated useful lives:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.871%;box-sizing:content-box;"/>
        <td style="width:1.82%;box-sizing:content-box;"/>
        <td style="width:19.884%;box-sizing:content-box;"/>
        <td style="width:1.82%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:20.604%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_e3c048aa-a2c8-41f1-a089-b383e84acd06" contextRef="C_6e6a7aa0-d26c-47ef-8006-274f7962495e" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13 years</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_63f7c0f3-0b2d-493b-ac1b-a519e959fb86" contextRef="C_e5346cff-daa3-4b88-af43-66a2dfc7c4cc" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">24,580</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_201948b6-59b5-432f-a597-2af9f9fc1b97" contextRef="C_4839da60-958e-407b-9bba-2302adbf97ff" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_042760f6-ae47-4857-b01d-e97951190cca" contextRef="C_13a377e5-c54c-40c1-8862-a75c34f185ad" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20,650</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_f859b46d-bffe-498b-ae07-4e2c5d0cef8a" contextRef="C_8e03f0b0-cf7e-45ef-9176-62d85b8565f6" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">18 years</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ed357044-eb9b-40e4-85af-30d5116a80d0" contextRef="C_50824066-db96-4e9c-89be-2187ed9c8b5b" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,210</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_dc823522-3fcc-4357-ae46-634c40e51e52" contextRef="C_c70e20b7-1a61-4956-9fe7-3c9acd47cfe1" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3 years</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_50e1d935-52fa-448b-9739-147d75d69e18" contextRef="C_5b80df83-7025-491e-a539-f48cf74a13a9" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">210</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fe043705-0df5-4004-8ccb-7fd2404cf499" contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">46,650</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Polymem S.A.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On June 22, 2021, the Company entered into a Stock Purchase Agreement with Polymem, a company organized under the laws of France, and Jean-Michel Espenan and Franc Saux, acting together jointly and severally as the representatives of the sellers pursuant to which Repligen acquired all of the outstanding common stock of Polymem for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d35e51f1-3adb-4636-b2ce-05fd45777e9b" contextRef="C_020d7343-3d39-48c4-9787-a80d017b01ba" name="us-gaap:PaymentsToAcquireBusinessesGross" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">47.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash.  The transaction closed on July 1, 2021 (the &#8220;Polymem Acquisition.&#8221;).</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Polymem, which is headquartered in, Toulouse, France, is a manufacturer of hollow fiber (&#8220;HF&#8221;) membranes, membrane modules and systems for industrial and bioprocessing applications. Polymem products will complement and expand the Company&#8217;s portfolio of HF systems and consumables. The acquisition substantially increases Repligen&#8217;s membrane and module manufacturing capacity and establishes a world-class center of excellence in Europe to address the accelerating global demand for these innovative products.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">95</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_b152780f-f619-4ea3-b0e7-562830f36a5c_7" continuedAt="F_b152780f-f619-4ea3-b0e7-562830f36a5c_8"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consideration Transferred</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company accounted for the Polymem Acquisition as a purchase of a business under ASC 805 and the Company engaged a third-party valuation firm to assist with the valuation of the business acquired. Payment for the transaction was denominated in Euros but is reflected here in U.S. dollars for presentation purposes based on an exchange rate of 0.8437 as of July 1, 2021, the date of acquisition. Total consideration paid was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4e56e8bb-3fd9-4bfa-8c2c-0c148032fdf2" contextRef="C_f7a6ff66-09a2-410c-aeb3-270cfd6996c1" name="us-gaap:BusinessCombinationConsiderationTransferred1" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">47.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, which included $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f6196682-a4eb-454d-ad76-ad7d8d287228" contextRef="C_f7a6ff66-09a2-410c-aeb3-270cfd6996c1" name="rgen:BusinessCombinationConsiderationIndemnificationEscrow" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">4.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million deposited into an escrow account against which the Company may make claims for indemnification.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the acquisition method of accounting, the assets acquired and liabilities assumed of Polymem were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net assets acquired is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_56cda14a-36e7-4df6-b13e-a012bed1e4d0" contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, the fair value of the intangible assets acquired is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5de76c3c-98bc-4c8b-857b-71c39e887738" contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">9.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, and the residual goodwill is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f620f5c4-cc57-4825-af4e-19b53ddcb730" contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff" name="us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">35.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. Acquisition-related costs are not included as a component of consideration transferred but are expensed in the periods in which costs are incurred. The Company incurred </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_af39906d-237f-4a37-9a74-511bc8c55e51" contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff" name="us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">8.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">million of transaction and integration costs associated with the Polymem Acquisition from the date of acquisition to December 31, 2022, with </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bea5a565-1ea1-428a-bcd1-d2b8e0fbc5c0" contextRef="C_f7a6ff66-09a2-410c-aeb3-270cfd6996c1" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">5.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million incurred in 2022 and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3a0dc14a-cb4d-487c-952c-ccb382ee4d5d" contextRef="C_576509cb-8cb1-4c91-aa64-e0e06b940d7f" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">3.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million incurred from the date of acquisition to </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2021. The transaction costs are included in operating expenses in the consolidated statements of comprehensive income for the periods ended December 31, 2022 and 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value of Net Assets Acquired</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date, based on the final valuation of Polymem. The Company has made appropriate adjustments to the purchase price allocation during the measurement period, which ended on July 1, 2022.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_6c66abc1-76d0-4a83-a8c1-fae4775730b8" contextRef="C_0e1f33d7-90de-41d5-8921-1d2474bea169" name="us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and final allocation of the purchase price consist of the following (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;box-sizing:content-box;"/>
        <td style="width:1.94%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:15.823%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_21cf9e89-c6b1-471e-b5e2-0b6a47679120" contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">353</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net working capital (excluding cash and inventory<br/>&#160;&#160;&#160;&#160;&#160;step-up)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_57391490-7cea-4b85-8cf8-3760d75fb066" contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff" name="rgen:NetWorkingCapitalExcludingCashAndInventory" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">414</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory step-up</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9639d882-dd04-43c2-9faa-3d68c8dcab86" contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">543</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f41039f1-4ca7-4243-892f-e7c3460cb281" contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,424</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9a72bd42-7ed3-4de5-a2df-edd881f90e05" contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,145</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_28407443-331e-466f-96f2-fc1e52138e55" contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">41</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d3fb8397-7fd4-44aa-b809-1d55331f28b5" contextRef="C_1b2adbd2-5edf-464c-8fe3-ae19e88561b9" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,274</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradenames</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_15d4ca27-1515-41a5-aa69-725f601a33b5" contextRef="C_b9b4b5d6-de5d-476c-9e99-40894c80f091" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">510</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-compete agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_30fa530b-418d-407f-ac37-71839695ff21" contextRef="C_cdf74e2b-c5e8-4335-b70c-b1908a440d75" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">312</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_565ab39b-4379-422e-884e-6684a9087ba3" contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">35,680</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_34a80373-4d6f-4043-b081-513e4b4773bb" contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,253</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long term deferred tax liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e5bbfce0-c33e-432e-b210-aaecad4bf61e" contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,327</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other long-term liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e581433b-e252-42d7-87bf-df151ce2712b" contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">143</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:bold;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"><ix:nonFraction id="F_b29bca77-eeb5-4e84-b145-d894c62dbcd7" contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">46,973</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquired Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The goodwill of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2aa213fa-b952-43f0-95cf-efac4b30ba46" contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff" name="us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">35.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million represents future economic benefits expected to arise from anticipated synergies from the integration of Polymem. These synergies include certain operating efficiencies and strategic benefits projected to be achieved as a result of the Polymem Acquisition. Substantially all of the goodwill recorded is expected to be nondeductible for income tax purposes.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">96</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_b152780f-f619-4ea3-b0e7-562830f36a5c_8"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_a561eafa-b9f3-45f5-8e6f-c9db4ae46a8d" contextRef="C_0e1f33d7-90de-41d5-8921-1d2474bea169" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the Polymem Acquisition and their estimated useful lives:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.871%;box-sizing:content-box;"/>
        <td style="width:1.82%;box-sizing:content-box;"/>
        <td style="width:19.884%;box-sizing:content-box;"/>
        <td style="width:1.82%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:20.604%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_4a8bebd8-4454-40b4-a225-e8676961e0be" contextRef="C_b863eea6-61f9-4978-952d-7f6d07797f95" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13 years</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e0a58b5c-cc15-4331-8d62-80be75118012" contextRef="C_1b2adbd2-5edf-464c-8fe3-ae19e88561b9" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,274</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_378916f4-51a4-4c36-9c79-3c1a23d363a2" contextRef="C_85168802-14e7-4bb1-8535-42c2d678584c" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14 years</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_98dabca4-f6f8-493b-9ef4-11a6fdfd75f2" contextRef="C_949b3acc-6542-40a4-86dc-c30d10c3f573" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">510</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_597a6359-f9ef-48c8-9adf-a81afb63fc5e" contextRef="C_9614fa2e-d8aa-45a3-912e-33c6febbd59a" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5 years</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dc993ab9-e80a-44e3-ac0c-70a6d77be441" contextRef="C_cdf74e2b-c5e8-4335-b70c-b1908a440d75" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">312</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a6f31412-2fe3-4c5c-b18d-a8eca7cacc7a" contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,096</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div></ix:continuation></div>
  <p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div><ix:nonNumeric id="F_6ec64eff-1eaf-4b28-94ad-a43423c42166" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock" escape="true" continuedAt="F_6ec64eff-1eaf-4b28-94ad-a43423c42166_1"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">6.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Restructuring Plan</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In July 2023, the Board authorized the Company's management team to undertake restructuring activities to simplify and streamline our organization and strengthen the overall effectiveness of our operations. In addition to the initial streamlining and re-balancing efforts contemplated in July, the Company is undertaking further restructuring activities (collectively, the &#8220;Restructuring Plan&#8221;) which include consolidating a portion of our manufacturing operations between certain U.S. locations, discontinuing the sale of certain product SKUs, and evaluating the fair value of finished goods and raw materials, mostly secured during the 2020-2022 COVID-19 pandemic period (the &#8220;COVID-19 Period&#8221;) to meet increasing demand during a challenging supply chain environment in the industry.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company recorded pre-tax costs of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b1e3078f-b6f0-4695-b42d-8b617e0ea5ab" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">32.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in 2023 related to the Restructuring Plan and expects the Restructuring Plan to be completed by the end of the third quarter of 2024. Of the $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5f0e3cf7-eda4-42db-96ca-8403bf6489e2" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">32.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in pre-tax costs in 2023, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_215debfd-3c79-416f-9b44-931cd4d871f6" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:NoncashInventoryAdjustments" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">27.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million is non-cash, relating primarily to inventory adjustments to record inventory at net realizable value and accelerated depreciation on equipment related to the shutdown of manufacturing facilities and production lines, the remaining costs are cash expenses, primarily related to severance and employee-related costs.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_456d0d27-144e-4ff2-b4a7-e8c3eac3d0c6" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the charges related to restructuring activities by type of cost:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:28.071%;box-sizing:content-box;"/>
        <td style="width:1.281%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:11.825%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.281%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:12.905%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.281%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:10.624%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.281%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:10.264%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.281%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.904%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="18" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Year Ended December 31, 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Severance &amp; Employee-Related Costs</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Inventory Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accelerated Depreciation</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Facility and Other Exit Costs</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="18" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of product revenue</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cdf80320-9ec7-45a1-8057-e66724f46f79" contextRef="C_28500612-427e-471d-b740-4cc7b18f89d7" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,077</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b32c064b-0d39-4f04-9697-f8e41fc6f701" contextRef="C_25a2b16a-f8ca-44e2-8a64-59fa3cd82225" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">23,588</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_160ba5d4-e680-4a8d-9e47-f22e61f34b24" contextRef="C_8fced8db-a45c-4846-b4db-2af4d62c8042" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,788</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8405dd82-0dae-41de-a49e-54942f1d8851" contextRef="C_dbd9f53d-3a19-4241-9998-df54acb4c40d" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">933</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1027147d-42c7-46c2-9130-dc0ff52a3af4" contextRef="C_e72c853e-3631-476f-86e5-4087f150e6bf" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">30,386</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and development</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d8308ac5-63db-4989-af04-5f9164ae2767" contextRef="C_19af5bfa-4a9e-4d9a-9713-c650fb8e8606" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">116</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a33a24e6-b690-4f40-a291-9c233e0ff5f4" contextRef="C_ba73e25b-8f33-452a-85c5-38d65f326340" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8e101b7c-47a0-4344-8e49-8fed8b1718b2" contextRef="C_aeca4317-2ca1-473a-8ffb-a7b7c0feef85" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5dbf7d66-efad-4a2b-9708-b58aefae2764" contextRef="C_fcb4125e-273a-44fd-9d09-9ff01cda4870" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9c658af5-c1e8-42d7-b0fe-56a50cb1934e" contextRef="C_b9fb015c-5324-4b79-bfca-e8473e117f1a" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">116</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Selling, general and administrative</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6c6d62aa-8ca9-4a6b-8a29-f7c75b0649ec" contextRef="C_72048d64-eb68-45f7-b7ba-737b8cff5b6b" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,532</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1c632375-989d-4b36-baf2-a752ec0b9113" contextRef="C_791f88a3-f366-4b27-9da7-3798d8ba6d29" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_86ae584c-e0a7-4d97-8015-b3f214c5deca" contextRef="C_2b4b3769-11d4-47f9-9499-c663372feec5" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">28</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b88b1ea0-7fa7-492e-a2f0-2ce07fd1f423" contextRef="C_91f7bf51-7cf8-4978-ad2a-98d4d87806f5" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">138</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3be4c3c2-5556-4d8d-8915-fb40a65faa8b" contextRef="C_81a9bdaf-6f7f-436c-8bb2-848fff93f096" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,698</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6074dc8a-a2be-4e5d-8130-dd7ff13e9ee7" contextRef="C_517b62b2-f94a-484b-bdad-beee620b135b" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,725</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4ed2b96a-19de-4cff-9377-ec30da8eee47" contextRef="C_5ef98629-d348-419f-9d8d-a7b6418a6220" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">23,588</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_42fa8383-01b8-4e7d-bf84-08acc71c8d55" contextRef="C_b9bd2956-55b6-4630-90c7-778486ff7c89" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,816</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d84eb7db-cb92-4631-8c2a-ffb165aadf96" contextRef="C_ea2f159d-1ada-4375-89ef-69b597936bc6" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,071</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2e8497ad-a01d-4600-845c-09de1ce07dc3" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">32,200</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Severance and employee-related costs under the Restructuring Plan are associated with actual headcount reductions. Costs incurred include cash severance and non-cash severance, including other termination benefits. Severance and other termination benefit packages are based on established benefit arrangements or local statutory requirements and we recognized the contractual component of these benefits when payment was probable and could be reasonably estimated.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The inventory adjustments include the impact of the Company discontinuing the sale of certain product SKUs and the impact of having proactively secured materials during the COVID-19 Period to meet accelerated demand during a challenging supply chain environment in the industry. Where demand has reduced, finished goods and raw materials, whose value exceeded the projected requirements to be used before reaching their expiration date, were written down to their realizable value. The Restructuring Plan also includes the closing of manufacturing facilities and production lines, which included inventory that could not be repurposed.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Non-cash charges for accelerated depreciation were recognized on long-lived assets that were taken out of service before the end of their normal service due to the shutdown of manufacturing facilities and production lines, in which case depreciation estimates were revised to reflect the use of the assets over their shortened useful life.</span></p></ix:nonNumeric></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">97</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_6ec64eff-1eaf-4b28-94ad-a43423c42166_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The restructuring accrual is included in accrued liabilities on the condensed consolidated balance sheets as of December 31, 2023 and the balance has been paid as of that date. </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_a77fb783-64b6-451e-92f6-1e75a07d6938" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock" escape="true" continuedAt="F_a77fb783-64b6-451e-92f6-1e75a07d6938_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Activity related to the Restructuring Plan for 2023 was as follows (amounts in thousands):</span></ix:nonNumeric></span></p><div style="font-size:10pt;font-family:Arial;"><ix:continuation id="F_a77fb783-64b6-451e-92f6-1e75a07d6938_1">
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:32.326%;box-sizing:content-box;"/>
        <td style="width:1.5%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:13.903%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.5%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:15.143%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.5%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:12.523%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.5%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:12.102%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Restructuring Costs</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amounts Paid in 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Non-Cash Restructuring Items</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Restructuring Liability</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;word-break:break-word;">
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Severance &amp; employee-related costs</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_19e44525-a042-4eac-ab46-2e18ef7670a0" contextRef="C_517b62b2-f94a-484b-bdad-beee620b135b" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,725</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_129b28ad-d844-4d39-9ea8-bc3e56d4833a" contextRef="C_517b62b2-f94a-484b-bdad-beee620b135b" name="us-gaap:PaymentsForRestructuring" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,044</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2b1683c9-7d3f-4deb-bf50-79a7b6c6a138" contextRef="C_517b62b2-f94a-484b-bdad-beee620b135b" name="us-gaap:RestructuringReserveSettledWithoutCash2" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">217</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#ffffff;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cb6a779b-3934-45b2-adcd-7b066658e921" contextRef="C_919fcf36-dcc9-43dc-bd7c-15e27130551b" name="us-gaap:RestructuringReserve" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">464</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory adjustments</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3c6a0d33-5838-4f36-bbde-5141efd00b18" contextRef="C_5ef98629-d348-419f-9d8d-a7b6418a6220" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">23,588</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d2e798bd-2f30-4cb5-a8c8-9a11124f0ee6" contextRef="C_5ef98629-d348-419f-9d8d-a7b6418a6220" name="us-gaap:PaymentsForRestructuring" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e5e14b55-4263-40a3-a6c6-3017c7f99088" contextRef="C_5ef98629-d348-419f-9d8d-a7b6418a6220" name="us-gaap:RestructuringReserveSettledWithoutCash2" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">23,588</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cdb94a45-c4f8-429a-b2ed-bd034e781967" contextRef="C_ff827794-7d38-4589-8b07-a404dba527d3" name="us-gaap:RestructuringReserve" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;word-break:break-word;">
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accelerated depreciation</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8e824257-3f35-4d5f-b91b-368612ac22ee" contextRef="C_b9bd2956-55b6-4630-90c7-778486ff7c89" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,816</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2d1621e8-3643-4168-896a-d244c3751b57" contextRef="C_b9bd2956-55b6-4630-90c7-778486ff7c89" name="us-gaap:PaymentsForRestructuring" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_885f7b7d-54d6-4e41-b81d-e70f7555a9f4" contextRef="C_b9bd2956-55b6-4630-90c7-778486ff7c89" name="us-gaap:RestructuringReserveSettledWithoutCash2" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,816</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#ffffff;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_abb63676-39a7-4682-a519-3448915bb7a3" contextRef="C_671f6d21-2dad-434b-b963-a3e1c9829454" name="us-gaap:RestructuringReserve" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Facility exit and other exit costs</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_66b918d5-5f29-4dae-8cb1-a192bd080c11" contextRef="C_6779d872-37d7-4981-91a5-220b5cc323ab" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,071</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e4a4c86b-59c4-43aa-82ef-2b5cab3ba0df" contextRef="C_6779d872-37d7-4981-91a5-220b5cc323ab" name="us-gaap:PaymentsForRestructuring" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,061</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_df7313f5-ab61-442b-b2ae-672bbb8ec39a" contextRef="C_6779d872-37d7-4981-91a5-220b5cc323ab" name="us-gaap:RestructuringReserveSettledWithoutCash2" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_51cc6e5e-7167-46ac-b367-eb407c7ef7bd" contextRef="C_f5dceb75-ed26-453b-8b03-a5e5608716ba" name="us-gaap:RestructuringReserve" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;word-break:break-word;">
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1d8f4685-2b51-4f22-ae45-aa98df0f68f3" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">32,200</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_12627e0c-3372-4922-aa85-5d9ec72b6230" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:PaymentsForRestructuring" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,105</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f80dc9d1-bfc7-4f22-b530-fe30256b087b" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:RestructuringReserveSettledWithoutCash2" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,631</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#ffffff;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8a0b0dcb-2082-49c4-b17b-e00298bd85a8" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:RestructuringReserve" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">464</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:continuation></div></ix:continuation></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div><ix:nonNumeric id="F_f5578cfc-b79e-4428-8710-1844b8340f9d" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:LesseeOperatingLeasesTextBlock" escape="true" continuedAt="F_f5578cfc-b79e-4428-8710-1844b8340f9d_1"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">7.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Leases</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company is a lessee under leases of manufacturing facilities, office spaces, machinery, certain office equipment and vehicles. A majority of the Company&#8217;s leases are operating leases with remaining lease terms between one month and 13 years. Finance leases are immaterial to the Company&#8217;s consolidated financial statements. The Company determines if an arrangement qualifies as a lease and what type of lease it is at inception. The Company elected the package of practical expedients permitted under the transition guidance within the new lease standard, which among other things, allowed it to continue to account for existing leases based on the historical lease classification. The Company also elected the practical expedients to combine lease and non-lease components and to exclude right of use assets and lease liabilities for leases with an initial term of 12 months or less from the balance sheet.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Some of the lease agreements the Company enters into include Company options to either extend and/or early terminate the lease, the costs of which are included in the Company&#8217;s operating lease liabilities to the extent that such options are reasonably certain of being exercised. Leases with renewal options allow the Company to extend the lease term typically between 1 and 5 years per option, some of its leases have multiple options to extend. When determining if a renewal option is reasonably certain of being exercised, the Company considers several economic factors, including but not limited to, the significance of leasehold improvements incurred on the property, whether the asset is difficult to replace, underlying contractual obligations, or specific characteristics unique to that particular lease that would make it reasonably certain that the Company would exercise such options.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of December 31, 2023 and 2022, operating lease right of use assets wer</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">e $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c9451f03-6a43-4c46-8e67-d493db2efe86" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">115.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> m</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">illion and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5bfe8047-409e-4415-a1fe-5c90b8408572" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">125.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively and operating lease liabilities were </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9e843a07-306b-4c96-89d3-cc18011423d5" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="rgen:OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">132.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b563c547-5a43-4e4f-adf8-49f805acafd6" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:OperatingLeaseLiability" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">138.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively. The addition of FlexBiosys and Metenova in 2023 added </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f24f1df3-9990-4140-bf59-7e1415dd1b4d" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:AreaOfLand" unitRef="U_sqft" decimals="INF" format="ixt:num-dot-decimal">43,833</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> square feet to our leased properties and as a result of that and the expansion in Toulouse, France, the operating right of use asset balance increased $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_63f83f8d-b0f7-4160-b34b-b6e736264858" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:IncreaseDecreaseInOperatingLeaseAsset" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">4.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in 2023, as compared to 2022. However, the consolidated right of use assets balance decreased due to the normal amortization of existing leases during 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">   </span></p><div><ix:nonNumeric id="F_d495f79c-28cc-43fc-8155-fee81de15b50" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" escape="true" continuedAt="F_d495f79c-28cc-43fc-8155-fee81de15b50_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The maturities of the Company&#8217;s operating lease liabilities as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 are as follows (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:72.84%;box-sizing:content-box;"/>
        <td style="width:2.2%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:22.959999999999997%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2024</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c2f643a0-a3d7-4da1-9e0b-b23434c53747" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">22,585</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2025</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_608d5d46-8b5f-4ee9-87ee-769fb0abdc9d" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,645</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2026</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1b4b704a-e8be-4971-8fce-397a9834a2ab" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,406</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2027</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4e174a41-5073-4c31-814d-e7e07bb792aa" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">23,944</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2028</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fdf86a78-5827-42ae-a1d0-a98c2f7c761b" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">24,382</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2029 and thereafter</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7bc930f4-b9ae-4c56-aa1d-a6db14f8819c" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">79,435</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total future minimum lease payments</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cbc19316-10fa-43a3-8235-b087ff1401de" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">201,397</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less lease incentives</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3d6c65f0-b954-420f-b08f-21dd2e64993c" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="rgen:LeaseIncentives" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,765</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less amount of lease payment representing interest</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d767a864-85bd-4d8e-a2bc-88d927736c5a" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">32,595</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total operating lease liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1b1a22a6-282b-42e4-8965-4d3a3659538e" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:OperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">159,037</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></ix:nonNumeric></div></ix:nonNumeric></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">98</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_f5578cfc-b79e-4428-8710-1844b8340f9d_1"><div><ix:continuation id="F_d495f79c-28cc-43fc-8155-fee81de15b50_1"><div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><ix:footnote id="FNT_0aaa5cdb-d79f-425b-b2a3-10c61e327eec" xml:lang="en-US"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">The future minimum lease payments include obligations for leases not yet commenced of $</span><span style="font-size:9pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_55564328-f008-4f33-9238-b5105985cc42" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="rgen:LeaseObligationsNotYetCommenced" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">26.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> million for manufacturing, office and warehouse facilities. These leases have terms of between </span><span style="font-size:9pt;font-family:Times New Roman;"><ix:nonNumeric id="F_9b4531b8-d0ec-46fb-b3d1-c4248b0b6b9b" contextRef="C_bd84582a-077d-43ef-b178-9dc980053e29" name="us-gaap:LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">5</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> and </span><span style="font-size:9pt;font-family:Times New Roman;"><ix:nonNumeric id="F_fea39440-5853-453c-bcb4-11bb897a5593" contextRef="C_b6fe10fa-8ab1-47b1-a63f-17b042a6b447" name="us-gaap:LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">10</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> years and commence during the first quarter of 2024.</span></ix:footnote></div></div></ix:continuation></div><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_ac4b80a0-dc5b-424e-b4a9-882e2cef0072" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total operating lease liabilities included on the Company&#8217;s consolidated balance sheets are as follows (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.28%;box-sizing:content-box;"/>
        <td style="width:1.74%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:17.619999999999997%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.74%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:17.619999999999997%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e1e8b023-9506-429f-bd85-42ee9eedf096" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:OperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,631</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_947ab538-e8ed-41af-bb04-a8ae9fdc2f59" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:OperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,957</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4d24fd7e-e45d-4ead-9e59-fa4bff73bc4e" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:OperatingLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">126,578</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6c884139-3a2a-4f98-9e67-7f564da55aa8" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:OperatingLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">131,389</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Minimum operating lease payments</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fda5ee48-25e2-4688-a1b2-53e4469c8f3b" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="rgen:OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">132,209</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6e3f97d1-6fe5-4382-b6e9-201635f17a9b" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="rgen:OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">138,346</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Lease expense for these leases is recognized on a straight-line basis over the lease term, with variable lease payments recognized in the period those payments are incurred. </span><span style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_5e20cd00-b039-43ee-8d6e-3bf7fca59253" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:LeaseCostTableTextBlock" escape="true" continuedAt="F_5e20cd00-b039-43ee-8d6e-3bf7fca59253_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021, total lease cost is comprised of the following:</span></ix:nonNumeric></span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:continuation id="F_5e20cd00-b039-43ee-8d6e-3bf7fca59253_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:44.489%;box-sizing:content-box;"/>
        <td style="width:1.5%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:15.083%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.5%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:15.083%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.26%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:15.083%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Lease Cost</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease cost</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7b6a49a4-7b79-42a8-81e9-ccb112ce07ea" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:OperatingLeaseCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20,981</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a70a60e7-1433-4e46-9163-d69b421ce879" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:OperatingLeaseCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,833</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dcaba1d3-3e73-434d-8595-bf7b51daba26" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:OperatingLeaseCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,838</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Variable operating lease cost</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_207d6b43-42e2-42ac-a838-dabb5c7f9a34" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:VariableOperatingLeaseCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,075</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cfef7307-7f3a-4a5d-9fa3-2d425fc7a921" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:VariableOperatingLeaseCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,317</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_42332912-44b0-4326-8fc7-7a50e7284ca8" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:VariableOperatingLeaseCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,118</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Lease cost</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7d783f4a-6519-40cd-9ad1-29224012a2c2" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:LeaseCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,056</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6038ec93-0c95-487e-9c94-61006c57b9e8" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:LeaseCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">29,150</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5fee4957-1a15-463a-8024-51ec516e47f4" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:LeaseCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">16,956</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:continuation></div><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_e95db668-cd2f-4e0d-9651-70651199b8f7" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following information represents supplemental disclosure for the consolidated statements of cash flows related to operating leases (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:44.489%;box-sizing:content-box;"/>
        <td style="width:1.5%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:15.083%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.5%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:15.083%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.26%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:15.083%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease cost</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b7e48acf-7ae5-4a17-a089-fdea6646c2b1" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:OperatingLeasePayments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,862</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b30f863d-1aa8-4ce9-b176-8b32b5cc56ca" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:OperatingLeasePayments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,757</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_22f4246a-2c12-4c23-a046-f1eaf4dfdfa4" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:OperatingLeasePayments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,863</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Most of the leases do not provide implicit interest rates and therefore the Company determines the discount rate based on its incremental borrowing rate. The incremental borrowing rate for the Company&#8217;s leases is determined based on lease term and currency in which the lease payments are made.</span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_3ee3f045-816a-4b06-b05e-18ae4d193866" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The weighted average remaining lease term and the weighted average discount rate used to measure the Company&#8217;s operating lease liabilities as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, were:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:75.735%;box-sizing:content-box;"/>
        <td style="width:1.42%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:20.844%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average remaining lease term (years)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_c302a534-8f4c-4291-b5dd-b25db0f53393" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7.74</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average discount rate</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f33b58b4-d22a-4189-b467-810e6597fc6a" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">4.13</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
      </table></ix:nonNumeric></div></ix:continuation></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">99</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:nonNumeric id="F_781bc270-2e3b-41e1-8db6-5d7703838193" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:RevenueFromContractWithCustomerTextBlock" escape="true" continuedAt="F_781bc270-2e3b-41e1-8db6-5d7703838193_1"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">8.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue Recognition </span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company generates revenue from the sale of bioprocessing products, equipment devices, and related consumables used with these equipment devices to customers in the life science and biopharmaceutical industries. Under ASC 606, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Revenue from Contracts with Customers,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">revenue is recognized when, or as, obligations under the terms of a contract are satisfied, which occurs when control of the promised products or services is transferred to customers.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Disaggregation of Revenue (As Restated)</span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_ad085e65-db41-4d7c-87ae-71e46d9d7022" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:DisaggregationOfRevenueTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021 was as follows:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:49.24%;box-sizing:content-box;"/>
        <td style="width:1.66%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:13.26%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.66%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:13.26%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.66%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:13.26%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Product revenue</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c611c37a-9f15-45fd-908a-fc1b6ff668f5" contextRef="C_986f06fb-599d-441f-bf85-de13b571525e" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">631,979</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3a0d8e84-1385-4d72-9ea8-e1d9b8a1e49b" contextRef="C_63d4e2c0-13f1-4b63-a2b4-ed1c5a642163" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">801,183</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a8f955cc-8df5-4fba-a743-db7f1134cf82" contextRef="C_56b5ac01-5af9-4a1e-ae71-eebdd534d000" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">670,319</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Royalty and other income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_47fe9689-5493-43f1-814a-bcb16b6f47a0" contextRef="C_47d99feb-bd92-4150-b94c-3d6e4128c1aa" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">383</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7c61399a-4bc5-42e9-a7d2-e7c1abc6506a" contextRef="C_b394aa78-5ae7-4528-8866-e5b57064eba4" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">353</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e0ea0a0b-2ca6-4d20-9543-08b3c445cb94" contextRef="C_2eb61456-3e86-445c-b113-c64ce244019d" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">215</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f1595d92-8088-47c1-a5ef-15c813e2da63" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">632,362</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_19c3bccd-d225-45d3-9435-971d1a0d4b9e" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">801,536</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1b3ce0c9-5e49-4258-86d0-ac88035ea575" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">670,534</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">When disaggregating revenue, the Company considered all of the economic factors that may affect its revenues.  Because its revenues are from bioprocessing customers, there are no differences in the nature, timing and uncertainty of the Company&#8217;s revenues and cash flows from any of its product lines. However, given that the Company&#8217;s revenues are generated in different geographic regions, factors such as regulatory and geopolitical factors within those regions could impact the nature, timing and uncertainty of the Company&#8217;s revenues and cash flows.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Disaggregated revenue from contracts with customers by geographic region can be found in Note 3, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Summary of Significant Accounting Policies &#8211; Segment Reporting,&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> above.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_33eda6c8-0b61-4953-aeed-b39eda028b74" contextRef="C_78d29b32-606c-4039-99bd-59c6cf363ebc" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" decimals="INF" format="ixt-sec:numwordsen"><ix:nonFraction id="F_b74a6ec6-0091-45c2-a8c5-9c77ceea264c" contextRef="C_3e29b877-8159-42fb-bc68-58494762c0f2" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" decimals="INF" format="ixt-sec:numwordsen">no</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> revenue from customers that represented </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2dbed956-e72c-4885-8652-1e693949e8e2" contextRef="C_60fa6f45-39ec-43c5-adac-3320c3d8a679" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal"><ix:nonFraction id="F_7071937b-ab3a-4cba-bc2c-19d4f742eb2c" contextRef="C_2ee23860-329f-4620-b83a-78ee0abbc74c" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">10</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% or more of the Company's total revenue for the year ended December 31, 2023 and 2022. Revenue from Pfizer Inc. was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7ff85fa3-2ca5-4df4-b894-908346db078a" contextRef="C_8ca10399-0d85-4d81-b159-3b54834efd4e" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">68.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, or </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_844752ca-1380-4f4a-a8c2-cfcef24c783a" contextRef="C_11c09de6-fe8a-4729-9991-f7b437a64e5d" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">10</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%, of the Company's total revenue for the year ended December 31, 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Filtration Products</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s filtration products generate revenue through the sale of KrosFlo and ARTeSYN tangential flow filtration (&#8220;TFF&#8221;) systems, TangenX</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> flat sheet (&#8220;FS") cassettes, Spectrum</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> HF filters, membranes and modules, XCell ATF systems and related consumables. Supporting our systems, we also sell ProConnex</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Flow Path assemblies and custom silicone-based, single-use flow path assemblies and components from Metenova, FlexBiosys, BioFlex, Polymem, ARTeSYN Biosolutions Holdings Ireland Limited, NMS and EMT, seven acquisitions completed since 2020.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s KrosFlo and ARTeSYN systems are used in the filtration, isolation, purification and concentration of biologics and diagnostic products.  TFF is a rapid and efficient method for separation and purification of biomolecules that is widely used in laboratory, process development and process scale applications in biopharmaceutical manufacturing. Sales of large-scale systems generally include components and consumables as well as training and installation services at the request of the customer.  Because the initial sale of components and consumables is necessary for the operation of the system, such items are combined with the systems as a single performance obligation.  Training and installation services do not significantly modify or customize these systems and therefore represent a distinct performance obligation.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s TangenX FS cassettes (SIUS, SIUS Gamma</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and PRO) are not highly interdependent on one another and are therefore considered distinct products that represent separate performance obligations. Product revenue from the sale of TangenX FS cassettes is generally recognized at a point in time upon transfer of control of the customer.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s other filtration product offerings are not highly interdependent of one another and are therefore considered distinct products that represent separate performance obligations.  Revenue on these products is generally recognized at a point in time upon transfer of control to the customer. The Company invoices the customer for the installation and training services in an</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">100</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_781bc270-2e3b-41e1-8db6-5d7703838193_1" continuedAt="F_781bc270-2e3b-41e1-8db6-5d7703838193_2"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">amount that directly corresponds with the value to the customer of the Company&#8217;s performance to date; therefore, revenue recognized is based on the amount billable to the customer in accordance with the practical expedient under ASC 606-10-55-18.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company also markets XCell ATF controllers, which are technologically advanced filtration devices used in upstream processes to continuously remove cellular metabolic waste products during the course of a fermentation run, freeing healthy cells to continue producing the biologic drug of interest. XCell ATF controllers are typically sold with consumables (i.e., tubing sets, metal stands) as well as training and installation services at the request of the customer. The controllers and consumables are considered distinct products and therefore represent separate performance obligations. First time purchasers of the controllers typically purchase a controller that is shipped with the tubing set(s) and metal stand(s). The training and installation services do not significantly modify or customize the XCell ATF controllers and therefore represent a distinct performance obligation. XCell ATF product revenue related to controllers and consumables is generally recognized at a point in time upon transfer of control to the customer.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Chromatography Products</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s chromatography products include a number of products used in the downstream purification and quality control of biological drugs. The majority of chromatography revenue relates to the OPUS pre-packed chromatography column product line. OPUS columns are designed to be disposable following a production campaign. Each OPUS column is delivered pre-packaged with the customer&#8217;s choice of chromatography resin, which is either provided by the Company for the customer or is customer supplied. Chromatography product revenue is generally recognized at a point in time upon transfer of control to the customer and represents a single performance obligation.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Process Analytics Products</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The process analytics franchise generates revenue primarily through the sale of the SoloVPE and FlowVPX slope spectroscopy systems, consumables and service. These products complement and support the Company&#8217;s existing filtration, chromatography and proteins franchises as they allow end-users to make in-line protein concentration measurements in filtration, chromatography and fill-finish applications, designed to allow for real-time process management. Process analytics product revenue is generally recognized at a point in time upon transfer of control to the customer.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Protein Products</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s protein franchise generates revenue primarily through the sale of Protein A affinity ligands and growth factors. Protein A ligands are an essential component of Protein A chromatography resins (media) used in the purification of virtually all mAb-based drugs on the market or in development. The Company manufactures multiple forms of Protein A ligands under long-term supply agreements with major life sciences companies, who in turn sell their Protein A chromatography media to end users (biopharmaceutical manufacturers). The Company also manufactures growth factors for sale under long-term supply agreements with certain life sciences companies as well as for direct sales to its customers.  Each protein product is considered distinct and therefore represents a separate performance obligation. Protein product revenue is generally recognized at a point in time upon transfer of control to the customer.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2021, the Company completed the Avitide Acquisition and added its diverse libraries and leading technology in affinity ligand discovery and development to its proteins franchise. The acquisition gives the Company a new platform for affinity resin development, including C&amp;GT, and advances and expands the Company&#8217;s proteins and chromatography franchises to address the unique purification needs of gene therapies and other emerging modalities.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Other Products</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s other products include operating room products sold to hospitals. Other product revenue is generally recognized at a point in time upon transfer of control to the customer.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Transaction Price Allocated to Future Performance Obligations</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Remaining performance obligations represent the transaction price of contracts for which work has not been performed or has been partially performed.  The Company&#8217;s future performance obligations relate primarily to the installation and training of</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">101</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_781bc270-2e3b-41e1-8db6-5d7703838193_2"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">certain of its systems sold to customers.  These performance obligations are completed within one year of receipt of a purchase order from its customers.  Accordingly, the Company has elected to not disclose the value of these unsatisfied performance obligations as provided under ASC 606-10-50-14.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Contract Balances from Contracts with Customers</span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_bbee4626-2fed-4aec-a22c-740443d00d8d" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table provides information about receivables and deferred revenue from contracts with customers as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 (amounts in thousands):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:70.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:67.72%;box-sizing:content-box;"/>
        <td style="width:1.64%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:13.040000000000001%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.64%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:11.96%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balances from contracts with customers only:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b2e0ecea-78a9-42f4-884e-ad17277062c3" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:ContractWithCustomerReceivableAfterAllowanceForCreditLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">124,161</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a2a9f68c-9b9c-4dc2-88ae-1a9e81956ce6" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:ContractWithCustomerReceivableAfterAllowanceForCreditLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">116,247</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred revenue (included in accrued liabilities and<br/>&#160;&#160;&#160;other noncurrent liabilities in the consolidated <br/>&#160;&#160;&#160;balance sheets)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e594ace8-36a7-4fcf-a7c1-c28828e3d140" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:DeferredRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,536</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d5798f79-b5dc-4231-8c1a-fd27b784eed3" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:DeferredRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,631</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue recognized during periods presented relating to:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">The beginning deferred revenue balance</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f55c9fec-48f8-47fd-92ea-735f752f2443" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:ContractWithCustomerLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">18,751</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7b1a26e2-02fa-4bb0-92b8-d12e5e7796e2" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:ContractWithCustomerLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,390</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The timing of revenue recognition, billings and cash collections results in the accounts receivable and deferred revenue balances on the Company&#8217;s consolidated balance sheets.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A contract asset is created when the Company satisfies a performance obligation by transferring a promised good to the customer. Contract assets may represent conditional or unconditional rights to consideration.  The right is conditional and recorded as a contract asset if the Company must first satisfy another performance obligation in the contract before it is entitled to payment from the customer. Contract assets are transferred to billed receivables once the right becomes unconditional. If the Company has the unconditional right to receive consideration from the customer, the contract asset is accounted for as a billed receivable and presented separately from other contract assets. A right is unconditional if nothing other than the passage of time is required before payment of that consideration is due.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">When consideration is received, or such consideration is unconditionally due, from a customer prior to transferring goods or services to the customer under the terms of a contract, a contract liability is recorded. Contract liabilities are recognized as revenue after control of the products or services is transferred to the customer and all revenue recognition criteria have been met.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Costs to Obtain or Fulfill a Customer Contract</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s sales commission structure is based on achieving revenue targets. The commissions are driven by revenue derived from customer purchase orders which are short term in nature.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Applying the practical expedient in paragraph 340-40-25-4, the Company recognizes the incremental costs of obtaining contracts as an expense when incurred if the amortization period of the assets that the Company otherwise would have recognized is one year or less. These costs are included in selling, general, and administrative expenses in our consolidated statements of comprehensive income. When shipping and handling costs are incurred after a customer obtains control of the products, the Company accounts for these as costs to fulfill the promise and not as a separate performance obligation.</span></p></ix:continuation></div>
  <div><ix:nonNumeric id="F_47f6d257-11f8-4288-9dc1-767457a9aeff" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:CreditLossFinancialInstrumentTextBlock" escape="true" continuedAt="F_47f6d257-11f8-4288-9dc1-767457a9aeff_1"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">9.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Credit Losses</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company is exposed to credit losses primarily through sales of products and services. The Company&#8217;s expected loss allowance methodology for accounts receivable is developed using historical collection experience, current and future economic and market conditions and a review of the current status of customers' trade accounts receivable. Customers are pooled based on sharing specific risk factors, including geographic location.  Due to the short-term nature of such receivables, the estimated accounts receivable that may not be collected is based on aging of the accounts receivable balances.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Customers are assessed for credit worthiness upfront through a credit review, which includes assessment based on the Company&#8217;s analysis of their financial statements when a credit rating is not available.  The Company evaluates contract terms and conditions,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">102</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_47f6d257-11f8-4288-9dc1-767457a9aeff_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">country and political risk, and may require prepayment to mitigate risk of loss. Specific allowance amounts are established to record the appropriate provision for customers that have a higher probability of default.  The Company monitors changes to the receivables balance on a timely basis, and balances are written off as they are determined to be uncollectible after all collection efforts have been exhausted.  Estimates of potential credit losses are used to determine the allowance. It is based on assessment of anticipated payment and all other historical, current and future information that is reasonably available.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The accounts receivable balance on the Company&#8217;s consolidated balance sheets as of December 31, 2023 was</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4cb4f264-9fd8-4554-a350-882dd53020be" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:AccountsReceivableNetCurrent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">124.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, net o</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">f $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aa63244b-7e80-43bf-9cd6-511b49a54131" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of allowances. </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_18197e59-2d70-49f2-bd6e-b7d9f09bd27a" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock" escape="true" continuedAt="F_18197e59-2d70-49f2-bd6e-b7d9f09bd27a_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table provides a roll-forward of the allowance for credit losses in 2023 and 2022 that is deducted from the amortized cost basis of accounts receivable to present the net amount expected to be collected (amounts in thousands):</span></ix:nonNumeric></span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:continuation id="F_18197e59-2d70-49f2-bd6e-b7d9f09bd27a_1"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;box-sizing:content-box;"/>
        <td style="width:1.62%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:12.883000000000001%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.62%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:12.883000000000001%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance of allowance for credit losses, beginning of period</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5e9fc7c3-b315-4827-9ce1-34cfbff18a43" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,365</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2a6252a9-fbc0-461f-90f8-25e3149a44a9" contextRef="C_82911078-bdd7-49a5-87bb-adfb316a68b0" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,417</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Current period change for write-offs</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b9b6ac00-c051-4f75-94c9-886e8c931534" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">82</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6ca69360-0eba-4a49-a723-f889990818c0" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">126</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Current period change for expected credit losses</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f0d8b375-0383-49fd-8d89-b903fc9fcbe0" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ProvisionForDoubtfulAccounts" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">839</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_10c78994-5f9e-445e-8e59-1798b5c87214" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:ProvisionForDoubtfulAccounts" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">74</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance of allowance for credit losses, end of period</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a960de61-5c38-40ef-8755-3e9af7f2c553" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,122</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f9908ae2-9fea-4375-9a5f-35bb75d5b79d" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,365</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:continuation></div></ix:continuation></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div><ix:nonNumeric id="F_78983722-a98a-4d4a-8d1c-187f50dc478e" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock" escape="true" continuedAt="F_78983722-a98a-4d4a-8d1c-187f50dc478e_1"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">10.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Goodwill and Intangible Assets</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Goodwill represents the difference between the purchase price and the estimated fair value of identifiable assets acquired and liabilities assumed. Goodwill acquired in a business combination and determined to have an indefinite useful life is not amortized, but instead is tested for impairment at least annually in accordance with ASC 350. </span><span><ix:nonNumeric id="F_4fa3680c-ee6f-475c-b772-5aa03de71d79" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ScheduleOfGoodwillTextBlock" escape="true" continuedAt="F_4fa3680c-ee6f-475c-b772-5aa03de71d79_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the changes in the carrying value of goodwill for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 and 2022 (amounts in thousands):</span></ix:nonNumeric></span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:continuation id="F_4fa3680c-ee6f-475c-b772-5aa03de71d79_1"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;box-sizing:content-box;"/>
        <td style="width:1.94%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:15.823%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of December 31, 2021</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d4b31439-89be-4826-b307-9ee5ab4b39e5" contextRef="C_82911078-bdd7-49a5-87bb-adfb316a68b0" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">860,362</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Measurement period adjustment - BioFlex</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e991247c-4cc8-42a3-949e-f20a20d67473" contextRef="C_40d2c774-50ed-4f1d-a778-947bd9f7ae40" name="us-gaap:GoodwillPurchaseAccountingAdjustments" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">346</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Measurement period adjustment - Avitide</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_85e9ca07-743d-4301-811d-5cd529205bb9" contextRef="C_5b2f98f0-5aaf-47f7-a6c3-eb82a9a19723" name="us-gaap:GoodwillPurchaseAccountingAdjustments" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,768</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cumulative translation adjustment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_55d6d778-d26d-4264-8b54-38bd760e441f" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,735</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of December 31, 2022</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_216e230d-00f6-4830-899f-a0daa3223532" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">855,513</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition of FlexBiosys, Inc.</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f26e05cb-0469-4d9e-914a-620c26d74842" contextRef="C_29eef544-91ed-4d72-864a-9119c13364c8" name="us-gaap:GoodwillAcquiredDuringPeriod" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,321</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition of Metenova Holding AB</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_564f5ef0-1d66-465b-a44b-094434c4a965" contextRef="C_1a3669c7-edae-4d97-bd42-a06f7bc215b9" name="us-gaap:GoodwillAcquiredDuringPeriod" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">115,778</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cumulative translation adjustment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_34f2bd91-f459-4960-b1d5-11fe6d57d0ec" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,508</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of December 31, 2023</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4b888287-9a98-4fcb-833b-f3906c23bc64" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">987,120</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:continuation></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During each of the fourth quarters of 2023, 2022 and 2021, the Company completed its annual impairment assessments and concluded that goodwill was not impaired in any of those years.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets (As Restated)</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets with a definitive life are amortized over their useful lives using the straight-line method, and the amortization expense is recorded within research and development (&#8220;R&amp;D&#8221;) and selling, general and administrative expense in the Company&#8217;s consolidated statements of comprehensive income. Intangible assets and their related useful lives are reviewed at least annually to determine if any adverse conditions existed that would indicate the carrying value of these assets may not be recoverable. More frequent impairment assessments are conducted if certain conditions exist, including a change in the competitive landscape, any internal decisions to pursue new or different technology strategies, a loss of a significant customer, or a significant change in the marketplace, including changes in the prices paid for the Company&#8217;s products or changes in the size of the market for the Company&#8217;s products. If impairment indicators are present, the Company determines whether the underlying intangible asset is recoverable through estimated future undiscounted cash flows. If the asset is not found to be recoverable, it is written down to the estimated fair value of the asset based on the sum of the future discounted cash flows expected to result from the use and disposition of the asset. If the estimate of an intangible asset&#8217;s remaining useful life is changed, the remaining carrying amount of</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">103</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_78983722-a98a-4d4a-8d1c-187f50dc478e_1" continuedAt="F_78983722-a98a-4d4a-8d1c-187f50dc478e_2"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the intangible asset is amortized prospectively over the revised remaining useful life. The Company continues to believe that its definite-lived intangible assets are recoverable at December 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Indefinite-lived intangible assets are tested for impairment at least annually. There has been </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2abfe942-9a6d-451e-9cc1-c80c80397b53" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill" unitRef="U_USD" scale="6" decimals="-6" format="ixt-sec:numwordsen">no</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> impairment of our intangible assets for the periods presented.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_a26f0414-f19e-4c16-85ef-45dba6f8625c" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets, net consisted of the following at </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.31%;box-sizing:content-box;"/>
        <td style="width:1.18%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.258000000000001%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.18%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.278%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.2%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.298%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.16%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.138%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Carrying<br/>Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated<br/>Amortization</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Net<br/>Carrying<br/>Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted<br/>Average<br/>Useful Life<br/>(in years)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Finite-lived intangible assets:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Technology - developed</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d5510402-4632-455a-bfae-3d97e519077a" contextRef="C_42f1d04a-ae48-4d01-803b-289f4eca102c" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">256,536</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_71823012-f2c9-43f0-89d5-6d314e742338" contextRef="C_42f1d04a-ae48-4d01-803b-289f4eca102c" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">44,633</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_03521fb6-bc28-4d13-a8af-11da292ab54e" contextRef="C_42f1d04a-ae48-4d01-803b-289f4eca102c" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">211,903</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_3e0e1de5-7d44-416a-b62d-f35851d88ca0" contextRef="C_42f1d04a-ae48-4d01-803b-289f4eca102c" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Patents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_95f97975-4ffe-4f1f-a603-1d88f9d95077" contextRef="C_be70101a-f1d6-4048-827d-4d1a06fdc729" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">240</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_00d5d8ff-4937-4825-baa4-a21b0c28712e" contextRef="C_be70101a-f1d6-4048-827d-4d1a06fdc729" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">240</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_38d5e3e3-5c7b-48a9-8ab5-44dc39dd943d" contextRef="C_be70101a-f1d6-4048-827d-4d1a06fdc729" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_55592b5e-0388-4b5b-a9a6-43214f649bd2" contextRef="C_be70101a-f1d6-4048-827d-4d1a06fdc729" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_186ec3e9-1925-4e73-b30c-c46aee875492" contextRef="C_f8950647-cae8-463b-9c4c-0abefaa69b9a" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">269,949</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_42a58b13-d2db-494c-8971-90cb34978a74" contextRef="C_f8950647-cae8-463b-9c4c-0abefaa69b9a" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">83,963</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_87cbc60d-5c28-464e-b979-80502e33fbd2" contextRef="C_f8950647-cae8-463b-9c4c-0abefaa69b9a" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">185,986</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_f7283a56-d385-49c9-ba1b-3e4b7c1fea5c" contextRef="C_f8950647-cae8-463b-9c4c-0abefaa69b9a" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademarks</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c62a00ec-07e7-4d17-9db9-f00f48e32b79" contextRef="C_ebf73946-9c8b-45db-a425-8abb4b7e6f67" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,757</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6663827f-f5b1-4f4c-b78e-cefb92322433" contextRef="C_ebf73946-9c8b-45db-a425-8abb4b7e6f67" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,789</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4a9cdfdf-4cff-4d1a-ab25-b64ed2f70345" contextRef="C_ebf73946-9c8b-45db-a425-8abb4b7e6f67" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,968</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_225547e3-308d-424c-a1d5-8b69eab594fa" contextRef="C_ebf73946-9c8b-45db-a425-8abb4b7e6f67" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other intangibles</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2f1a06e6-f653-4c89-895f-a08f7b0d303f" contextRef="C_0cd8d8e6-3c55-4902-aefd-5c9145f4ccd3" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,914</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7641b6ca-5d54-4a86-b2ab-4445489bec52" contextRef="C_0cd8d8e6-3c55-4902-aefd-5c9145f4ccd3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,514</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3695ed0b-d2ec-47d4-aaef-33c3558afb26" contextRef="C_0cd8d8e6-3c55-4902-aefd-5c9145f4ccd3" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,400</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_d06a1a56-454c-4a89-8cd0-aa8583e888e7" contextRef="C_0cd8d8e6-3c55-4902-aefd-5c9145f4ccd3" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total finite-lived intangible assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f955bbf5-4db5-40e8-a109-d1d3a2ffc3a8" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">539,396</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c87ec9fc-2028-4639-9bb7-ade55ec655e6" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">133,139</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c455f1c6-77c6-4582-b6c4-a3a0cfa8526d" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">406,257</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_dab48f7d-1f76-4f05-9abb-87a987de0f88" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Indefinite-lived intangible asset:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademarks</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_38257c15-0a8b-4317-8f1b-75b6ecdce727" contextRef="C_6ea81ff8-25fd-4a5f-8209-58c3ebd49b7a" name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">700</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f694bf71-bdf7-4ca7-ae39-7273ee0f35e3" contextRef="C_6ea81ff8-25fd-4a5f-8209-58c3ebd49b7a" name="rgen:IndefiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">700</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total intangible assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fa35d575-dbe7-4716-bbd5-81cb85b7d6c4" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:IntangibleAssetsGrossExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">540,096</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b117bbc8-198a-4077-a91c-023c89de706e" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="rgen:IndefiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">133,139</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4e3b3791-7e91-402e-9858-f914ffcb32ab" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">406,957</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets consisted of the following at December 31, 2022:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.31%;box-sizing:content-box;"/>
        <td style="width:1.18%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.258000000000001%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.18%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.278%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.2%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.298%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.16%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.138%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31, 2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Carrying<br/>Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated<br/>Amortization</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Net<br/>Carrying<br/>Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted<br/>Average<br/>Useful Life<br/>(in years)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Finite-lived intangible assets:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Revised)</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Revised)</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Technology - developed</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_84aeb2fd-32f9-4ddf-8da1-623315bde7fc" contextRef="C_489407cd-f3b2-4917-8258-215fa2e47534" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">197,405</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0612443c-5051-43ba-b336-5b81624190d9" contextRef="C_489407cd-f3b2-4917-8258-215fa2e47534" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">30,992</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c88330ac-fecb-4b40-97c4-c65abd762172" contextRef="C_489407cd-f3b2-4917-8258-215fa2e47534" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">166,413</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_f71cf8ec-f0d4-402c-a583-82d6884ff4a6" contextRef="C_489407cd-f3b2-4917-8258-215fa2e47534" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Patents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9675a4d1-814e-4069-ac3b-e72f18a11b16" contextRef="C_780dac2a-fde7-43bd-b2ba-0b966b73e453" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">240</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_33e565a5-a229-43d4-9c54-c9a4067a0584" contextRef="C_780dac2a-fde7-43bd-b2ba-0b966b73e453" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">240</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b317a113-3e7a-40cf-9fa1-e49bb0a1c883" contextRef="C_780dac2a-fde7-43bd-b2ba-0b966b73e453" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_3760a8e6-fcea-4d6c-95e9-754ee7267962" contextRef="C_780dac2a-fde7-43bd-b2ba-0b966b73e453" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_de2ef8b0-8fac-4dc1-a35f-6bc18c6bbbfa" contextRef="C_de8e1d50-1d95-4fd7-9b3b-1618b3b52f84" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">252,934</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0cf5240f-3431-4d46-867e-dbfa30ed3709" contextRef="C_de8e1d50-1d95-4fd7-9b3b-1618b3b52f84" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">66,559</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b4824f7f-7ebd-4011-bade-1861a82b4b97" contextRef="C_de8e1d50-1d95-4fd7-9b3b-1618b3b52f84" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">186,375</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_2ae4689b-f7f3-4813-ae38-a764c0d8bcf1" contextRef="C_de8e1d50-1d95-4fd7-9b3b-1618b3b52f84" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademarks</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8ab282fc-7952-44f7-831f-e93d2a7d73e8" contextRef="C_6bd616b5-e130-4840-9988-8b44cfef48a5" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,682</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_169f8395-d7f9-404c-bc33-59f9177e9f4b" contextRef="C_6bd616b5-e130-4840-9988-8b44cfef48a5" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,319</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7ae5ef0c-d732-4326-b74d-af3110e44a79" contextRef="C_6bd616b5-e130-4840-9988-8b44cfef48a5" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,363</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_b09bdc5c-003f-464e-bf09-b25c6c9bea80" contextRef="C_6bd616b5-e130-4840-9988-8b44cfef48a5" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other intangibles</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0eb90744-7131-4a82-9ee1-8b802cbb3aed" contextRef="C_73cba0e2-763b-42fc-91ab-cfbb6869181e" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,811</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a362b343-9f89-4269-a697-0bcd9d1cce3f" contextRef="C_73cba0e2-763b-42fc-91ab-cfbb6869181e" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,044</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2be35cb8-60f2-415a-888b-20de63bfe296" contextRef="C_73cba0e2-763b-42fc-91ab-cfbb6869181e" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">767</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_1465a51a-56a2-4142-87f0-a43367ffe365" contextRef="C_73cba0e2-763b-42fc-91ab-cfbb6869181e" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total finite-lived intangible assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b7584a15-455c-46ef-8446-83b4f60f03fe" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">461,072</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_447144fb-f073-43b5-984a-1bb17055f29d" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">101,154</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_587e757f-3e1c-4944-acb3-66f8921dc162" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">359,918</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_7b3b2e75-24fa-41a2-9b2d-03ee97ed0e28" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Indefinite-lived intangible asset:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademarks</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5b1feb9c-4b3e-4327-ba45-5b8f0c6295c0" contextRef="C_7984018d-c393-468e-8f40-342d128d5015" name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">700</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4da7a470-4dd0-4c0a-914c-e02f0fcb6931" contextRef="C_7984018d-c393-468e-8f40-342d128d5015" name="rgen:IndefiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">700</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total intangible assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9b9a063d-3c5d-48b7-80b9-3d69197076af" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:IntangibleAssetsGrossExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">461,772</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1285cd0d-52e8-4a5e-8bfc-2f52d25fef80" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="rgen:IndefiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">101,154</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3e60b2ea-956b-448b-b18f-265b76012cf7" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">360,618</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">104</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_78983722-a98a-4d4a-8d1c-187f50dc478e_2"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Amortization expense for finite-lived intangible assets was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_144c4d15-4e8b-4223-9157-815e0fad66d3" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:AmortizationOfIntangibleAssets" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">31.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_76387df6-a5dc-4da4-bb14-f4e31b3cf6dd" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:AmortizationOfIntangibleAssets" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">27.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0a183bd8-bd41-4b76-8ed8-3ba690a6ccb0" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:AmortizationOfIntangibleAssets" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">22.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million for the years ended December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively. </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_8094fdab-49f9-4565-9bd9-02c0b38561a5" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" escape="true" continuedAt="F_8094fdab-49f9-4565-9bd9-02c0b38561a5_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, the Company expects to record the following amortization expense (amounts in thousands): </span></ix:nonNumeric></span><span style=""></span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:continuation id="F_8094fdab-49f9-4565-9bd9-02c0b38561a5_1"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;box-sizing:content-box;"/>
        <td style="width:1.94%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:15.823%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amortization</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Expense</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2024</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_930ed9e7-eac0-4019-af6b-520fb7a51528" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">34,785</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2025</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_522e2acc-1ed8-4786-bf85-3ab8c93edbd8" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">34,350</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2026</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8af6a022-459e-4f7f-8d82-dd3ea780fe75" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">33,995</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2027</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_70397942-7373-4a54-8d33-becd377b4f97" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">33,892</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2028</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b6681ba7-5871-4689-b765-a9986132c62a" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">33,160</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2029 and thereafter</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_79f8a873-f46d-445f-9c1a-da92ab1875e4" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">236,075</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_75f28172-8eab-402a-888c-becfedd13b5a" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">406,257</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:continuation></div></ix:continuation></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div><ix:nonNumeric id="F_342c7f19-2f11-49b3-9307-e88aea2da1b9" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:SupplementalBalanceSheetDisclosuresTextBlock" escape="true" continuedAt="F_342c7f19-2f11-49b3-9307-e88aea2da1b9_1"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">11.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Consolidated Balance Sheet Detail </span></div></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_58f548f9-820a-40eb-9674-bb5b238d7f2e" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Inventories, net</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inventories, net consists of the following:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;box-sizing:content-box;"/>
        <td style="width:1.62%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:12.883000000000001%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.62%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:12.883000000000001%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Raw materials</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_41fb9831-dd8c-44b9-a0bf-2def8bf96582" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:InventoryRawMaterialsNetOfReserves" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">123,598</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7fecd56d-cd24-499d-8f8d-c7e4933917be" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:InventoryRawMaterialsNetOfReserves" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">149,438</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Work-in-process</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5e071324-1da8-4b0c-a5d4-5714e6595eef" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:InventoryWorkInProcessNetOfReserves" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,492</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b3594d32-e052-4ba5-b917-e1e434d102ba" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:InventoryWorkInProcessNetOfReserves" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,183</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Finished products</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f31a31c2-bca4-4296-8951-8c6c9e051785" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:InventoryFinishedGoodsNetOfReserves" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">74,231</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b2cb576c-97a7-42ce-b945-12507bbf0a9a" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:InventoryFinishedGoodsNetOfReserves" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">82,656</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total inventories, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e5d76d73-f124-4c34-9fe9-e80f17a23e5a" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:InventoryNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">202,321</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d57606fa-e086-435e-9dee-2dc8ef48e213" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:InventoryNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">238,277</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_25b925df-0f2a-4664-87cb-812fa599a5ef" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Prepaid Expenses and Other Current Assets</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prepaid expenses and other current assets consist of the following:</span></p><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;box-sizing:content-box;"/>
        <td style="width:1.62%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:12.883000000000001%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.62%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:12.883000000000001%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equipment maintenance and services</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b52939a1-765f-4f4d-9906-4a055a11bfd1" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="rgen:PrepaidServicesAndProfessionalFees" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,605</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_49b46a2a-0763-48dd-b661-f6f7b87ab1a9" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="rgen:PrepaidServicesAndProfessionalFees" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,135</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid income taxes</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b00ec45c-7478-4105-a5a3-5c413d013dc5" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:PrepaidTaxes" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,532</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2f94d483-5665-4b71-bfe6-ea98bdc7c548" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:PrepaidTaxes" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">519</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid insurance</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_40e47e94-59c5-46f2-9ead-6245a7bb64ec" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:PrepaidInsurance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,087</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_00340393-38f8-4069-a8cd-9de8d3501812" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:PrepaidInsurance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,909</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4544a679-8ce8-4327-9c6b-07ef5c432112" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:OtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,317</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4a15d740-5248-4cb6-954e-e55f81ea0d9d" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:OtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,274</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total prepaid expenses and other current assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9ebe968e-fd14-44b1-8440-d9651bee9335" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">33,541</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_07da211b-bf8f-4934-98f9-cf328f70ca1b" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,837</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></ix:nonNumeric></div></ix:nonNumeric></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">105</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div style="font-size:12pt;font-family:Times New Roman;"><ix:continuation id="F_342c7f19-2f11-49b3-9307-e88aea2da1b9_1"><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_5e61b441-6e93-41fc-8b4f-f31720d52636" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:PropertyPlantAndEquipmentTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Property, Plant and Equipment</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property, plant and equipment consist of the following:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;box-sizing:content-box;"/>
        <td style="width:1.62%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:12.883000000000001%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.62%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:12.883000000000001%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Land</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_36dc8b0a-6a24-468b-9cc1-55e5ab1e253d" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:Land" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">992</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d68b8b9b-e9c6-4aca-a66c-0a2484a8a24b" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:Land" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,003</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Buildings</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_25a0c59c-d423-4313-95ab-0a53321077a9" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:BuildingsAndImprovementsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,667</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f28a1561-8e6e-497d-83ac-6669cdd7f61f" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:BuildingsAndImprovementsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,599</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Leasehold improvements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_15c7761e-a0bd-48ff-bde5-713cbb7dae79" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:LeaseholdImprovementsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">126,663</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_68826dd1-8e5a-45e9-9def-8cbebd0d2706" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:LeaseholdImprovementsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">115,672</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_26b239c9-3ade-455d-9888-7b1d147a8d70" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:MachineryAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">114,606</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4a162e18-b66a-4a9d-aa00-0279007c95ef" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:MachineryAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">94,613</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Furniture, fixtures and office equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2a977606-e2ea-41e0-bb91-c6b6cb8f3005" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:FurnitureAndFixturesGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,077</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ddcc5ffc-9b7e-40f2-8e34-12bb1bfc9714" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:FurnitureAndFixturesGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,307</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Computer hardware and software</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_330075e3-4fc0-4811-a111-bafb135f6485" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:CapitalizedComputerSoftwareGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">35,528</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_87d1212c-6e4a-4da1-a8d4-4d5a26bd401d" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:CapitalizedComputerSoftwareGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">29,813</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Construction in progress</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a881fc1c-f266-4c72-82d5-720390a78757" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:ConstructionInProgressGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">47,086</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ee8cd8be-e8f4-4c5b-b327-35ea9756403a" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:ConstructionInProgressGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">31,553</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_69462335-ee82-4335-8f52-f1ea8e05e500" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:PropertyPlantAndEquipmentOther" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">544</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e9978388-bff3-489b-b0a6-4fb113370677" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:PropertyPlantAndEquipmentOther" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">420</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total property, plant and equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9e8f09fc-ee76-476b-b493-180d1dd7d8c2" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">336,163</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_388c0dbf-9163-4beb-bbe6-31d974e17ac0" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">282,980</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less - Accumulated depreciation</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ed703156-bac8-4422-970b-89aba78ce134" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">128,723</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7705a181-cc7f-4696-a0c8-ae4b5553bf9c" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">92,307</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total property, plant and equipment, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_64f798b4-15e9-4540-8f57-b5c33f7c6fb3" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">207,440</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8af0b3d0-6233-4e88-8e66-b7a635c9695a" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">190,673</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Depreciation expense totaled $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e56d02c4-681c-4843-a120-eb69923fe2d4" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:Depreciation" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">37.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2ea59c95-aefb-47ee-a708-ffed080ac00c" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:Depreciation" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">23.9</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f523beeb-aec5-4044-90d8-0a62a4be1b79" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:Depreciation" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">16.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in the fiscal years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_93a7e744-8dc2-4f8f-b116-50efe9672e52" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accrued Liabilities</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accrued liabilities consist of the following:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;box-sizing:content-box;"/>
        <td style="width:1.62%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:12.883000000000001%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.62%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:12.883000000000001%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Employee compensation</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6792e9ff-e54b-4c92-b53c-21eaf843c81b" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">16,660</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9231593b-63c7-4627-880c-8aa6913f62a0" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">33,522</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred revenue</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_43cd7921-8e41-43da-a99c-64bef0ab77e4" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:DeferredRevenueCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,067</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_479a34b3-8a7c-4edc-a283-828b5012a499" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:DeferredRevenueCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,283</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income taxes payable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7f725527-06d6-4519-862e-df2d21e77407" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:AccruedIncomeTaxesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,814</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_88410122-3411-475e-8528-405aa92beadc" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:AccruedIncomeTaxesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,459</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6524768d-91ed-43c3-887f-f8cb445ac2ae" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:OtherAccruedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">16,772</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_364e53f1-5c18-4975-bda6-b4de3a863edb" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:OtherAccruedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">15,856</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total accrued liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b4e75f6f-ed71-4dfd-bca0-ea5c716641b0" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:AccruedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">57,313</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_80cf8d07-c826-4451-afc3-050a0ee5aee5" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:AccruedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">71,120</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div></ix:continuation></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div><ix:nonNumeric id="F_e5015aef-0610-4507-90eb-492fb1544138" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncomeTaxDisclosureTextBlock" escape="true" continuedAt="F_e5015aef-0610-4507-90eb-492fb1544138_1"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">12.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Income Taxes (As Restated)</span></div></div><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_7e8f3c86-b166-4e91-8bc5-1654397ca2e3" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components of income before income taxes are as follows:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.477%;box-sizing:content-box;"/>
        <td style="width:1.399%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:10.776%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.399%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:10.776%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.399%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:10.776%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Domestic</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_46e139cc-b88a-43a4-a8ac-ff9eb1086d05" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">24,888</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_baea2dc2-4693-4168-ba4c-4ef35a5b5a6d" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">153,446</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aaafa49e-a7f9-4e30-b4c7-72df4a679e60" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">81,984</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6a395e91-e88a-4bf7-911f-540644c187b0" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">81,595</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_62764855-506d-4db6-98ea-5d6c4e15ddac" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">65,694</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9948021b-5756-4e67-8377-a3e4e606233d" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">71,559</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income before income taxes</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ef4ceeae-1e05-48ac-845f-46ab47e6993e" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">56,707</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8da14e01-859d-4954-821f-9068453deb85" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">219,140</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2673111e-9472-4a26-a08f-6ef6a0515fa3" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">153,543</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></ix:nonNumeric></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">106</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_e5015aef-0610-4507-90eb-492fb1544138_1" continuedAt="F_e5015aef-0610-4507-90eb-492fb1544138_2"><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_363fd117-a95a-43af-95f0-12ec9847fc02" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components of the income tax provision are as follows:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.477%;box-sizing:content-box;"/>
        <td style="width:1.399%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:10.776%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.399%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:10.776%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.399%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:10.776%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Components of the income tax provision:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Current</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4f6b26ce-09bd-4076-83a6-a7b404150cd2" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:CurrentIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,941</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0a04dac8-27d2-41d7-931a-9f3dab359108" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:CurrentIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">34,800</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_37c87165-edff-478c-94c5-98df18ea2cb8" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:CurrentIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20,166</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cb04c452-9784-41dd-b170-b4214f64c507" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:ProvisionForDeferredIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,170</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_78144ab6-6bc5-43ba-abe3-3449b739e4e1" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:ProvisionForDeferredIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,619</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_20bb598a-cb21-49a9-9f7f-c01c0ad28884" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:ProvisionForDeferredIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,086</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6e1f257e-d52d-4e08-8aae-90899976e82f" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">21,111</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7fdeb8a3-3240-459e-8311-6d44e3bb46a3" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">33,181</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_03e135de-167b-40eb-917a-8463d3e09944" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,252</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Jurisdictional components of the income tax provision:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Federal</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_36a09eb4-27bf-42ba-ae1e-0607d7d1f3ec" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,272</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_430d57f4-985a-4f8b-a38b-4146d68c5306" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,662</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8510742d-c541-4356-b2a9-7772bc8f0e97" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,321</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">State</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bf8c78dd-ed7c-4d8e-8f9f-b1eba5cd6dc5" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">26</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2d3eff4c-091d-4e2a-83f1-25b713b8f756" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,381</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f776311b-3de9-40e5-9fd3-0c6198250834" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,251</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9ba4840a-ee2f-4217-9ed6-722d0e42a2db" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">18,865</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_98f8a5ab-e31f-4193-9b5b-a0a929394c03" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,138</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_341559a8-e81d-46a7-8955-4b761e97ec0c" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">15,680</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_44fb2d1a-aa1c-485b-b6f6-3be75eea566e" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">21,111</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bc63cf47-f1c0-4af3-b44f-0582d9aee6f9" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">33,181</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7558f656-2975-4aca-b70f-49474f3b78ff" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,252</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">At December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company had federal net operating loss carryforwards of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_218104e1-c226-4f04-9110-239caab5ae16" contextRef="C_c2c7db4c-193d-4dc7-a354-b30106aa6f74" name="us-gaap:OperatingLossCarryforwards" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">31.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, state net operating loss carryforwards of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_776d215c-438f-447a-90dd-98b3b25a20f8" contextRef="C_8cf48f98-19ef-4e21-8519-39e04de60145" name="us-gaap:OperatingLossCarryforwards" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">4.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, and foreign net operating loss carryforwards of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fdb04bd6-c6d5-497b-a282-654456124da6" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:OperatingLossCarryforwards" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">4.9</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The state net operating loss carryforwards will expire </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_3bbf482e-507e-4775-b0d6-4eb9e7b48f7f" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:OtherInformationPertainingToIncomeTaxes"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">at various dates through 2043</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, while the federal and foreign net operating loss carryforwards have unlimited carryforward periods and do not expire. At </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company had federal and state business tax credits carryforwards of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_101685d5-b426-43da-a9ad-935b42882260" contextRef="C_2c95baea-6254-4024-a6cf-e640d90e6e8a" name="us-gaap:TaxCreditCarryforwardAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">5.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million available to reduce future federal and state income taxes. The business tax credit carryforwards will expire at various dates through 2043. The net operating loss and business tax credit carryforwards are subject to review and possible adjustment by the Internal Revenue Service and may be limited in the event of certain changes in the ownership interest of significant shareholders.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_9ccc1122-3786-4ca1-ba03-2436dc1389af" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components of deferred income taxes are as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;box-sizing:content-box;"/>
        <td style="width:1.62%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:12.883000000000001%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.62%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:12.883000000000001%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax assets:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Revised)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation expense</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d32eadb6-818d-4d23-aec4-03f4e75dd00d" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,120</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5d7b731c-c8df-4b79-afd2-7fa326d1d769" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,323</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating leases</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b7438d2c-fba2-4bae-acf3-ae0d1a214fc2" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="rgen:DeferredTaxAssetsOperatingLeases" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">30,727</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a62d6fba-d883-4971-afde-716655c970b2" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="rgen:DeferredTaxAssetsOperatingLeases" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">31,564</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Capitalized research and development</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0f7d37cf-c764-4427-a66b-b6f27cdeb46c" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,568</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9c4137cf-064f-49bc-809d-64a4c769d1dd" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,102</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f19ce22f-0980-4c21-986a-30cdf8f32d3f" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:DeferredTaxAssetsInventory" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,131</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_491fc172-40b1-456e-a583-73437d34c133" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:DeferredTaxAssetsInventory" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,983</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net operating loss carryforwards</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4171ff36-b393-41b4-bb06-80b3f1d468ef" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,648</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_15d9d11a-e621-445c-8162-e4d8d41e350a" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,808</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Business tax credit carryforwards</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f2d5c846-1b71-4a90-96e2-14381f3cd7f3" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwards" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,531</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_490a896e-903e-45bf-89e4-022f451a2e3f" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwards" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,639</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_08d00655-0637-452a-9610-4b87b1c7cbda" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,063</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2159dc08-1aff-4b8a-8873-cef17d97d9dc" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,061</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total deferred tax assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_37703765-c51f-4af9-a6f0-73dc81393e7c" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:DeferredTaxAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">83,788</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d3daf9f9-443c-4b88-86cd-31e3973bac6c" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:DeferredTaxAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">70,480</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less: valuation allowance</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_99e1a9be-a7b6-4146-8a4b-101ea60068b6" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:DeferredTaxAssetsValuationAllowance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c4926d56-8a06-41d5-8ba4-594a1e602222" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:DeferredTaxAssetsValuationAllowance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net deferred tax assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bf43e12b-b407-41d0-9d8e-122ab72465f7" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:DeferredTaxAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">83,768</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_05d4f7e6-9420-44aa-baf7-1c72fc739ac7" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:DeferredTaxAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">70,461</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax liabilities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Fixed assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_29c2407b-d607-48be-9e8d-a72ac2170e41" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="rgen:DeferredIncomeTaxLiabilitiesFixedAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">17,716</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b378f668-ff32-4d66-a62b-1ff12803a5b0" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="rgen:DeferredIncomeTaxLiabilitiesFixedAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">18,965</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquired intangible assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7e72b480-b5a9-4955-a706-cafdc7cf06b4" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">58,467</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ef7462a7-54b8-41ce-a809-49b5343215e9" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">45,170</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fed57a7d-5315-420e-a9cf-fff3bc51bf12" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="rgen:DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">26,373</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_74d0040b-bfcd-4372-ac83-a63d3c015bdd" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="rgen:DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">28,486</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Debt discount</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_04e64839-e55b-4b48-bbff-ae7664f97c35" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="rgen:DeferredTaxLiabilitiesDebtDiscount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,006</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d842c5d1-4ce7-4199-8c9a-d4139eadf01e" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="rgen:DeferredTaxLiabilitiesDebtDiscount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total deferred tax liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f63ab387-8d83-486f-84b9-78d4de17ef41" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:DeferredIncomeTaxLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">121,562</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_202693d2-0e6f-4362-92a5-d1044e8d2915" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:DeferredIncomeTaxLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">92,621</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total net deferred tax liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8e0c2d57-5ce7-492b-b18d-36fbb1cae994" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:DeferredTaxLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">37,794</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a8396e07-0b4e-457e-82bd-f80a090a913a" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:DeferredTaxLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">22,160</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:1.667%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The net change in the total valuation allowance for the year ended December 31, 2023 and 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> was an increase of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_530bea0b-4ca6-405f-b278-056a47933227" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,000</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and a decrease of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1a024e1d-310f-4d0c-b454-ba71e0e54eba" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">107</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_e5015aef-0610-4507-90eb-492fb1544138_2" continuedAt="F_e5015aef-0610-4507-90eb-492fb1544138_3"><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_0588b026-35a4-422c-a450-3acdcd9ff5ac" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" escape="true"><p style="margin-left:1.667%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The reconciliation of the federal statutory rate to the effective income tax rate for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021 is as follows:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:92.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:33.94%;box-sizing:content-box;"/>
        <td style="width:1.04%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:7.54%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:8.44%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.04%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:7.54%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:8.44%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.04%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:7.54%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:8.44%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="22" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="22" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands, except percentages)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income before income taxes</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a0378e4c-a3f5-4bf7-8378-69ea72b36bab" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">56,707</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5c2146a3-d021-4345-a1f6-a4e709bbdc48" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">219,140</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d284dd50-a639-4556-b40e-945294a8af7c" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">153,543</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Expected tax at statutory rate</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3e1becc4-a509-4658-9e05-48857e3818e7" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,910</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_06e1b213-e249-4da4-b02a-1ab461d471c6" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">21.0</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_771f3bd0-a5e8-45a1-8c5e-4e97bb4f84a7" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">46,020</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8530e99b-fe5a-4413-94a5-f8a4fa5bf8b3" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">21.0</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5368dfea-124a-42d1-af06-a32550215403" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">32,247</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4e83b373-905b-4a8d-923d-b17797d17d3b" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">21.0</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Adjustments due to:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Difference between U.S. and foreign tax</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4c9ef49b-f458-401c-9886-d4dd03aad175" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,078</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bd1c5032-d58a-46f5-a3e3-f79cc885f736" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">1.9</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e62f4bda-4f7e-4c5f-8843-c2974a2de9ad" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,024</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_72b2e394-886e-465d-bcc5-0282d6a2d29a" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.5</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_67a31303-c7a1-4a40-9ea8-2b2a96d0361e" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">530</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_493a4495-44f3-4ef6-bcdc-7ccacb50225b" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.3</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">State income taxes</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0d023049-515f-4332-a233-0ab5a8a3b2dd" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,224</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8b62db47-b2dd-4764-97e5-a28db409b022" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">2.2</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_495b6f9f-43b0-4733-840e-92c341c3354e" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,509</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_231637a2-858e-4107-ab05-19fe1ad5efda" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">1.6</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1321a4ff-cea9-429f-9a17-b3e7d3dfae7b" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,462</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_95c15780-51bb-435c-a520-6dd6b1e4b059" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">1.0</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Business tax credits</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3d056f6b-7df6-424a-801b-738146f68d1b" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncomeTaxReconciliationTaxCredits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,522</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_525c7dec-b4d6-4d59-b876-dde0c244db7c" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">8.0</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8612e022-05ae-49fa-9a56-3d13d8636abd" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncomeTaxReconciliationTaxCredits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,139</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0f914eac-2124-4e55-af17-a9f0d13032f6" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">2.3</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_792f00a0-0ea3-4ad8-bbca-2da0ae5baf0f" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncomeTaxReconciliationTaxCredits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,239</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5d318784-3f7f-474e-a152-066967c921a5" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">1.5</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation expense</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_caee9320-581f-4594-9968-df325cf995c6" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,461</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2e0e52aa-4980-4799-bf65-793df0f97956" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">4.3</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d68ec472-7d1d-4818-9790-71c7b74f8ece" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,638</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8780af68-ee32-4ba4-af52-1901eee606c7" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">2.6</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f796398b-a976-440d-b139-db6283c74068" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">9,049</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d17f1bbd-af6c-4d01-800b-e5caf0fd64f7" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">5.9</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">U.S. taxation of foreign earnings</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a97c5347-a7a9-4e70-8e4b-81349f14f41b" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">539</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c9e95042-0d70-4137-8b9a-0a564bbc6700" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">1.0</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f0019270-3346-4bfd-a70a-f9bad5136654" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">83</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0d9f96f1-afd3-4f89-9f6e-9629f7041d7d" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b88203ce-3c0c-4e82-8f9e-12a062162172" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">30</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b7588131-f1a0-4201-a0f5-bf271d310aee" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign-derived intangible income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e9c7e555-9337-454a-b2fd-36a21fac1839" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:EffectiveIncomeTaxRateReconciliationFdiiAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2a1dbf4d-2621-4e55-a162-940d3fedc2e4" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f4667a73-9746-401c-b11c-b00b06acf700" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:EffectiveIncomeTaxRateReconciliationFdiiAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,042</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1d26b41d-bc96-4e25-830f-2bd20c7e08de" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">2.3</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_89c68f9e-1148-4c46-b129-8e3e7a94a729" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:EffectiveIncomeTaxRateReconciliationFdiiAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,547</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c013cbe2-0b29-442f-8343-ecd4c07de888" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">1.7</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Executive compensation</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_70702676-a3eb-4010-b041-2631b65d0427" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,084</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_904f6937-d980-45f5-afa7-627eebd089ed" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">5.4</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_45b29b17-2568-4942-bf27-15b9278db3da" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,441</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_16f6722a-3ef5-4cc1-a874-54c8086a59df" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">2.5</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7382c112-5275-49c7-a600-81d7bcdb9704" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,397</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ded145f7-6419-483d-85db-bcf41ac5d0b3" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">2.2</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_12fa4ed3-34e4-4e86-9154-7db8015ae829" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">6,412</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1ae9c2d8-06ba-4b8f-ac93-f9c36d9d8d9e" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">11.3</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e0d3742c-1225-4499-9ba4-ca24ee0a1f4f" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">6,033</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c89d2b88-cf1f-4965-b505-37d3711c2217" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">2.8</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6b0feaa1-693c-4705-984f-6a8aca23ffbf" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,232</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_09fcea0f-8d8d-49d1-92da-22ab71eef682" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.8</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Loss on extinguishment of debt</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_577f885f-8488-466d-a25c-8719b0a669eb" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,634</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_84e5b549-b2c5-44be-984b-acfdfc1191f4" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">4.6</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_273c65c6-1ecb-43b4-8e15-82ed6389f7d0" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_76b87a50-a6b1-473f-802e-1b55ff402001" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_83dd7815-38be-48bc-8819-b5287f2e9f4b" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a8682d5d-b207-402c-aaf8-d595002522bf" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Debt discount</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9a4df6d6-b76c-47c1-96d4-2752b07de179" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:EffectiveIncomeTaxRateReconciliationDebtDiscount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">16,650</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0fd62974-2305-4022-b26d-85f9d9e5ee12" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">29.4</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9097e158-1689-4709-a9dc-735411e7aced" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:EffectiveIncomeTaxRateReconciliationDebtDiscount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_94c68c1f-d6c9-412d-8468-2de151eff0f5" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fff034c8-86fe-42cf-836c-dc13f8395492" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:EffectiveIncomeTaxRateReconciliationDebtDiscount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f396f934-a1f2-46ba-9878-b9caf560155c" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign exchange loss</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4f46f9a3-b531-413c-b1dc-48916c9b9538" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,288</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8ceb3667-e6e9-41c9-93f9-2b827b23b7e9" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">4.0</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bba3c927-f435-4dc5-a0cc-4c19d52fdec6" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_25c6387e-ee09-4275-8ad6-000be36b9ca1" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bd4c6e1f-8ce5-4749-8858-45050f5be05c" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_51873ffc-e893-4633-b614-c42998c69728" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Uncertain tax provisions</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1329dcaa-7d5f-43e4-ba80-5c5fef667b19" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncomeTaxReconciliationTaxContingencies" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">165</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2120b63e-a738-43d7-b736-7f4e7b98b716" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.3</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_67831420-cbbf-4a50-8fd0-0e4bff6a61a2" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncomeTaxReconciliationTaxContingencies" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">234</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8f0674a0-a8d5-411b-ac75-b3eb2ea867d9" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.1</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0c54ba9f-bcdb-43c0-b19f-73fbbf81b8b3" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncomeTaxReconciliationTaxContingencies" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">443</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9655895a-d108-4f1b-8475-b42edde9a9ad" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">0.3</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Change in valuation allowance</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_482aff8d-faf7-46e2-900d-86225002aff5" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e59c2dad-d90e-4779-9c74-3c95c8c75bac" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3257c129-752f-4f23-8ac4-a3c122206a1d" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">688</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_be0e6015-19c0-431e-9222-418262ded012" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">0.3</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_991321ac-5b14-442f-9b09-f0ccadcb996c" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">48</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6727a5c2-1ac0-4cbe-b09e-91260f001e16" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Return to provision adjustments</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_be5983ea-b9b4-4c5a-b604-453f4f85e899" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:IncomeTaxReconciliationReturnToProvisionAdjustments" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,255</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_618e6ac0-ffb8-4e91-bf1b-7a0674ccdacc" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">2.2</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d012d25f-efb7-4c2e-99b3-bf3359a48d2b" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:IncomeTaxReconciliationReturnToProvisionAdjustments" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">498</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c60dbd67-c8b0-4ad3-a898-9b92291e51cd" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">0.2</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d695150b-2d8f-4b97-adba-18ac02511de5" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:IncomeTaxReconciliationReturnToProvisionAdjustments" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">50</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a6a6df0c-992d-4992-9089-798e59ca554e" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_138f1bb6-982b-4f84-b182-e3e1f1da9c6a" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncomeTaxReconciliationOtherReconcilingItems" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">765</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_487b1c16-358f-4845-a379-c4f637f12601" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">1.2</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_66cc9b25-b662-487b-a343-ebaf73a7494d" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncomeTaxReconciliationOtherReconcilingItems" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">92</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_58293b98-92d4-4dae-9784-28cb1452ebd8" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1504b4e7-8ba3-44d0-b3d5-4298d2731402" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncomeTaxReconciliationOtherReconcilingItems" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">730</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_24d87d7b-3bc2-4e00-9790-24d6c27d60ba" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.5</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income tax provision</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2c7cda31-9e8c-4fb3-afbd-a4b8064ed0d0" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">21,111</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2b559011-aa33-4c53-988f-acf8aefc0707" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">37.2</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_955cdc2c-ed06-4977-b914-b1acc2396be7" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">33,181</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_71e2a06a-6149-4739-8fb6-5cde4ac34b45" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">15.1</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e24a1b90-d4b1-4bf2-8d3b-5419bdc58582" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,252</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c1269368-1cbd-4b11-9d89-039a2d9e1e9b" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">16.4</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_43d363b8-6f2d-4663-b321-5c53d126caa3" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:SummaryOfIncomeTaxExaminationsTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s tax returns are subject to examination by federal, state and foreign tax authorities. The Company&#8217;s two major tax jurisdictions are subject to examination for the following periods:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:78.98%;box-sizing:content-box;"/>
        <td style="width:2.06%;box-sizing:content-box;"/>
        <td style="width:18.96%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Jurisdiction</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fiscal Years Subject to Examination</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">United States - federal and state</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="-sec-ix-hidden:F_b3baf8b7-ef1b-4f8a-837f-4cd1d791b6a7;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2019-2023</span></span></span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Sweden</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="-sec-ix-hidden:F_4d9bd1d4-0a18-4e8f-a46b-04210d4baa9b;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2018-2023</span></span></span></p></td>
       </tr>
      </table></ix:nonNumeric></div><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_c9cd361b-64bf-4598-b643-c79bd6817607" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following is a tabular reconciliation of the total amounts of unrecognized tax benefits:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
       <tr style="visibility:collapse;">
        <td style="width:65.266%;box-sizing:content-box;"/>
        <td style="width:1.701%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:13.665000000000001%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.701%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:13.665000000000001%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance of gross unrecognized tax benefits, beginning of period</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9b49aa0c-7fdf-4b0a-aada-7a772df12367" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:UnrecognizedTaxBenefits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,996</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_89971db5-1355-4c2c-accd-3ddf38a53f70" contextRef="C_82911078-bdd7-49a5-87bb-adfb316a68b0" name="us-gaap:UnrecognizedTaxBenefits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,786</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Gross amounts of increases in unrecognized tax benefits as a result <br/>&#160;&#160;&#160;&#160;&#160;of tax positions taken in the current period</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_55148ff9-01c6-4766-8a21-de36fa9002bc" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">178</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b994cf5a-eedf-4a1a-9b4f-67eaa098fa10" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">146</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Gross amounts of increases in unrecognized tax benefits as a result <br/>&#160;&#160;&#160;&#160;&#160;of tax positions taken in the prior period</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8bd8756b-d717-4494-a100-18d11df3680a" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">53</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_72a5eb91-a99c-4bea-8381-44633b44fa9d" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">64</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Gross amounts of decreases due to release</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b18bcfa3-fa81-4afb-8cac-62fc27705b48" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">88</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_07756b63-b8b5-4a8d-bb76-5adcaac9b549" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="rgen:UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance of gross unrecognized tax benefits, end of period</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aae20beb-a141-4cff-8753-2995f4f93313" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:UnrecognizedTaxBenefits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,139</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bb93f9b7-5c8e-4897-b2ad-462d3881b531" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:UnrecognizedTaxBenefits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,996</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Included in the balance of unrecognized tax benefits as of December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, are $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_32b98f82-6737-4d09-8df5-6e6b5f007496" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">3.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of tax benefits that, if recognized, would affect the effective tax rate. The Company classifies interest and penalties related to income taxes as components of its income tax provision. In 2023, a net expense of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f328def8-b5de-42b9-9b64-997c33527527" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">15,000</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, was recorded to the income tax provision related to interest and penalties while in 2022, a net expense of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c1e156d4-c39c-461d-9f33-f3fb581f9611" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">24,000</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> was recorded. The amount of interest and penalties recorded in the accompanying consolidated balance sheets was approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b0d95887-fb73-4322-abbc-ad29325a4bf1" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">67,000</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b3c34a50-0afc-44f8-9bad-de3131d0476e" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">52,000</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 and 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively. In the next twelve months, it is reasonably possible the Company will reduce its gross unrecognized tax benefits, excluding interest by up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f028f99d-12ae-4d00-a048-6d92721befd7" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million due to expiring statutes of limitations.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">108</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_e5015aef-0610-4507-90eb-492fb1544138_3"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2021, the Organization of Economic Co-operation and Development announced an Inclusive Framework on Base Erosion and Profit Sharing with the goal of achieving consensus around substantial changes to international tax policies, including the implementation of a minimum global effective tax rate of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_599f72bf-5d8b-43af-b3a5-61cbbb2e6b31" contextRef="C_75129c4a-5fb9-4163-9852-625a1aa895c9" name="rgen:PercentageOfCurrentFederalTaxExpenseBenefit" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">15</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%. We continue to evaluate the impacts of enacted legislation and pending legislation in the tax jurisdictions in which we operate. While various countries have implemented the legislation as of January 1, 2024, we do not expect a resulting material change to our income tax provision for the 2024 fiscal year.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company has accumulated undistributed earnings generated by its foreign subsidiaries of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_35dece41-e43b-42e2-ac92-1aae5b5a9c7f" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:UndistributedEarningsOfForeignSubsidiaries" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">212.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. Because $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_27de0a88-439b-41a6-b679-3da283d0e01a" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:ForeignEarningsSubjectToOneTimeTransitionTax" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">5.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of such earnings have previously been subject to the one-time transition tax on foreign earnings required by the Tax Cuts and Jobs Act enacted in December 2017, any additional taxes due with respect to such earnings or the excess of the amount for financial reporting over the tax basis of our foreign investments would generally be limited to foreign and state taxes. At </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company has not provided for taxes on outside basis differences of its foreign subsidiaries as it is not practicable and the Company has the ability and intent to indefinitely reinvest the undistributed earnings of its foreign subsidiaries, and there are no needs for such earnings in the United States that would contradict its plan to indefinitely reinvest.</span></p></ix:continuation></div>
  <div><ix:nonNumeric id="F_f4074f69-4948-4221-9a78-9715ff10729f" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock" escape="true" continuedAt="F_f4074f69-4948-4221-9a78-9715ff10729f_1"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">13.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Stockholders&#8217; Equity </span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Share Repurchases</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In December 2023, the Board authorized and approved a stock repurchase of up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8d6dd1a1-d1b5-4dea-8ebe-400a0a74ac1b" contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09" name="srt:StockRepurchaseProgramAuthorizedAmount1" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">25.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the Company's common stock concurrent with the issuance of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ddc5f6ad-7bb2-4197-b8e4-811a6699b8a9" contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">600.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of its 2023 Notes. See Note 15, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">for more information on the issuance. The Company used $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1f8c3583-9526-4bb5-b5c3-077bd322735e" contextRef="C_36bed660-6879-4a10-a8d0-cabdb6f904bf" name="us-gaap:ProceedsFromIssuanceOfCommonStock" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">14.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the proceeds from the issuance of the 2023 Notes to repurchase </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_661e7bbc-7bd6-4225-95c9-38b342190d89" contextRef="C_36bed660-6879-4a10-a8d0-cabdb6f904bf" name="us-gaap:StockRepurchasedDuringPeriodShares" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">92,090</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares at a price of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bda004e5-d8c5-4c58-9d29-8dd2121909a0" contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09" name="us-gaap:SharePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">156.22</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, including transaction costs, to offset the impact of dilution from the issuance of 2023 Notes and equity compensation programs as well as to reduce its outstanding share count. The Company has elected to retire the shares repurchased to date. Retired shares become part of the pool of authorized but unissued shares. The purchase price of the retired shares in excess of par value, including transaction costs, is recorded as a decrease to additional paid-in capital in the Company's consolidated balance sheets as of December 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock Option and Incentive Plans</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">At the Company&#8217;s 2018 Annual Meeting of Stockholders held on May 16, 2018, the Company&#8217;s shareholders approved the 2018 Stock Option and Incentive Plan (the &#8220;2018 Plan&#8221;). Under the 2018 Plan the number of shares of the Company&#8217;s common stock that are reserved and available for issuance shall be </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f56487bb-f7e0-41f0-ac04-ea6d484eea71" contextRef="C_845310a5-6efc-457b-9ec0-0b358e5f16f7" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">2,778,000</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> plus the number of shares of common stock available for issuance under the Company&#8217;s Amended and Restated 2012 Stock Option and Incentive Plan (the &#8220;2012 Plan&#8221;). The shares of common stock underlying any awards under the 2018 Plan and 2012 Plan that are forfeited, canceled or otherwise terminated (other than by exercise) shall be added back to the shares of stock available for issuance under the 2018 Plan. At </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0f1e2964-db79-4619-b185-797f8dc1d92e" contextRef="C_0dcda174-8051-4377-bd2a-edaa9e45dee0" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">1,671,408</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares were available for future grants under the 2018 Plan.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock Issued for Earnout Payment</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In May 2023, the Company issued </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7e420c6b-d784-41a9-b940-1323fa634c81" contextRef="C_b0b4c7e7-1ac3-49a0-a8b7-f455bfebd99c" name="us-gaap:CommonStockSharesIssued" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">42,621</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of its common stock to former securityholders of Avitide to satisfy the contingent consideration obligation established under the Agreement and Plan of Merger and Reorganization (the &#8220;Avitide Agreement&#8221;) which the Company entered into as part of the Avitide Acquisition. See Note 5, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquisitions&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">above for additional information on the Avitide Acquisition and the contingent consideration. The shares represent </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_12aed9a6-516e-420d-acb2-94273a29b950" contextRef="C_b0b4c7e7-1ac3-49a0-a8b7-f455bfebd99c" name="rgen:EarnoutConsiderationEarned" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">50</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the earnout consideration earned in the First Earnout Year (as defined in the Avitide Agreement).</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p></ix:nonNumeric></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">109</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_f4074f69-4948-4221-9a78-9715ff10729f_1" continuedAt="F_f4074f69-4948-4221-9a78-9715ff10729f_2"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock-Based Compensation</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company recorded stock-based compensation expense of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_daef6b9d-17e7-4dfc-a51b-a0759775e057" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">25.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c2b330e7-4bdb-4ba6-982a-c309c93f0f69" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">27.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_19eac735-cab8-4289-ad9b-615327729255" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">27.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million for the years ended December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively, for share-based awards granted under the Plans. </span><span><ix:nonNumeric id="F_25eaefa7-adb0-4f25-8747-f5b6c72d38c1" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" escape="true" continuedAt="F_25eaefa7-adb0-4f25-8747-f5b6c72d38c1_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table presents stock-based compensation expense in the Company&#8217;s consolidated statements of comprehensive income: </span></ix:nonNumeric></span><span style=""></span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:continuation id="F_25eaefa7-adb0-4f25-8747-f5b6c72d38c1_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.437%;box-sizing:content-box;"/>
        <td style="width:1.339%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:10.816%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.339%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:10.836%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.339%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:10.896%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of product revenue</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_12b74d78-e9cf-49ac-b83f-7c1e025ad017" contextRef="C_e72c853e-3631-476f-86e5-4087f150e6bf" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,933</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_64e9efc6-4d2a-4f20-bf36-9b145cb03b28" contextRef="C_67ac9dab-11e7-4558-9fbf-0eb049eb4fc0" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,525</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9aff0328-a823-41ed-a20d-758c3c318440" contextRef="C_fc3aec69-23cc-429b-992d-5f7d2d41ab86" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,021</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and development</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_034fd80c-2e61-49f6-aa67-ae5a670fbba5" contextRef="C_b9fb015c-5324-4b79-bfca-e8473e117f1a" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,855</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_35a97d12-209e-4e09-8b79-8eae1046da12" contextRef="C_ad627738-a5b9-4155-a591-ee1573e8d09f" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,622</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d74deef4-a900-4732-b0a9-edcde5ce8370" contextRef="C_19155d0d-8624-4d4f-a65f-9a82a960d492" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,856</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Selling, general and administrative</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f8efb898-8306-48bd-b324-da223cdaf1fb" contextRef="C_81a9bdaf-6f7f-436c-8bb2-848fff93f096" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20,787</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a14acdd2-8c0e-457e-839f-a78c11604da2" contextRef="C_665c3d96-ac6a-4e64-96ae-87dd4f478598" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">22,169</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_23207761-54c1-49cc-b27e-24a43c69e3e2" contextRef="C_9bc9fb58-59c1-4a41-a872-11298ff6fd4a" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">22,623</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total stock-based compensation</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e5c9731e-ea98-4f3b-9be8-d392bf6d3f3a" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,575</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_593b6bfd-fb45-49fe-85fa-5a5601906ce3" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,316</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_605d930c-4c53-4ee6-9131-0e8c2975d2fa" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,500</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:continuation></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock Options</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company uses the Black-Scholes option pricing model to calculate the fair value of stock option awards on the grant date, and measures stock-based compensation costs of stock options at the grant date based on the estimated fair value of the award. The Company recognizes expense on awards with service-based vesting over the employee&#8217;s requisite service period on a straight-line basis. The Company recognizes stock-based compensation expense for options that are ultimately expected to vest, and accordingly, such compensation expense has been adjusted for estimated forfeitures.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_cc36450a-0be5-442d-9aa0-b31f9299cdfc" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The fair value of stock option awards granted during the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021 were calculated using the following estimated assumptions:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:51.27%;box-sizing:content-box;"/>
        <td style="width:1.6%;box-sizing:content-box;"/>
        <td style="width:14.643%;box-sizing:content-box;"/>
        <td style="width:1.6%;box-sizing:content-box;"/>
        <td style="width:14.643%;box-sizing:content-box;"/>
        <td style="width:1.6%;box-sizing:content-box;"/>
        <td style="width:14.643%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="5" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Expected term (in years)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><ix:nonNumeric id="F_ab976e04-6b9d-44ba-abe1-65ba2e6b4724" contextRef="C_7054cf9e-e4b9-48bb-8db8-51dc67555cab" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.14</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><ix:nonNumeric id="F_73c3e47e-2617-4ca8-b114-eb52c56f14bf" contextRef="C_79d26bb3-2f4a-4d23-ba89-b74276d4a86f" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.5</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><ix:nonNumeric id="F_572a19fd-2645-45d6-8b63-646d7dc0a5ba" contextRef="C_ccef2e4d-3d90-4a9b-9125-b2eff4191dae" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.5</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><ix:nonNumeric id="F_769bde72-bf35-4be0-88cb-29f89615f613" contextRef="C_7fcf606d-08e7-4899-8811-abfdc010d8c5" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.5</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><ix:nonNumeric id="F_a0880044-dec4-4a06-8a62-3a5b77e0d956" contextRef="C_a863024f-fdbb-4c77-915f-c7c678373077" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.5</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><ix:nonNumeric id="F_14d3443e-1b73-429f-b8cc-27c18bc1e281" contextRef="C_e988d382-f53c-4068-9be1-96ff58c3ec5b" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:durday"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.5</span></ix:nonNumeric></span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Expected volatility (range)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_35dfd0cd-1106-451e-981b-894f3496cb23" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">44.78</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6309c32d-44d7-4ef8-8b16-200daaa175a6" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">46.58</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d5522e56-dcd3-44fa-a7c9-99fbc3b1c641" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">41.44</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fed60fd9-e259-4ca7-8869-e6ae8c69c893" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">43.96</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_992049fc-f0f1-4d56-aa05-6c87b4f315f0" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">44.57</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_14acc2fc-2bc0-4600-b781-c25edfb5b556" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">45.27</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Risk-free interest rate</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b8386148-dae1-4ff6-ad68-85b80b23262a" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">3.56</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7d6d75c5-6293-4d2c-8245-4ffda3029af3" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">4.71</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e8bd2482-a221-4e10-bb04-757c9d16a2f5" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">1.86</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ae2b443a-b580-4e67-8f49-ef5cf35be213" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">4.07</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6bdd0758-bfb1-4e1a-a6b2-10ca8ba0f771" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">0.77</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6b273486-a7df-4cc9-ad9e-c42719c0be9a" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">1.07</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Expected dividend yield</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aaa4c28a-8f0c-415e-a3bc-69906eb58def" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_991b9370-d34c-4e89-8e63-ee9fd4378b49" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d788c7ee-f4c8-4331-b17e-d7aacbeffc34" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_ce8c2c7c-11ad-4c11-9bd0-faa646a1a465" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Information regarding option activity for the year ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, under the Plans is summarized below:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.11%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.662%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.22%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:8.942%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.662%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.22%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:9.182%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Shares</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted<br/>average<br/>exercise<br/>price</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted-<br/>Average<br/>Remaining<br/>Contractual<br/>Term<br/>(in Years)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Aggregate<br/>Intrinsic<br/>Value<br/>(in Thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options outstanding at December 31, 2022</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_614c6190-362c-44bc-9c70-bb19c335067d" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">609,965</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4f01c904-9c35-4219-82a0-b380541f8ee2" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">71.74</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Granted</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f9a9a7f5-4a42-4764-8d9a-2d619df10804" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">90,305</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8d07e67c-59ed-4576-a550-b7775cde55b9" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">168.22</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Exercised</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6a378aeb-d454-4f65-a02a-b4f5d2f12103" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">40,211</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e3bb8ac3-1e47-478f-a81b-3882c20adb77" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">26.76</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Forfeited/expired/cancelled</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b9257391-d590-4c01-a6be-54dde16919ae" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">10,929</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_df120005-fc99-457d-becb-890e2a755fdc" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">189.46</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options outstanding at December 31, 2023</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ca7f5322-2d8b-444b-99fd-be5cf1a91def" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">649,130</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_54d67f0c-24b8-4987-b5b8-01064545effc" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">85.97</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options exercisable at December 31, 2023</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_81d0d5b5-6481-4fde-af8f-14f6a111c1ea" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">364,443</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bdedee51-0938-41c3-aba6-2f1d13a9fd11" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">65.53</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vested and expected to vest at December 31, 2023</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b6b05d08-1a0f-417d-8c4c-e42415e27c3f" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">635,834</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b73f4a6b-6c4c-454c-bf9f-3f185acf3714" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">85.49</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_d91b7692-9daa-4538-8540-ee126221c22d" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.59</span></ix:nonNumeric></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2ae9ce51-6958-456f-8699-6b39ac47d900" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">61,888</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="margin-left:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div class="item-list-element-wrapper" style="margin-left:6.667%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.571084182443509%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><ix:footnote id="FNT_2f0ab321-a7d8-40c1-89e1-5b173d5c5c84" xml:lang="en-US"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the number of vested options as of December 31, 2023 plus the number of unvested options expected to vest as of December 31, 2023, based on the unvested outstanding options at </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> adjusted for estimated forfeiture rates of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fd6715db-f91f-4f9d-80f8-3fc24b78bf4c" contextRef="C_d3d3487c-fcb3-4a02-bfae-0d51403d51fa" name="rgen:PercentageOfSharesSubjectToForfeiture" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c78aafd0-c4d8-4296-b969-86cc4721a105" contextRef="C_4fe67a58-54bc-4aef-a0c3-06b74b3c59ed" name="rgen:PercentageOfSharesSubjectToForfeiture" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees.</span></ix:footnote><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></div></div></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The aggregate intrinsic value in the table above represents the total pre-tax intrinsic value (the difference between the closing price of the common stock on December 29, 2023, the last business day of 2023, of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c5ed2c08-ca92-4bf0-96f0-91f7da266a69" contextRef="C_feec9274-0957-47f7-8e88-a29b76cdde90" name="us-gaap:SharePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" decimals="INF">179.80</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> per share and the exercise price of each in-the-money option) that would have been received by the option holders had all option holders exercised their options on</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">110</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_f4074f69-4948-4221-9a78-9715ff10729f_2"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023. The aggregate intrinsic value of stock options exercised during the years ended December 31, 2023, 2022 and 2021 was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ac66282a-8144-4806-95a8-35d51e3e1a39" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">5.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_18f0179b-b63f-4897-9344-93229c497bb9" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">14.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_940953ce-fc9c-471e-810e-503d3bf5fa73" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">20.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The weighted average grant date fair value of options granted during the years ended December 31, 2023, 2022 and 2021 was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7c7cad55-8188-4607-bef0-2fbc9dad7f55" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">84.37</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0da48c96-4bba-4c55-9034-edbcbbd898f8" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">87.40</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c0ae81a9-7f85-4da1-876d-05589d41e5aa" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">88.01</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively. The total fair value of stock options that vested during the years ended December 31, 2023, 2022 and 2021 was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f11d1301-3464-4cbd-83e2-6d663dd870cd" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">4.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a4a34741-4845-46f1-97b5-3cb390678585" contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">3.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3ab06de1-f562-4d60-9b84-36e2d133e518" contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">3.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock Units</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The fair value of stock units is calculated using the closing price of the Company&#8217;s common stock on the date of grant. The Company recognizes expense on awards with service-based vesting over the employee's requisite service period on a straight-line basis. The Company recognizes expense on performance-based awards over the vesting period based on the probability that the performance metrics will be achieved. </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_840e8f7f-9f2d-41d6-b850-aedaa0ffc920" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" escape="true" continuedAt="F_840e8f7f-9f2d-41d6-b850-aedaa0ffc920_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Information regarding stock unit activity, which includes activity for restricted stock units and performance stock units, for the year ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 under the Plans is summarized below:</span></ix:nonNumeric></span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:continuation id="F_840e8f7f-9f2d-41d6-b850-aedaa0ffc920_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:65.92%;box-sizing:content-box;"/>
        <td style="width:1.12%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:13.12%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.6%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:12.64%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.6%;box-sizing:content-box;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Shares</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted Average<br/>Grant Date<br/>Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unvested at December 31, 2022</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4334781b-16f4-4be7-b2fb-51b89b1c026a" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">531,034</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_330cab98-2c61-4a83-a2b3-d7b1637171fa" contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">142.57</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Awarded</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a9d62de9-1e5a-4438-a3ff-ae85f5d5b5ea" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">212,338</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_79d69776-14f1-42ff-83de-74ca55e2011b" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">170.03</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vested</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4d86ff74-dd4a-48c2-92b9-75e25c743581" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">195,672</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_246ce31e-6e22-4fe4-ae56-431d84b1cae4" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">124.58</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Forfeited/cancelled</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3975f003-82ad-4cb6-8bcf-079c6405b948" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">73,380</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3fe194bb-d495-4cb9-afa4-f5a7657c9a7e" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">177.81</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unvested at December 31, 2023</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9aaac3f6-17fe-456d-b0b8-e5f4b422311b" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">474,320</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2074dcb0-a527-4dd6-aac6-fd792e9561aa" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">155.59</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vested and expected to vest at December 31, 2023</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ad476f8d-bb39-42fb-87da-cfae99a54d33" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">413,249</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1401dbd3-3dfa-4538-8773-c147b5711b17" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="rgen:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">152.74</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="margin-left:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><ix:footnote id="FNT_a32fe0b9-91d3-43d9-bdc3-923f89cad0b3" xml:lang="en-US"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the number of vested stock units as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, plus the number of unvested stock units expected to vest as of December 31, 2023, based on the unvested outstanding stock units at December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> adjusted for estimated forfeiture rates of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e024c5fe-86e6-4c94-b155-69a687c10235" contextRef="C_8b6b3e18-3b6d-4098-aefd-43335a60deea" name="rgen:PercentageOfSharesSubjectToForfeiture" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_03c0cc53-8f37-417c-a0e0-96ecb9315198" contextRef="C_ee3e1150-0f15-446e-bd18-065f49eb472b" name="rgen:PercentageOfSharesSubjectToForfeiture" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees.</span></ix:footnote><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></div></div></ix:continuation></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The aggregate intrinsic value of stock units vested during the years ended December 31, 2023, 2022 and 2021 was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_af982a5b-6420-45f1-86b4-c114713fcad9" contextRef="C_e6bc1264-f000-44b1-a506-8904a1ccc81c" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">35.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_33f5610f-489d-4f31-80d8-790de19c232f" contextRef="C_d2824928-d973-486a-a65b-45df3e8d84e4" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">43.9</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_58ab7ff8-dd54-4960-a933-360d3c23b8a5" contextRef="C_4cbaf6f8-a32e-4825-b3da-968aeb9a7acb" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">46.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively. The total fair value of stock units that vested during the years ended December 31, 2023, 2022 and 2021 was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7c4fe31b-4890-4f96-b7b0-9f2ff27303cc" contextRef="C_e6bc1264-f000-44b1-a506-8904a1ccc81c" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">26.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b114774d-a5d2-4e84-96da-dbb73fea1d18" contextRef="C_d2824928-d973-486a-a65b-45df3e8d84e4" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">22.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_822c1e4e-c691-4374-bf9e-06905736f9af" contextRef="C_4cbaf6f8-a32e-4825-b3da-968aeb9a7acb" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">13.9</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of December 31, 2023, there was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_735cbe05-2055-4b16-9263-8e0094b8950f" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">63.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of total unrecognized compensation cost related to unvested share-based awards. This cost is expected to be recognized over a weighted average remaining requisite service period of </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_3a19151d-01e8-409e-ad9d-9a27f4e91e55" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2.84</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> years. The Company expects </span><span style="font-size:10pt;font-family:Times New Roman;white-space:pre-wrap;min-width:fit-content;color:#000000;"><ix:nonFraction id="F_53233840-d08c-4a9b-afd7-ec33e681fa81" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="rgen:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">2,185,873</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> unvested options and stock units to vest over the next </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_9a12be86-fd67-42d1-8354-94c0e8bcdd0b" contextRef="C_9c8f8b2b-e150-4163-849f-9abbf6fa2b4e" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">five years</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:continuation></div>
  <div><ix:nonNumeric id="F_fec13b4a-b081-41a6-8c2d-03fb5c4fa725" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" escape="true" continuedAt="F_fec13b4a-b081-41a6-8c2d-03fb5c4fa725_1"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">14.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Commitments and Contingencies </span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">License Agreement</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On September 19, 2022, the Company entered into a 15-year exclusive License Agreement (the &#8220;Daylight Agreement&#8221;) with DRS Daylight Solutions, Inc. (&#8220;Daylight&#8221;), giving the Company exclusive license and commercialization rights to use certain technology and intellectual property subject to conditions set forth in the Daylight Agreement. The Company agreed to pay Daylight (i) an initial, one-time, non-refundable, non-creditable upfront cash payment and (ii) certain quarterly royalty payments.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Pursuant to the Daylight Agreement, the Company obtains the exclusive, non-transferrable, right and license to use specifically in the field of bioprocessing, the Daylight intellectual property called Culpeo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> QCL-IR Liquid Analyzer (&#8220;Culpeo&#8221;), which is a compact, intelligent spectrometer that uses the power of quantum cascade lasers to analyze and identify chemicals. Under the Daylight Agreement, the Company assumes responsibility for the commercialization and sale of Culpeo, in addition to the ability</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">111</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div style="font-size:12pt;font-family:Times New Roman;"><ix:continuation id="F_fec13b4a-b081-41a6-8c2d-03fb5c4fa725_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to incorporate the intellectual property into optimized products over the term of the Daylight Agreement. Daylight will continue to sell the products in the specified fields of Aerospace and Defense.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Collaboration Agreements</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company licenses certain technologies that are, or may be, incorporated into its technology under several agreements and also has entered into several clinical research agreements that require the Company to fund certain research projects. Generally, the license agreements require the Company to pay annual maintenance fees and royalties on product sales once a product has been established using the technologies. R&amp;D expenses associated with license agreements were immaterial amounts for the years ended December 31, 2023, 2022 and 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In June 2018, the Company secured an agreement with Navigo Proteins GmbH (&#8220;Navigo&#8221;) for the exclusive co-development of multiple affinity ligands for which Repligen holds commercialization rights. The Company is manufacturing and supplying the first of these ligands, NGL-Impact</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, exclusively to Purolite, who is pairing the Company&#8217;s high-performance ligand with Purolite&#8217;s agarose jetting base bead technology used in their Jetted A50 Protein A resin product. The Company also signed a long-term supply agreement with Purolite for NGL-Impact and other potential additional affinity ligands that may advance from the Company&#8217;s Navigo collaboration. In September 2020, the Company and Navigo successfully completed co-development of an affinity ligand targeting the SARS-CoV-2 spike protein, to be utilized in the purification of vaccines for the COVID-19 pandemic, including emerging variants of the SARS-CoV-2 coronavirus. The Company has proceeded with scaling up and manufacturing this ligand and the development and validation of the related affinity chromatography resin, which is marketed by the Company. In September 2021, the Company and Navigo successfully completed co-development of a novel affinity ligand that addresses aggregation issues associated with pH sensitive antibodies and Fc-fusion proteins. The Company is manufacturing and supplying this ligand, NGL-Impact</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> HipH, to Purolite. The Navigo and Purolite agreements are supportive of the Company&#8217;s strategy to secure and reinforce the Company&#8217;s proteins business.</span><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> The Company made royalty payments to Navigo of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_94bc6ca2-e05d-4c2d-85de-bb6381a18a25" contextRef="C_fdd28a2c-e6ea-45f6-aec7-7ca27f89295f" name="us-gaap:RoyaltyExpense" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">3.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_979f0b1f-2ca9-4a40-bcf5-b1be759fbbe6" contextRef="C_31c8d921-4040-49c4-a0c3-be3ff971ac14" name="us-gaap:RoyaltyExpense" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9f182352-9bb9-41f9-87a0-da2410e03b87" contextRef="C_4ba51dce-d20f-417b-aab5-b623a8d23880" name="us-gaap:RoyaltyExpense" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021, respectively, in connection with this program, which are recorded to research and development expenses in the Company&#8217;s consolidated statements of comprehensive income.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Purchase Orders, Supply Agreements and Other Contractual Obligations</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In the normal course of business, the Company has entered into purchase orders and other agreements with manufacturers, distributors and others. Outstanding obligations at December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3b2186a8-227c-4974-bf8c-c6021e3e9292" contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828" name="us-gaap:ContractualObligationDueInNextTwelveMonths" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">34.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million are expected to be completed within one year.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Legal Proceedings</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">From time to time, in the normal course of its operations, the Company is subject to litigation matters and claims relating to employee relations, business practices and patent infringement. Litigation can be expensive and disruptive to normal business operations. Moreover, the results of complex legal proceedings are difficult to predict, and the Company&#8217;s view of these matters may change in the future as the litigation and events related thereto unfold. The Company expenses legal fees as incurred. The Company records a provision for contingent losses when it is both probable that a liability has been incurred and the amount of the loss can be reasonably estimated. An unfavorable outcome to any legal matter, if material, could have an adverse effect on the Company&#8217;s operations or its financial results.</span></p></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">112</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:nonNumeric id="F_0541d654-b50f-429b-a05e-a39f26d737ad" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:LongTermDebtTextBlock" escape="true" continuedAt="F_0541d654-b50f-429b-a05e-a39f26d737ad_1"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">15.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Convertible Senior Notes </span></div></div><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_d2e5143e-8aed-444a-852c-8d88170513a0" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:ConvertibleDebtTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The carrying value of the Company&#8217;s convertible senior notes is as follows:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:67.08%;box-sizing:content-box;"/>
        <td style="width:1.62%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:12.84%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:1.62%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
        <td style="width:12.84%;box-sizing:content-box;"/>
        <td style="width:1%;box-sizing:content-box;"/>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,<br/>2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,<br/>2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">0.375% Convertible Senior Notes due 2024:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Principal amount</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e2549d64-a05b-4329-957c-16f41208b5e1" contextRef="C_dd71ae59-f1fd-409e-b94a-3357654f6efd" name="us-gaap:DebtInstrumentCarryingAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">69,700</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_29e6d63c-0e19-4d61-8d91-91bc90f75f7a" contextRef="C_3f1c7f78-aa24-40ad-9b77-159847ac2854" name="us-gaap:DebtInstrumentCarryingAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">287,470</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unamortized debt issuance costs</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c5ff0ded-f106-433e-8c13-0a182a6fcbba" contextRef="C_dd71ae59-f1fd-409e-b94a-3357654f6efd" name="us-gaap:DeferredFinanceCostsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">248</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b3b9c906-dc8a-4af2-9933-6f4c5189dd89" contextRef="C_3f1c7f78-aa24-40ad-9b77-159847ac2854" name="us-gaap:DeferredFinanceCostsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,855</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Carrying amount - Convertible Senior Notes due 2024, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8797aecc-633a-4e12-b494-c6a134789af8" contextRef="C_dd71ae59-f1fd-409e-b94a-3357654f6efd" name="us-gaap:ConvertibleNotesPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">69,452</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8e4575d3-7733-42e1-bc18-33fd1c4fdb69" contextRef="C_3f1c7f78-aa24-40ad-9b77-159847ac2854" name="us-gaap:ConvertibleNotesPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">284,615</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">1.00% Convertible Senior Notes due 2028:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Principal amount</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_62b58ecd-8dca-4cee-b29d-eafeb3eba082" contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09" name="us-gaap:DebtInstrumentCarryingAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">600,000</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d3809e08-4d76-4f4a-9200-8a452c102f03" contextRef="C_f9676ca9-4b37-4d7e-bad6-23d8b3b406ff" name="us-gaap:DebtInstrumentCarryingAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unamortized debt discount</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_614a36cf-7f03-4b7f-a0b5-3a3fce94da47" contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09" name="us-gaap:DebtInstrumentUnamortizedDiscount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">81,457</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5896021e-ad6c-4488-872d-19a50b09bf8a" contextRef="C_f9676ca9-4b37-4d7e-bad6-23d8b3b406ff" name="us-gaap:DebtInstrumentUnamortizedDiscount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unamortized debt issuance costs</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3a8945da-b9c0-4799-a747-b01925790ca8" contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09" name="us-gaap:DeferredFinanceCostsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,400</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b9efb1c5-c9ca-4280-b355-e536d902be96" contextRef="C_f9676ca9-4b37-4d7e-bad6-23d8b3b406ff" name="us-gaap:DeferredFinanceCostsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Carrying amount - Convertible Senior Notes due 2028, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b093c415-018c-4de6-a892-a8592de547fa" contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09" name="rgen:ConvertibleSeniorNotes" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">510,143</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_94aa0f56-afdf-455b-bda3-d2593299ce9b" contextRef="C_f9676ca9-4b37-4d7e-bad6-23d8b3b406ff" name="rgen:ConvertibleSeniorNotes" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">1.00% Convertible Senior Notes due 2028</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On December 14, 2023, the Company issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ee0d2953-7f2d-497b-a2cb-2b2614a7fa90" contextRef="C_65ffba7c-18cb-4d91-820d-905df26ad0a9" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">600.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of its 2023 Notes in the Exchange and Subscription Agreements with a limited number of holders of its outstanding 2019 Notes and certain other qualified institutional buyers pursuant to Rule 144A under the Securities Act. Pursuant to the Exchange and Subscription Agreements, the Company exchanged $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_52c82d6a-da04-4601-a7e1-e38a5d4eea46" contextRef="C_c1f94eba-83e9-4529-939a-128892f1ed5e" name="rgen:DebtInstrumentExchangedAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">217.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of its 2019 Notes, which were cancelled upon exchange, for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_45e4dc62-f521-4dd3-b8e9-4457b2239f42" contextRef="C_efaa8ca3-1e5a-4bd7-bb27-e425e2de3d42" name="rgen:DebtInstrumentExchangedAmountCancelled" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">309.9</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2023 Notes (the &#8220;Exchange Transaction&#8221;) and issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b8b2c55d-ebd8-4894-aab8-5d362838844a" contextRef="C_993d6975-6c8e-41de-a646-87cc3036f81e" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">290.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2023 Notes in a private placement to accredited institutional buyers (the &#8220;Subscription Transactions&#8221;) for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_71326ce5-c107-46cb-9f83-a07eb645e68d" contextRef="C_42291f82-cf7e-4cea-a274-f30979d32b81" name="rgen:DebtInstrumentIssuedForCash" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">290.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company evaluated the Exchange Transaction and determined approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5d98f0df-2435-499d-ae57-64e7c0b4537f" contextRef="C_c1f94eba-83e9-4529-939a-128892f1ed5e" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">29.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cd0e6bcd-f2c2-4e80-a59b-0a72c6178513" contextRef="C_c1f94eba-83e9-4529-939a-128892f1ed5e" name="rgen:DebtInstrumentExchangedAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">217.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million principal of the exchanged 2019 Notes should be accounted for as extinguishments of debt and approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8a43ced3-abce-44e8-bfd5-38bf2c25afe9" contextRef="C_bd279589-3e25-448f-b6be-6087995b8f11" name="rgen:ModificationOfDebt" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">188.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million should be accounted for as modification of debt. As a result, we recognized a $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bba12542-4385-472a-8565-b576637da2df" contextRef="C_8d9b2921-4594-40df-b6d6-c9e7e54d3d0d" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">12.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million loss on extinguishment of debt in our consolidated statements of comprehensive income for the year ended December 31, 2023, inclusive of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d14f40f9-b31e-4903-a1f0-d22111efb6d3" contextRef="C_7b18128a-c301-47f8-a48d-4277e26350b1" name="us-gaap:DeferredFinanceCostsNet" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of unamortized debt issuance costs. Under modification accounting, the carrying amount of the modified 2019 Notes was reduced by $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5eb87b6b-2c06-40ac-8fbc-04b25b15d08f" contextRef="C_afda28db-848d-46e9-b0b7-b861c2bcc1e4" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, with a corresponding increase to additional paid-in capital, to account for the increase in the fair value of the embedded conversion option, representing a debt discount of the modified 2019 Notes. The aggregate debt discount of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_41151b19-9ab4-4004-a97f-43fe8c66550e" contextRef="C_f81617a6-82f7-4a36-b727-4c00f37905a8" name="us-gaap:DebtInstrumentUnamortizedDiscount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">82.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, comprised of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7c11a056-1fe1-4074-975e-83a8be0e3341" contextRef="C_f81617a6-82f7-4a36-b727-4c00f37905a8" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">79.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million increase in principal of the modified 2019 Notes and a $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_efc2fb69-01b6-4a01-9824-5bb29341ac12" contextRef="C_f6f12142-0277-48d4-8b90-d56547c17249" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million increase in the fair value of the embedded conversion option, is as a direct reduction from the carrying value of the convertible debt on our consolidated balance sheets. This amount will be accreted into interest expense in the consolidated statements of comprehensive income using the effective interest method over the term of the 2023 Notes.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Proceeds from the Subscription Transactions were $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d621de9a-524b-4576-9813-8c7cb75ea1ba" contextRef="C_2e5f239b-0444-4570-b098-fe3f23178665" name="us-gaap:ProceedsFromConvertibleDebt" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">276.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, net of debt issuance costs of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4005db8a-c372-416d-9110-31e48ebdd137" contextRef="C_2e5f239b-0444-4570-b098-fe3f23178665" name="us-gaap:PaymentsOfDebtIssuanceCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">14.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The Exchange Transaction resulted in $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c966a505-d015-434f-a82a-706a597bc90c" contextRef="C_73645a4f-0b13-4c18-99b6-77b48110746d" name="us-gaap:PaymentsOfDebtIssuanceCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">6.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the debt issuance costs related to the modified 2019 Notes, which were expensed as incurred in accordance with modification accounting, and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_db412f23-da75-407e-9d36-6edf3a8fb751" contextRef="C_0a1abccc-ded4-44b6-bbba-101e709b3fa7" name="us-gaap:DeferredFinanceCostsNet" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">7.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of deferred debt issuance costs related to the 2023 Notes, which were recorded as a direct deduction to the carrying value of the 2023 Notes on the Company&#8217;s consolidated balance sheets. The Company will amortize the $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1294f355-dcb4-4bfb-9700-7fa77ff8010b" contextRef="C_73645a4f-0b13-4c18-99b6-77b48110746d" name="rgen:AmortizationOfDebtIssuanceCost" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">7.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of debt issuance costs of the 2023 Notes into amortization of debt issuance costs in the Company&#8217;s consolidated statements of comprehensive income over the remaining term of the 2023 Notes. The carrying value of the 2023 Notes of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_def33304-caab-4954-b2e2-c09e4ed53c2e" contextRef="C_4e91d2b0-1bc8-4287-bb98-eab91339e55a" name="us-gaap:LongTermDebt" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">510.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million is included in long-term debt on the Company's consolidated balance sheets as of December 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company used </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_13de0571-4876-4f49-9929-39d8d2517bcf" contextRef="C_2e5f239b-0444-4570-b098-fe3f23178665" name="us-gaap:ProceedsFromIssuanceOfCommonStock" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">14.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the proceeds from the Subscription Transactions to repurchase shares of its common stock from certain purchasers of the 2023 Notes. See Note 13, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Stockholders&#8217; Equity - Share Repurchases&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">for additional information related to this repurchase. The Company will also use a portion of the proceeds to finance in part, the settlement upon conversion or repurchase of the remaining 2019 Notes at or prior to maturity. The remainder of the proceeds will be used for working capital</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">113</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_0541d654-b50f-429b-a05e-a39f26d737ad_1" continuedAt="F_0541d654-b50f-429b-a05e-a39f26d737ad_2"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and general corporate purposes, including to fund possible acquisitions of, or investments in, complementary businesses, products, services and technologies.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The 2023 Notes are senior, unsecured obligations of the Company, and bear interest at a rate of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e3152b71-adb2-4507-9a48-d2534abbb420" contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">1.00</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% per year. </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_7d97b5cf-9092-46ff-95fc-0591c8a92b8e" contextRef="C_93f75704-3ed9-43c4-ac6f-685e2e87db08" name="us-gaap:DebtInstrumentInterestRateTerms"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Interest is payable semi-annually in arrears on each June 15 and December 15, commencing on June 15, 2024</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. The 2023 Notes will mature on </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_249db1fb-983a-4291-b4e5-e03c15fd8250" contextRef="C_93f75704-3ed9-43c4-ac6f-685e2e87db08" name="us-gaap:DebtInstrumentMaturityDate" format="ixt:date-monthname-day-year-en"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 15, 2028</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, unless earlier redeemed, repurchased or converted. The initial conversion rate for the 2023 Notes is </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bf22130a-a8b9-4735-8f0d-3367021cf116" contextRef="C_93f75704-3ed9-43c4-ac6f-685e2e87db08" name="us-gaap:DebtInstrumentConvertibleConversionRatio1" unitRef="U_pure" scale="3" decimals="1" format="ixt:num-dot-decimal">4.9247</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of the Company's common stock per $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dbd4164b-1c4a-4097-8daf-bfe3377b7c87" contextRef="C_152df1cd-b5bb-41c1-80aa-ef8c50d178c6" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,000</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> principal amount of 2023 Notes, which is equivalent to an initial conversion price of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1ac9fce0-fba4-4f9d-aa85-0520de5d2158" contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09" name="us-gaap:DebtInstrumentConvertibleConversionPrice1" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">203.06</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> per share and represents a </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f6b5b12c-1291-487f-bdb0-e77df680ea6a" contextRef="C_93f75704-3ed9-43c4-ac6f-685e2e87db08" name="us-gaap:DebtInstrumentInterestRateDuringPeriod" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">30</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% premium over the last reported sale price of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a8d0ffd2-ba85-4f01-a8a0-3a7feecf8aad" contextRef="C_a08b8290-c277-4d03-82d7-8b36c70b360c" name="us-gaap:SharePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">156.20</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> per share on December 6, 2023, the date on which the 2023 Notes were priced. Prior to the close of business on the business day immediately preceding September 15, 2028, the 2023 Notes will be convertible at the options of the holders of 2023 Notes only upon the satisfaction of specified conditions and during certain periods into cash up to their principal amount, and into cash, shares of the Company's common stock or a combination thereof, at the Company's election, for the conversion value above the principal amount, if any. Thereafter until the close of business on the second scheduled trading day immediately preceding the maturity date, the 2023 Notes will be convertible at the option of the holders of 2023 Notes at any time regardless of these conditions. The Company may redeem for cash, all or a portion of the 2023 Notes, at its option, on or after December 18, 2026 and prior to the 21st scheduled trading day immediately preceding the maturity date at a redemption price of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7d9472d6-67ce-4ac5-bf46-cfbfc2a23809" contextRef="C_e7baebaa-bdf9-44eb-9ddc-5b7070998d67" name="us-gaap:DebtInstrumentRedemptionPricePercentage" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the principal amount of the 2023 Notes to be redeemed, plus accrued and unpaid interest to, but excluding the redemption date, if certain conditions are met in accordance to the indenture governing the 2023 Notes (the &#8220;2023 Notes Indenture&#8221;).</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">If the Company undergoes a &#8220;fundamental change&#8221; (as defined in the 2023 Notes Indenture), the holders of the 2023 Notes may require the Company to repurchase for cash all or part of their 2023 Notes at a purchase price equal to </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d5e8c785-cc95-41fc-9e0e-6e6ea5357209" contextRef="C_93f75704-3ed9-43c4-ac6f-685e2e87db08" name="us-gaap:DebtInstrumentRedemptionPricePercentage" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the principal amount of the 2023 Notes to be repurchased, plus accrued and unpaid interest, if any, up to, but excluding, the fundamental change repurchase date. In addition, if certain &#8220;make-whole fundamental changes&#8221; (as defined in 2023 Notes Indenture) occur or the Company calls all or a portion of the 2023 Notes for redemption, the Company will, in certain circumstances, increase the conversion rate for any 2023 Notes converted in connection with such make-whole fundamental change or any 2023 Notes called for redemption that are converted during the related redemption period.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Interest expense recognized on the 2023 Notes in 2023 wa</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">s $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_08894e2d-4f0b-41d8-8451-74ee2a7ce4e2" contextRef="C_93f75704-3ed9-43c4-ac6f-685e2e87db08" name="us-gaap:InterestExpenseDebtExcludingAmortization" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1157340c-a5bf-4727-bac4-b64dedaeb90d" contextRef="C_93f75704-3ed9-43c4-ac6f-685e2e87db08" name="us-gaap:AmortizationOfFinancingCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million for the contractual coupon interest and accretion of the debt discount, respectively. Amortization of debt issuance costs recorded in 2023 related to the 2023 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e144cae6-45f3-4f82-896e-e52ef820bfb7" contextRef="C_e7baebaa-bdf9-44eb-9ddc-5b7070998d67" name="rgen:AmortizationOfDebtIssuanceCost" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">6.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> mill</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ion, which includes the $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5025fad3-3460-4c9b-9057-709654301576" contextRef="C_93f75704-3ed9-43c4-ac6f-685e2e87db08" name="us-gaap:PaymentsOfDebtIssuanceCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">6.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of debt issuance costs recorded under modification accounting mentioned above and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_19d2d961-e9b7-4b68-9014-a23e852da030" contextRef="C_93f75704-3ed9-43c4-ac6f-685e2e87db08" name="rgen:AmortizationOfDebtIssuanceCost" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million amortization of debt issuance costs related to the capitalized portion of the costs. The effective interest rate on the 2023 Notes is </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_82b74b2a-a523-474c-90be-cf9145676f03" contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">4.39</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> which included the interest on the 2023 Notes and amortization of the debt discount and issuance costs. As of December 31, 2023, the carrying value of the 2023 Notes was</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ea3db950-fb96-4d75-940f-9b48c104252b" contextRef="C_4e91d2b0-1bc8-4287-bb98-eab91339e55a" name="us-gaap:LongTermDebt" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">510.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">million and the fair value of the principal was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b131a7e5-9158-409a-ba30-64e0c65adb5c" contextRef="C_4e91d2b0-1bc8-4287-bb98-eab91339e55a" name="us-gaap:LongTermDebtFairValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">596.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The fair value of the 2023 Notes was determined based on the most recent trade activity of the 2023 Notes as of December 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The 2023 Notes Indenture contains customary terms and events of default. If an event of default (other than certain events of bankruptcy, insolvency or reorganization involving the Company) occurs and is continuing, the holders of at least </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_34e457b9-5cd9-49c9-8c65-74930aae8418" contextRef="C_a76644f8-46a0-46f5-a877-718f5a2d202a" name="us-gaap:DebtInstrumentRedemptionPricePercentage" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">25</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% in aggregate principal amount of the outstanding 2023 Notes may declare </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_95817264-e5fc-4a69-82d7-8c24f2799d41" contextRef="C_81ffec3c-cf9d-4e1b-9d2f-a25b8808a85c" name="us-gaap:DebtInstrumentRedemptionPricePercentage" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the principal of, and any accrued and unpaid interest on, all of the 2023 Notes to be due and payable. Upon the occurrence of certain events of bankruptcy, insolvency or reorganization involving the Company, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_019c2ced-8994-4d69-a552-6ba04739c0fd" contextRef="C_93f75704-3ed9-43c4-ac6f-685e2e87db08" name="us-gaap:DebtInstrumentRedemptionPricePercentage" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the principal of and accrued and unpaid interest, if any, on all of the 2023 Notes will become due and payable automatically.  Notwithstanding the foregoing, the 2023 Notes provide that, to the extent the Company elects and for up to 365 days, the sole remedy for an event of default relating to certain failures by the Company to comply with certain reporting covenants consist exclusively of the right to receive additional interest on the 2023 Notes. The Company is not aware of any events of default that would allow holders to declare the principal of, and any accrued and unpaid interest on, all of the 2023 Notes to be due and payable.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">0.375% Convertible Senior Notes due 2024</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">T</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">he Company issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8df7ce68-ae0c-4151-8a27-e3f9cb3c67d2" contextRef="C_7f5dd080-ebd1-4899-aecd-e7d96b15a39c" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">287.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2019 Notes on July 19, 2019 in a transaction which included the underwriters&#8217; exercise in full of an option to purchase an additional $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dbfd6c77-6799-459b-8ec8-508a07f5ac2b" contextRef="C_7f5dd080-ebd1-4899-aecd-e7d96b15a39c" name="rgen:OptionToPurchaseAdditionalDebtFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">37.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">aggregate principal amount of 2019 Notes (the &#8220;Notes Offering&#8221;). The net proceeds of the Notes Offering, after deducting underwriting discounts and</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">114</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div><ix:continuation id="F_0541d654-b50f-429b-a05e-a39f26d737ad_2" continuedAt="F_0541d654-b50f-429b-a05e-a39f26d737ad_3"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">commissions </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and other related offering expenses payable by the Company, were approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_60be3df7-d404-41e2-a584-7a036f881ad0" contextRef="C_151b99ba-a4ff-4423-888e-60a04785b869" name="us-gaap:ProceedsFromConvertibleDebt" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">278.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Immediately following the closing of the Exchange Transaction mentioned above, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f55cc397-30cc-4c33-b649-2e1ced875f6a" contextRef="C_57a95ac7-d505-42c2-8beb-ed82c8ace083" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">69.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in aggregate principal amount of the 2019 Notes remain outstanding.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The 2019 Notes are senior, unsecured obligations of the Company, and bear interest at a rate of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0c2a4639-8620-4311-a0ea-bee8048c6b7a" contextRef="C_7f5dd080-ebd1-4899-aecd-e7d96b15a39c" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" unitRef="U_pure" scale="-2" decimals="5" format="ixt:num-dot-decimal">0.375</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% per year. </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_8d83a6cc-7c1c-4144-9884-51f55be66d7b" contextRef="C_54da77f9-5299-43e8-bc2a-a3d8ce04f0e1" name="us-gaap:DebtInstrumentInterestRateTerms"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Interest is payable semi-annually in arrears on January 15 and July 15 of each year, beginning on January 15, 2020</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. The remaining 2019 Notes will mature on </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_a4447a63-d4d9-4c27-babc-b0f08fdaa9cc" contextRef="C_54da77f9-5299-43e8-bc2a-a3d8ce04f0e1" name="us-gaap:DebtInstrumentMaturityDate" format="ixt:date-monthname-day-year-en"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">July 15, 2024</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, unless earlier repurchased or converted in accordance with their terms. The initial conversion rate for the 2019 Notes is </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5824e07e-5f33-49c3-a8f8-e455dfe77374" contextRef="C_151b99ba-a4ff-4423-888e-60a04785b869" name="us-gaap:DebtInstrumentConvertibleConversionRatio1" unitRef="U_pure" scale="0" decimals="4" format="ixt:num-dot-decimal">8.6749</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of the Company&#8217;s common stock per $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2a5bc309-4f8b-4ef5-ad24-2d546be340b2" contextRef="C_72df5c19-d7d2-43d2-bb17-df8271835ac3" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,000</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> principal amount of 2019 Notes (which is equivalent to an initial conversion price of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_44dff123-8788-4c4e-82a1-82ab77296f2d" contextRef="C_7f5dd080-ebd1-4899-aecd-e7d96b15a39c" name="us-gaap:DebtInstrumentConvertibleConversionPrice1" unitRef="U_UnitedStatesOfAmericaDollarsShare" decimals="INF" format="ixt:num-dot-decimal">115.28</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> per share). Prior to the close of business on the business day immediately preceding April 15, 2024, the 2019 Notes will be convertible at the option of the holders of 2019 Notes only upon the satisfaction of specified conditions and during certain periods. Thereafter until the close of business on the second scheduled trading day immediately preceding the maturity date, the remaining 2019 Notes will be convertible at the options of the holders of 2019 Notes at any time regardless of these conditions. Prior to March 4, 2022, conversion of the 2019 Notes could have been settled in cash, shares of the Company&#8217;s common stock or a combination thereof, at the Company&#8217;s election. On March 4, 2022, the Company entered into the Second Supplemental Indenture for the 2019 Notes, which irrevocably elected to settle the conversion of the 2019 Notes using a combination of cash and the Company&#8217;s common stock, settling the par value of the 2019 Notes in cash and any excess conversion premium in shares. The 2019 Notes are not redeemable by the Company prior to maturity.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Holders of 2019 Notes may require the Company to repurchase their 2019 Notes upon the occurrence of a fundamental change prior to maturity at a repurchase price equal to </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_04673be9-6a2a-46b9-8b41-3c65336906d8" contextRef="C_151b99ba-a4ff-4423-888e-60a04785b869" name="us-gaap:DebtInstrumentRedemptionPricePercentage" unitRef="U_pure" scale="-2" decimals="INF" format="ixt:num-dot-decimal">100</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the principal amount thereof, plus accrued and unpaid interest to, but excluding, the date of repurchase. In connection with certain corporate events, the Company will, under certain circumstances, increase the conversion rate for holders of 2019 Notes who elect to convert their 2019 Notes in connection with such corporate events.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the fourth quarter of 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the closing price of the Company&#8217;s common stock exceeded </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b2a74a31-9f10-42bf-a700-6669e6305208" contextRef="C_5d1d5259-5c7b-4645-af51-5d2693739405" name="us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">130</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the conversion price of the 2019 Notes for more than </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3c1c7238-7667-4fb8-a573-967ef2f5490d" contextRef="C_5d1d5259-5c7b-4645-af51-5d2693739405" name="us-gaap:DebtInstrumentConvertibleThresholdTradingDays" unitRef="U_Days" decimals="INF" format="ixt:num-dot-decimal">20</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> trading days of the last </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_080e74f3-aab0-456e-b6ec-a0c889e15457" contextRef="C_5d1d5259-5c7b-4645-af51-5d2693739405" name="us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" unitRef="U_Days" decimals="INF" format="ixt:num-dot-decimal">30</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> consecutive trading days of the quarter. As a result, the 2019 Notes are convertible at the option of the holders of the 2019 Notes during the first quarter of 2024, the quarter immediately following the quarter when conditions are met, as stated in the terms of the 2019 Notes. These conditions have been met each quarter since the third quarter of 2020. As a result, as of the date of this filing and prior to the Exchange Transaction mentioned above, the Company received requests to convert $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d4068ab8-564a-4980-973e-026c66b07e86" contextRef="C_dd71ae59-f1fd-409e-b94a-3357654f6efd" name="rgen:DebtInstrumentConvertibleIntoEquity" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2019 Notes and all but $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_06e4716b-bc8c-4dc7-b901-92ece9ccbd79" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="rgen:DebtInstrumentConvertibleIntoEquitySettled" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the requests have been settled as of December 31, 2023. The remaining outstanding requests for conversions will settle in the first quarter of 2024. The conversions resulted in the issuance of a nominal number of shares of the Company&#8217;s common stock to the note holders. Because the 2019 Notes mature within one year of the report date, the Company classifies the carrying value of the 2019 Notes of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e7cd5328-a03a-4d6a-ad1c-71d709df0e86" contextRef="C_dd71ae59-f1fd-409e-b94a-3357654f6efd" name="us-gaap:LiabilitiesCurrent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">69.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million as current liabilities on the Company's consolidated balance sheets at </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prior to the adoption of ASU 2020-06, the Company accounted for the 2019 Notes as a liability and equity component where the carrying value of the liability component was valued based on a similar debt instrument. In accounting for the issuance of the 2019 Notes, the Company separated the 2019 Notes into liability and equity components. The carrying value of the liability component was calculated as the present value of its cash flows using a discount rate of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_42e87623-1755-415f-aea4-c8ec9b72f543" contextRef="C_54da77f9-5299-43e8-bc2a-a3d8ce04f0e1" name="rgen:DiscountRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">4.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% based on comparative convertible transactions for similar companies. The carrying value of the equity component representing the conversion option was determined by deducting the fair value of the liability component from the par value of the 2019 Notes as a whole. The excess of the principal amount of the liability component over its carrying value amount, referred to as the debt discount, was amortized to interest expense on our consolidated statements of comprehensive income over the five-year term of the 2019 Notes. The equity component was not re-measured as long as it continued to meet the conditions for equity classification. The equity component related to the 2019 Notes recorded at issuance was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b75a3f5f-d7e8-4ed1-9e4b-d107aa01cc9e" contextRef="C_dd71ae59-f1fd-409e-b94a-3357654f6efd" name="us-gaap:AdditionalPaidInCapitalCommonStock" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">52.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, which was recorded in additional paid-in capital on the Company's consolidated balance sheets.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In accounting for the transaction costs related to the issuance of the 2019 Notes, the Company allocated the total costs incurred to the liability and equity components of the 2019 Notes using the same proportions as the initial carrying value of the 2019 Notes. Transaction costs related to the liability component were $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b810dead-c482-4b0c-ad56-9387bf7be184" contextRef="C_54da77f9-5299-43e8-bc2a-a3d8ce04f0e1" name="rgen:ConvertibleNotesTransactionCostsOfLiabilityComponent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">7.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and are amortized to interest expense using the effective interest method over the five-year term of the 2019 Notes. Transaction costs attributable to the equity component were $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0062e891-9f72-4f81-b793-4c5f2c0bda5e" contextRef="C_dd71ae59-f1fd-409e-b94a-3357654f6efd" name="rgen:ConvertibleNotesTransactionCostsOfEquityComponent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.6</ix:nonFraction></span></p></ix:continuation></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">115</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_0541d654-b50f-429b-a05e-a39f26d737ad_3"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and are netted with the equity component of the 2019 Notes in stockholders' equity of the Company's consolidated balance sheets. Additionally, the Company recorded a net deferred tax liability of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f738289c-3214-4af9-a476-35fa3d3f06ce" contextRef="C_dd71ae59-f1fd-409e-b94a-3357654f6efd" name="us-gaap:DeferredTaxLiabilities" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">11.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Effective January 1, 2022, the Company adopted ASU 2020-06. After adoption, the Company now accounts for the 2019 Notes, and any convertible debt issued going forward, as a single liability measured at amortized cost. As the equity component is no longer required to be split into a separate component, the Company recorded a net adjustment for the initial $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_279a3f15-4f65-439a-8c1b-764ac07dafe4" contextRef="C_54da77f9-5299-43e8-bc2a-a3d8ce04f0e1" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">50.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million that was allocated to additional paid-in capital and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4a4fb56e-52d1-493e-b59b-c80e34663a2d" contextRef="C_54da77f9-5299-43e8-bc2a-a3d8ce04f0e1" name="us-gaap:AmortizationOfDebtDiscountPremium" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">22.9</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of life-to-date interest expense recorded as amortization of debt discount. Additionally, the net deferred tax liability recorded for the 2019 Notes was reversed. The principal amount of the liability over its carrying amount is amortized to interest expense over the five-year term of the 2019 Notes. Since the 2019 Notes are classified as a single liability, there is no debt discount required to be amortized in 2022.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Contractual coupon interest expense related to the 2019 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6472d64e-be30-4f73-8282-891af6fb447f" contextRef="C_54da77f9-5299-43e8-bc2a-a3d8ce04f0e1" name="us-gaap:InterestExpenseDebtExcludingAmortization" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in 2023 </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and the Company recorded $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3b64982c-ae70-47f6-9c6b-b265ea4c0227" contextRef="C_54da77f9-5299-43e8-bc2a-a3d8ce04f0e1" name="us-gaap:AmortizationOfFinancingCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> mill</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ion of amortization of the debt issuance costs related to the 2019 Notes as well. The effective interest rate on the 2019 Notes is </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_857e13aa-cf56-4ad6-9ea9-4c25bd41323e" contextRef="C_3f1c7f78-aa24-40ad-9b77-159847ac2854" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">1.02</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%, which included the interest on the 2019 Notes and amortization of the debt issuance costs. As of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, the carrying value of the 2019 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d80b7af7-a31a-4c1e-99e1-852eef1b3975" contextRef="C_dd71ae59-f1fd-409e-b94a-3357654f6efd" name="us-gaap:LongTermDebt" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">69.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and the fair value of the principal was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d395f6dc-7a9a-40c2-8b4f-f6daa98d0714" contextRef="C_dd71ae59-f1fd-409e-b94a-3357654f6efd" name="us-gaap:LongTermDebtFairValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">109.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The fair value of the 2019 Notes was determined based on the most recent trade activity of the 2019 Notes as of December 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The indenture governing the 2019 Notes contains customary terms and events of default. If an event of default (other than certain events of bankruptcy, insolvency or reorganization involving the Company) occurs and is continuing, the holders of at least </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d8acb032-e11e-40ee-980c-3a1882c669bd" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:DebtInstrumentRedemptionPricePercentage" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">25</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% in aggregate principal amount of the outstanding 2019 Notes may declare </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c7009038-838c-4e3c-982d-ed30d48b9dc2" contextRef="C_54da77f9-5299-43e8-bc2a-a3d8ce04f0e1" name="us-gaap:DebtInstrumentRedemptionPricePercentage" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the principal of, and any accrued and unpaid interest on, all of the 2019 Notes to be due and payable. Upon the occurrence of certain events of bankruptcy, insolvency or reorganization involving the Company, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e7b44d37-eec2-4af9-afbe-03236928bfbf" contextRef="C_54da77f9-5299-43e8-bc2a-a3d8ce04f0e1" name="us-gaap:DebtInstrumentRedemptionPricePercentage" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the principal of and accrued and unpaid interest, if any, on all of the 2019 Notes will become due and payable automatically.  Notwithstanding the foregoing, the 2019 Notes provide that, to the extent the Company elects and for up to 360 days, the sole remedy for an event of default relating to certain failures by the Company to comply with certain reporting covenants consist exclusively of the right to receive additional interest on the 2019 Notes.  The Company is not aware of any events of default, current events or market conditions that would allow holders to declare the principal of, and any accrued and unpaid interest on, all of 2019 Notes to be due and payable.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:continuation></div>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_3a621f23-15df-4c17-804e-38b29fee1d03" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:CompensationAndEmployeeBenefitPlansTextBlock" escape="true" continuedAt="F_3a621f23-15df-4c17-804e-38b29fee1d03_1"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">16.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Employee Benefit Plans </span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In the United States, the Repligen Corporation 401(k) Savings and Retirement Plan (the &#8220;401(k) Plan&#8221;) is a qualified defined contribution plan in accordance with Section 401(k) of the Internal Revenue Code. All U.S. employees over the age of </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_d44b1b75-55aa-43dd-a632-d8df4cb9cf87" contextRef="C_7054cf9e-e4b9-48bb-8db8-51dc67555cab" name="rgen:DefinedContributionPlanEmployeeEligibilityAge" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">21</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> are eligible to make pre-tax contributions up to a specified percentage of their compensation. Under the 401(k) Plan, the Company may, but is not obligated to match a portion of the employees&#8217; contributions up to a defined maximum. The match is calculated on a calendar year basis. The Company matched $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e8e513b0-ebe8-4531-b284-22be513e39d9" contextRef="C_25ab9f38-2cca-4198-9d80-0cbd791565c7" name="us-gaap:DefinedBenefitPlanContributionsByEmployer" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">3.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_60aad41d-959d-4ad2-89e6-966408723043" contextRef="C_d739c946-d3a5-4440-8020-77c46f56e619" name="us-gaap:DefinedBenefitPlanContributionsByEmployer" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d7959cfb-bc6d-4db6-892e-ceb8bc484d9c" contextRef="C_a6cd6916-e30c-4fef-b3b7-fde4efbf82f5" name="us-gaap:DefinedBenefitPlanContributionsByEmployer" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in the years ended December 31, 2023, 2022 and 2021, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div>
  <p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_3a621f23-15df-4c17-804e-38b29fee1d03_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In Sweden, the Company contributes to a government-mandated occupational pension plan that is a qualified defined contribution plan. All employees in Sweden are eligible for this pension plan. The Company pays premiums to a third-party occupational pension specialist who administers the pension plan. These premiums are based on various factors including each employee&#8217;s age, salary, employment history and selected benefits in the pension plan. When an employee terminates or retires, these premium payments cease for that employee and the Company has no further pension-related obligations for that employee. The Company contributed $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1ed401f2-29cc-437b-a2ec-85603748d529" contextRef="C_690b203f-6012-4574-9e1e-3815e1882698" name="us-gaap:DefinedBenefitPlanContributionsByEmployer" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fa536d9a-5a60-49f1-970c-41fa720bfcff" contextRef="C_da9bb3a8-9478-466f-b7cb-b04ec3660d20" name="us-gaap:DefinedBenefitPlanContributionsByEmployer" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $1</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4d8244fd-0819-4ebe-97fb-ebdd7afc4fcd" contextRef="C_c131eb55-02f6-407f-b731-75cd187fe4c1" name="us-gaap:DefinedBenefitPlanContributionsByEmployer" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively to the defined contribution plan for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_e1422262-3621-47d2-a7fc-674084df632e" contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f" name="us-gaap:RelatedPartyTransactionsDisclosureTextBlock" escape="true"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">17.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Related Party Transactions </span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Certain facilities leased by Spectrum LifeSciences LLC (&#8220;Spectrum&#8221;) are owned by the Roy Eddleman Living Trust (the &#8220;Trust&#8221;). As of December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Trust owned greater than </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0e0a930b-9b46-4600-9631-e03340c1416e" contextRef="C_a8dc03d1-ec6a-4ec3-b18b-a3425f264901" name="us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners" unitRef="U_pure" scale="-2" decimals="INF" format="ixt:num-dot-decimal">5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the Company's outstanding shares. Therefore, the Company considers the Trust to be a related party.  The lease amounts paid to the Trust prior to the public offering were negotiated in connection with the acquisition of Spectrum. The Company incurred rent expense related to these leases totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8014217f-5d7d-49bd-bcb4-757867187a99" contextRef="C_b38c53a5-5d15-48a5-a872-0976ab51318c" name="us-gaap:PaymentsForRent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal"><ix:nonFraction id="F_6632c17f-03fd-4583-8e9e-7a7fdfe1a1d8" contextRef="C_54672aa0-0bf8-4db4-abe4-49be4667fbd2" name="us-gaap:PaymentsForRent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal"><ix:nonFraction id="F_7daaa54d-e0bd-4d23-8f50-7b560161f713" contextRef="C_1ead2a08-699e-4c22-af24-827d48e7c43e" name="us-gaap:PaymentsForRent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.7</ix:nonFraction></ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span></p></ix:nonNumeric></div>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">116</span></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
 </body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>2
<FILENAME>rgen-ex23_1.htm
<DESCRIPTION>EX-23.1
<TEXT>
<html>
 <head>
  <title>EX-23.1</title>
 </head>
 <body style="margin: auto!important;padding: 8px;line-height: 1;">
  <div style="z-index:-3;min-height:1in;position:relative;"></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Exhibit 23.1</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We consent to the incorporation by reference in the following Registration Statements:</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:5%;box-sizing:content-box;"></td>
    <td style="width:4%;box-sizing:content-box;"></td>
    <td style="width:91%;box-sizing:content-box;"></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0.01in;vertical-align:top;padding-bottom:0in;padding-right:0.01in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-bottom:0in;padding-right:0.01in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(1)</font></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-bottom:0in;padding-right:0.01in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Registration Statement (Form S-8 No. 333-224978) pertaining to the 2018 Stock Option and Incentive Plan of Repligen Corporation, and</font></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0.01in;vertical-align:top;padding-bottom:0in;padding-right:0.01in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-bottom:0in;padding-right:0.01in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(2)</font></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-bottom:0in;padding-right:0.01in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Registration Statement (Form S-8 No. 333-196456) pertaining to the Repligen Corporation Amended and Restated 2012 Stock Option and Incentive Plan;</font></p></td>
   </tr>
  </table>
  <p style="margin-left:4.533%;text-indent:-5.047%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">	</font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">of our report with respect to the consolidated financial statements of Repligen Corporation dated February 22, 2024 (except for the effects of the restatement disclosed in Note 1, as to which the date is November 18, 2024) and our report with respect to the effectiveness of internal control over financial reporting of Repligen Corporation dated February 22, 2024 (except for the effect of the material weakness in controls related to the revenue recognition process described in the second and fourth paragraphs, as to which the date is November 18, 2024) included in this Form 10-K/A of Repligen Corporation for the year ended December 31, 2023.</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:59.027%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">/s/ Ernst &amp; Young LLP</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:60%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Boston, Massachusetts</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:60%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">November 18, 2024</font></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;min-height:1in;justify-content:flex-end;position:relative;"></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>3
<FILENAME>rgen-ex31_1.htm
<DESCRIPTION>EX-31.1
<TEXT>
<html>
 <head>
  <title>EX-31.1</title>
 </head>
 <body style="margin: auto!important;padding: 8px;line-height: 1;">
  <div style="z-index:-3;min-height:1in;position:relative;"></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Exhibit 31.1</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CERTIFICATION</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">I, Olivier Loeillot, certify that:</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1.	I have reviewed this Annual Report on Form 10-K/A of Repligen Corporation;</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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;</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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;</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4.	The registrant&#x2019;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.587%;text-indent:-4.807%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(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;</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.587%;text-indent:-4.807%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(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;</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.587%;text-indent:-4.807%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(c)	Evaluated the effectiveness of the registrant&#x2019;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</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.587%;text-indent:-4.807%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(d)	Disclosed in this report any change in the registrant&#x2019;s internal control over financial reporting that occurred during the registrant&#x2019;s most recent fiscal quarter (the registrant&#x2019;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#x2019;s internal control over financial reporting; and</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">5.	The registrant&#x2019;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#x2019;s auditors and the audit committee of the registrant&#x2019;s board of directors (or persons performing the equivalent functions):</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.587%;text-indent:-4.807%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(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&#x2019;s ability to record, process, summarize and report financial information; and</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.587%;text-indent:-4.807%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(b)	Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#x2019;s internal control over financial reporting.</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:53.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:100%;box-sizing:content-box;"></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Date: November 18, 2024</font></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/</font><font style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">S</font><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/ O</font><font style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">LIVIER</font><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;L</font><font style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">OEILLOT</font></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Olivier Loeillot</font></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Chief Executive Officer</font></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Principal executive officer)</font></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;min-height:1in;justify-content:flex-end;position:relative;"></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>4
<FILENAME>rgen-ex31_2.htm
<DESCRIPTION>EX-31.2
<TEXT>
<html>
 <head>
  <title>EX-31.2</title>
 </head>
 <body style="margin: auto!important;padding: 8px;line-height: 1;">
  <div style="z-index:-3;min-height:1in;position:relative;"></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Exhibit 31.2</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CERTIFICATION</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">I, Jason K. Garland, certify that:</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1.	I have reviewed this Annual Report on Form 10-K/A of Repligen Corporation;</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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;</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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;</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4.	The registrant&#x2019;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.587%;text-indent:-4.807%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(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;</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.587%;text-indent:-4.807%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(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;</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.587%;text-indent:-4.807%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(c)	Evaluated the effectiveness of the registrant&#x2019;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</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.587%;text-indent:-4.807%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(d)	Disclosed in this report any change in the registrant&#x2019;s internal control over financial reporting that occurred during the registrant&#x2019;s most recent fiscal quarter (the registrant&#x2019;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#x2019;s internal control over financial reporting; and</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">5.	The registrant&#x2019;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#x2019;s auditors and the audit committee of the registrant&#x2019;s board of directors (or persons performing the equivalent functions):</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.587%;text-indent:-4.807%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(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&#x2019;s ability to record, process, summarize and report financial information; and</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.587%;text-indent:-4.807%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(b)	Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#x2019;s internal control over financial reporting.</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:50.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:100%;box-sizing:content-box;"></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Date: November 18, 2024</font></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/</font><font style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">S</font><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/ J</font><font style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">ASON</font><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;K. G</font><font style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">ARLAND</font></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Jason K. Garland</font></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Chief Financial Officer</font></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Principal financial officer)</font></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;min-height:1in;justify-content:flex-end;position:relative;"></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>5
<FILENAME>rgen-ex32_1.htm
<DESCRIPTION>EX-32.1
<TEXT>
<html>
 <head>
  <title>EX-32.1</title>
 </head>
 <body style="margin: auto!important;padding: 8px;line-height: 1;">
  <div style="padding-top:0.5in;z-index:-3;min-height:0.5in;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Exhibit 32.1</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CERTIFICATION PURSUANT TO</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">18 U.S.C. SECTION 1350,</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">AS ADOPTED PURSUANT TO</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In connection with the Annual Report on Form 10-K/A of Repligen Corporation (the &#x201c;Company&#x201d;) for the fiscal year ending December 31, 2023 as filed with the Securities and Exchange Commission on the date hereof (the &#x201c;Report&#x201d;), the undersigned officers of the Company hereby certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that to their knowledge:</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.533%;text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(1)	The Report fully complies with the requirements of section 13(a) or 15(d) of the Securities Exchange Act of 1934; and</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.533%;text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(2)	The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">This certification is being provided pursuant to 18 U.S.C. 1350 and is not to be deemed a part of the Report, nor is it to be deemed to be &#x201c;filed&#x201d; for any purpose whatsoever.</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:48.02%;box-sizing:content-box;"></td>
    <td style="width:3.96%;box-sizing:content-box;"></td>
    <td style="width:48.02%;box-sizing:content-box;"></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Date: November 18, 2024</font></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">By:</font></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/</font><font style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">S</font><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/ O</font><font style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">LIVIER</font><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;L</font><font style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">OEILLOT</font></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Olivier Loeillot</font></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Chief Executive Officer</font></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Principal executive officer)</font></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Date: November 18, 2024</font></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">By:</font></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid;text-align:left;"><p style="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.5pt solid;text-align:center;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/</font><font style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">S</font><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/ J</font><font style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">ASON</font><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;K. G</font><font style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">ARLAND</font></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Jason K. Garland</font></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Chief Financial Officer</font></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="padding-top:0in;padding-left:0.1in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Principal financial officer)</font></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <div class="page-node-content"><div style="z-index:-3;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>6
<FILENAME>rgen-20231231.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA WITH EMBEDDED LINKBASES DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!-- DFIN New ActiveDisclosure (SM) XBRL Schema Document - http://www.dfinsolutions.com/ -->
<!-- Creation Date :2024-11-18T11:39:04.9259+00:00 -->
<!-- Copyright (c) 2024 Donnelley Financial Solutions, Inc. All Rights Reserved. -->
<xsd:schema targetNamespace="http://www.repligencorp.com/20231231" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:ecd-sub="http://xbrl.sec.gov/ecd-sub/2024" xmlns:ecd="http://xbrl.sec.gov/ecd/2024" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:rgen="http://www.repligencorp.com/20231231" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:enum2="http://xbrl.org/2020/extensible-enumerations-2.0" xmlns:srt="http://fasb.org/srt/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:xlink="http://www.w3.org/1999/xlink">
  <xsd:import schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" namespace="http://www.xbrl.org/2003/instance"/>
  <xsd:import schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" namespace="http://www.xbrl.org/2003/linkbase"/>
  <xsd:import schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" namespace="http://xbrl.org/2005/xbrldt"/>
  <xsd:import schemaLocation="https://xbrl.sec.gov/country/2024/country-2024.xsd" namespace="http://xbrl.sec.gov/country/2024"/>
  <xsd:import schemaLocation="https://xbrl.sec.gov/ecd/2024/ecd-sub-2024.xsd" namespace="http://xbrl.sec.gov/ecd-sub/2024"/>
  <xsd:import schemaLocation="https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd" namespace="http://xbrl.org/2020/extensible-enumerations-2.0"/>
  <xsd:import schemaLocation="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd" namespace="http://fasb.org/srt/2024"/>
  <xsd:import schemaLocation="https://xbrl.sec.gov/dei/2024/dei-2024.xsd" namespace="http://xbrl.sec.gov/dei/2024"/>
  <xsd:import schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd" namespace="http://fasb.org/us-gaap/2024"/>
  <xsd:import schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd" namespace="http://www.xbrl.org/dtr/type/2022-03-31"/>
  <xsd:import schemaLocation="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd" namespace="http://xbrl.sec.gov/ecd/2024"/>
  <xsd:import schemaLocation="https://www.xbrl.org/2023/calculation-1.1.xsd" namespace="https://xbrl.org/2023/calculation-1.1"/>
  <xsd:annotation>
    <xsd:appinfo>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/CoverPage" id="CoverPage">
        <link:definition>100000 - Document - Cover Page</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets" id="ConsolidatedBalanceSheets">
        <link:definition>100010 - Statement - CONSOLIDATED BALANCE SHEETS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail2" id="DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail2">
        <link:definition>100020 - Disclosure - Goodwill and Intangible Assets - Schedule of Intangible Assets (Detail) 2</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail2" id="DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail2">
        <link:definition>100030 - Disclosure - Leases - Summary of Maturities of Operating Lease Liabilities (Detail) 2</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail2" id="DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail2">
        <link:definition>100040 - Disclosure - Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (Detail) 2</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical" id="ConsolidatedBalanceSheetsParenthetical">
        <link:definition>100050 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome" id="ConsolidatedStatementsOfComprehensiveIncome">
        <link:definition>100060 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity" id="ConsolidatedStatementsOfStockholdersEquity">
        <link:definition>100070 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquityParenthetical" id="ConsolidatedStatementsOfStockholdersEquityParenthetical">
        <link:definition>100080 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows" id="ConsolidatedStatementsOfCashFlows">
        <link:definition>100090 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatement" id="DisclosureRestatementOfPreviouslyIssuedFinancialStatement">
        <link:definition>995455 - Disclosure - Restatement of Previously Issued Financial Statement</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/OrganizationAndNatureOfBusiness" id="OrganizationAndNatureOfBusiness">
        <link:definition>995465 - Disclosure - Organization and Nature of Business</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPolicies" id="SummaryOfSignificantAccountingPolicies">
        <link:definition>995475 - Disclosure - Summary of Significant Accounting Policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurements" id="DisclosureFairValueMeasurements">
        <link:definition>995485 - Disclosure - Fair Value Measurements</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/Acquisitions" id="Acquisitions">
        <link:definition>995495 - Disclosure - Acquisitions</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlan" id="DisclosureRestructuringPlan">
        <link:definition>995505 - Disclosure - Restructuring Plan</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/Leases" id="Leases">
        <link:definition>995515 - Disclosure - Leases</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognition" id="RevenueRecognition">
        <link:definition>995525 - Disclosure - Revenue Recognition</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/CreditLosses" id="CreditLosses">
        <link:definition>995535 - Disclosure - Credit Losses</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssets" id="GoodwillAndIntangibleAssets">
        <link:definition>995545 - Disclosure - Goodwill and Intangible Assets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetail" id="ConsolidatedBalanceSheetDetail">
        <link:definition>995555 - Disclosure - Consolidated Balance Sheet Detail</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes" id="IncomeTaxes">
        <link:definition>995565 - Disclosure - Income Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquity" id="StockholdersEquity">
        <link:definition>995575 - Disclosure - Stockholders' Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingencies" id="CommitmentsAndContingencies">
        <link:definition>995585 - Disclosure - Commitments and Contingencies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotes" id="ConvertibleSeniorNotes">
        <link:definition>995595 - Disclosure - Convertible Senior Notes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLoss" id="AccumulatedOtherComprehensiveIncomeLoss">
        <link:definition>995605 - Disclosure - Accumulated Other Comprehensive Income (Loss)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlans" id="EmployeeBenefitPlans">
        <link:definition>995615 - Disclosure - Employee Benefit Plans</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactions" id="RelatedPartyTransactions">
        <link:definition>995625 - Disclosure - Related Party Transactions</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnaudited" id="SelectedQuarterlyFinancialDataUnaudited">
        <link:definition>995635 - Disclosure - Selected Quarterly Financial Data (Unaudited)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies" id="SummaryOfSignificantAccountingPoliciesPolicies">
        <link:definition>995645 - Disclosure - Summary of Significant Accounting Policies (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementTables" id="DisclosureRestatementOfPreviouslyIssuedFinancialStatementTables">
        <link:definition>995655 - Disclosure - Restatement of Previously Issued Financial Statement (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables" id="SummaryOfSignificantAccountingPoliciesTables">
        <link:definition>995665 - Disclosure - Summary of Significant Accounting Policies (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsTables" id="DisclosureFairValueMeasurementsTables">
        <link:definition>995675 - Disclosure - Fair Value Measurements (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables" id="AcquisitionsTables">
        <link:definition>995685 - Disclosure - Acquisitions (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanTables" id="DisclosureRestructuringPlanTables">
        <link:definition>995695 - Disclosure - Restructuring Plan (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/LeasesTables" id="LeasesTables">
        <link:definition>995705 - Disclosure - Leases (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognitionTables" id="RevenueRecognitionTables">
        <link:definition>995715 - Disclosure - Revenue Recognition (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/CreditLossesTables" id="CreditLossesTables">
        <link:definition>995725 - Disclosure - Credit Losses (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables" id="GoodwillAndIntangibleAssetsTables">
        <link:definition>995735 - Disclosure - Goodwill and Intangible Assets (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetailTables" id="ConsolidatedBalanceSheetDetailTables">
        <link:definition>995745 - Disclosure - Consolidated Balance Sheet Detail (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables" id="IncomeTaxesTables">
        <link:definition>995755 - Disclosure - Income Taxes (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityTables" id="StockholdersEquityTables">
        <link:definition>995765 - Disclosure - Stockholders' Equity (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesTables" id="ConvertibleSeniorNotesTables">
        <link:definition>995775 - Disclosure - Convertible Senior Notes (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLossTables" id="AccumulatedOtherComprehensiveIncomeLossTables">
        <link:definition>995785 - Disclosure - Accumulated Other Comprehensive Income (Loss) (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnauditedTables" id="SelectedQuarterlyFinancialDataUnauditedTables">
        <link:definition>995795 - Disclosure - Selected Quarterly Financial Data (Unaudited) (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsDescriptionOfRestatementAdjustmentsAdditionalInformationDetail" id="DisclosureRestatementOfPreviouslyIssuedFinancialStatementsDescriptionOfRestatementAdjustmentsAdditionalInformationDetail">
        <link:definition>995805 - Disclosure - Restatement of Previously Issued Financial Statements - Description of restatement adjustments - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal" id="DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal">
        <link:definition>995815 - Disclosure - Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Condensed Consolidated Balance Sheets (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal1" id="DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal1">
        <link:definition>995825 - Disclosure - Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Condensed Consolidated Balance Sheets (Parenthetical) (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf" id="DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf">
        <link:definition>995835 - Disclosure - Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Consolidated Statements of Comprehensive Income (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf2" id="DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf2">
        <link:definition>995845 - Disclosure - Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Consolidated Statements of Stockholders' Equity (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1" id="DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1">
        <link:definition>995855 - Disclosure - Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Consolidated Statements of Cash Flow (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureOrganizationAndNatureOfBusinessAdditionalInformationDetail" id="DisclosureOrganizationAndNatureOfBusinessAdditionalInformationDetail">
        <link:definition>995865 - Disclosure - Organization and Nature of Business - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" id="DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail">
        <link:definition>995875 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail" id="DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail">
        <link:definition>995885 - Disclosure - Summary of Significant Accounting Policies - Estimated Useful Life of Assets (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail" id="DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail">
        <link:definition>995895 - Disclosure - Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail" id="DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail">
        <link:definition>995905 - Disclosure - Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (parenthetical) (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail" id="DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail">
        <link:definition>995915 - Disclosure - Summary of Significant Accounting Policies - Summary of Product Revenues by Product Line (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail" id="DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail">
        <link:definition>995925 - Disclosure - Summary of Significant Accounting Policies - Percentage of Revenue by Geographic Area (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail" id="DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail">
        <link:definition>995935 - Disclosure - Summary of Significant Accounting Policies - Total Assets by Geographic Area (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail" id="DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail">
        <link:definition>995945 - Disclosure - Summary of Significant Accounting Policies - Long Lived Assets by Geographic Area (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail" id="DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail">
        <link:definition>995955 - Disclosure - Fair Value Measurements - Summary of Company's Cash, Cash Equivalents and Marketable Securities Held to Maturity (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAmortizedCostAndFairValueHeldToMaturitySecuritiesByContractualMaturityDetail" id="DisclosureFairValueMeasurementsScheduleOfAmortizedCostAndFairValueHeldToMaturitySecuritiesByContractualMaturityDetail">
        <link:definition>995965 - Disclosure - Fair Value Measurements - Schedule of Amortized Cost and Fair Value Held to Maturity Securities by Contractual Maturity (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail" id="DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail">
        <link:definition>995975 - Disclosure - Fair Value Measurements - Schedule of Financial Assets and Financial Liabilities Measured at Fair Value on a Recurring Basis (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail" id="DisclosureFairValueMeasurementsAdditionalInformationDetail">
        <link:definition>995985 - Disclosure - Fair Value Measurements - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail" id="DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail">
        <link:definition>995995 - Disclosure - Fair Value Measurements - Schedule of Reconciliation of the Change in the Fair Value of Contingent Consideration - Earnout (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail" id="DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail">
        <link:definition>996005 - Disclosure - Fair Value Measurements - Schedule of Contingent Consideration Earnout Expect to be Required to Settle include Significant unobservable Inputs (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail" id="AcquisitionsAdditionalInformationDetail">
        <link:definition>996015 - Disclosure - Acquisitions - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail" id="DisclosureAcquisitionsConsiderationTransferredDetail">
        <link:definition>996025 - Disclosure - Acquisitions - Consideration Transferred (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail" id="DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail">
        <link:definition>996035 - Disclosure - Acquisitions - Fair Value of Net Assets Acquired (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail" id="DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail">
        <link:definition>996045 - Disclosure - Acquisitions - Estimated Useful Life and Fair Value (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail" id="DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail">
        <link:definition>996055 - Disclosure - Acquisitions - Unaudited Supplemental Pro Forma Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail" id="DisclosureRestructuringPlanAdditionalInformationDetail">
        <link:definition>996065 - Disclosure - Restructuring Plan - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail" id="DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail">
        <link:definition>996075 - Disclosure - Restructuring Plan - Summary of Restructuring Activities by Type of Cost (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail" id="DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail">
        <link:definition>996085 - Disclosure - Restructuring Plan - Summary of Activity Related to Restructuring Plan (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/LeasesAdditionalInformationDetail" id="LeasesAdditionalInformationDetail">
        <link:definition>996095 - Disclosure - Leases - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail" id="DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail">
        <link:definition>996105 - Disclosure - Leases - Summary of Maturities of Operating Lease Liabilities (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail" id="DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail">
        <link:definition>996115 - Disclosure - Leases - Summary of Maturities of Operating Lease Liabilities (parenthetical) (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail" id="DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail">
        <link:definition>996125 - Disclosure - Leases - Summary of Operating Lease Liability (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseCostDetail" id="DisclosureLeasesSummaryOfOperatingLeaseCostDetail">
        <link:definition>996135 - Disclosure - Leases - Summary of Operating Lease Cost (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesDetail" id="DisclosureLeasesScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesDetail">
        <link:definition>996145 - Disclosure - Leases - Schedule of Supplemental Disclosure of Cash Flows Related to Operating Leases (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfWeightedAverageDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesDetail" id="DisclosureLeasesScheduleOfWeightedAverageDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesDetail">
        <link:definition>996155 - Disclosure - Leases - Schedule of Weighted Average Discount Rate and Lease Term Used in Calculating Lease Liabilities (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail" id="DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail">
        <link:definition>996165 - Disclosure - Revenue Recognition - Summary of Disaggregation of Revenue (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail" id="DisclosureRevenueRecognitionAdditionalInformationDetail">
        <link:definition>996175 - Disclosure - Revenue Recognition - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail" id="DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail">
        <link:definition>996185 - Disclosure - Revenue Recognition - Summary of Receivables and Deferred Revenue from Contracts with Customers (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesAdditionalInformationDetail" id="DisclosureCreditLossesAdditionalInformationDetail">
        <link:definition>996195 - Disclosure - Credit Losses - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail" id="DisclosureCreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail">
        <link:definition>996205 - Disclosure - Credit Losses - Summary Of Allowance For Credit Losses For Accounts Receivables (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail" id="DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail">
        <link:definition>996215 - Disclosure - Goodwill and Intangible Assets - Changes in Carrying Value of Goodwill (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail" id="DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail">
        <link:definition>996225 - Disclosure - Goodwill and Intangible Assets - Schedule of Intangible Assets (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsDetailParenthetical" id="DisclosureGoodwillAndIntangibleAssetsDetailParenthetical">
        <link:definition>996235 - Disclosure - Goodwill and Intangible Assets (Detail) (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail" id="GoodwillAndIntangibleAssetsAdditionalInformationDetail">
        <link:definition>996245 - Disclosure - Goodwill and Intangible Assets - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail" id="DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail">
        <link:definition>996255 - Disclosure - Goodwill and Intangible Assets - Amortization Expense for Amortized Intangible Assets (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail" id="DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail">
        <link:definition>996265 - Disclosure - Consolidated Balance Sheet Detail - Schedule of Inventories (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail" id="DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail">
        <link:definition>996275 - Disclosure - Consolidated Balance Sheet Detail - Prepaid Expenses and Other Current Assets (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail" id="DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail">
        <link:definition>996285 - Disclosure - Consolidated Balance Sheet Detail - Property, Plant and Equipment (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail" id="DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail">
        <link:definition>996295 - Disclosure - Consolidated Balance Sheet Detail - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail" id="DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail">
        <link:definition>996305 - Disclosure - Consolidated Balance Sheet Detail - Schedule of Accrued Liabilities (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail" id="DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail">
        <link:definition>996315 - Disclosure - Income Taxes - Income Before Income Taxes (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail" id="DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail">
        <link:definition>996325 - Disclosure - Income Taxes - Current, Deferred and Equity Income Taxes (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail" id="DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail">
        <link:definition>996335 - Disclosure - Income Taxes - Provision for Income Taxes by Jurisdiction (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail" id="IncomeTaxesAdditionalInformationDetail">
        <link:definition>996345 - Disclosure - Income Taxes - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail" id="DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail">
        <link:definition>996355 - Disclosure - Income Taxes - Consolidated Deferred Tax Assets (Liabilities) (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail" id="DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail">
        <link:definition>996365 - Disclosure - Income Taxes - Reconciliation of Federal Statutory Rate to Effective Income Tax Rate (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail" id="DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail">
        <link:definition>996375 - Disclosure - Income Taxes - Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail" id="DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail">
        <link:definition>996385 - Disclosure - Income Taxes - Reconciliation of Unrecognized Tax Benefits (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail" id="StockholdersEquityAdditionalInformationDetail">
        <link:definition>996395 - Disclosure - Stockholders' Equity - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail" id="DisclosureStockholdersEquityStockbasedCompensationExpenseDetail">
        <link:definition>996405 - Disclosure - Stockholders' Equity - Stock-Based Compensation Expense (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail" id="DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail">
        <link:definition>996415 - Disclosure - Stockholders' Equity - Estimated Weighted Average Assumptions (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail" id="DisclosureStockholdersEquitySummaryOfOptionActivityDetail">
        <link:definition>996425 - Disclosure - Stockholders' Equity - Summary of Option Activity (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail" id="DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail">
        <link:definition>996435 - Disclosure - Stockholders' Equity - Summary of Option Activity (Parenthetical) (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail" id="DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail">
        <link:definition>996445 - Disclosure - Stockholders' Equity - Summary of Restricted Stock Unit Activity (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail" id="DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail">
        <link:definition>996455 - Disclosure - Stockholders' Equity - Summary of Restricted Stock Unit Activity (Parenthetical) (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail" id="CommitmentsAndContingenciesAdditionalInformationDetail">
        <link:definition>996465 - Disclosure - Commitments and Contingencies - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail" id="DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail">
        <link:definition>996475 - Disclosure - Convertible Senior Notes - Carrying Value of Convertible Senior Notes (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail" id="ConvertibleSeniorNotesAdditionalInformationDetail">
        <link:definition>996485 - Disclosure - Convertible Senior Notes - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail" id="DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail">
        <link:definition>996495 - Disclosure - Accumulated Other Comprehensive Income (Loss) - Changes in Accumulated Other Comprehensive Income (Loss) (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail" id="EmployeeBenefitPlansAdditionalInformationDetail">
        <link:definition>996505 - Disclosure - Employee Benefit Plans - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail" id="RelatedPartyTransactionsAdditionalInformationDetail">
        <link:definition>996515 - Disclosure - Related Party Transactions - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:linkbase id="lnk">
        <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" xlink:type="simple"/>
        <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" xlink:type="simple"/>
        <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" xlink:type="simple"/>
        <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" xlink:type="simple"/>
        <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" xlink:type="simple"/>
        <link:arcroleRef arcroleURI="http://www.esma.europa.eu/xbrl/esef/arcrole/wider-narrower" xlink:href="http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd#wider-narrower" xlink:type="simple"/>
        <link:arcroleRef arcroleURI="https://xbrl.org/2023/arcrole/summation-item" xlink:href="https://www.xbrl.org/2023/calculation-1.1.xsd#summation-item" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets" xlink:href="rgen-20231231.xsd#ConsolidatedBalanceSheets" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail2" xlink:href="rgen-20231231.xsd#DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail2" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail2" xlink:href="rgen-20231231.xsd#DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail2" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail2" xlink:href="rgen-20231231.xsd#DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail2" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:href="rgen-20231231.xsd#ConsolidatedStatementsOfComprehensiveIncome" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows" xlink:href="rgen-20231231.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal" xlink:href="rgen-20231231.xsd#DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf" xlink:href="rgen-20231231.xsd#DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1" xlink:href="rgen-20231231.xsd#DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail" xlink:href="rgen-20231231.xsd#DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail" xlink:href="rgen-20231231.xsd#DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail" xlink:href="rgen-20231231.xsd#DisclosureAcquisitionsConsiderationTransferredDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail" xlink:href="rgen-20231231.xsd#DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail" xlink:href="rgen-20231231.xsd#DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseCostDetail" xlink:href="rgen-20231231.xsd#DisclosureLeasesSummaryOfOperatingLeaseCostDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail" xlink:href="rgen-20231231.xsd#DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail" xlink:href="rgen-20231231.xsd#DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail" xlink:href="rgen-20231231.xsd#DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail" xlink:href="rgen-20231231.xsd#DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail" xlink:href="rgen-20231231.xsd#DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail" xlink:href="rgen-20231231.xsd#DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail" xlink:href="rgen-20231231.xsd#DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail" xlink:href="rgen-20231231.xsd#DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail" xlink:href="rgen-20231231.xsd#DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail" xlink:href="rgen-20231231.xsd#DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail" xlink:href="rgen-20231231.xsd#DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/CoverPage" xlink:href="rgen-20231231.xsd#CoverPage" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="rgen-20231231.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity" xlink:href="rgen-20231231.xsd#ConsolidatedStatementsOfStockholdersEquity" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquityParenthetical" xlink:href="rgen-20231231.xsd#ConsolidatedStatementsOfStockholdersEquityParenthetical" xlink:type="simple"/>
        <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#InsiderTradingArrangements" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatement" xlink:href="rgen-20231231.xsd#DisclosureRestatementOfPreviouslyIssuedFinancialStatement" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/OrganizationAndNatureOfBusiness" xlink:href="rgen-20231231.xsd#OrganizationAndNatureOfBusiness" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPolicies" xlink:href="rgen-20231231.xsd#SummaryOfSignificantAccountingPolicies" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurements" xlink:href="rgen-20231231.xsd#DisclosureFairValueMeasurements" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/Acquisitions" xlink:href="rgen-20231231.xsd#Acquisitions" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlan" xlink:href="rgen-20231231.xsd#DisclosureRestructuringPlan" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/Leases" xlink:href="rgen-20231231.xsd#Leases" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognition" xlink:href="rgen-20231231.xsd#RevenueRecognition" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/CreditLosses" xlink:href="rgen-20231231.xsd#CreditLosses" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssets" xlink:href="rgen-20231231.xsd#GoodwillAndIntangibleAssets" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetail" xlink:href="rgen-20231231.xsd#ConsolidatedBalanceSheetDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes" xlink:href="rgen-20231231.xsd#IncomeTaxes" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquity" xlink:href="rgen-20231231.xsd#StockholdersEquity" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingencies" xlink:href="rgen-20231231.xsd#CommitmentsAndContingencies" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotes" xlink:href="rgen-20231231.xsd#ConvertibleSeniorNotes" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLoss" xlink:href="rgen-20231231.xsd#AccumulatedOtherComprehensiveIncomeLoss" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlans" xlink:href="rgen-20231231.xsd#EmployeeBenefitPlans" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactions" xlink:href="rgen-20231231.xsd#RelatedPartyTransactions" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnaudited" xlink:href="rgen-20231231.xsd#SelectedQuarterlyFinancialDataUnaudited" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:href="rgen-20231231.xsd#SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementTables" xlink:href="rgen-20231231.xsd#DisclosureRestatementOfPreviouslyIssuedFinancialStatementTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables" xlink:href="rgen-20231231.xsd#SummaryOfSignificantAccountingPoliciesTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsTables" xlink:href="rgen-20231231.xsd#DisclosureFairValueMeasurementsTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables" xlink:href="rgen-20231231.xsd#AcquisitionsTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanTables" xlink:href="rgen-20231231.xsd#DisclosureRestructuringPlanTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/LeasesTables" xlink:href="rgen-20231231.xsd#LeasesTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognitionTables" xlink:href="rgen-20231231.xsd#RevenueRecognitionTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/CreditLossesTables" xlink:href="rgen-20231231.xsd#CreditLossesTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables" xlink:href="rgen-20231231.xsd#GoodwillAndIntangibleAssetsTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetailTables" xlink:href="rgen-20231231.xsd#ConsolidatedBalanceSheetDetailTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables" xlink:href="rgen-20231231.xsd#IncomeTaxesTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityTables" xlink:href="rgen-20231231.xsd#StockholdersEquityTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesTables" xlink:href="rgen-20231231.xsd#ConvertibleSeniorNotesTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLossTables" xlink:href="rgen-20231231.xsd#AccumulatedOtherComprehensiveIncomeLossTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnauditedTables" xlink:href="rgen-20231231.xsd#SelectedQuarterlyFinancialDataUnauditedTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsDescriptionOfRestatementAdjustmentsAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#DisclosureRestatementOfPreviouslyIssuedFinancialStatementsDescriptionOfRestatementAdjustmentsAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal1" xlink:href="rgen-20231231.xsd#DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal1" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf2" xlink:href="rgen-20231231.xsd#DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf2" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureOrganizationAndNatureOfBusinessAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#DisclosureOrganizationAndNatureOfBusinessAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail" xlink:href="rgen-20231231.xsd#DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail" xlink:href="rgen-20231231.xsd#DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail" xlink:href="rgen-20231231.xsd#DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail" xlink:href="rgen-20231231.xsd#DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail" xlink:href="rgen-20231231.xsd#DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail" xlink:href="rgen-20231231.xsd#DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAmortizedCostAndFairValueHeldToMaturitySecuritiesByContractualMaturityDetail" xlink:href="rgen-20231231.xsd#DisclosureFairValueMeasurementsScheduleOfAmortizedCostAndFairValueHeldToMaturitySecuritiesByContractualMaturityDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail" xlink:href="rgen-20231231.xsd#DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#DisclosureFairValueMeasurementsAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail" xlink:href="rgen-20231231.xsd#DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail" xlink:href="rgen-20231231.xsd#DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#AcquisitionsAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail" xlink:href="rgen-20231231.xsd#DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail" xlink:href="rgen-20231231.xsd#DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#DisclosureRestructuringPlanAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail" xlink:href="rgen-20231231.xsd#DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail" xlink:href="rgen-20231231.xsd#DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/LeasesAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#LeasesAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail" xlink:href="rgen-20231231.xsd#DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail" xlink:href="rgen-20231231.xsd#DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesDetail" xlink:href="rgen-20231231.xsd#DisclosureLeasesScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfWeightedAverageDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesDetail" xlink:href="rgen-20231231.xsd#DisclosureLeasesScheduleOfWeightedAverageDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail" xlink:href="rgen-20231231.xsd#DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#DisclosureRevenueRecognitionAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail" xlink:href="rgen-20231231.xsd#DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#DisclosureCreditLossesAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail" xlink:href="rgen-20231231.xsd#DisclosureCreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail" xlink:href="rgen-20231231.xsd#DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsDetailParenthetical" xlink:href="rgen-20231231.xsd#DisclosureGoodwillAndIntangibleAssetsDetailParenthetical" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#GoodwillAndIntangibleAssetsAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#IncomeTaxesAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail" xlink:href="rgen-20231231.xsd#DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail" xlink:href="rgen-20231231.xsd#DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#StockholdersEquityAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail" xlink:href="rgen-20231231.xsd#DisclosureStockholdersEquityStockbasedCompensationExpenseDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail" xlink:href="rgen-20231231.xsd#DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail" xlink:href="rgen-20231231.xsd#DisclosureStockholdersEquitySummaryOfOptionActivityDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail" xlink:href="rgen-20231231.xsd#DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail" xlink:href="rgen-20231231.xsd#DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail" xlink:href="rgen-20231231.xsd#DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#CommitmentsAndContingenciesAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail" xlink:href="rgen-20231231.xsd#DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#ConvertibleSeniorNotesAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail" xlink:href="rgen-20231231.xsd#DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#EmployeeBenefitPlansAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#RelatedPartyTransactionsAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/IndividualsOnly" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#IndividualsOnly" xlink:type="simple"/>
        <link:roleRef roleURI="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd#eedm" xlink:type="simple"/>
        <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:title="labelLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_VolatilityRateOfContingentConsideration" xlink:label="rgen_VolatilityRateOfContingentConsideration"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryCurrentTable" xlink:label="us-gaap_InventoryCurrentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateDuringPeriod" xlink:label="us-gaap_DebtInstrumentInterestRateDuringPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentExchangeAmount" xlink:label="rgen_DebtInstrumentExchangeAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCharges" xlink:label="us-gaap_RestructuringCharges"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IntangibleAssetsLineItems" xlink:label="rgen_IntangibleAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostsAndExpensesAbstract" xlink:label="us-gaap_CostsAndExpensesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesAbstract" xlink:label="us-gaap_RevenuesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions" xlink:label="us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy" xlink:label="us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="us-gaap_NumberOfOperatingSegments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" xlink:label="rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CustomerNumberOneMember" xlink:label="rgen_CustomerNumberOneMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="us-gaap_OtherNoncashIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentExchangedAmountCancelled" xlink:label="rgen_DebtInstrumentExchangedAmountCancelled"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonrecurringAdjustmentAxis" xlink:label="us-gaap_NonrecurringAdjustmentAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorName" xlink:label="dei_AuditorName"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfIncomeBeforeIncomeTaxTable" xlink:label="rgen_ScheduleOfIncomeBeforeIncomeTaxTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RDAndCommercializationBasedPaymentsMember" xlink:label="rgen_RDAndCommercializationBasedPaymentsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FiltrationProductsMember" xlink:label="rgen_FiltrationProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MeasurementInputEarnoutDiscountRateMember" xlink:label="rgen_MeasurementInputEarnoutDiscountRateMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:label="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OpenTaxYear" xlink:label="us-gaap_OpenTaxYear"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SalesRevenuesGoodsNetMember" xlink:label="rgen_SalesRevenuesGoodsNetMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SubscriptionTransactionMember" xlink:label="rgen_SubscriptionTransactionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:label="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessAcquisitionWorkingCapitalAdjustments" xlink:label="rgen_BusinessAcquisitionWorkingCapitalAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentFaceAmountRemaining" xlink:label="rgen_DebtInstrumentFaceAmountRemaining"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LatestTaxYearMember" xlink:label="us-gaap_LatestTaxYearMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativesPolicyTextBlock" xlink:label="us-gaap_DerivativesPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesLineItems" xlink:label="rgen_IncomeTaxesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ForeignEarningsSubjectToOneTimeTransitionTax" xlink:label="rgen_ForeignEarningsSubjectToOneTimeTransitionTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockOptionAndIncentivePlanMember" xlink:label="rgen_StockOptionAndIncentivePlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BioflexAndNtmAcquisitionMember" xlink:label="rgen_BioflexAndNtmAcquisitionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationTaxCredits" xlink:label="us-gaap_IncomeTaxReconciliationTaxCredits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="us-gaap_ScheduleOfGoodwillTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfIntangibleAssetsTable" xlink:label="rgen_ScheduleOfIntangibleAssetsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="us-gaap_RelatedPartyTransactionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidTaxes" xlink:label="us-gaap_PrepaidTaxes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseNonoperating" xlink:label="us-gaap_InterestExpenseNonoperating"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_LeaseIncentives" xlink:label="rgen_LeaseIncentives"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ReconciliationOfBasicAndDilutedAbstract" xlink:label="rgen_ReconciliationOfBasicAndDilutedAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" xlink:label="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdvertisingExpense" xlink:label="us-gaap_AdvertisingExpense"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentOfExciseTaxOnNetStockRepurchases" xlink:label="rgen_PercentOfExciseTaxOnNetStockRepurchases"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIntangibleAssetsMember" xlink:label="us-gaap_OtherIntangibleAssetsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" xlink:label="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TwoZeroOneNineNotesMember" xlink:label="rgen_TwoZeroOneNineNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain" xlink:label="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementAxis" xlink:label="srt_RestatementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfDebtIssuanceCost" xlink:label="rgen_AmortizationOfDebtIssuanceCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExaminationLineItems" xlink:label="us-gaap_IncomeTaxExaminationLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentExchangedAmount" xlink:label="rgen_DebtInstrumentExchangedAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxRateReconciliationLineItems" xlink:label="rgen_IncomeTaxRateReconciliationLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentAccruedAndUnpaidInterest" xlink:label="rgen_DebtInstrumentAccruedAndUnpaidInterest"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost" xlink:label="rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesMember" xlink:label="rgen_CTechnologiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CapitalUnitsMember" xlink:label="us-gaap_CapitalUnitsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" xlink:label="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AssetsNonCurrentExcludingDifferedTaxAssets" xlink:label="rgen_AssetsNonCurrentExcludingDifferedTaxAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="rgen_NonMetallicSolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AccumulatedDeficitMember" xlink:label="rgen_AccumulatedDeficitMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationTaxContingencies" xlink:label="us-gaap_IncomeTaxReconciliationTaxContingencies"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiablitiesMember" xlink:label="rgen_DeferredTaxLiablitiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock" xlink:label="rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNetAbstract" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentConvertibleIntoEquitySettled" xlink:label="rgen_DebtInstrumentConvertibleIntoEquitySettled"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_USTreasuryBillSecuritiesMember" xlink:label="us-gaap_USTreasuryBillSecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:label="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowElementsAbstract" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OtherDirectorsOrOfficersMember" xlink:label="rgen_OtherDirectorsOrOfficersMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentTypeAxis" xlink:label="us-gaap_InvestmentTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="us-gaap_DeferredTaxLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:label="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssued1" xlink:label="us-gaap_StockIssued1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentDescription" xlink:label="dei_AmendmentDescription"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RoyaltyExpense" xlink:label="us-gaap_RoyaltyExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodDomain" xlink:label="us-gaap_TaxPeriodDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasedAssetsLineItems" xlink:label="us-gaap_OperatingLeasedAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DiscountRate" xlink:label="rgen_DiscountRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfRestructuringDomain" xlink:label="us-gaap_TypeOfRestructuringDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:label="us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:label="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MeasurementInputTypeDomain" xlink:label="us-gaap_MeasurementInputTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedTranslationAdjustmentMember" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FacilityExitAndOtherExitCostsMember" xlink:label="rgen_FacilityExitAndOtherExitCostsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtFairValue" xlink:label="us-gaap_LongTermDebtFairValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue" xlink:label="rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UnlimitedCarryforwardPeriodMember" xlink:label="rgen_UnlimitedCarryforwardPeriodMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCosts" xlink:label="us-gaap_RestructuringCosts"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" xlink:label="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IndefiniteLivedIntangibleAssetsNet" xlink:label="rgen_IndefiniteLivedIntangibleAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewDateOfAnnualGoodwillImpairmentTest" xlink:label="us-gaap_NewDateOfAnnualGoodwillImpairmentTest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ExtinguishmentOfDebtAmount" xlink:label="us-gaap_ExtinguishmentOfDebtAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeSeveranceMember" xlink:label="us-gaap_EmployeeSeveranceMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationTechniqueAxis" xlink:label="us-gaap_ValuationTechniqueAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncreaseDecreaseInOperatingLeaseAsset" xlink:label="rgen_IncreaseDecreaseInOperatingLeaseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock" xlink:label="rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent" xlink:label="rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities" xlink:label="us-gaap_PaymentsToAcquireHeldToMaturitySecurities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PfizerMember" xlink:label="rgen_PfizerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold" xlink:label="us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_APACMember" xlink:label="rgen_APACMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" xlink:label="rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProbabilityOfSuccess" xlink:label="rgen_ProbabilityOfSuccess"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent" xlink:label="us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PrepaidExpensesAndOtherCurrentAssetsTable" xlink:label="rgen_PrepaidExpensesAndOtherCurrentAssetsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract" xlink:label="us-gaap_TextBlockAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="us-gaap_GeographicConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DefinedContributionPlanEmployeeEligibilityAge" xlink:label="rgen_DefinedContributionPlanEmployeeEligibilityAge"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Land" xlink:label="us-gaap_Land"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateTerms" xlink:label="us-gaap_DebtInstrumentInterestRateTerms"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:label="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TrademarksMember" xlink:label="us-gaap_TrademarksMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ContingentConsiderationObligationEstimated" xlink:label="rgen_ContingentConsiderationObligationEstimated"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CashConsiderationExcludingRestrictedCash" xlink:label="rgen_CashConsiderationExcludingRestrictedCash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentIncreaseAccruedInterest" xlink:label="us-gaap_DebtInstrumentIncreaseAccruedInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxImpactOnConversionFeature" xlink:label="rgen_DeferredTaxImpactOnConversionFeature"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="us-gaap_DeferredRevenueCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentIssuedForCash" xlink:label="rgen_DebtInstrumentIssuedForCash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentUnamortizedDiscount" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="us-gaap_PayablesAndAccrualsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss" xlink:label="us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ChromatographyProductsMember" xlink:label="rgen_ChromatographyProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FairValueOfEmbeddedConversionOptionMember" xlink:label="rgen_FairValueOfEmbeddedConversionOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContingentConsiderationByTypeAxis" xlink:label="us-gaap_ContingentConsiderationByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NumberOfManufacturingSites" xlink:label="rgen_NumberOfManufacturingSites"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:label="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="us-gaap_LiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ComputerHardwareAndSoftwareMemberMember" xlink:label="rgen_ComputerHardwareAndSoftwareMemberMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" xlink:label="rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="us-gaap_RetirementPlanTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentRedemptionPricePercentage" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillLineItems" xlink:label="us-gaap_GoodwillLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConvertibleDebtTableTextBlock" xlink:label="us-gaap_ConvertibleDebtTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:label="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesIncMember" xlink:label="rgen_CTechnologiesIncMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" xlink:label="rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsFairValueDisclosure" xlink:label="us-gaap_AssetsFairValueDisclosure"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1" xlink:label="us-gaap_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TrademarkMember" xlink:label="rgen_TrademarkMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OtherProductsMember" xlink:label="rgen_OtherProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentArrangementMember" xlink:label="us-gaap_ResearchAndDevelopmentArrangementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations" xlink:label="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanContributionsByEmployer" xlink:label="us-gaap_DefinedBenefitPlanContributionsByEmployer"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAxis" xlink:label="us-gaap_CashAndCashEquivalentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCostAndReserveAxis" xlink:label="us-gaap_RestructuringCostAndReserveAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodAxis" xlink:label="us-gaap_TaxPeriodAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementAdjustmentMember" xlink:label="srt_RestatementAdjustmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonrecurringAdjustmentDomain" xlink:label="us-gaap_NonrecurringAdjustmentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditLossFinancialInstrumentTextBlock" xlink:label="us-gaap_CreditLossFinancialInstrumentTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRestructuring" xlink:label="us-gaap_PaymentsForRestructuring"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UnvestedOptionsMember" xlink:label="rgen_UnvestedOptionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ManufacturingLineExpansionsMember" xlink:label="rgen_ManufacturingLineExpansionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCostAndReserveLineItems" xlink:label="us-gaap_RestructuringCostAndReserveLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingStandardsUpdate202006Member" xlink:label="us-gaap_AccountingStandardsUpdate202006Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementDomain" xlink:label="srt_RestatementDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NumberOfSharesBasicOutstanding" xlink:label="rgen_NumberOfSharesBasicOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature" xlink:label="us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProteinsProductsMember" xlink:label="rgen_ProteinsProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:label="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrivatePlacementMember" xlink:label="us-gaap_PrivatePlacementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProbabilityWeightedPresentValueMember" xlink:label="rgen_ProbabilityWeightedPresentValueMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringReserveSettledWithoutCash2" xlink:label="us-gaap_RestructuringReserveSettledWithoutCash2"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsMember" xlink:label="us-gaap_OtherAssetsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:label="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FederalAndStateMember" xlink:label="rgen_FederalAndStateMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" xlink:label="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xlink:label="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NewtonNewJerseyMember" xlink:label="rgen_NewtonNewJerseyMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:label="rgen_ScheduleOfAccruedLiabilitiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract" xlink:label="us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsMember" xlink:label="us-gaap_CashAndCashEquivalentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="dei_DocumentType"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:label="us-gaap_PaymentsForProceedsFromOtherInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillImpairedFactsAndCircumstancesLeadingToImpairment" xlink:label="us-gaap_GoodwillImpairedFactsAndCircumstancesLeadingToImpairment"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ExchangedTwoZeroOneNineNotesMember" xlink:label="rgen_ExchangedTwoZeroOneNineNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentOther" xlink:label="us-gaap_PropertyPlantAndEquipmentOther"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TrademarksAndTradeNamesMember" xlink:label="us-gaap_TrademarksAndTradeNamesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryLineItems" xlink:label="us-gaap_InventoryLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1" xlink:label="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarliestTaxYearMember" xlink:label="us-gaap_EarliestTaxYearMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueAbstract" xlink:label="us-gaap_DisaggregationOfRevenueAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_APACOtherMember" xlink:label="rgen_APACOtherMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationConsiderationIndemnificationEscrow" xlink:label="rgen_BusinessCombinationConsiderationIndemnificationEscrow"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditLossAbstract" xlink:label="us-gaap_CreditLossAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FurnitureFixturesAndOfficeEquipmentMemberMember" xlink:label="rgen_FurnitureFixturesAndOfficeEquipmentMemberMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TaxYear2043Member" xlink:label="rgen_TaxYear2043Member"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonEmployeeDirectorStockOptionMember" xlink:label="rgen_NonEmployeeDirectorStockOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CoronavirusAidReliefAndEconomicSecurityFundValue" xlink:label="rgen_CoronavirusAidReliefAndEconomicSecurityFundValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:label="us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:label="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CommitmentsAndContingenciesTable" xlink:label="rgen_CommitmentsAndContingenciesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRent" xlink:label="us-gaap_PaymentsForRent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ConvertibleSeniorNotes" xlink:label="rgen_ConvertibleSeniorNotes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:label="us-gaap_AccountingChangesAndErrorCorrectionsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentIncomeNet" xlink:label="us-gaap_InvestmentIncomeNet"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" xlink:label="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DaylightSolutionsIncMember" xlink:label="rgen_DaylightSolutionsIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="us-gaap_InvestmentTypeCategorizationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AcceleratedDepreciationMember" xlink:label="rgen_AcceleratedDepreciationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xlink:label="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PolymemSAMember" xlink:label="rgen_PolymemSAMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PatentsMember" xlink:label="us-gaap_PatentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:label="us-gaap_SegmentReportingAssetReconcilingItemLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentConvertibleIntoEquity" xlink:label="rgen_DebtInstrumentConvertibleIntoEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OutstandingTwoZeroTwoThreeNotesMember" xlink:label="rgen_OutstandingTwoZeroTwoThreeNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:label="rgen_FiniteLivedIntangibleLiabilitiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:label="us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="us-gaap_ShortTermDebtTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TradeAccountsReceivableMember" xlink:label="us-gaap_TradeAccountsReceivableMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NGLImpactAMember" xlink:label="rgen_NGLImpactAMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="us-gaap_ShortTermDebtTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFrequencyOfPeriodicPayment" xlink:label="us-gaap_DebtInstrumentFrequencyOfPeriodicPayment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesTable" xlink:label="rgen_IncomeTaxesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" xlink:label="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ModifiedTwoZeroOneNineNotesMember" xlink:label="rgen_ModifiedTwoZeroOneNineNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:label="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NoncashInventoryAdjustments" xlink:label="rgen_NoncashInventoryAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationAdditionalCashForTransactionBonus" xlink:label="rgen_BusinessCombinationAdditionalCashForTransactionBonus"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringReserve" xlink:label="us-gaap_RestructuringReserve"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtConversionConvertedInstrumentAmount1" xlink:label="us-gaap_DebtConversionConvertedInstrumentAmount1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxAssetsOperatingLeases" xlink:label="rgen_DeferredTaxAssetsOperatingLeases"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenue" xlink:label="us-gaap_DeferredRevenue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases" xlink:label="rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:label="us-gaap_WeightedAverageNumberOfSharesRestrictedStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentGross" xlink:label="us-gaap_MachineryAndEquipmentGross"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationsCashDepositedInEscrowAccount" xlink:label="rgen_BusinessCombinationsCashDepositedInEscrowAccount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="rgen_EngineeredMoldingTechnologyLlcMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TonyJHuntMember" xlink:label="rgen_TonyJHuntMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingsAndImprovementsGross" xlink:label="us-gaap_BuildingsAndImprovementsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ConvertibleNotesTransactionCostsOfEquityComponent" xlink:label="rgen_ConvertibleNotesTransactionCostsOfEquityComponent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_InflationReductionActOfTwoThousandTwentyTwoMember" xlink:label="rgen_InflationReductionActOfTwoThousandTwentyTwoMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" xlink:label="us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="us-gaap_RelatedPartyTransactionsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NatureOfOperations" xlink:label="us-gaap_NatureOfOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MeasurementInputTypeAxis" xlink:label="us-gaap_MeasurementInputTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AreaOfLand" xlink:label="us-gaap_AreaOfLand"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquipmentMember" xlink:label="us-gaap_EquipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BioflexMember" xlink:label="rgen_BioflexMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsNoncurrent" xlink:label="us-gaap_AssetsNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NoncashInterestIncome" xlink:label="rgen_NoncashInterestIncome"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfAccruedLiabilitiesTable" xlink:label="rgen_ScheduleOfAccruedLiabilitiesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MeasurementInputPriceVolatilityMember" xlink:label="us-gaap_MeasurementInputPriceVolatilityMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" xlink:label="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MarketableSecuritiesPolicy" xlink:label="us-gaap_MarketableSecuritiesPolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FacilityAndOtherExitCostsMember" xlink:label="rgen_FacilityAndOtherExitCostsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesGross" xlink:label="us-gaap_FurnitureAndFixturesGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:label="us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsGrossExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MeasurementInputRevenueVolumeDiscountRateMember" xlink:label="rgen_MeasurementInputRevenueVolumeDiscountRateMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MeasurementInputProbabilityOfSuccessMember" xlink:label="rgen_MeasurementInputProbabilityOfSuccessMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetirementPlanSponsorLocationDomain" xlink:label="us-gaap_RetirementPlanSponsorLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveEffectOnSharesOfConversionPremium" xlink:label="rgen_DilutiveEffectOnSharesOfConversionPremium"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ExchangeTransactionMember" xlink:label="rgen_ExchangeTransactionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PrepaidServicesAndProfessionalFees" xlink:label="rgen_PrepaidServicesAndProfessionalFees"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ModificationOfDebt" xlink:label="rgen_ModificationOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_VariableOperatingLeaseCost" xlink:label="rgen_VariableOperatingLeaseCost"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" xlink:label="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:label="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment" xlink:label="rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts" xlink:label="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestOnConvertibleDebtNetOfTax" xlink:label="us-gaap_InterestOnConvertibleDebtNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseDebtExcludingAmortization" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ExchangeAndSubscriptionAgreementsMember" xlink:label="rgen_ExchangeAndSubscriptionAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xlink:label="us-gaap_IncomeTaxReconciliationOtherReconcilingItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_HeldToMaturitySecuritiesCurrent" xlink:label="us-gaap_HeldToMaturitySecuritiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent" xlink:label="us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TrueUpCostsDecember2020Member" xlink:label="rgen_TrueUpCostsDecember2020Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_InventoryAdjustmentsMember" xlink:label="rgen_InventoryAdjustmentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:label="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationTextBlock" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CancelledPurchaseOrderPayments" xlink:label="rgen_CancelledPurchaseOrderPayments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh" xlink:label="us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="us-gaap_DebtInstrumentMaturityDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MoneyMarketFundsMember" xlink:label="us-gaap_MoneyMarketFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiabilitiesDebtDiscount" xlink:label="rgen_DeferredTaxLiabilitiesDebtDiscount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherInformationPertainingToIncomeTaxes" xlink:label="us-gaap_OtherInformationPertainingToIncomeTaxes"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfInventoryStepUp" xlink:label="rgen_AmortizationOfInventoryStepUp"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NotesIssued1" xlink:label="us-gaap_NotesIssued1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RoyaltyMember" xlink:label="us-gaap_RoyaltyMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="us-gaap_LongTermDebtTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SpectrumIncMember" xlink:label="rgen_SpectrumIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:label="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DilutiveSecuritiesAbstract" xlink:label="us-gaap_DilutiveSecuritiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillPurchaseAccountingAdjustments" xlink:label="us-gaap_GoodwillPurchaseAccountingAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NotesMember" xlink:label="rgen_NotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TaxYear2041Member" xlink:label="rgen_TaxYear2041Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredIncomeTaxLiabilitiesFixedAssets" xlink:label="rgen_DeferredIncomeTaxLiabilitiesFixedAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsLineItems" xlink:label="us-gaap_CashAndCashEquivalentsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:label="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:label="rgen_IncreaseDecreaseInOperatingLeaseLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1" xlink:label="us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" xlink:label="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MilliporeSigmaMember" xlink:label="rgen_MilliporeSigmaMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OptionToPurchaseCommonStockMember" xlink:label="rgen_OptionToPurchaseCommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" xlink:label="rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability" xlink:label="rgen_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="us-gaap_InventoryDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_WeightedAverageDiscountRate" xlink:label="rgen_WeightedAverageDiscountRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings" xlink:label="us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="us-gaap_AccruedIncomeTaxesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OtherAdjustmentsMember" xlink:label="rgen_OtherAdjustmentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock" xlink:label="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" xlink:label="rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock" xlink:label="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarlyRepaymentOfSeniorDebt" xlink:label="us-gaap_EarlyRepaymentOfSeniorDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExaminationTable" xlink:label="us-gaap_IncomeTaxExaminationTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioPreviouslyReportedMember" xlink:label="srt_ScenarioPreviouslyReportedMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_LongTermContingentConsideration" xlink:label="rgen_LongTermContingentConsideration"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DefinedContribution401KPlanMember" xlink:label="rgen_DefinedContribution401KPlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PuroliteMember" xlink:label="rgen_PuroliteMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxCreditCarryforwardAmount" xlink:label="us-gaap_TaxCreditCarryforwardAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractualObligationDueInNextTwelveMonths" xlink:label="us-gaap_ContractualObligationDueInNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CashAndMoneyMarketFundsMember" xlink:label="rgen_CashAndMoneyMarketFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentageOfSharesSubjectToForfeiture" xlink:label="rgen_PercentageOfSharesSubjectToForfeiture"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MonteCarloSimulationMember" xlink:label="rgen_MonteCarloSimulationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SummaryOfIncomeTaxExaminationsTextBlock" xlink:label="us-gaap_SummaryOfIncomeTaxExaminationsTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrincipalOwnerMember" xlink:label="us-gaap_PrincipalOwnerMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationTransactionCostPaidDuringPeriod" xlink:label="rgen_BusinessCombinationTransactionCostPaidDuringPeriod"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" xlink:label="rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireSoftware" xlink:label="us-gaap_PaymentsToAcquireSoftware"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsGross" xlink:label="us-gaap_LeaseholdImprovementsGross"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideLlcMember" xlink:label="rgen_AvitideLlcMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetirementPlanSponsorLocationAxis" xlink:label="us-gaap_RetirementPlanSponsorLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NetWorkingCapitalExcludingCashAndInventory" xlink:label="rgen_NetWorkingCapitalExcludingCashAndInventory"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentageOfCurrentFederalTaxExpenseBenefit" xlink:label="rgen_PercentageOfCurrentFederalTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideAndFlexbiosysMember" xlink:label="rgen_AvitideAndFlexbiosysMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByBalanceSheetGroupingTable" xlink:label="us-gaap_FairValueByBalanceSheetGroupingTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" xlink:label="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeFixedInterestRate" xlink:label="us-gaap_DerivativeFixedInterestRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvailableForSaleSecuritiesEstimatedFairValue" xlink:label="rgen_AvailableForSaleSecuritiesEstimatedFairValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UncategorizedAbstract" xlink:label="rgen_UncategorizedAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_LeaseObligationsNotYetCommenced" xlink:label="rgen_LeaseObligationsNotYetCommenced"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="us-gaap_EarningsPerShareBasicAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProcessAnalyticsProductsMember" xlink:label="rgen_ProcessAnalyticsProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StockRepurchaseProgramAuthorizedAmount1" xlink:label="srt_StockRepurchaseProgramAuthorizedAmount1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PostemploymentBenefitsAbstract" xlink:label="us-gaap_PostemploymentBenefitsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockholdersEquityNoteDisclosureTable" xlink:label="rgen_StockholdersEquityNoteDisclosureTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationTechniqueDomain" xlink:label="us-gaap_ValuationTechniqueDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfReportingUnits" xlink:label="us-gaap_NumberOfReportingUnits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShortTermContingentConsideration" xlink:label="rgen_ShortTermContingentConsideration"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" xlink:label="rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionPlansDefinedBenefitMember" xlink:label="us-gaap_PensionPlansDefinedBenefitMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AccruedLiabilitiesPolicyTextBlock" xlink:label="rgen_AccruedLiabilitiesPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" xlink:label="rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" xlink:label="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EarnoutConsiderationEarned" xlink:label="rgen_EarnoutConsiderationEarned"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember" xlink:label="rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ContingentConsiderationExpense" xlink:label="rgen_ContingentConsiderationExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xlink:label="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" xlink:label="us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfUnits" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfUnits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:label="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidInsurance" xlink:label="us-gaap_PrepaidInsurance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:label="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RestrictedStockAndPerformanceStockUnitsMember" xlink:label="rgen_RestrictedStockAndPerformanceStockUnitsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NorthAmericaMember" xlink:label="srt_NorthAmericaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TrustForBenefitOfEmployeesMember" xlink:label="us-gaap_TrustForBenefitOfEmployeesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_SE" xlink:label="country_SE"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContingentConsiderationTypeDomain" xlink:label="us-gaap_ContingentConsiderationTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxRateReconciliationTable" xlink:label="rgen_IncomeTaxRateReconciliationTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignPlanMember" xlink:label="us-gaap_ForeignPlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments" xlink:label="rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConvertibleDebtNoncurrent" xlink:label="us-gaap_ConvertibleDebtNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CapitalizedComputerSoftwareGross" xlink:label="us-gaap_CapitalizedComputerSoftwareGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockholdersEquityNoteDisclosureLineItems" xlink:label="rgen_StockholdersEquityNoteDisclosureLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations" xlink:label="us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_Rule10B51ArrModifiedFlag" xlink:label="rgen_Rule10B51ArrModifiedFlag"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TaxYear2040Member" xlink:label="rgen_TaxYear2040Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TaxYearTwoThousandThirtySevenMember" xlink:label="rgen_TaxYearTwoThousandThirtySevenMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PaymentToPurchaseComponentOfProductRevenue" xlink:label="rgen_PaymentToPurchaseComponentOfProductRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillMember" xlink:label="us-gaap_GoodwillMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ContingentConsiderationMember" xlink:label="rgen_ContingentConsiderationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_LossOnDebtConversion" xlink:label="rgen_LossOnDebtConversion"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfDebtDiscountPremium" xlink:label="us-gaap_AmortizationOfDebtDiscountPremium"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="us-gaap_FairValueByAssetClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="us-gaap_StateAndLocalJurisdictionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SubscriptionTransactionsMember" xlink:label="rgen_SubscriptionTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CommitmentsAndContingenciesLineItems" xlink:label="rgen_CommitmentsAndContingenciesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RevenueAndVolumeDiscountRate" xlink:label="rgen_RevenueAndVolumeDiscountRate"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RevenueAndVolumeBasedPaymentsMember" xlink:label="rgen_RevenueAndVolumeBasedPaymentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" xlink:label="rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OptionToPurchaseAdditionalDebtFaceAmount" xlink:label="rgen_OptionToPurchaseAdditionalDebtFaceAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" xlink:label="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="rgen_ArtesynBiosolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostsAndExpenses" xlink:label="us-gaap_CostsAndExpenses"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="us-gaap_LiabilitiesFairValueDisclosure"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="us-gaap_RisksAndUncertaintiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TwoZeroTwoThreeNotesMember" xlink:label="rgen_TwoZeroTwoThreeNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonExecutiveMember" xlink:label="rgen_NonExecutiveMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable"/>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_VolatilityRateOfContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Volatility</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_VolatilityRateOfContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Volatility rate of contingent consideration.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_VolatilityRateOfContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Volatility rate of Contingent Consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Statement [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted-Average Remaining Contractual Term (in years)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryCurrentTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory, Current [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryCurrentTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Inventory, Current [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Unrecognized tax benefits decreases resulting from current period tax positions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unrecognized Tax Benefits, Decrease Resulting from Current Period Tax Positions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentInterestRateDuringPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Premium over sale price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentInterestRateDuringPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Interest Rate During Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt Instrument [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentExchangeAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt Intrument Exchange Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentExchangeAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument Exchange Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentExchangeAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt Instrument Exchange Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Accounts Receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Accounts receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PlanNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Plan Name [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign exchange loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Foreign Exchange Loss, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Effective Income Tax Rate Reconciliation, Foreign Exchange Loss, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Expected tax at statutory rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Tax withholding on vesting of restricted stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressPostalZipCode_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, Postal Zip Code</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Noncurrent Liabilities, Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Other long-term liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MetenovaHoldingAbMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Metenova Holding AB</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MetenovaHoldingAbMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Metenova Holding AB [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MetenovaHoldingAbMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Metenova Holding AB.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted Average Number of Shares Outstanding, Diluted, Adjustment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Dilutive potential common shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Dilutive potential common shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Dilutive potential common shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Recurring and Nonrecurring [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Incorporation, State or Country Code</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Acquisition Related Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business Combination, Acquisition Related Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringCharges_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restructuring charges</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringCharges_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restructuring Charges</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringCharges_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Restructuring Charges, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other comprehensive income (loss):</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IntangibleAssetsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Intangible Assets [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IntangibleAssetsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Intangible Assets [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IntangibleAssetsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Intangible Assets [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostsAndExpensesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Costs and Expenses [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostsAndExpensesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Costs and operating expenses:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenuesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenues [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenuesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestPaidNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Interest Paid, Excluding Capitalized Interest, Operating Activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestPaidNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Interest paid</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Long term deferred tax asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Deferred Tax Asset Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business combination recognized identifiable assets acquired and liabilities assumed deferred tax asset noncurrent.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Effects Allocated Directly to Equity, Equity Transactions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lease Accounting</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Loans and Leases Receivable, Lease Financing, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NumberOfOperatingSegments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of operating segments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NumberOfOperatingSegments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Number of Operating Segments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Acquisitions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Schedule of Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule Of Finite Lived And Indefinite Lived Intangible Assets [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Finite Lived And Indefinite Lived Intangible Assets [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2027</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Expected Amortization, Year Four</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Effective Income Tax Rate Reconciliation, Tax Credit, Percent, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Tax Credit, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Business tax credits</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Options exercisable at December 31, 2023</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CustomerNumberOneMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Customer number one member.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CustomerNumberOneMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer Number One [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CustomerNumberOneMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer Number One</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Shares, Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Balance (in shares)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Balance (in shares)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNoncashIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Other Noncash Income (Expense), Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNoncashIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Noncash Income (Expense)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNoncashIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Inventory</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Inventory</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value Hierarchy and NAV [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentExchangedAmountCancelled_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt istrument cancelled</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentExchangedAmountCancelled_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument Exchanged Amount Cancelled</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentExchangedAmountCancelled_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt instrument exchanged amount cancelled</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Percentage of Voting Interests Acquired</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business acquisition, voting interest acquired</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NonrecurringAdjustmentAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Nonrecurring Adjustment [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_AuditorName_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Auditor Firm Name</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_AuditorName_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Auditor Name</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfIncomeBeforeIncomeTaxTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of Income Before Income Tax [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfIncomeBeforeIncomeTaxTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Income Before Income Tax [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfIncomeBeforeIncomeTaxTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Income Before Income Tax [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Liabilities, Gross [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred tax liabilities:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RDAndCommercializationBasedPaymentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">R D And Commercialization Based Payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RDAndCommercializationBasedPaymentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">R&amp;D and Commercialization-based payments.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RDAndCommercializationBasedPaymentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">R&amp;D and Commercialization-based Payments [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FiltrationProductsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Filtration Products [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FiltrationProductsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Filtration Products [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NoncompeteAgreementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Noncompete Agreements [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NoncompeteAgreementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Non-compete agreements</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NoncompeteAgreementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Non-competition agreements</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MeasurementInputEarnoutDiscountRateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Earnout Discount Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MeasurementInputEarnoutDiscountRateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Measurement Input Earnout Discount Rate.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MeasurementInputEarnoutDiscountRateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Measurement Input Earnout Discount Rate [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of Income Before Income Tax [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Income Before Income Tax [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Income Before Income Tax [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Consideration Transferred</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business combination, consideration transferred</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Fair value of net assets acquired</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OpenTaxYear_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Open Tax Year</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OpenTaxYear_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Fiscal year subject to examination</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SalesRevenuesGoodsNetMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Sales Revenues Goods Net.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SalesRevenuesGoodsNetMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Sales Revenues Goods Net [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SalesRevenuesGoodsNetMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Total Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SubscriptionTransactionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Subscription Transaction</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SubscriptionTransactionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subscription Transaction [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SubscriptionTransactionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Subscription Transaction [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Error Corrections and Prior Period Adjustments Restatement [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessAcquisitionWorkingCapitalAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Working capital adjustment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessAcquisitionWorkingCapitalAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition Working Capital Adjustments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessAcquisitionWorkingCapitalAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business acquisition working capital adjustments.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentFaceAmountRemaining_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt instrument face amount remaining</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentFaceAmountRemaining_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument Face Amount Remaining</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentFaceAmountRemaining_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Face amount of remaining convertible debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Leases [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Commitments and Contingencies Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Commitments and Contingencies</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restructuring Cost [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LatestTaxYearMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Latest Tax Year [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LatestTaxYearMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Latest Tax Year</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Reconciliation of the Change in the Fair Value of Contingent Consideration - Earnout</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ProductOrServiceAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Product and Service [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DerivativesPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Derivatives, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DerivativesPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Convertible Instruments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Income Taxes [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Taxes [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Taxes [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ForeignEarningsSubjectToOneTimeTransitionTax_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Foreign Earnings Subject To One Time Transition Tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ForeignEarningsSubjectToOneTimeTransitionTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Foreign Earnings Subject To One Time Transition Tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ForeignEarningsSubjectToOneTimeTransitionTax_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign earnings subject to one time transition tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConvertibleNotesPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Total convertible senior notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConvertibleNotesPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Convertible Senior Notes due 2024, net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConvertibleNotesPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Convertible Notes Payable, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockOptionAndIncentivePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Stock Option and Incentive Plan [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockOptionAndIncentivePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Option And Incentive Plan [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockOptionAndIncentivePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2018 Plan</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Indefinite-lived Intangible Assets (Excluding Goodwill), Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Indefinite-lived Intangible Assets (Excluding Goodwill), Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Indefinite-lived Intangible Assets (Excluding Goodwill), Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Indefinite-Lived Intangible Assets (Excluding Goodwill)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Gross Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BioflexAndNtmAcquisitionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">BioFlex And NTM Acquisition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BioflexAndNtmAcquisitionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">BioFlex And NTM Acquisition [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BioflexAndNtmAcquisitionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">NTM Acquisition [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationTaxCredits_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Effective Income Tax Rate Reconciliation, Tax Credit, Amount, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationTaxCredits_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Tax Credit, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationTaxCredits_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Business tax credits</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Repurchase of common stock (in shares)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Repurchased During Period, Shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfGoodwillTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfGoodwillTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Goodwill [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfIntangibleAssetsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of Intangible Assets [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfIntangibleAssetsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Intangible Assets [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfIntangibleAssetsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Intangible Assets [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Related Party Transaction [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Related Party Transaction [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk Benchmark [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Concentration Risk Benchmark [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidTaxes_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Prepaid income taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidTaxes_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Prepaid Taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestExpenseNonoperating_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Interest Expense, Nonoperating, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestExpenseNonoperating_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Interest Expense, Nonoperating</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestExpenseNonoperating_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Interest expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stockholders' Equity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_TitleOfIndividualAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Title and Position [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_TitleOfIndividualAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Title of Individual [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LeaseIncentives_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Lease incentives.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LeaseIncentives_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lease Incentives</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LeaseIncentives_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Less lease incentives</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LeaseIncentives_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Less lease incentives</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue from Contract with Customer [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Revenue Recognition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Sale of Stock [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash and Cash Equivalents [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory, Work in Process, Net of Reserves</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Work-in-process</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentCarryingAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Term Debt, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentCarryingAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Principal amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ReconciliationOfBasicAndDilutedAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Reconciliation of basic and diluted.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ReconciliationOfBasicAndDilutedAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Reconciliation of Basic and Diluted [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Useful Life</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Weighted Average Useful Life (in years)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Expected useful life</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Inventories</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Metenova Holding AB</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">ARTeSYN Biosolutions Holdings Ireland Limited.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">ARTeSYN Biosolutions Holdings Ireland Limited [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">ARTeSYN Biosolutions Holdings Ireland Limited</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityCentralIndexKey_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Central Index Key</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Operating Capital [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Changes in operating assets and liabilities, excluding impact of acquisitions:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdvertisingExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Advertising Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PercentOfExciseTaxOnNetStockRepurchases_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Percent of excise tax on net stock repurchases.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PercentOfExciseTaxOnNetStockRepurchases_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Percent Of Excise Tax On Net Stock Repurchases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PercentOfExciseTaxOnNetStockRepurchases_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Percent of excise tax on net stock repurchases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskTable_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Concentration Risk [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Common Stock, Shares, Issued, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock, Shares, Issued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock, shares issued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherIntangibleAssetsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Intangible Assets [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherIntangibleAssetsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other intangibles</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted Average Number of Shares Dilutive Effect of Unvested Performance Stock Units</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Weighted average number of shares dilutive effect of unvested performance stock units.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Dilutive effect of unvested performance stock units</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromConvertibleDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Proceeds from issuance of 2023 Convertible Senior Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromConvertibleDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds from Convertible Debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromConvertibleDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Proceeds from issuance of senior convertible notes, net of issuance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Minimum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Risk-free interest rate, minimum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TwoZeroOneNineNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2019 Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TwoZeroOneNineNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Two Zero One Nine Notes [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TwoZeroOneNineNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Two zero one nine notes.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Accumulated Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Net of Tax, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Accumulated Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Net of Tax, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accumulated Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Net of Tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Translation adjustment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Increase (Decrease) in Prepaid Expense and Other Assets, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Prepaid Expense and Other Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Prepaid expenses and other assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Quarterly Financial Information [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Consolidated Statements of Operations Information for Each of Previous Eight Quarters</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Statement [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Marketable securities, Gross Unrealized Gains</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities Held to Maturity Gross Unrealized Gain</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt securities held to maturity gross unrealized gain.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressStateOrProvince_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, State or Province</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Income before income taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Income before income taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_RestatementAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revision of Prior Period [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue from External Customer [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AmortizationOfDebtIssuanceCost_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Amortization of debt issuance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AmortizationOfDebtIssuanceCost_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Amortization of debt issuance cost.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AmortizationOfDebtIssuanceCost_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Amortization Of Debt Issuance Cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AmortizationOfDebtIssuanceCost_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Amortization of debt issuance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExaminationLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Examination [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExaminationLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Tax Examination [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Convertible, Threshold Percentage of Stock Price Trigger</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Notes threshold percentage of stock price trigger</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Concentration Risk Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentExchangedAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt instrument exchanged amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentExchangedAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument Exchanged Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentExchangedAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt Instrument Exchanged Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxRateReconciliationLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Income Tax Rate Reconciliation [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxRateReconciliationLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Rate Reconciliation [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxRateReconciliationLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Tax Rate Reconciliation [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentAccruedAndUnpaidInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued and unpaid interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentAccruedAndUnpaidInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Accrued and Unpaid Interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentAccruedAndUnpaidInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt instrument, accrued and unpaid interest.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt securities maturity within one year amortized cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities Maturity Within One Year Amortized Cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt securities maturity within one year amortized cost.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_MajorCustomersAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_MajorCustomersAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer Concentration Risk [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer Concentration Risk</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Interest and penalties related to income taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2026</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Expected Amortization, Year Three</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CTechnologiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">C Technologies Member</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CTechnologiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">C Technologies [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CTechnologiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">C Technologies</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CTechnologiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">C Technologies, Inc.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CapitalUnitsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Capital Units</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CapitalUnitsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Capital Units [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CapitalUnitsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Capital Stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Payment of debt issuance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Payment of debt issuance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments of Debt Issuance Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AmortizationOfFinancingCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Amortization of debt discount and issuance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AmortizationOfFinancingCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Amortization of Debt Issuance Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_CoverAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cover [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-Based Payment Arrangement, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock-based compensation expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Earnings Per Share, Basic, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Earnings Per Share, Basic</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Basic</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business combination settlement of preexisting invoices.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Separately Recognized Transactions Settlement Of Preexisting Invoices</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business Combination settlement of preexisting invoices</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Settlement of preexisting liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Valuation allowance increase (decrease)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AssetsNonCurrentExcludingDifferedTaxAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">The amount of total non-current assets excluding deferred tax assets.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AssetsNonCurrentExcludingDifferedTaxAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Assets Non current Excluding Differed Tax Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AssetsNonCurrentExcludingDifferedTaxAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Long Lived Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Shares, Acquisitions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Issuance of commons stock pursuant to the acquisition, (in shares)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Receivable, Allowance for Credit Loss, Writeoff</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Current period change for write-offs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NonMetallicSolutionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Non Metallic Solutions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NonMetallicSolutionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Non-metallic solutions [Member].</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NonMetallicSolutionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Non Metallic Solutions [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NonMetallicSolutionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">NMS</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentAnnualReport_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Annual Report</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AccumulatedDeficitMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated Deficit [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AccumulatedDeficitMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accumulated Deficit [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AccumulatedDeficitMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accumulated deficit.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationTaxContingencies_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Effective Income Tax Rate Reconciliation, Tax Contingency, Amount, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationTaxContingencies_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Tax Contingency, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationTaxContingencies_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Uncertain tax provisions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxLiablitiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Deferred Tax Liablities Member</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxLiablitiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred tax liablities [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Advertising Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Advertising Cost [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Reconciliation of Assets from Segment to Consolidated [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Reconciliation of Assets from Segment to Consolidated [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Term Debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Notes, carrying value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total convertible senior notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Total convertible senior notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Tabular disclosure of the fair value held to maturity securities by contractual maturity.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Amortized Cost and Fair Value Debt Securities Held to Maturity [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Amortized Cost and Fair Value Held to Maturity Securities by Contractual Maturity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Net [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred tax assets:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentConvertibleIntoEquitySettled_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt instrument convertible in to equity settled</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentConvertibleIntoEquitySettled_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument Convertible Into Equity Settled</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentConvertibleIntoEquitySettled_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt instrument convertible in to equity settled</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Retained Earnings (Accumulated Deficit), Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Retained Earnings (Accumulated Deficit), Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Retained Earnings (Accumulated Deficit), Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Retained Earnings (Accumulated Deficit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated earnings</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Cumulative effect of accounting changes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PlanNameAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Plan Name [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_USTreasuryBillSecuritiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">US Treasury Bill Securities [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_USTreasuryBillSecuritiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">U.S. treasury bills</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SegmentReportingAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Segment Reporting [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Options outstanding at December 31, 2023 | shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Options outstanding at December 31, 2022 | shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock options, outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">DilutivesharesAbstract</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Dilutive shares, Effect on Basic Earnings Per Share [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Effect of dilutive shares:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Supplemental Cash Flow Elements [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Supplemental disclosure of non-cash investing and financing activities:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Assets, Current [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Current assets:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock, Capital Shares Reserved for Future Issuance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Common stock shares reserved for Issuance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_US_lbl" xlink:role="http://www.xbrl.org/2003/role/label">UNITED STATES</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_US_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">United States</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OtherDirectorsOrOfficersMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Other directors or officers.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OtherDirectorsOrOfficersMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Directors Or Officers [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OtherDirectorsOrOfficersMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other directors or officers</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InvestmentTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Investment Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Deferred Tax Liabilities, Net, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Liabilities, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilities_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel">Total net deferred tax liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred Tax Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Prepaid Expenses and Other Current Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Cash Provided by (Used in) Operating Activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total cash provided by operating activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted Average, Forfeited/Cancelled</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssued1_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Fair value of shares of common stock issued for acquisitions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssued1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Fair value of net assets acquired</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair value of net assets acquired</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_AmendmentDescription_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Amendment Description</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RoyaltyExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Royalty Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RoyaltyExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Royalty payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ProductsAndServicesDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Product and Service [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Accumulated Other Comprehensive Income (Loss), Net of Tax, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accumulated Other Comprehensive Income (Loss), Net of Tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated other comprehensive loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt Instrument [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Property and equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Concentration Risk [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TaxPeriodDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Tax Period [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TaxPeriodDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Tax Period [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Operating Loss Carryforwards, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Loss Carryforwards</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net operating loss carry forwards</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeasedAssetsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Leased Assets [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Property, Plant and Equipment, Net, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Property, Plant and Equipment, Net, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Property, plant and equipment, net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total property, plant and equipment, net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">2027</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Liability, to be Paid, Year Four</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash flows from operating activities:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FlexbiosysIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">FlexBiosys, Inc.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FlexbiosysIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">FlexBiosys, Inc. [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FlexbiosysIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">FlexBiosys, Inc.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FlexbiosysIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">FlexBiosys</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DiscountRate_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Discount rate.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DiscountRate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Discount Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DiscountRate_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Discount rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TypeOfRestructuringDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Type of Restructuring [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementsRecurringMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair Value, Recurring</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementsRecurringMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Recurring [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringAndRelatedActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restructuring and Related Activities [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock, Par or Stated Value Per Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock, par value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MeasurementInputTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Measurement Input Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Contract with Customer, Liability, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">The beginning deferred revenue balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair value of acquired finite lived intangible assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Business combination, intangible assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Pro Forma Earnings Per Share, Diluted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Diluted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement of Cash Flows [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_CounterpartyNameAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Counterparty Name [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accumulated Foreign Currency Adjustment Attributable to Parent [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Foreign Currency Translation Adjustment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FacilityExitAndOtherExitCostsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Facility exit and other exit costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FacilityExitAndOtherExitCostsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Facility Exit and Other Exit Costs [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FacilityExitAndOtherExitCostsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Facility exit and other exit costs.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermDebtFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Term Debt, Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermDebtFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair value of convertible senior notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermDebtFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Fair value of the note</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Marketable securities, Estimated Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities Held to Maturity Estimated Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt securities held to maturity estimated fair value.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UnlimitedCarryforwardPeriodMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Unlimited Carryforward Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UnlimitedCarryforwardPeriodMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unlimited Carryforward Period [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UnlimitedCarryforwardPeriodMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Unlimited carryforward period.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Other Noncurrent Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Long-term liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Selling, General and Administrative Expenses [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Selling, general and administrative</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restructuring Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restructuring Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Restructuring Costs, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase Decrease in Operating Lease Right Of Use Asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">The increase (decrease) during the reporting period in operating lease right of use asset.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Operating lease right of use asset amortization</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IndefiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Indefinite Lived Intangible Assets Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IndefiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Indefinite Lived Intangible Assets Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IndefiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Net Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity Components [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equity Components [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NewDateOfAnnualGoodwillImpairmentTest_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Impairment assessment date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NewDateOfAnnualGoodwillImpairmentTest_lbl" xlink:role="http://www.xbrl.org/2003/role/label">New Date of Annual Goodwill Impairment Test</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressAddressLine1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, Address Line One</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ExtinguishmentOfDebtAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Extinguished 2019 Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ExtinguishmentOfDebtAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Extinguishment of Debt, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Reconciliation of Basic and Diluted Shares Amounts</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Employee-related Liabilities, Current, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Employee-related Liabilities, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Employee compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeSeveranceMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Severance &amp; employee-related costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeSeveranceMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Employee Severance [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Related Party Transaction [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule Of Related Party [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Shares Awarded</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Intangible Asset, Finite-Lived [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Assets Amortization Expense [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Schedule of Amortization Expense for Amortized Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedules of Concentration of Risk, by Risk Factor [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Percentage by Geographic Area or Significant Customers</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationTechniqueAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Valuation Approach and Technique [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncreaseDecreaseInOperatingLeaseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Increase decrease in operating lease asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncreaseDecreaseInOperatingLeaseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase Decrease In Operating Lease Asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncreaseDecreaseInOperatingLeaseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Increase decrease in operating lease asset.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Property, Plant and Equipment [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Tabular disclosure of the components of cash, cash equivalents, and marketable securities held to maturity.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash, Cash Equivalents and Marketable Securities Held to Maturity [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Cash, Cash Equivalents and Marketable Securities Held to Maturity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Convertible notes transaction costs of liability component.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Convertible Notes Transaction Costs Of Liability Component</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Transaction costs attributable to liability component</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsequent Event Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Subsequent Event Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Other income (expenses), net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Nonoperating Income (Expense)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireHeldToMaturitySecurities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments to Acquire Held-to-Maturity Securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireHeldToMaturitySecurities_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Purchase of marketable securities held to maturity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Accumulated Amortization</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Indefinite Lived Intangible Assets Accumulated Amortization</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Indefinite Lived Intangible Assets Accumulated Amortization</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated Amortization</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PfizerMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Pfizer Inc.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PfizerMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Pfizer</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PfizerMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Pfizer member.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PfizerMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Pfizer [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Shares, Unvested at December 31, 2023</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Shares, Unvested at December 31, 2022</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restricted stock units, outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityVoluntaryFilers_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Voluntary Filers</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2025</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Expected Amortization, Year Two</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_AmendmentFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Amendment Flag</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Compensation Expense, Excluding Cost of Good and Service Sold</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_APACMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">A P A C Member</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_APACMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">APAC [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_APACMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">APAC</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Tabular disclosure of supplemental disclosure for the consolidated statements of cash flows related to operating leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Supplemental Disclosure Of Cash Flows Related To Operating Leases [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Schedule of Supplemental Disclosure of Cash Flows Related to Operating Leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Current Income Tax Expense (Benefit), Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Current Income Tax Expense (Benefit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Operating Lease Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease liability, long-term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Noncurrent operating lease liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Liability, Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProbabilityOfSuccess_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Probability of Success</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProbabilityOfSuccess_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Probability of success.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProbabilityOfSuccess_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Probability of Success</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Convertible, Carrying Amount of Equity Component</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Equity component of converted debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DomesticCountryMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Domestic Tax Jurisdiction [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DomesticCountryMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Domestic Tax Authority</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PrepaidExpensesAndOtherCurrentAssetsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Prepaid Expenses And Other Current Assets [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PrepaidExpensesAndOtherCurrentAssetsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Prepaid Expenses And Other Current Assets [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PrepaidExpensesAndOtherCurrentAssetsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Prepaid Expenses And Other Current Assets [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TextBlockAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Text Block [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GeographicConcentrationRiskMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Geographic Concentration Risk [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory, Finished Goods, Net of Reserves</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Finished products</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Name [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt Instrument, Name [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Additional Paid in Capital, Common Stock, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Additional Paid in Capital, Common Stock, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Additional Paid in Capital, Common Stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Additional paid-in capital</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DefinedContributionPlanEmployeeEligibilityAge_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Defined Contribution Plan Employee Eligibility Age</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DefinedContributionPlanEmployeeEligibilityAge_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Defined Contribution Plan Employee Eligibility Age</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DefinedContributionPlanEmployeeEligibilityAge_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Defined contribution plan, eligible age of employees</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2009/role/netLabel">Net income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeLeaseDescriptionTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Lease, Description [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Exercised number of shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Exercised | shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Options exercisable at December 31, 2023 | shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Executive Compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation Nondeductible Expense Executive Compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Executive compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Research and Development Expense [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Research and development</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Land_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Land</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Land_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Land</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Pro Forma Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Total revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_NameOfMajorCustomerDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_NameOfMajorCustomerDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentInterestRateTerms_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Interest Rate Terms</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentInterestRateTerms_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Interest repayment terms</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityComponentDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity Component [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityComponentDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equity Component [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_RangeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statistical Measurement [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_RangeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Range [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Document Financial Statement Error Correction [Flag]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Financial Statement Error Correction [Flag]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Supplemental Balance Sheet Disclosures [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Consolidated Balance Sheet Detail</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Adjustments to Additional Paid in Capital, Equity Component of Convertible Debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equity component of 0.375% senior convertible notes, net of tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Net adjustment for the initial</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Noncurrent contingent consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Contingent Consideration, Liability, Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other income (expenses)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Other expenses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Other Nonoperating Income (Expense), Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Nonoperating Income (Expense)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TrademarksMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Trademarks</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TrademarksMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Trademarks [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ContingentConsiderationObligationEstimated_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent consideration obligation estimated</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ContingentConsiderationObligationEstimated_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contingent Consideration Obligation Estimated</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ContingentConsiderationObligationEstimated_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Contingent Consideration Obligation Estimated</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CashConsiderationExcludingRestrictedCash_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Cash consideration excluding restricted cash.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CashConsiderationExcludingRestrictedCash_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash Consideration Excluding Restricted Cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CashConsiderationExcludingRestrictedCash_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Undistributed Earnings of Foreign Subsidiaries</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Undistributed earnings of foreign subsidiaries</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentIncreaseAccruedInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Increase, Accrued Interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentIncreaseAccruedInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Accrued interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Disaggregation of Revenue [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxImpactOnConversionFeature_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred tax impact on conversion feature</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxImpactOnConversionFeature_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Impact On Conversion Feature</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxImpactOnConversionFeature_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Deferred tax impact on conversion feature.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredRevenueCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Deferred Revenue, Current, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredRevenueCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Revenue, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredRevenueCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Preferred Stock, Shares Issued, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Preferred Stock, Shares Issued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Preferred stock, shares issued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeasePayments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeasePayments_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Operating lease cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds from Stock Options Exercised</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Proceeds from exercise of stock options</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentIssuedForCash_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Notes for cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentIssuedForCash_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument Issued For Cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentIssuedForCash_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt instrument issued for cash.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Aggregate debt discount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Debt Instrument, Unamortized Discount, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Unamortized Discount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Unamortized debt discount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Receivable, Credit Loss Expense (Reversal)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Current period change for expected credit losses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Shares, Conversion of Units</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Issuance of common stock for debt conversion (in shares)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PayablesAndAccrualsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payables and Accruals [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Receivable, after Allowance for Credit Loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Contract with Customer, Receivable, after Allowance for Credit Loss, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Net of Forfeitures, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Net of Forfeitures</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Granted | shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ChromatographyProductsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Chromatography Products [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ChromatographyProductsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Chromatography Products [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Prepaid Expense and Other Assets, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Prepaid expenses and other current assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total prepaid expenses and other current assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Exercise Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Vested and expected to vest at December 31, 2023</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Maximum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Risk-free interest rate, maximum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ClassOfStockDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Class of Stock [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FairValueOfEmbeddedConversionOptionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair value of embedded conversion option</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FairValueOfEmbeddedConversionOptionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value of Embedded Conversion Option [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FairValueOfEmbeddedConversionOptionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Fair value of embedded conversion option.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Comprehensive income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Comprehensive income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Common Stock, Shares, Outstanding, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Common Stock, Shares, Outstanding, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock, Shares, Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock, shares outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Share-based Compensation Arrangement by Share-based Payment Award, Options, Aggregate Intrinsic Value [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangement by Share-based Payment Award, Options, Aggregate Intrinsic Value [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Aggregate Intrinsic Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Options Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value Measurement, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair Value Measurement</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContingentConsiderationByTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contingent Consideration by Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContingentConsiderationByTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent Consideration by Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Tax Provision (Benefit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Weighted Average Useful Life (in years)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Preferred Stock, Par or Stated Value Per Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Preferred stock, par value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NumberOfManufacturingSites_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Number of manufacturing sites.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NumberOfManufacturingSites_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Number of Manufacturing Sites</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NumberOfManufacturingSites_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of manufacturing sites</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Redemption of marketable securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-Sale</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue Benchmark [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Sales Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Expense (Benefit), Effective Income Tax Rate Reconciliation, Amount [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Adjustments due to:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Cash_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Cash_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Restricted Stock Unit Activity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total noncurrent liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities, Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Interactive Data Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Maturity of one year or less, Estimated Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ComputerHardwareAndSoftwareMemberMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Computer Hardware And Software Member Member</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ComputerHardwareAndSoftwareMemberMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Computer Hardware And Software member [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProductMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Product Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProductMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Product [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProductMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Products</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of cash and cash equivalents and restricted cash.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Cash And Cash Equivalents And Restricted Cash [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Schedule of Cash, Cash Equivalents and Restricted Cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfSalesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cost of Sales [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfSalesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cost of product revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Equity Interest Issued or Issuable, Number of Shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Shares issued for business acquisition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Shares of common stock issued for acquisition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Dilutive securities effect on basic earnings per share convertible senior notes.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Dilutive Securities Effect On Basic Earnings Per Share Convertible Senior Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Convertible Senior Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetirementPlanTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Retirement Plan Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetirementPlanTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Retirement Plan Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Redemption Price, Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Notes redemption price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TypeOfAdoptionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounting Standards Update [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TypeOfAdoptionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Type of Adoption [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Goodwill [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConvertibleDebtTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Convertible Debt [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConvertibleDebtTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Carrying Value of Convertible Senior Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted Average, Vested</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Cash and cash equivalents, beginning of period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total cash, cash equivalents, and restricted cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Cash and cash equivalents, end of period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Related Party Transactions Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Related Party Transactions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BalanceSheetLocationAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement of Financial Position Location, Balance [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_RangeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statistical Measurement [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_RangeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Range [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule Of Earnings Per Share Basic And Diluted [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule Of Earnings Per Share Basic And Diluted [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Earnings Per Share Basic And Diluted [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Operating lease liability, long-term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Non Current.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Non Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Operating lease liability, long-term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2028</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Expected Amortization, Year Five</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Acquired Finite-Lived Intangible Asset, Residual Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Intangible Asset Residual Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Cost of Goods and Services Sold, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cost of Goods and Services Sold</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cost of product revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseCost_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseCost_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CTechnologiesIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">C Technologies Inc Member</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CTechnologiesIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">C Technologies Inc [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CTechnologiesIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">C Technologies Inc</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Unrecognized Tax Benefits, Period Gross Decreases Release</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unrecognized Tax Benefits, Period Gross Decreases Release</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Gross amounts of decrease due to release</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsFairValueDisclosure_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Assets, fair value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsFairValueDisclosure_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Assets, Fair Value Disclosure</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsFairValueDisclosure_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Assets, Fair Value Disclosure, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Noncash or Part Noncash Acquisition, Intangible Assets Acquired</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Acquisition of intangible assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Acquisition of intangible assets and issuance of financing liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Related and Nonrelated Parties [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Related Party [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TrademarkMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Trademark [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TrademarkMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Right acquired through registration of a trademark to gain or protect exclusive use of business name, symbol or other device or style.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TrademarkMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Trademark</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OtherProductsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Other products [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OtherProductsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other products [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseCost_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lease, Cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseCost_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Lease cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Disaggregation of Revenue [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Disaggregation of Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Long term deferred tax liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liability Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liability Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Deferred tax liability, long-term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Maturities of Operating Lease Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentArrangementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Research and Development Arrangement [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Finite-Lived Intangible Assets, Gross, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Assets, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Gross Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Payments to Acquire Businesses, Net of Cash Acquired, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments to Acquire Businesses, Net of Cash Acquired</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Acquisitions, net of cash acquired</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Acquisitions, net of cash acquired</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Incentive options, vesting period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Basis of Presentation and Significant Accounting Policies [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Basis of presentation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average grant date fair value of restricted stock units granted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Weighted Average, Awarded</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Unrecognized compensation cost, weighted average remaining requisite service period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Federal Income Tax Expense (Benefit), Continuing Operations, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Federal Income Tax Expense (Benefit), Continuing Operations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Federal</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DefinedBenefitPlanContributionsByEmployer_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Defined Benefit Plan, Plan Assets, Contributions by Employer</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DefinedBenefitPlanContributionsByEmployer_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Defined contribution plan, company contribution</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_OwnershipDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Ownership [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Convertible, Threshold Consecutive Trading Days</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Notes threshold consecutive trading days</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeStatementLocationAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement of Income Location, Balance [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeStatementLocationAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Statement Location [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash and Cash Equivalents [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Assets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Assets_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Assets_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Expected term (in years)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringCostAndReserveAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restructuring Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Settlements</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Acquisition date fair value of contingent consideration earnouts</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TaxPeriodAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Tax Period [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TaxPeriodAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Tax Period [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Long-Term Debt Instruments [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Long-term Debt Instruments [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Additional Disclosures [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted-Average Remaining Contractual Term (in years)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income (Loss) from Continuing Operations before Income Taxes, Foreign</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Deferred Tax Liabilities, Gross, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Liabilities, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel">Total deferred tax liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Shares, Vested</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business Acquisition [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Recent Accounting Standards Updates</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressCityOrTown_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, City or Town</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_RestatementAdjustmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revision of Prior Period, Adjustment [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_RestatementAdjustmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue Adjustments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NonrecurringAdjustmentDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Nonrecurring Adjustment [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">AOCI Attributable to Parent [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated Other Comprehensive Income (Loss)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CreditLossFinancialInstrumentTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Credit Loss, Financial Instrument [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CreditLossFinancialInstrumentTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Credit Losses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Other Adjustments, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_AuditorLocation_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Auditor Firm Location</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_AuditorLocation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Auditor Location</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Difference between U.S. and foreign tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Percent [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Adjustments due to:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Zero Point Three Seven Five Percentage Convertible Senior Notes Due Twenty Twenty Four Member</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Zero Point Three Seven Five Percentage Convertible Senior Notes Due Twenty Twenty Four [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">0.375% Convertible Senior Notes due 2024</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Shares, Forfeited/cancelled</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsForRestructuring_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments for Restructuring</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsForRestructuring_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Amounts Paid</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UnvestedOptionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Unvested Options</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UnvestedOptionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unvested Options [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UnvestedOptionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Unvested Options [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentFaceAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Aggregate principal amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentFaceAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Face Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentFaceAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Principal amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ManufacturingLineExpansionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Manufacturing Line Expansions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ManufacturingLineExpansionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Manufacturing Line Expansions [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ManufacturingLineExpansionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Manufacturing line expansions.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringCostAndReserveLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restructuring Cost and Reserve [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountingStandardsUpdate202006Member_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounting Standards Update 2020-06 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountingStandardsUpdate202006Member_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounting Standards Update 2020-06</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Depreciation_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Depreciation, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Depreciation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Depreciation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Share Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Closing price of common stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Total grant date fair value of restricted stock units vested</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_RestatementDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revision of Prior Period [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NumberOfSharesBasicOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Number of shares basic outstanding.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NumberOfSharesBasicOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Number Of Shares Basic Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NumberOfSharesBasicOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Weighted average shares used in computing net income per share - basic</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Convertible, Beneficial Conversion Feature</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Proceeds allocated to the conversion feature</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_EuropeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Europe [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_EuropeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Europe</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProteinsProductsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Protein Products [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProteinsProductsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proteins Products [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Credit Loss, Financial Instrument [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Allowance for credit losses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrivatePlacementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Private Placement</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrivatePlacementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Private Placement [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-Based Payment Arrangement, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock-based compensation expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProbabilityWeightedPresentValueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Probability Weighted Present Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProbabilityWeightedPresentValueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Probability-Weighted Present Value [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProbabilityWeightedPresentValueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Probability-weighted present value.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Repatriation of Foreign Earnings, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">U.S. taxation of foreign earnings</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Zero Point Three Seven Five Percent Convertible Senior Notes Due Twenty Twenty Four Member</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Zero Point Three Seven Five Percent Convertible Senior Notes Due Twenty Twenty Four [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">0.375% Convertible Senior Notes due 2024</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Shares Issued, Shares, Share-based Payment Arrangement, after Forfeiture, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Exercise of stock options and vesting of stock units (in shares)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringReserveSettledWithoutCash2_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Non-Cash Restructuring Items</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringReserveSettledWithoutCash2_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restructuring Reserve, Settled without Cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Weighted Average Discount Rate, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Weighted average discount rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Interest and penalties accrued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accumulated Other Comprehensive Income (Loss) [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated Other Comprehensive Income (Loss) [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAssetsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Assets [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueDisclosuresAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value Disclosures [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Prepaid Expenses And Other Current Assets [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Prepaid Expenses And Other Current Assets [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Prepaid Expenses And Other Current Assets [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FederalAndStateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Federal and State [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FederalAndStateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Federal and State [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FederalAndStateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Federal and State</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair value of shares of common stock issued for contingent consideration earnouts</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value of Shares of Common Stock Issued for Contingent Consideration Earnouts</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Fair value of shares of common stock issued for contingent consideration earnouts.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityPublicFloat_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Public Float</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign exchange loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Foreign Exchange Loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Effective income tax rate reconciliation, foreign exchange loss.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Foreign exchange loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business acquisition, revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Forfeited/expired/cancelled</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Pro Forma Information [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Unaudited Supplemental Pro Forma Information</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NewtonNewJerseyMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Newton, New Jersey [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NewtonNewJerseyMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Newton, New Jersey Member.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NewtonNewJerseyMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">NTM</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Net of Valuation Allowance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net deferred tax assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities, Current [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Current liabilities:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfAccruedLiabilitiesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of Accrued Liabilities [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfAccruedLiabilitiesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Accrued Liabilities [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfAccruedLiabilitiesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Accrued Liabilities [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Receivable [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts Receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Revenue recognized during periods presented relating to:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Change in Contract with Customer, Asset and Liability [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Change in Unrecognized Tax Benefit, Reasonably Possible [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Income Taxes Paid, Net, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Taxes Paid, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income taxes paid</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash and Cash Equivalents [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash and cash equivalents</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentType_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Type</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounting Standards Update [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Adjustments for New Accounting Pronouncements [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsForProceedsFromOtherInvestingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments for (Proceeds from) Other Investing Activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsForProceedsFromOtherInvestingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other investing activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsForProceedsFromOtherInvestingActivities_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Other investing activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillImpairedFactsAndCircumstancesLeadingToImpairment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill, Impaired, Facts and Circumstances Leading to Impairment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillImpairedFactsAndCircumstancesLeadingToImpairment_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Reason for change in impairment assessment date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ExchangedTwoZeroOneNineNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Exchanged 2019 Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ExchangedTwoZeroOneNineNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Exchanged Two Zero One Nine Notes [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ExchangedTwoZeroOneNineNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Exchanged two zero one nine notes.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentOther_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment, Other, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentOther_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetImpairmentCharges_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Impairment charges</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetImpairmentCharges_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Asset Impairment Charges</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetImpairmentCharges_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Asset Impairment Charges, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_Security12bTitle_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Title of 12(b) Security</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Cash and Cash Equivalents, at Carrying Value, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Cash and Cash Equivalents, at Carrying Value, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Cash and Cash Equivalents, at Carrying Value, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash and Cash Equivalents, at Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash and cash equivalents</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Cash and cash equivalents</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BalanceSheetLocationDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement of Financial Position Location, Balance [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TrademarksAndTradeNamesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Trademarks and Trade Names [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TrademarksAndTradeNamesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Trademark and tradename</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">2028</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Liability, to be Paid, Year Five</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseCostTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lease, Cost [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseCostTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Lease, Cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseCostTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Operating Lease Cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Redemption, Period [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt Instrument, Redemption, Period [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement of Stockholders' Equity [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Inventory [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Fiscal Period Focus</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Aggregate intrinsic value of stock options exercised</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Tax Credit Carryforwards, Research</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Capitalized research and development</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Research and Development Expense, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Research and Development Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Research and development</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payment, Tax Withholding, Share-Based Payment Arrangement</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Payment of tax withholding obligation on vesting of restricted stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Goodwill [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Changes in Carrying Value of Goodwill</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business combination date of acquistion</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Effective Date of Acquisition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarliestTaxYearMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Earliest Tax Year [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarliestTaxYearMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Earliest Tax Year</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Indefinite-Lived Intangible Assets [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Indefinite-lived Intangible Assets [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Receivable, Allowance for Credit Loss [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary Of Allowance For Credit Losses For Accounts Receivables</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Disaggregation of Revenue [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Asset Class [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Property, Plant and Equipment, Gross, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Property, Plant and Equipment, Gross, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total property, plant and equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_APACOtherMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">APAC/Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_APACOtherMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">A P A C Other [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_APACOtherMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">APAC Other [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationConsiderationIndemnificationEscrow_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business Combination Consideration Indemnification Escrow</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationConsiderationIndemnificationEscrow_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Consideration Indemnification Escrow</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationConsiderationIndemnificationEscrow_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business acquisition, Indemnification escrow</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsequent Event Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Subsequent Event Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Estimated Weighted Average Assumptions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CreditLossAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Credit Loss [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FurnitureFixturesAndOfficeEquipmentMemberMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Furniture Fixtures And Office Equipment Member Member</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FurnitureFixturesAndOfficeEquipmentMemberMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Furniture Fixtures And Office Equipment Member [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TaxYear2043Member_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Tax Year 2043 Member</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TaxYear2043Member_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Tax Year 2043 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TaxYear2043Member_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Tax Year 2043 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NonEmployeeDirectorStockOptionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Non Employee Director Stock Option[Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NonEmployeeDirectorStockOptionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Non Employee Director Stock Option[Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NonEmployeeDirectorStockOptionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Non-Employee Directors</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CoronavirusAidReliefAndEconomicSecurityFundValue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Coronavirus Aid Relief and Economic Security Fund Value.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CoronavirusAidReliefAndEconomicSecurityFundValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Coronavirus Aid Relief and Economic Security Fund Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CoronavirusAidReliefAndEconomicSecurityFundValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Coronavirus aid relief and economic security fund value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Restructuring Activities by Type of Cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Restructuring Reserve by Type of Cost [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Error Correction [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CommitmentsAndContingenciesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Commitments and Contingencies [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CommitmentsAndContingenciesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Commitments and Contingencies [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CommitmentsAndContingenciesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Commitments and Contingencies [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">State income tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Impairment of intangible assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Impairment of Intangible Assets (Excluding Goodwill)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Impairment of Intangible Assets (Excluding Goodwill), Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsForRent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments for Rent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsForRent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Rental expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ConvertibleSeniorNotes_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Convertible senior notes.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ConvertibleSeniorNotes_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Convertible Senior Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ConvertibleSeniorNotes_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Total convertible senior notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountingChangesAndErrorCorrectionsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounting Changes and Error Corrections [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Consideration Transferred, Equity Interests Issued and Issuable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equity consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Value of common stock issued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InvestmentIncomeNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Investment Income, Net, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InvestmentIncomeNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Investment Income, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InvestmentIncomeNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Investment income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Provision for Deferred Income Tax Expense (Benefit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Provision for Deferred Income Tax Expense (Benefit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DaylightSolutionsIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Daylight solutions Inc.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DaylightSolutionsIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Daylight Solutions Inc.[Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DaylightSolutionsIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Daylight Solutions Inc.[Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsidiarySaleOfStockAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Sale of Stock [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Cash Provided by (Used in) Investing Activities [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash flows from investing activities:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InvestmentTypeCategorizationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Investments [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Repurchase of common stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments for Repurchase of Common Stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AcceleratedDepreciationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accelerated depreciation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AcceleratedDepreciationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accelerated Depreciation [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AcceleratedDepreciationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accelerated depreciation.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Category of Item Purchased [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PolymemSAMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Polymem S.A.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PolymemSAMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Polymem S.A. [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PolymemSAMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Polymem S.A. [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PatentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Patents [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PatentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Patents</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SegmentReportingAssetReconcilingItemLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Segment Reporting, Asset Reconciling Item [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SegmentReportingAssetReconcilingItemLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Segment Reporting, Asset Reconciling Item [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentConvertibleIntoEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt instrument convertible into equity.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentConvertibleIntoEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument Convertible Into Equity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentConvertibleIntoEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt instrument amount convertible into equity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accumulated Other Comprehensive Income (Loss) [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated Other Comprehensive Income (Loss) [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Gross amounts of decreases in unrecognized tax benefits as a result of tax positions taken in the prior period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Gross amounts of decreases in unrecognized tax benefits as a result of tax positions taken in the prior period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Reconciliation of Federal Statutory Rate to Effective Income Tax Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OutstandingTwoZeroTwoThreeNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Outstanding 2023 Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OutstandingTwoZeroTwoThreeNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Outstanding Two Zero Two Three Notes [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OutstandingTwoZeroTwoThreeNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Outstanding two zero two three notes.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_OwnershipAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Ownership [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FiniteLivedIntangibleLiabilitiesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Finite-Lived Intangible Liabilities [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FiniteLivedIntangibleLiabilitiesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite Lived Intangible Liabilities [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FiniteLivedIntangibleLiabilitiesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Finite-Lived Intangible Liabilities [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FiniteLivedIntangibleLiabilitiesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Finite-Lived Intangible Liabilities [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_VehiclesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Vehicles [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_VehiclesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Vehicles [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Selling, General and Administrative Expense, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Selling, General and Administrative Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Selling, general and administrative</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Asset Acquisition, and Joint Venture Formation [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShortTermDebtTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Short-Term Debt, Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TradeAccountsReceivableMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Trade Accounts Receivable Member</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TradeAccountsReceivableMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Trade Accounts Receivable [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Repurchase of common stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Repurchased During Period, Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Postretirement Benefits, Individual Contracts, Type of Deferred Compensation [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other Postretirement Benefits, Individual Contracts, Type of Deferred Compensation [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NGLImpactAMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">NGL Impact A[Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NGLImpactAMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">NGL Impact A [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Finite-Lived Intangible Assets, Net, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Finite-Lived Intangible Assets, Net, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Assets, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AvitideIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Avitide, Inc. [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AvitideIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Avitide, Inc. [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AvitideIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Avitide, Inc.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TradeNamesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Trade Names [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TradeNamesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Trademark and tradename [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DepreciationAndAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Depreciation, Depletion and Amortization, Nonproduction, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DepreciationAndAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Depreciation, Depletion and Amortization, Nonproduction</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DepreciationAndAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Depreciation and amortization</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShortTermDebtTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Short-Term Debt, Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentFrequencyOfPeriodicPayment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Frequency of Periodic Payment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentFrequencyOfPeriodicPayment_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Notes, frequency of periodic payment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Identified Intangible Assets and Estimated Useful Lives</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Accrued Liabilities, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Increase (Decrease) in Accounts Payable, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Accounts Payable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts payable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Income Taxes [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Taxes [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Taxes [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other financing activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds from (Payments for) Other Financing Activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ModifiedTwoZeroOneNineNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Modified 2019 Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ModifiedTwoZeroOneNineNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Modified Two Zero One Nine Notes [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ModifiedTwoZeroOneNineNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Modified Two Zero One Nine Notes [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities and Equity [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Liabilities and Stockholders' Equity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Revenue by Major Customers by Reporting Segments [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Percentage of Revenue from Significant Customers</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentPeriodEndDate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Period End Date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total cash provided by (used in) financing activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Cash Provided by (Used in) Financing Activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NoncashInventoryAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Non cash inventory adjustment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NoncashInventoryAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Noncash Inventory Adjustments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NoncashInventoryAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">The amount of non cash adjustments of inventory.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Summary Of Significant Accounting Policies [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Summary Of Significant Accounting Policies [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary Of Significant Accounting Policies [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_IcfrAuditorAttestationFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/label">ICFR Auditor Attestation Flag</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Income tax provision</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Income tax provision</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Convertible, Threshold Trading Days</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Notes threshold trading days</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock excluded from calculation of diluted earnings per share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationAdditionalCashForTransactionBonus_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Additional Cash For Transaction Bonus</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationAdditionalCashForTransactionBonus_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business combination additional cash for transaction bonus.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringReserve_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restructuring Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringReserve_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restructuring Reserve</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringReserve_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Restructuring Reserve, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringReserve_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Restructuring Reserve, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringReserve_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Restructuring Reserve, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">APIC, Share-based Payment Arrangement, Increase for Cost Recognition, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">APIC, Share-Based Payment Arrangement, Increase for Cost Recognition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Stock-based compensation expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtConversionConvertedInstrumentAmount1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Conversion, Converted Instrument, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtConversionConvertedInstrumentAmount1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Total consideration on conversion</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtConversionConvertedInstrumentAmount1_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Fair value of 2,316,229 shares of common stock issued for conversion of convertible notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Tangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Tangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair value of tangible assets acquired</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxAssetsOperatingLeases_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Deferred Tax Assets Operating Leases.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxAssetsOperatingLeases_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets Operating Leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxAssetsOperatingLeases_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Liabilities, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total accrued liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">2029 and thereafter</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Liability, to be Paid, after Year Five</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Deferred Revenue, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Deferred revenue (included in accrued liabilities and other noncurrent liabilities in the consolidated balance sheets)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Minimum operating lease payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease liabilities excluding control not conveyed leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease Liabilities Excluding Control not Conveyed Leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Operating lease liabilities excluding control not conveyed leases.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Net Derivative Asset (Liability) Measured on Recurring Basis, Unobservable Input Reconciliation [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income tax provision</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Expense (Benefit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Income tax (benefit) provision</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesRestrictedStock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted Average Number of Shares, Restricted Stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesRestrictedStock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Options and stock units</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MachineryAndEquipmentGross_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Machinery and Equipment, Gross, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MachineryAndEquipmentGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Machinery and Equipment, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MachineryAndEquipmentGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Loss on extinguishment of debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Loss on Debt Exchange, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Effective income tax rate reconciliation, loss on debt exchange, percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationsCashDepositedInEscrowAccount_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business combinations cash deposited in escrow account.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationsCashDepositedInEscrowAccount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combinations Cash Deposited In Escrow Account</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationsCashDepositedInEscrowAccount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business combinations cash deposited in escrow account</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EngineeredMoldingTechnologyLlcMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Engineered Molding Technology LLC</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EngineeredMoldingTechnologyLlcMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Engineered Molding Technology LLC [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EngineeredMoldingTechnologyLlcMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Engineered Molding Technology LLC</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_TradingSymbol_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Trading Symbol</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combinations [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity, Attributable to Parent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total stockholders' equity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TonyJHuntMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Tony J. Hunt.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TonyJHuntMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Tony J. Hunt [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TonyJHuntMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Tony J. Hunt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BuildingsAndImprovementsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Buildings and Improvements, Gross, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BuildingsAndImprovementsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Buildings and Improvements, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BuildingsAndImprovementsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Buildings</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Options Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ConvertibleNotesTransactionCostsOfEquityComponent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Convertible notes transaction costs of equity component.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ConvertibleNotesTransactionCostsOfEquityComponent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Convertible Notes Transaction Costs Of Equity Component</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ConvertibleNotesTransactionCostsOfEquityComponent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Transaction costs attributable to equity component</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_InflationReductionActOfTwoThousandTwentyTwoMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Inflation reduction act of two thousand twenty two member.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_InflationReductionActOfTwoThousandTwentyTwoMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inflation Reduction Act Of Two Thousand Twenty Two [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_InflationReductionActOfTwoThousandTwentyTwoMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">nflation Reduction Act Of Two Thousand Twenty Two</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total deferred tax assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Lived Tangible Asset [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other noncurrent liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Other Liabilities, Noncurrent, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Liabilities, Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock Based Compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Convertible, Conversion Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Notes initial conversion price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Derivative Instrument [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Cash consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Upfront payment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments to Acquire Businesses, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">State and Local Income Tax Expense (Benefit), Continuing Operations, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/label">State and Local Income Tax Expense (Benefit), Continuing Operations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">State</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restricted Stock Units (RSUs) [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restricted Stock Units (RSUs)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Related Party Transactions [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt discount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation Debt Discount Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Effective income tax rate reconciliation debt discount percentage.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Property, Plant and Equipment [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Goodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Goodwill, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Goodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Goodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Goodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Goodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Goodwill</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">1.00% Convertible Senior Notes due 2028</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">One Point Zero Zero Percent Convertible Senior Notes Due Twenty Twenty Eight [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">One point zero zero percent convertible senior notes due twenty twenty eight.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Total unrecognized compensation cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Contract Asset, Contract Liability, and Receivable [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Balances from contracts with customers only:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Operating lease liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Current.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Operating lease liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock-Based Compensation Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NatureOfOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Nature of Operations [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NatureOfOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Organization and Nature of Business</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MeasurementInputTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Measurement Input Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Deferred Income Tax Expense (Benefit), Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Income Tax Expense (Benefit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred income taxes, net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_StatementGeographicalAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Geographical [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_StatementGeographicalAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Geographical [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeasesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Leases [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Activity Related to Restructuring Plan</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restructuring and Related Costs [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AreaOfLand_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Area of Land</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AreaOfLand_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Expansion of existing premises</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AreaOfLand_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Area Of Land</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquipmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equipment [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UseOfEstimates_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Use of Estimates, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UseOfEstimates_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Use of Estimates</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BioflexMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">BioFlex [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BioflexMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">BioFlex [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BioflexMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">BioFlex</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total noncurrent assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Assets, Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts receivable, percentage by customer</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk, Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Revenue from significant customers as a percentage of total revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Convertible note modification</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Value, Conversion of Convertible Securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Conversion of Convertible Securities Stock Issued | value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NoncashInterestIncome_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Non-cash interest income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NoncashInterestIncome_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Noncash Interest Income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NoncashInterestIncome_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Noncash interest income.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfAccruedLiabilitiesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of Accrued Liabilities [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfAccruedLiabilitiesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Accrued Liabilities [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfAccruedLiabilitiesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Accrued Liabilities [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Compensation Arrangement with Individual, Postretirement Benefits [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred Compensation Arrangement with Individual, Postretirement Benefits [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MeasurementInputPriceVolatilityMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Volatility</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MeasurementInputPriceVolatilityMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Measurement Input, Price Volatility [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Business Acquisitions, by Acquisition [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Business Acquisitions, by Acquisition [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Minimum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Expected volatility (range), minimum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of Deferred Tax Assets and Liabilities [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Deferred Tax Assets and Liabilities [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Deferred Tax Assets and Liabilities [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Expected dividend yield</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Summary of Receivables and Deferred Revenue from Contracts with Customers</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MarketableSecuritiesPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Investment Securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MarketableSecuritiesPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Marketable Securities, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_SecurityExchangeName_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Security Exchange Name</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Counterparty Name [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Deferred Tax Assets, Tax Credit Carryforwards, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Tax Credit Carryforwards</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business tax credit carryforwards</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Acquiree [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business Acquisition, Acquiree [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FacilityAndOtherExitCostsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Facility and Other Exit Costs [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FacilityAndOtherExitCostsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Facility and other exit costs.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FacilityAndOtherExitCostsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Facility and Other Exit Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Lived Tangible Asset [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementClassOfStockAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Class of Stock [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Less - Accumulated depreciation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_LegalEntityAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Legal Entity [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_LegalEntityAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Legal Entity [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueDisclosuresTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair Value Measurements</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueDisclosuresTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value Disclosures [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FurnitureAndFixturesGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Furniture and Fixtures, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FurnitureAndFixturesGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Furniture, fixtures and office equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">2026</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Liability, to be Paid, Year Three</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average grant date fair value of share-based awards granted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsidiary, Ownership Percentage, Noncontrolling Owner</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Non controlling ownership interest minimum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_MaximumMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Maximum [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_MaximumMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Maximum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restructuring Plan</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restructuring and Related Activities Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities and Equity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total liabilities and stockholders' equity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsGrossExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Gross Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsGrossExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Intangible Assets, Gross (Excluding Goodwill)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsGrossExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Gross Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MeasurementInputRevenueVolumeDiscountRateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue and Volume Based Payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MeasurementInputRevenueVolumeDiscountRateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Measurement Input Revenue &amp; Volume Discount Rate.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MeasurementInputRevenueVolumeDiscountRateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Measurement Input Revenue &amp; Volume Discount Rate [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Loss on extinguishment of debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Loss on extinguishment of debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Loss on conversion of debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Gain (Loss) on Extinguishment of Debt, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Gain (Loss) on Extinguishment of Debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Right-of-Use Asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease right of use assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MeasurementInputProbabilityOfSuccessMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Probability of Success</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MeasurementInputProbabilityOfSuccessMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Measurement Input Probability of Success.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MeasurementInputProbabilityOfSuccessMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Measurement Input Probability of Success [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted Average, Vested and expected to vest at December 31, 2023</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Share based compensation arrangement by share based payment award equity instruments other than options vested and expected to vest outstanding weighted average grant date fair value.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share Based Compensation Arrangement by Share Based Payment Award Equity Instruments Other Than Options Vested and Expected to Vest Outstanding Weighted Average Grant Date Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Supplemental Cash Flow Information [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Supplemental disclosure of cash flow information:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetirementPlanSponsorLocationDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Retirement Plan Sponsor Location [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Retirement Benefits [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Earnings Per Share, Diluted, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Earnings Per Share, Diluted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Diluted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DilutiveEffectOnSharesOfConversionPremium_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Dilutive effect on shares of conversion premium</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DilutiveEffectOnSharesOfConversionPremium_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Dilutive Effect On Shares Of Conversion Premium</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DilutiveEffectOnSharesOfConversionPremium_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Dilutive effect on shares of conversion premium.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseholdImprovementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Leasehold Improvements [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ExchangeTransactionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Exchange Transaction</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ExchangeTransactionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Exchange Transaction [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ExchangeTransactionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Exchange Transaction [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net liabilities assumed</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Liabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Liabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PrepaidServicesAndProfessionalFees_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Prepaid Services and Professional Fees</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PrepaidServicesAndProfessionalFees_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Prepaid Services and Professional Fees</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PrepaidServicesAndProfessionalFees_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equipment maintenance and services</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value Hierarchy and NAV [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Loss on extinguishment of debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Loss on Debt Exchange</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Effective income tax rate reconciliation, loss on debt exchange.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Assets, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total current assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Cash Provided by (Used in) Investing Activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total cash used in investing activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ModificationOfDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Modification of debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ModificationOfDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Modification of Debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ModificationOfDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Modification of debt.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unrecognized Tax Benefits</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Balance of gross unrecognized tax benefits, end of period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Balance of gross unrecognized tax benefits, beginning of period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Payment of earnout consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Payment of earnout consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payment for Contingent Consideration Liability, Financing Activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Change in valuation allowance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Incentive options, vesting period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Foreign-derived intangible income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign-derived intangible income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, FDII, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Right Of Use Asset.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Right Of Use Asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Operating lease right of use asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityFilerCategory_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Filer Category</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill and Intangible Assets Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Goodwill and Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Shares, Vested and expected to vest at December 31, 2023</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Vested And Expected To Vest Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Vested And Expected To Vest Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Redemption, Period [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt Instrument, Redemption, Period [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_VariableOperatingLeaseCost_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for operating leases.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_VariableOperatingLeaseCost_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Variable Operating Lease cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_VariableOperatingLeaseCost_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Variable operating lease cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Deferred tax liabilities, operating lease right of use assets.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Liabilities, Operating Lease Right Of Use Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease right of use assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unrecognized Tax Benefits that Would Impact Effective Tax Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Impact of unrecognized tax benefits on effective tax rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt securities held to maturity and cash and cash equivalents estimated fair value.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities Held to Maturity and Cash and Cash Equivalents Estimated Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash and cash equivalents, Estimated Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Issuance of common stock pursuant to the Avitide, Inc. contingent consideration earnout payment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Value,Contingent Consideration Earnout Payment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Stock issued during period, value,contingent consideration earnout payment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Acquisition date fair value of contingent consideration earnouts</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Acquisition Date Fair Value of Contingent Consideration Earnouts</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Acquisition date fair value of contingent consideration earnouts.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Effective Income Tax Rate Reconciliation, Tax Contingency, Percent, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Tax Contingency, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Uncertain tax provisions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Current Fiscal Year End Date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Business combination contingent consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Consideration Transferred, Liabilities Incurred</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent consideration - earnout</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Decrease in fair value of contingent consideration earnouts</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Property, Plant &amp; Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested in Period, Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Total fair value of stock options vested</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Less amount of lease payment representing interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Less amount of lease payment representing interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestOnConvertibleDebtNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Interest on Convertible Debt, Net of Tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestOnConvertibleDebtNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Charges associated with convertible debt instruments, net of tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock-based compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Share-based Payment Arrangement, Noncash Expense, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Noncash Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Related and Nonrelated Parties [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Related Party [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Interest Expense, Debt, Excluding Amortization</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contractual coupon interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ExchangeAndSubscriptionAgreementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Exchange and Subscription Agreements</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ExchangeAndSubscriptionAgreementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Exchange and Subscription Agreements [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ExchangeAndSubscriptionAgreementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Exchange and subscription agreements.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationOtherReconcilingItems_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Effective Income Tax Rate Reconciliation, Other Reconciling Items, Amount, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationOtherReconcilingItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Other Reconciling Items, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationOtherReconcilingItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill, Foreign Currency Translation Gain (Loss)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Cumulative translation adjustment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Contingent Consideration, Liability, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Current contingent consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityRegistrantName_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Registrant Name</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_HeldToMaturitySecuritiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities, Held-to-Maturity, Amortized Cost, before Allowance for Credit Loss, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_HeldToMaturitySecuritiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Marketable securities held to maturity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred tax liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax and Other Liabilities, Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TrueUpCostsDecember2020Member_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">True Up Costs December 2020</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TrueUpCostsDecember2020Member_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">True up costs December 2020.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TrueUpCostsDecember2020Member_lbl" xlink:role="http://www.xbrl.org/2003/role/label">True up costs December 2020 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Indefinite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Indefinite-lived Intangible Assets, Major Class Name [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_InventoryAdjustmentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Inventory adjustments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_InventoryAdjustmentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory Adjustments [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_InventoryAdjustmentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Inventory adjustments.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Compensation and Employee Benefit Plans [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Employee Benefit Plans</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Quarterly Financial Information [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Selected Quarterly Financial Data (Unaudited)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CancelledPurchaseOrderPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Cancelled purchase order payments.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CancelledPurchaseOrderPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cancelled Purchase Order Payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CancelledPurchaseOrderPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cancelled purchase order payment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Indemnification Assets, Range of Outcomes, Value, High</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentMaturityDate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Maturity Date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentMaturityDate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Notes, due date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Emerging Growth Company</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Emerging growth company</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Income (Loss) Available to Common Stockholders, Basic [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Numerator:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MoneyMarketFundsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Money Market</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MoneyMarketFundsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Money Market Funds [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments to Acquire Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Purchase of intellectual property</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Weighted Average Number of Shares Outstanding, Basic, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted Average Number of Shares Outstanding, Basic</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Basic</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Weighted average shares used in computing net income per share - basic</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxLiabilitiesDebtDiscount_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Debt discount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxLiabilitiesDebtDiscount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt discount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxLiabilitiesDebtDiscount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Liabilities, Debt discount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxLiabilitiesDebtDiscount_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Deferred tax liabilities, debt discount.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherInformationPertainingToIncomeTaxes_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Information Pertaining to Income Taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherInformationPertainingToIncomeTaxes_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net operating loss and business tax credit carry forwards expiration date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AmortizationOfInventoryStepUp_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Inventory step-up charges</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AmortizationOfInventoryStepUp_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Amortization Of Inventory Step Up</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AmortizationOfInventoryStepUp_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Amortization of inventory step up.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Payment of contingent consideration earnouts</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Maximum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Expected volatility (range), maximum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock, Shares Authorized</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock, shares authorized</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NotesIssued1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Issuance of 2023 Notes in exchange of 2019 Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NotesIssued1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Notes Issued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Tax withholding on vesting of restricted stock (in shares)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Tax withholding on vesting of restricted stock (in shares)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment, Useful Life</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Estimated Useful Life</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RoyaltyMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Royalty and Other Income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RoyaltyMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Royalty and Other Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RoyaltyMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Royalty and other revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds from Issuance of Common Stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net proceeds from public offering</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Proceeds from issuance of common stock, net of issuance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Concentration Risk Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueInputsLevel1Member_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Level 1</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueInputsLevel1Member_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Inputs, Level 1 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Vested</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Aggregate intrinsic value of restricted stock units vested</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Disclosure [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermDebtTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Term Debt [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermDebtTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Convertible Senior Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Documents Incorporated by Reference</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Documents Incorporated by Reference [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Granted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Amortization of Intangible Assets, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Amortization of Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Amortization expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Amortization of Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Tax Deferred Expense, Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Earnings Per Share, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Earnings Per Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SpectrumIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Spectrum Inc.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SpectrumIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Spectrum Inc.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SpectrumIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Spectrum Inc [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SpectrumIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Spectrum Inc.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Term Purchase Commitment, Category of Item Purchased [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Prepaid expenses and other current assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue Recognition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Shares Issued, Value, Share-Based Payment Arrangement, after Forfeiture</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Exercise of stock options and vesting of stock units</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Comprehensive Income (Loss) Note [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated Other Comprehensive Income (Loss)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Pro Forma Net Income (Loss)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Business acquisitions proforma net loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DilutiveSecuritiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Dilutive Securities, Effect on Basic Earnings Per Share [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DilutiveSecuritiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Effect of dilutive securities:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillPurchaseAccountingAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Measurement period adjustments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillPurchaseAccountingAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill, Measurement Period Adjustment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Summary Of Significant Accounting Policies [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Summary Of Significant Accounting Policies [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary Of Significant Accounting Policies [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Exchanged 2019 Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Exchanged 2019 notes.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">2019 Notes [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillImpairmentLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Impairment to goodwill</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillImpairmentLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill, Impairment Loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Value, Acquisitions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Issuance of commons stock pursuant to the acquisition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Changes in Accumulated Other Comprehensive Income (Loss)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TaxYear2041Member_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Tax Year 2041</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TaxYear2041Member_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Tax Year2041 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TaxYear2041Member_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Tax Year2041 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounting Policies [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Option, Activity [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Option Activity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Effective income tax rate reconciliation, nondeductible expense,contingent consideration , percent.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Nondeductible Expense,Contingent Consideration , Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredIncomeTaxLiabilitiesFixedAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Deferred income tax liabilities, fixed assets.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredIncomeTaxLiabilitiesFixedAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Income Tax Liabilities, Fixed Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredIncomeTaxLiabilitiesFixedAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fixed assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash and Cash Equivalents [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Cash and Cash Equivalents [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Disclosure [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory, Raw Materials, Net of Reserves</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Raw materials</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity, Attributable to Parent [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stockholders' equity:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Numerator for diluted earnings per share - net income available to common stockholders after the effect of dilutive securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Income (Loss) Attributable to Parent, Diluted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Numerator for diluted earnings per share - net income available to common stockholders after the effect of dilutive securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Effect of exchange rate changes on cash and cash equivalents</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash, Cash Equivalents and Restricted Cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Statement [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Segment Reporting, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Segment Reporting</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Property, Plant and Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncreaseDecreaseInOperatingLeaseLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Represents Increase Decrease In operating Lease Liabilities.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncreaseDecreaseInOperatingLeaseLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase Decrease In Operating Lease Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncreaseDecreaseInOperatingLeaseLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Increase in operating lease liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Identified Intangible Assets and Estimated Useful Lives</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lease obligation terms</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Lease Not yet Commenced, Term of Contract</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Vested and expected to vest at December 31, 2023</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Income Tax Reconciliation, Nondeductible Expense, Executive Compensation.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Reconciliation Nondeductible Expense Executive Compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Executive compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MilliporeSigmaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Millipore Sigma.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MilliporeSigmaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Millipore Sigma [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MilliporeSigmaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">MilliporeSigma</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Accrued Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Accrued Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Accrued liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted-Average Exercise Price Per Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OptionToPurchaseCommonStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Option To Purchase Common Stock [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OptionToPurchaseCommonStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Option To Purchase Common Stock [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OptionToPurchaseCommonStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Option To Purchase Common Stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Risks and Uncertainties in Entities Business [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Risks and Uncertainties in Entities Business [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Risks and Uncertainties</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Preferred Stock, Shares Authorized</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Preferred stock, shares authorized</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue from Contract with Customer, Including Assessed Tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Total revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityFileNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Securities Act File Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Noncash or part noncash aquisition intangible assets acquired and financing liability.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Noncash or Part Noncash Acquisition, Intangible Assets Acquired And Financing Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Acquisition of intangible assets and issuance of financing liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net increase (decrease) in cash and cash equivalents</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Earnings Per Share [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Earnings per share:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Earnings per share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2029 and thereafter</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Expected Amortization, after Year Five</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-Based Compensation Cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock-based compensation expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">State income and franchise tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory Disclosure [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_WeightedAverageDiscountRate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted Average Discount Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_WeightedAverageDiscountRate_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Weighted average discount rate.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_WeightedAverageDiscountRate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted Average Discount Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement of Financial Position [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Income (Loss)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Income from operations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Repatriation of Foreign Earnings, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">U.S. taxation of foreign earnings</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedIncomeTaxesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income taxes payable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedIncomeTaxesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Income Taxes, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OtherAdjustmentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Other adjustments.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OtherAdjustmentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Adjustments [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OtherAdjustmentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other Adjustments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Condensed Financial Information of Parent Company Only Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restatement of Previously Issued Financial Statements</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityShellCompany_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Shell Company</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">na</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Abstract Of Operating Lease Liability From Balance Sheet Table Text Block [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Operating Lease Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Contingent Consideration Earnout Expect to be Required to Settle Include Significant Unobservable Inputs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value Measurement Inputs and Valuation Techniques [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Interest Rate, Effective Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Effective interest rate on the Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt discount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation Debt discount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Effective income tax ratereconciliation debt discount.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Tax Identification Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Assets [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Error Corrections and Prior Period Adjustments [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of restatement on each financial statement</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarlyRepaymentOfSeniorDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Early Repayment of Senior Debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarlyRepaymentOfSeniorDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Repayment Of Senior Debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConstructionInProgressGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Construction in Progress, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConstructionInProgressGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Construction in progress</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExaminationTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax, Examination [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExaminationTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Tax Examination [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityCurrentReportingStatus_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Current Reporting Status</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ScenarioPreviouslyReportedMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Previously Reported [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ScenarioPreviouslyReportedMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">As Previously Reported</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Effective Income Tax Rate Reconciliation, Return to Provision Adjustments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation Return to Provision Adjustments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Return to provision adjustments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LongTermContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Long-term contingent consideration.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LongTermContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long Term Contingent Consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LongTermContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Long-term contingent consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net asset acquired</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_SegmentGeographicalDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Geographical [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_SegmentGeographicalDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Geographical [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentFiscalYearFocus_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Fiscal Year Focus</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DefinedContribution401KPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Defined Contribution 401 K Plan [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DefinedContribution401KPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Defined Contribution 401 K Plan [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DefinedContribution401KPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Defined Contribution 401 K Plan</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Inventory</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Inventory</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Preferred stock, $0.01 par value, 5,000,000 shares authorized, no shares issued or outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Preferred Stock, Value, Issued, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Preferred Stock, Value, Issued, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Preferred Stock, Value, Issued, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Preferred Stock, Value, Issued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel">Forfeited/expired/cancelled | Shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Forfeited/expired/cancelled | Shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PuroliteMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Purolite</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PuroliteMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Purolite [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PuroliteMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Purolite member.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Accumulated Amortization</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Treasury Stock, Value, Acquired, Cost Method</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Purchase of treasury stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Reconciliation of Unrecognized Tax Benefits</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Foreign-derived intangible income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign-derived intangible income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, FDII, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business Acquisition [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TaxCreditCarryforwardAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Tax Credit Carryforward, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TaxCreditCarryforwardAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business tax credits carry forwards</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_CityAreaCode_lbl" xlink:role="http://www.xbrl.org/2003/role/label">City Area Code</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractualObligationDueInNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contractual Obligation, to be Paid, Year One</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractualObligationDueInNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Outstanding obligation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CashAndMoneyMarketFundsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Cash and money market funds.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CashAndMoneyMarketFundsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash and Money Market Funds [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CashAndMoneyMarketFundsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash and money market funds</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Current liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total current liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DerivativeContractTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Derivative Contract [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PercentageOfSharesSubjectToForfeiture_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Percentage of shares subject to forfeiture.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PercentageOfSharesSubjectToForfeiture_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Percentage of Shares Subject to Forfeiture</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PercentageOfSharesSubjectToForfeiture_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Estimated forfeiture rates</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MonteCarloSimulationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Monte Carlo Simulation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MonteCarloSimulationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Monte Carlo Simulation.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MonteCarloSimulationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Monte Carlo Simulation [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SummaryOfIncomeTaxExaminationsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Summary of Income Tax Examinations [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SummaryOfIncomeTaxExaminationsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Inventories, net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total inventories, net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Expected tax at statutory rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Shares, Conversion of Convertible Securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Conversion of Convertible Securities Stock Issued | shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill and Intangible Assets, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Business Combinations, Goodwill and Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrincipalOwnerMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Principal Owner [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrincipalOwnerMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Principal Owner</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationTransactionCostPaidDuringPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Transaction Cost Paid During Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationTransactionCostPaidDuringPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business combination transaction cost paid during period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule Of Property And Equipment Useful Lives Table [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Property And Equipment Useful Lives [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Property, Plant and Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireSoftware_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments to Acquire Software</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireSoftware_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Additions to capitalized software costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_LocalPhoneNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Local Phone Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Preferred Stock, Shares Outstanding, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Preferred Stock, Shares Outstanding, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Preferred Stock, Shares Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Preferred stock, shares outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseholdImprovementsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Leasehold Improvements, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseholdImprovementsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Leasehold improvements</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AvitideLlcMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Avitide LLC [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AvitideLlcMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Avitide LLC.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AvitideLlcMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Avitide</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Reconciliation of Assets from Segment to Consolidated [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Total Assets by Geographic Area</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetirementPlanSponsorLocationAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Retirement Plan Sponsor Location [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NetWorkingCapitalExcludingCashAndInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Net working capital excluding cash and inventory</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NetWorkingCapitalExcludingCashAndInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net working capital excluding cash and inventory</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NetWorkingCapitalExcludingCashAndInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net working capital (excluding cash and inventory step-up)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PercentageOfCurrentFederalTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Percentage Of Current Federal Tax Expense Benefit</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PercentageOfCurrentFederalTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Percentage Of Current Federal Tax Expense Benefit</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PercentageOfCurrentFederalTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Percentage of alternative minimum tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisclosureTextBlockAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Disclosure Text Block [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxAuthorityAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Jurisdiction [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxAuthorityAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Tax Authority [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetirementPlanTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Retirement Plan Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetirementPlanTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Retirement Plan Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AvitideAndFlexbiosysMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Avitide and Flexbiosys</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AvitideAndFlexbiosysMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Avitide and FlexBiosys [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AvitideAndFlexbiosysMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Avitide and FlexBiosys.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Before Income Taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Commitments and Contingencies Disclosure [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Cash and cash equivalents, Amortized Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt securities held to maturity and cash and cash equivalents amortized costs.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities Held to Maturity and Cash and Cash Equivalents Amortized Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash and cash equivalents, Amortized Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueByBalanceSheetGroupingTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, by Balance Sheet Grouping [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Postretirement Benefits, Individual Contracts, Type of Deferred Compensation [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other Postretirement Benefits, Individual Contracts, Type of Deferred Compensation [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredFinanceCostsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Debt Issuance Costs, Net, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredFinanceCostsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Issuance Costs, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredFinanceCostsNet_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Unamortized debt issuance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DerivativeFixedInterestRate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Discount Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DerivativeFixedInterestRate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Derivative, Fixed Interest Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Consolidated Deferred Tax Assets (Liabilities)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Liability, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Operating lease liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DevelopedTechnologyRightsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Developed Technology Rights [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DevelopedTechnologyRightsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Technology&#8212;developed</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DevelopedTechnologyRightsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Developed technology</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AvailableForSaleSecuritiesEstimatedFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Available for sale securities estimated fair value.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AvailableForSaleSecuritiesEstimatedFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Available for Sale Securities Estimated Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AvailableForSaleSecuritiesEstimatedFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Marketable securities, Estimated Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UncategorizedAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Uncategorized [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UncategorizedAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Uncategorized [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Foreign currency translation adjustment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Translation adjustment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxAuthorityDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Jurisdiction [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxAuthorityDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Tax Authority [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Interest Rate, Stated Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Notes, interest rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Senior convertible notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LeaseObligationsNotYetCommenced_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lease obligations not yet commenced</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LeaseObligationsNotYetCommenced_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lease Obligations Not Yet Commenced</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LeaseObligationsNotYetCommenced_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Lease obligations not yet commenced.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Retained Earnings [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Accumulated Earnings</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue from External Customers by Products and Services [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Product Revenues by Product Line</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasicAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Earnings Per Share, Basic [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasicAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Denominator:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Payments to Acquire Property, Plant, and Equipment, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments to Acquire Property, Plant, and Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Purchases of property, plant and equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProcessAnalyticsProductsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Process Analytics Products Member</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProcessAnalyticsProductsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Process Analytics Products [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentTransitionReport_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Transition Report</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_StockRepurchaseProgramAuthorizedAmount1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Share repurchase amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_StockRepurchaseProgramAuthorizedAmount1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share Repurchase Program, Authorized, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Other assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Other Operating Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Increase (Decrease) in Other Operating Assets, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">2025</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Liability, to be Paid, Year Two</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PostemploymentBenefitsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Postemployment Benefits [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockholdersEquityNoteDisclosureTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Stockholders Equity Note Disclosure [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockholdersEquityNoteDisclosureTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stockholders Equity Note Disclosure [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockholdersEquityNoteDisclosureTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stockholders Equity Note Disclosure [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationTechniqueDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Valuation Approach and Technique [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NumberOfReportingUnits_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of reporting units</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NumberOfReportingUnits_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Number of Reporting Units</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Difference between U.S. and foreign tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShortTermContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Short-term contingent consideration.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShortTermContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Short Term Contingent Consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShortTermContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Short-term contingent consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Exercised</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk, Credit Risk, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Concentrations of Credit Risk and Significant Customers (As Restated)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred tax assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Income Tax Assets, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Deferred Income Tax Assets, Net, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_AuditorFirmId_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Auditor Firm Id</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_AuditorFirmId_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Auditor Firm ID</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_MinimumMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Minimum [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_MinimumMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Minimum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Segment Reporting, Revenue from External Customer, Product and Service [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common Stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Vested and expectd to vest at December 31, 2023</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Tabular disclosure of business combination consideration transferred.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Business Combination Consideration Transferred [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Business Combination Consideration Transferred</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash and cash equivalents</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Weighted Average, Unvested at December 31, 2023</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Weighted Average, Unvested at December 31,2022</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Additional Paid-in Capital [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Additional Paid-in Capital</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Accounts payable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityWellKnownSeasonedIssuer_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Well-known Seasoned Issuer</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Pro Forma Earnings Per Share, Basic</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Basic</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Foreign Currency Transactions and Translations Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign Currency</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Adjustments to reconcile net income to net cash provided by operating activities:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PensionPlansDefinedBenefitMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Pension Plan [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PensionPlansDefinedBenefitMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Pension Plans, Defined Benefit</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeStatementLocationDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement of Income Location, Balance [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeStatementLocationDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Statement Location [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">2024</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Liability, to be Paid, Year One</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other noncurrent assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Other Assets, Noncurrent, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Assets, Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AccruedLiabilitiesPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accrued Liabilities, Policy [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AccruedLiabilitiesPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Liabilities [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AccruedLiabilitiesPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Share-based Compensation Arrangement by Share-based Payment Award, Options and Equity Instruments Other Than Options, Nonvested, Number of Shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangement by Share-based Payment Award, Options and Equity Instruments Other Than Options, Nonvested, Number of Shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of unvested options and restricted stock units</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Deferred Tax Liabilities, Conversion Option on Convertible Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Liabilities, Conversion Option on Convertible Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Conversion option on convertible notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Inventory, Current [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Inventories</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Effective income tax rate reconciliation, nondeductible expense, contingent consideration,amount.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Contingent consideration,Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EarnoutConsiderationEarned_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Earnout consideration earned</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EarnoutConsiderationEarned_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Earnout Consideration Earned</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EarnoutConsiderationEarned_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Earnout consideration earned.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Assets, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Goodwill and Other Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Goodwill and Other Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Common Stock, Shares Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Convertible, Conversion Ratio</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Notes conversion ratio per $1,000 principal amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Disaggregation of Revenue [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Disaggregation of Revenue [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill, Acquired During Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Goodwill arising from Acquisition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Property, Plant, and Equipment, Useful Life, Term, Description [Extensible Enumeration]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant, and Equipment, Useful Life, Term, Description [Extensible Enumeration]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Cash and cash equivalents And money market funds.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash And Cash Equivalents And Money Market Funds [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash equivalents and marketable securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ContingentConsiderationExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ContingentConsiderationExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contingent Consideration Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ContingentConsiderationExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Contingent consideration expense.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ContingentConsiderationExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Contingent consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2024</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Expected Amortization, Year One</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Title and Position [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Relationship to Entity [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Title of Individual [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CustomerRelationshipsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer Relationships [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CustomerRelationshipsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer relationships</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Proceeds from issuance of common stock,issuance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Adjustments to Additional Paid in Capital, Stock Issued, Issuance Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of Deferred Tax Assets and Liabilities [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Deferred Tax Assets and Liabilities [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Deferred Tax Assets and Liabilities [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income (Loss) from Continuing Operations before Income Taxes, Domestic</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Domestic</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Transaction Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Transaction costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Common stock, $0.01 par value; 80,000,000 shares authorized; 55,766,078 shares at December 31, 2023 and 55,557,698 shares at December 31, 2022 issued and outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Common Stock, Value, Issued, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Common Stock, Value, Issued, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Common Stock, Value, Issued, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock, Value, Issued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ExecutiveOfficerMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Executive Officer [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ExecutiveOfficerMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Awards Granted to Executive Level Employees</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfUnits_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Value, Conversion of Units</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfUnits_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Issuance of common stock for debt conversion</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Disclosure on Geographic Areas, Long-Lived Assets in Individual Foreign Countries by Country [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Long Lived Assets by Geographic Area</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule Of Earnings Per Share Basic And Diluted [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Earnings Per Share Basic And Diluted [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule Of Earnings Per Share Basic And Diluted [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidInsurance_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Prepaid Insurance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidInsurance_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Prepaid insurance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Compensation Arrangement with Individual, Postretirement Benefit [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Deferred Compensation Arrangement with Individual, Postretirement Benefits [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RestrictedStockAndPerformanceStockUnitsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restricted Stock Units and Performance Stock Units</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RestrictedStockAndPerformanceStockUnitsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restricted Stock And Performance Stock Units [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RestrictedStockAndPerformanceStockUnitsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Restricted stock units and performance stock units.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_NorthAmericaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">North America [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_NorthAmericaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">North America</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other income (expenses):</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Nonoperating Income (Expense) [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TrustForBenefitOfEmployeesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Trust for Benefit of Employees [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TrustForBenefitOfEmployeesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Employees</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_SE_lbl" xlink:role="http://www.xbrl.org/2003/role/label">SWEDEN</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_SE_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Sweden</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContingentConsiderationTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contingent Consideration Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContingentConsiderationTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent Consideration Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Minimum operating lease payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Minimum operating lease payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxRateReconciliationTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Income Tax Rate Reconciliation [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxRateReconciliationTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Rate Reconciliation [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxRateReconciliationTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Tax Rate Reconciliation [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Measurement Frequency [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ForeignPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign Plan</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ForeignPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Foreign Plan [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ForeignPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Sweden</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Accrued Liabilities [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Accrued Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Deferred Tax Assets, Operating Loss Carryforwards, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Operating Loss Carryforwards</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net operating loss carryforwards</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Commitments and Contingencies</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Commitments and contingencies (Note 14)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Issuance of common stock pursuant to the Avitide, Inc.contingent consideration earnout payment (in shares)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Shares,Contingent Consideration Earnout Payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Stock Issued During Period, shares,contingent consideration earnout payments.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted Average Number of Shares Outstanding, Diluted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Diluted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Significant Accounting Policies [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Significant Accounting Policies</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConvertibleDebtNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Total convertible senior notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConvertibleDebtNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Convertible Senior Notes due 2028, net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConvertibleDebtNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Convertible Debt, Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CapitalizedComputerSoftwareGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Capitalized Computer Software, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CapitalizedComputerSoftwareGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Computer hardware and software</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts receivable, net of reserves of $2,122 and $1,365 at December 31, 2023 and December 31, 2022, respectively</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Accounts Receivable, after Allowance for Credit Loss, Current, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Receivable, after Allowance for Credit Loss, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Accounts receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Vested and expected to vest at December 31, 2023 | shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Liability, to be Paid</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total future minimum lease payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Increase (Decrease) in Inventories, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Inventories</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Inventories</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted average common shares outstanding:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average common shares outstanding:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockholdersEquityNoteDisclosureLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Stockholders Equity Note Disclosure [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockholdersEquityNoteDisclosureLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stockholders Equity Note Disclosure [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockholdersEquityNoteDisclosureLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stockholders Equity Note Disclosure [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk Benchmark [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Concentration Risk Benchmark [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Foreign Income Tax Expense (Benefit), Continuing Operations, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Foreign Income Tax Expense (Benefit), Continuing Operations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_Rule10B51ArrModifiedFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Rule 10b5 1 Arr modified flag.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_Rule10B51ArrModifiedFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Rule 10b5 1 Arr Modified Flag</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_Rule10B51ArrModifiedFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Rule 10b5-1 Arrangement Modified</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntitySmallBusiness_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Small Business</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntitySmallBusiness_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Smaller reporting company</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TaxYear2040Member_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Tax Year 2040.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TaxYear2040Member_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Tax Year 2040 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TaxYear2040Member_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Tax Year 2040</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Liabilities, Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Acquired intangible assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TaxYearTwoThousandThirtySevenMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Tax Year 2037</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TaxYearTwoThousandThirtySevenMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Tax Year Two Thousand Thirty Seven [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TaxYearTwoThousandThirtySevenMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Tax year 2037.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Revenues_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Revenues, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Revenues_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Revenues_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PaymentToPurchaseComponentOfProductRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Payment To Purchase Component Of Product Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PaymentToPurchaseComponentOfProductRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payment To Purchase Component Of Product Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PaymentToPurchaseComponentOfProductRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Payment to purchase component of product revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Goodwill [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ContingentConsiderationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent Consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ContingentConsiderationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Contingent consideration.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ContingentConsiderationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contingent Consideration [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Cash Provided by (Used in) Financing Activities [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash flows from financing activities:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Options outstanding at December 31, 2023</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Options outstanding at December 31, 2022</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock options, weighted average exercise price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LossOnDebtConversion_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Loss on conversion of debt included in other expenses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LossOnDebtConversion_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Loss On Debt Conversion</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LossOnDebtConversion_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Loss on debt conversion.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AmortizationOfDebtDiscountPremium_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Amortization of debt discount and issuance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AmortizationOfDebtDiscountPremium_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Amortization of Debt Discount (Premium)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueByAssetClassAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Asset Class [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Intangible Assets, Net (Excluding Goodwill)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Intangible assets, net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Net Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StateAndLocalJurisdictionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">State and Local Jurisdiction [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StateAndLocalJurisdictionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">State</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Assets acquired under operating leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Right-of-Use Asset Obtained in Exchange for Operating Lease Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SubscriptionTransactionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Subscription Transactions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SubscriptionTransactionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subscription Transactions [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SubscriptionTransactionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Subscription transactions.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CommitmentsAndContingenciesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Commitments and Contingencies [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CommitmentsAndContingenciesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Commitments and Contingencies [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CommitmentsAndContingenciesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Commitments and Contingencies [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Measurement Frequency [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RevenueAndVolumeDiscountRate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue and volume discount rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RevenueAndVolumeDiscountRate_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Revenue and volume discount rate.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RevenueAndVolumeDiscountRate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue and Volume Discount Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RevenueAndVolumeBasedPaymentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue and Volume Based Payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RevenueAndVolumeBasedPaymentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Revenue and volume based payments.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RevenueAndVolumeBasedPaymentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue and Volume Based Payments [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Deferred Tax Assets, Valuation Allowance, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Valuation Allowance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Less: valuation allowance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Tabular disclosure of discount rate and remaining lease term of operating and financial leases.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Discount Rate And Lease Term Used In Calculating Lease Liabilities And Assets [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Weighted Average Discount Rate and Lease Term Used in Calculating Lease Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other comprehensive loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueInputsLevel3Member_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Level 3</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueInputsLevel3Member_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Inputs, Level 3 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Weighted Average Remaining Lease Term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Weighted average remaining lease term (years)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Quarterly Financial Information Disclosure [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OptionToPurchaseAdditionalDebtFaceAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Option to purchase additional debt face amount.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OptionToPurchaseAdditionalDebtFaceAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Option to Purchase Additional Debt Face Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OptionToPurchaseAdditionalDebtFaceAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Additional Notes issued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Change in valuation allowance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Income Tax Reconciliation Return to Provision Adjustments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Reconciliation Return to Provision Adjustments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Return to provision adjustments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Accounts Payable, Current, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Payable, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts payable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ArtesynBiosolutionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">ARTeSYN Biosolutions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ArtesynBiosolutionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">ARTeSYN Biosolutions [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ArtesynBiosolutionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">ARTeSYN Biosolutions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ArtesynBiosolutionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">ARTeSYN</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostsAndExpenses_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Costs and Expenses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostsAndExpenses_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total costs and operating expenses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesFairValueDisclosure_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Balance at December 31, 2023</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesFairValueDisclosure_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Balance at December 31, 2022</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesFairValueDisclosure_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Liabilities, fair value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesFairValueDisclosure_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Balance as of December 31, 2021</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesFairValueDisclosure_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities, Fair Value Disclosure</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesFairValueDisclosure_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Liabilities, Fair Value Disclosure, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BuildingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Building [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Receivable, Allowance for Credit Loss, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts receivable, reserve for doubtful accounts</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Dilutive securities effect on basic earnings per share contingent consideration.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Dilutive Securities Effect On Basic Earnings Per Share Contingent Consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RisksAndUncertaintiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Risks and Uncertainties [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TwoZeroTwoThreeNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2023 Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TwoZeroTwoThreeNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Two Zero Two Three Notes [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TwoZeroTwoThreeNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Two zero two three Notes.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Increase (Decrease) in Accrued Liabilities, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Accrued Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Accrued expenses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NonExecutiveMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Non-Executive [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NonExecutiveMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Non-Executive [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NonExecutiveMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Awards Granted to Non-Executive Level Employees</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Accounts Receivable, Allowance for Credit Loss, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Accounts Receivable, Allowance for Credit Loss, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Receivable, Allowance for Credit Loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedPeriodEndLabel">Ending balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedPeriodStartLabel">Beginning balance</link:label>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_VolatilityRateOfContingentConsideration" xlink:to="rgen_VolatilityRateOfContingentConsideration_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryCurrentTable" xlink:to="us-gaap_InventoryCurrentTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateDuringPeriod" xlink:to="us-gaap_DebtInstrumentInterestRateDuringPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtInstrumentExchangeAmount" xlink:to="rgen_DebtInstrumentExchangeAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameDomain" xlink:to="us-gaap_PlanNameDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_MetenovaHoldingAbMember" xlink:to="rgen_MetenovaHoldingAbMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:to="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestructuringCharges" xlink:to="us-gaap_RestructuringCharges_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="rgen_IntangibleAssetsLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_CostsAndExpensesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenuesAbstract" xlink:to="us-gaap_RevenuesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidNet" xlink:to="us-gaap_InterestPaidNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions" xlink:to="us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy" xlink:to="us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfOperatingSegments" xlink:to="us-gaap_NumberOfOperatingSegments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" xlink:to="rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_CustomerNumberOneMember" xlink:to="rgen_CustomerNumberOneMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNoncashIncomeExpense" xlink:to="us-gaap_OtherNoncashIncomeExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsInventory" xlink:to="us-gaap_DeferredTaxAssetsInventory_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtInstrumentExchangedAmountCancelled" xlink:to="rgen_DebtInstrumentExchangedAmountCancelled_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:to="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:to="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonrecurringAdjustmentAxis" xlink:to="us-gaap_NonrecurringAdjustmentAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorName" xlink:to="dei_AuditorName_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfIncomeBeforeIncomeTaxTable" xlink:to="rgen_ScheduleOfIncomeBeforeIncomeTaxTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_RDAndCommercializationBasedPaymentsMember" xlink:to="rgen_RDAndCommercializationBasedPaymentsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_FiltrationProductsMember" xlink:to="rgen_FiltrationProductsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncompeteAgreementsMember" xlink:to="us-gaap_NoncompeteAgreementsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_MeasurementInputEarnoutDiscountRateMember" xlink:to="rgen_MeasurementInputEarnoutDiscountRateMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:to="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OpenTaxYear" xlink:to="us-gaap_OpenTaxYear_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_SalesRevenuesGoodsNetMember" xlink:to="rgen_SalesRevenuesGoodsNetMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_SubscriptionTransactionMember" xlink:to="rgen_SubscriptionTransactionMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessAcquisitionWorkingCapitalAdjustments" xlink:to="rgen_BusinessAcquisitionWorkingCapitalAdjustments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtInstrumentFaceAmountRemaining" xlink:to="rgen_DebtInstrumentFaceAmountRemaining_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LatestTaxYearMember" xlink:to="us-gaap_LatestTaxYearMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativesPolicyTextBlock" xlink:to="us-gaap_DerivativesPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_IncomeTaxesLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ForeignEarningsSubjectToOneTimeTransitionTax" xlink:to="rgen_ForeignEarningsSubjectToOneTimeTransitionTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleNotesPayableCurrent" xlink:to="us-gaap_ConvertibleNotesPayableCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_StockOptionAndIncentivePlanMember" xlink:to="rgen_StockOptionAndIncentivePlanMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BioflexAndNtmAcquisitionMember" xlink:to="rgen_BioflexAndNtmAcquisitionMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationTaxCredits" xlink:to="us-gaap_IncomeTaxReconciliationTaxCredits_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfGoodwillTable" xlink:to="us-gaap_ScheduleOfGoodwillTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfIntangibleAssetsTable" xlink:to="rgen_ScheduleOfIntangibleAssetsTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RelatedPartyTransactionLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidTaxes" xlink:to="us-gaap_PrepaidTaxes_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpenseNonoperating" xlink:to="us-gaap_InterestExpenseNonoperating_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_LeaseIncentives" xlink:to="rgen_LeaseIncentives_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentCarryingAmount" xlink:to="us-gaap_DebtInstrumentCarryingAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ReconciliationOfBasicAndDilutedAbstract" xlink:to="rgen_ReconciliationOfBasicAndDilutedAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" xlink:to="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdvertisingExpense" xlink:to="us-gaap_AdvertisingExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_PercentOfExciseTaxOnNetStockRepurchases" xlink:to="rgen_PercentOfExciseTaxOnNetStockRepurchases_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherIntangibleAssetsMember" xlink:to="us-gaap_OtherIntangibleAssetsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" xlink:to="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromConvertibleDebt" xlink:to="us-gaap_ProceedsFromConvertibleDebt_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_TwoZeroOneNineNotesMember" xlink:to="rgen_TwoZeroOneNineNotesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain" xlink:to="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RestatementAxis" xlink:to="srt_RestatementAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AmortizationOfDebtIssuanceCost" xlink:to="rgen_AmortizationOfDebtIssuanceCost_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExaminationLineItems" xlink:to="us-gaap_IncomeTaxExaminationLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_ConcentrationRiskTypeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtInstrumentExchangedAmount" xlink:to="rgen_DebtInstrumentExchangedAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_IncomeTaxRateReconciliationLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtInstrumentAccruedAndUnpaidInterest" xlink:to="rgen_DebtInstrumentAccruedAndUnpaidInterest_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost" xlink:to="rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_CTechnologiesMember" xlink:to="rgen_CTechnologiesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalUnitsMember" xlink:to="us-gaap_CapitalUnitsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDebtIssuanceCosts" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfFinancingCosts" xlink:to="us-gaap_AmortizationOfFinancingCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" xlink:to="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:to="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AssetsNonCurrentExcludingDifferedTaxAssets" xlink:to="rgen_AssetsNonCurrentExcludingDifferedTaxAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_NonMetallicSolutionsMember" xlink:to="rgen_NonMetallicSolutionsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AccumulatedDeficitMember" xlink:to="rgen_AccumulatedDeficitMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationTaxContingencies" xlink:to="us-gaap_IncomeTaxReconciliationTaxContingencies_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DeferredTaxLiablitiesMember" xlink:to="rgen_DeferredTaxLiablitiesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:to="us-gaap_AdvertisingCostsPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:to="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock" xlink:to="rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsNetAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtInstrumentConvertibleIntoEquitySettled" xlink:to="rgen_DebtInstrumentConvertibleIntoEquitySettled_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_USTreasuryBillSecuritiesMember" xlink:to="us-gaap_USTreasuryBillSecuritiesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_SupplementalCashFlowElementsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_OtherDirectorsOrOfficersMember" xlink:to="rgen_OtherDirectorsOrOfficersMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentTypeAxis" xlink:to="us-gaap_InvestmentTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:to="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssued1" xlink:to="us-gaap_StockIssued1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentDescription" xlink:to="dei_AmendmentDescription_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RoyaltyExpense" xlink:to="us-gaap_RoyaltyExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductsAndServicesDomain" xlink:to="srt_ProductsAndServicesDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="us-gaap_TaxPeriodDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLossCarryforwards" xlink:to="us-gaap_OperatingLossCarryforwards_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_OperatingLeasedAssetsLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_FlexbiosysIncMember" xlink:to="rgen_FlexbiosysIncMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DiscountRate" xlink:to="rgen_DiscountRate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="us-gaap_TypeOfRestructuringDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementsRecurringMember" xlink:to="us-gaap_FairValueMeasurementsRecurringMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:to="us-gaap_RestructuringAndRelatedActivitiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:to="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="us-gaap_MeasurementInputTypeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:to="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_CounterpartyNameAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedTranslationAdjustmentMember" xlink:to="us-gaap_AccumulatedTranslationAdjustmentMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_FacilityExitAndOtherExitCostsMember" xlink:to="rgen_FacilityExitAndOtherExitCostsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtFairValue" xlink:to="us-gaap_LongTermDebtFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue" xlink:to="rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_UnlimitedCarryforwardPeriodMember" xlink:to="rgen_UnlimitedCarryforwardPeriodMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityDomain" xlink:to="dei_EntityDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestructuringCosts" xlink:to="us-gaap_RestructuringCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" xlink:to="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_IndefiniteLivedIntangibleAssetsNet" xlink:to="rgen_IndefiniteLivedIntangibleAssetsNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewDateOfAnnualGoodwillImpairmentTest" xlink:to="us-gaap_NewDateOfAnnualGoodwillImpairmentTest_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ExtinguishmentOfDebtAmount" xlink:to="us-gaap_ExtinguishmentOfDebtAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeSeveranceMember" xlink:to="us-gaap_EmployeeSeveranceMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:to="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationTechniqueAxis" xlink:to="us-gaap_ValuationTechniqueAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_IncreaseDecreaseInOperatingLeaseAsset" xlink:to="rgen_IncreaseDecreaseInOperatingLeaseAsset_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock" xlink:to="rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent" xlink:to="rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireHeldToMaturitySecurities" xlink:to="us-gaap_PaymentsToAcquireHeldToMaturitySecurities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_PfizerMember" xlink:to="rgen_PfizerMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold" xlink:to="us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_APACMember" xlink:to="rgen_APACMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" xlink:to="rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ProbabilityOfSuccess" xlink:to="rgen_ProbabilityOfSuccess_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent" xlink:to="us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DomesticCountryMember" xlink:to="us-gaap_DomesticCountryMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsTable" xlink:to="rgen_PrepaidExpensesAndOtherCurrentAssetsTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TextBlockAbstract" xlink:to="us-gaap_TextBlockAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeographicConcentrationRiskMember" xlink:to="us-gaap_GeographicConcentrationRiskMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="us-gaap_DebtInstrumentNameDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DefinedContributionPlanEmployeeEligibilityAge" xlink:to="rgen_DefinedContributionPlanEmployeeEligibilityAge_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="us-gaap_LesseeLeaseDescriptionTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpenseMember" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Land" xlink:to="us-gaap_Land_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:to="us-gaap_BusinessAcquisitionsProFormaRevenue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="srt_NameOfMajorCustomerDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateTerms" xlink:to="us-gaap_DebtInstrumentInterestRateTerms_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeMember" xlink:to="srt_RangeMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFinStmtErrorCorrectionFlag" xlink:to="dei_DocumentFinStmtErrorCorrectionFlag_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:to="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TrademarksMember" xlink:to="us-gaap_TrademarksMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ContingentConsiderationObligationEstimated" xlink:to="rgen_ContingentConsiderationObligationEstimated_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_CashConsiderationExcludingRestrictedCash" xlink:to="rgen_CashConsiderationExcludingRestrictedCash_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentIncreaseAccruedInterest" xlink:to="us-gaap_DebtInstrumentIncreaseAccruedInterest_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DeferredTaxImpactOnConversionFeature" xlink:to="rgen_DeferredTaxImpactOnConversionFeature_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueCurrent" xlink:to="us-gaap_DeferredRevenueCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesIssued" xlink:to="us-gaap_PreferredStockSharesIssued_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromStockOptionsExercised" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtInstrumentIssuedForCash" xlink:to="rgen_DebtInstrumentIssuedForCash_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentUnamortizedDiscount" xlink:to="us-gaap_DebtInstrumentUnamortizedDiscount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits" xlink:to="us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="us-gaap_PayablesAndAccrualsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss" xlink:to="us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ChromatographyProductsMember" xlink:to="rgen_ChromatographyProductsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_ClassOfStockDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_FairValueOfEmbeddedConversionOptionMember" xlink:to="rgen_FairValueOfEmbeddedConversionOptionMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" xlink:to="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:to="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContingentConsiderationByTypeAxis" xlink:to="us-gaap_ContingentConsiderationByTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_NumberOfManufacturingSites" xlink:to="rgen_NumberOfManufacturingSites_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:to="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Cash" xlink:to="us-gaap_Cash_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_LiabilitiesNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ComputerHardwareAndSoftwareMemberMember" xlink:to="rgen_ComputerHardwareAndSoftwareMemberMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductMember" xlink:to="us-gaap_ProductMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" xlink:to="rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfSalesMember" xlink:to="us-gaap_CostOfSalesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:to="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" xlink:to="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentRedemptionPricePercentage" xlink:to="us-gaap_DebtInstrumentRedemptionPricePercentage_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_TypeOfAdoptionMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleDebtTableTextBlock" xlink:to="us-gaap_ConvertibleDebtTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:to="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseCost" xlink:to="us-gaap_OperatingLeaseCost_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_CTechnologiesIncMember" xlink:to="rgen_CTechnologiesIncMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" xlink:to="rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsFairValueDisclosure" xlink:to="us-gaap_AssetsFairValueDisclosure_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1" xlink:to="us-gaap_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="us-gaap_RelatedPartyDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_TrademarkMember" xlink:to="rgen_TrademarkMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_OtherProductsMember" xlink:to="rgen_OtherProductsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_LeaseCost_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentArrangementMember" xlink:to="us-gaap_ResearchAndDevelopmentArrangementMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations" xlink:to="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanContributionsByEmployer" xlink:to="us-gaap_DefinedBenefitPlanContributionsByEmployer_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_OwnershipDomain" xlink:to="srt_OwnershipDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="us-gaap_CashAndCashEquivalentsAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="us-gaap_RestructuringCostAndReserveAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="us-gaap_TaxPeriodAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RestatementAdjustmentMember" xlink:to="srt_RestatementAdjustmentMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonrecurringAdjustmentDomain" xlink:to="us-gaap_NonrecurringAdjustmentDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_EquityAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditLossFinancialInstrumentTextBlock" xlink:to="us-gaap_CreditLossFinancialInstrumentTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorLocation" xlink:to="dei_AuditorLocation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:to="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:to="rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRestructuring" xlink:to="us-gaap_PaymentsForRestructuring_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_UnvestedOptionsMember" xlink:to="rgen_UnvestedOptionsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentFaceAmount" xlink:to="us-gaap_DebtInstrumentFaceAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ManufacturingLineExpansionsMember" xlink:to="rgen_ManufacturingLineExpansionsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringCostAndReserveLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingStandardsUpdate202006Member" xlink:to="us-gaap_AccountingStandardsUpdate202006Member_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharePrice" xlink:to="us-gaap_SharePrice_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RestatementDomain" xlink:to="srt_RestatementDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_NumberOfSharesBasicOutstanding" xlink:to="rgen_NumberOfSharesBasicOutstanding_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature" xlink:to="us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_EuropeMember" xlink:to="srt_EuropeMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ProteinsProductsMember" xlink:to="rgen_ProteinsProductsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:to="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrivatePlacementMember" xlink:to="us-gaap_PrivatePlacementMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ProbabilityWeightedPresentValueMember" xlink:to="rgen_ProbabilityWeightedPresentValueMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:to="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestructuringReserveSettledWithoutCash2" xlink:to="us-gaap_RestructuringReserveSettledWithoutCash2_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsMember" xlink:to="us-gaap_OtherAssetsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueDisclosuresAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_FederalAndStateMember" xlink:to="rgen_FederalAndStateMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" xlink:to="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPublicFloat" xlink:to="dei_EntityPublicFloat_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xlink:to="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:to="us-gaap_BusinessAcquisitionProFormaInformationTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_NewtonNewJerseyMember" xlink:to="rgen_NewtonNewJerseyMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="rgen_ScheduleOfAccruedLiabilitiesLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract" xlink:to="us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" xlink:to="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsMember" xlink:to="us-gaap_CashAndCashEquivalentsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:to="us-gaap_PaymentsForProceedsFromOtherInvestingActivities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillImpairedFactsAndCircumstancesLeadingToImpairment" xlink:to="us-gaap_GoodwillImpairedFactsAndCircumstancesLeadingToImpairment_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ExchangedTwoZeroOneNineNotesMember" xlink:to="rgen_ExchangedTwoZeroOneNineNotesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentOther" xlink:to="us-gaap_PropertyPlantAndEquipmentOther_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetImpairmentCharges" xlink:to="us-gaap_AssetImpairmentCharges_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_BalanceSheetLocationDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TrademarksAndTradeNamesMember" xlink:to="us-gaap_TrademarksAndTradeNamesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCostTableTextBlock" xlink:to="us-gaap_LeaseCostTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfGoodwillTextBlock" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1" xlink:to="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarliestTaxYearMember" xlink:to="us-gaap_EarliestTaxYearMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueAbstract" xlink:to="us-gaap_DisaggregationOfRevenueAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_APACOtherMember" xlink:to="rgen_APACOtherMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessCombinationConsiderationIndemnificationEscrow" xlink:to="rgen_BusinessCombinationConsiderationIndemnificationEscrow_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventTypeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditLossAbstract" xlink:to="us-gaap_CreditLossAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_FurnitureFixturesAndOfficeEquipmentMemberMember" xlink:to="rgen_FurnitureFixturesAndOfficeEquipmentMemberMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_TaxYear2043Member" xlink:to="rgen_TaxYear2043Member_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_NonEmployeeDirectorStockOptionMember" xlink:to="rgen_NonEmployeeDirectorStockOptionMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_CoronavirusAidReliefAndEconomicSecurityFundValue" xlink:to="rgen_CoronavirusAidReliefAndEconomicSecurityFundValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:to="us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:to="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_CommitmentsAndContingenciesTable" xlink:to="rgen_CommitmentsAndContingenciesTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" xlink:to="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRent" xlink:to="us-gaap_PaymentsForRent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ConvertibleSeniorNotes" xlink:to="rgen_ConvertibleSeniorNotes_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:to="us-gaap_AccountingChangesAndErrorCorrectionsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentIncomeNet" xlink:to="us-gaap_InvestmentIncomeNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" xlink:to="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DaylightSolutionsIncMember" xlink:to="rgen_DaylightSolutionsIncMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SubsidiarySaleOfStockAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_InvestmentTypeCategorizationMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AcceleratedDepreciationMember" xlink:to="rgen_AcceleratedDepreciationMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xlink:to="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_PolymemSAMember" xlink:to="rgen_PolymemSAMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PatentsMember" xlink:to="us-gaap_PatentsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:to="us-gaap_SegmentReportingAssetReconcilingItemLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtInstrumentConvertibleIntoEquity" xlink:to="rgen_DebtInstrumentConvertibleIntoEquity_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_OutstandingTwoZeroTwoThreeNotesMember" xlink:to="rgen_OutstandingTwoZeroTwoThreeNotesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="rgen_FiniteLivedIntangibleLiabilitiesLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VehiclesMember" xlink:to="us-gaap_VehiclesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:to="us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtTypeAxis" xlink:to="us-gaap_ShortTermDebtTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeAccountsReceivableMember" xlink:to="us-gaap_TradeAccountsReceivableMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodValue" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_NGLImpactAMember" xlink:to="rgen_NGLImpactAMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AvitideIncMember" xlink:to="rgen_AvitideIncMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeNamesMember" xlink:to="us-gaap_TradeNamesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationAndAmortization" xlink:to="us-gaap_DepreciationAndAmortization_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="us-gaap_ShortTermDebtTypeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentFrequencyOfPeriodicPayment" xlink:to="us-gaap_DebtInstrumentFrequencyOfPeriodicPayment_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_IncomeTaxesTable" xlink:to="rgen_IncomeTaxesTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" xlink:to="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ModifiedTwoZeroOneNineNotesMember" xlink:to="rgen_ModifiedTwoZeroOneNineNotesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:to="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_NoncashInventoryAdjustments" xlink:to="rgen_NoncashInventoryAdjustments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_SummaryOfSignificantAccountingPoliciesLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_IcfrAuditorAttestationFlag" xlink:to="dei_IcfrAuditorAttestationFlag_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdTradingDays_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessCombinationAdditionalCashForTransactionBonus" xlink:to="rgen_BusinessCombinationAdditionalCashForTransactionBonus_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestructuringReserve" xlink:to="us-gaap_RestructuringReserve_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtConversionConvertedInstrumentAmount1" xlink:to="us-gaap_DebtConversionConvertedInstrumentAmount1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DeferredTaxAssetsOperatingLeases" xlink:to="rgen_DeferredTaxAssetsOperatingLeases_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenue" xlink:to="us-gaap_DeferredRevenue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases" xlink:to="rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:to="us-gaap_WeightedAverageNumberOfSharesRestrictedStock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MachineryAndEquipmentGross" xlink:to="us-gaap_MachineryAndEquipmentGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessCombinationsCashDepositedInEscrowAccount" xlink:to="rgen_BusinessCombinationsCashDepositedInEscrowAccount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_EngineeredMoldingTechnologyLlcMember" xlink:to="rgen_EngineeredMoldingTechnologyLlcMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_BusinessCombinationsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_TonyJHuntMember" xlink:to="rgen_TonyJHuntMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingsAndImprovementsGross" xlink:to="us-gaap_BuildingsAndImprovementsGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ConvertibleNotesTransactionCostsOfEquityComponent" xlink:to="rgen_ConvertibleNotesTransactionCostsOfEquityComponent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_InflationReductionActOfTwoThousandTwentyTwoMember" xlink:to="rgen_InflationReductionActOfTwoThousandTwentyTwoMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesNoncurrent" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:to="us-gaap_DebtInstrumentConvertibleConversionPrice1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesGross" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" xlink:to="us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NatureOfOperations" xlink:to="us-gaap_NatureOfOperations_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="us-gaap_MeasurementInputTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LeasesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:to="us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AreaOfLand" xlink:to="us-gaap_AreaOfLand_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquipmentMember" xlink:to="us-gaap_EquipmentMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BioflexMember" xlink:to="rgen_BioflexMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_AssetsNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:to="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_NoncashInterestIncome" xlink:to="rgen_NoncashInterestIncome_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfAccruedLiabilitiesTable" xlink:to="rgen_ScheduleOfAccruedLiabilitiesTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MeasurementInputPriceVolatilityMember" xlink:to="us-gaap_MeasurementInputPriceVolatilityMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" xlink:to="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MarketableSecuritiesPolicy" xlink:to="us-gaap_MarketableSecuritiesPolicy_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_FacilityAndOtherExitCostsMember" xlink:to="rgen_FacilityAndOtherExitCostsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_StatementClassOfStockAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LegalEntityAxis" xlink:to="dei_LegalEntityAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresTextBlock" xlink:to="us-gaap_FairValueDisclosuresTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FurnitureAndFixturesGross" xlink:to="us-gaap_FurnitureAndFixturesGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:to="us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsGrossExcludingGoodwill_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_MeasurementInputRevenueVolumeDiscountRateMember" xlink:to="rgen_MeasurementInputRevenueVolumeDiscountRateMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_MeasurementInputProbabilityOfSuccessMember" xlink:to="rgen_MeasurementInputProbabilityOfSuccessMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue" xlink:to="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetirementPlanSponsorLocationDomain" xlink:to="us-gaap_RetirementPlanSponsorLocationDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DilutiveEffectOnSharesOfConversionPremium" xlink:to="rgen_DilutiveEffectOnSharesOfConversionPremium_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ExchangeTransactionMember" xlink:to="rgen_ExchangeTransactionMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_PrepaidServicesAndProfessionalFees" xlink:to="rgen_PrepaidServicesAndProfessionalFees_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ModificationOfDebt" xlink:to="rgen_ModificationOfDebt_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" xlink:to="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_VariableOperatingLeaseCost" xlink:to="rgen_VariableOperatingLeaseCost_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" xlink:to="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:to="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue" xlink:to="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment" xlink:to="rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts" xlink:to="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestOnConvertibleDebtNetOfTax" xlink:to="us-gaap_InterestOnConvertibleDebtNetOfTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpenseDebtExcludingAmortization" xlink:to="us-gaap_InterestExpenseDebtExcludingAmortization_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ExchangeAndSubscriptionAgreementsMember" xlink:to="rgen_ExchangeAndSubscriptionAgreementsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xlink:to="us-gaap_IncomeTaxReconciliationOtherReconcilingItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:to="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_HeldToMaturitySecuritiesCurrent" xlink:to="us-gaap_HeldToMaturitySecuritiesCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent" xlink:to="us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_TrueUpCostsDecember2020Member" xlink:to="rgen_TrueUpCostsDecember2020Member_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_InventoryAdjustmentsMember" xlink:to="rgen_InventoryAdjustmentsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:to="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_CancelledPurchaseOrderPayments" xlink:to="rgen_CancelledPurchaseOrderPayments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh" xlink:to="us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentMaturityDate" xlink:to="us-gaap_DebtInstrumentMaturityDate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MoneyMarketFundsMember" xlink:to="us-gaap_MoneyMarketFundsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireIntangibleAssets" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DeferredTaxLiabilitiesDebtDiscount" xlink:to="rgen_DeferredTaxLiabilitiesDebtDiscount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherInformationPertainingToIncomeTaxes" xlink:to="us-gaap_OtherInformationPertainingToIncomeTaxes_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AmortizationOfInventoryStepUp" xlink:to="rgen_AmortizationOfInventoryStepUp_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NotesIssued1" xlink:to="us-gaap_NotesIssued1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RoyaltyMember" xlink:to="us-gaap_RoyaltyMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel1Member" xlink:to="us-gaap_FairValueInputsLevel1Member_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtTextBlock" xlink:to="us-gaap_LongTermDebtTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="dei_DocumentsIncorporatedByReferenceTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_SpectrumIncMember" xlink:to="rgen_SpectrumIncMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:to="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRecognitionPolicyTextBlock" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:to="us-gaap_ComprehensiveIncomeNoteTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:to="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DilutiveSecuritiesAbstract" xlink:to="us-gaap_DilutiveSecuritiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillPurchaseAccountingAdjustments" xlink:to="us-gaap_GoodwillPurchaseAccountingAdjustments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="rgen_SummaryOfSignificantAccountingPoliciesTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_NotesMember" xlink:to="rgen_NotesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillImpairmentLoss" xlink:to="us-gaap_GoodwillImpairmentLoss_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:to="us-gaap_StockIssuedDuringPeriodValueAcquisitions_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:to="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_TaxYear2041Member" xlink:to="rgen_TaxYear2041Member_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DeferredIncomeTaxLiabilitiesFixedAssets" xlink:to="rgen_DeferredIncomeTaxLiabilitiesFixedAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="us-gaap_CashAndCashEquivalentsLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:to="us-gaap_NetIncomeLossAttributableToParentDiluted_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:to="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:to="us-gaap_SegmentReportingPolicyPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:to="rgen_IncreaseDecreaseInOperatingLeaseLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:to="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1" xlink:to="us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" xlink:to="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_MilliporeSigmaMember" xlink:to="rgen_MilliporeSigmaMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_OptionToPurchaseCommonStockMember" xlink:to="rgen_OptionToPurchaseCommonStockMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" xlink:to="rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesAuthorized" xlink:to="us-gaap_PreferredStockSharesAuthorized_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability" xlink:to="rgen_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_WeightedAverageDiscountRate" xlink:to="rgen_WeightedAverageDiscountRate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings" xlink:to="us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedIncomeTaxesCurrent" xlink:to="us-gaap_AccruedIncomeTaxesCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_OtherAdjustmentsMember" xlink:to="rgen_OtherAdjustmentsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock" xlink:to="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" xlink:to="rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock" xlink:to="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarlyRepaymentOfSeniorDebt" xlink:to="us-gaap_EarlyRepaymentOfSeniorDebt_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConstructionInProgressGross" xlink:to="us-gaap_ConstructionInProgressGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExaminationTable" xlink:to="us-gaap_IncomeTaxExaminationTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScenarioPreviouslyReportedMember" xlink:to="srt_ScenarioPreviouslyReportedMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_LongTermContingentConsideration" xlink:to="rgen_LongTermContingentConsideration_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DefinedContribution401KPlanMember" xlink:to="rgen_DefinedContribution401KPlanMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockValue" xlink:to="us-gaap_PreferredStockValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_PuroliteMember" xlink:to="rgen_PuroliteMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxCreditCarryforwardAmount" xlink:to="us-gaap_TaxCreditCarryforwardAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractualObligationDueInNextTwelveMonths" xlink:to="us-gaap_ContractualObligationDueInNextTwelveMonths_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_CashAndMoneyMarketFundsMember" xlink:to="rgen_CashAndMoneyMarketFundsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_DerivativeContractTypeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_PercentageOfSharesSubjectToForfeiture" xlink:to="rgen_PercentageOfSharesSubjectToForfeiture_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_MonteCarloSimulationMember" xlink:to="rgen_MonteCarloSimulationMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SummaryOfIncomeTaxExaminationsTextBlock" xlink:to="us-gaap_SummaryOfIncomeTaxExaminationsTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:to="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrincipalOwnerMember" xlink:to="us-gaap_PrincipalOwnerMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessCombinationTransactionCostPaidDuringPeriod" xlink:to="rgen_BusinessCombinationTransactionCostPaidDuringPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" xlink:to="rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireSoftware" xlink:to="us-gaap_PaymentsToAcquireSoftware_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesOutstanding" xlink:to="us-gaap_PreferredStockSharesOutstanding_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsGross" xlink:to="us-gaap_LeaseholdImprovementsGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AvitideLlcMember" xlink:to="rgen_AvitideLlcMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xlink:to="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetirementPlanSponsorLocationAxis" xlink:to="us-gaap_RetirementPlanSponsorLocationAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_NetWorkingCapitalExcludingCashAndInventory" xlink:to="rgen_NetWorkingCapitalExcludingCashAndInventory_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_PercentageOfCurrentFederalTaxExpenseBenefit" xlink:to="rgen_PercentageOfCurrentFederalTaxExpenseBenefit_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DisclosureTextBlockAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetirementPlanTypeDomain" xlink:to="us-gaap_RetirementPlanTypeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AvitideAndFlexbiosysMember" xlink:to="rgen_AvitideAndFlexbiosysMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:to="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" xlink:to="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_FairValueByBalanceSheetGroupingTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" xlink:to="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFinanceCostsNet" xlink:to="us-gaap_DeferredFinanceCostsNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeFixedInterestRate" xlink:to="us-gaap_DerivativeFixedInterestRate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DevelopedTechnologyRightsMember" xlink:to="us-gaap_DevelopedTechnologyRightsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AvailableForSaleSecuritiesEstimatedFairValue" xlink:to="rgen_AvailableForSaleSecuritiesEstimatedFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_UncategorizedAbstract" xlink:to="rgen_UncategorizedAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_IncomeTaxAuthorityDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_LeaseObligationsNotYetCommenced" xlink:to="rgen_LeaseObligationsNotYetCommenced_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasicAbstract" xlink:to="us-gaap_EarningsPerShareBasicAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ProcessAnalyticsProductsMember" xlink:to="rgen_ProcessAnalyticsProductsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StockRepurchaseProgramAuthorizedAmount1" xlink:to="srt_StockRepurchaseProgramAuthorizedAmount1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PostemploymentBenefitsAbstract" xlink:to="us-gaap_PostemploymentBenefitsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="rgen_StockholdersEquityNoteDisclosureTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationTechniqueDomain" xlink:to="us-gaap_ValuationTechniqueDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfReportingUnits" xlink:to="us-gaap_NumberOfReportingUnits_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ShortTermContingentConsideration" xlink:to="rgen_ShortTermContingentConsideration_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskCreditRisk" xlink:to="us-gaap_ConcentrationRiskCreditRisk_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorFirmId" xlink:to="dei_AuditorFirmId_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" xlink:to="rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:to="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionPlansDefinedBenefitMember" xlink:to="us-gaap_PensionPlansDefinedBenefitMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_IncomeStatementLocationDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AccruedLiabilitiesPolicyTextBlock" xlink:to="rgen_AccruedLiabilitiesPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" xlink:to="rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" xlink:to="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_EarnoutConsiderationEarned" xlink:to="rgen_EarnoutConsiderationEarned_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsCurrent" xlink:to="us-gaap_OtherAssetsCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:to="us-gaap_DebtInstrumentConvertibleConversionRatio1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAcquiredDuringPeriod" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember" xlink:to="rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ContingentConsiderationExpense" xlink:to="rgen_ContingentConsiderationExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerRelationshipsMember" xlink:to="us-gaap_CustomerRelationshipsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xlink:to="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" xlink:to="us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ExecutiveOfficerMember" xlink:to="srt_ExecutiveOfficerMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueConversionOfUnits" xlink:to="us-gaap_StockIssuedDuringPeriodValueConversionOfUnits_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:to="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidInsurance" xlink:to="us-gaap_PrepaidInsurance_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:to="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_RestrictedStockAndPerformanceStockUnitsMember" xlink:to="rgen_RestrictedStockAndPerformanceStockUnitsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_NorthAmericaMember" xlink:to="srt_NorthAmericaMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpenseAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TrustForBenefitOfEmployeesMember" xlink:to="us-gaap_TrustForBenefitOfEmployeesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_SE" xlink:to="country_SE_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContingentConsiderationTypeDomain" xlink:to="us-gaap_ContingentConsiderationTypeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_IncomeTaxRateReconciliationTable" xlink:to="rgen_IncomeTaxRateReconciliationTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignPlanMember" xlink:to="us-gaap_ForeignPlanMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments" xlink:to="rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleDebtNoncurrent" xlink:to="us-gaap_ConvertibleDebtNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalizedComputerSoftwareGross" xlink:to="us-gaap_CapitalizedComputerSoftwareGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="rgen_StockholdersEquityNoteDisclosureLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations" xlink:to="us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_Rule10B51ArrModifiedFlag" xlink:to="rgen_Rule10B51ArrModifiedFlag_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_TaxYear2040Member" xlink:to="rgen_TaxYear2040Member_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_TaxYearTwoThousandThirtySevenMember" xlink:to="rgen_TaxYearTwoThousandThirtySevenMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_PaymentToPurchaseComponentOfProductRevenue" xlink:to="rgen_PaymentToPurchaseComponentOfProductRevenue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillMember" xlink:to="us-gaap_GoodwillMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ContingentConsiderationMember" xlink:to="rgen_ContingentConsiderationMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_LossOnDebtConversion" xlink:to="rgen_LossOnDebtConversion_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfDebtDiscountPremium" xlink:to="us-gaap_AmortizationOfDebtDiscountPremium_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueByAssetClassAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StateAndLocalJurisdictionMember" xlink:to="us-gaap_StateAndLocalJurisdictionMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_SubscriptionTransactionsMember" xlink:to="rgen_SubscriptionTransactionsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_CommitmentsAndContingenciesLineItems" xlink:to="rgen_CommitmentsAndContingenciesLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_RevenueAndVolumeDiscountRate" xlink:to="rgen_RevenueAndVolumeDiscountRate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_RevenueAndVolumeBasedPaymentsMember" xlink:to="rgen_RevenueAndVolumeBasedPaymentsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" xlink:to="rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel3Member" xlink:to="us-gaap_FairValueInputsLevel3Member_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_QuarterlyFinancialInformationDisclosureAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_OptionToPurchaseAdditionalDebtFaceAmount" xlink:to="rgen_OptionToPurchaseAdditionalDebtFaceAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" xlink:to="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ArtesynBiosolutionsMember" xlink:to="rgen_ArtesynBiosolutionsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_CostsAndExpenses_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesFairValueDisclosure" xlink:to="us-gaap_LiabilitiesFairValueDisclosure_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingMember" xlink:to="us-gaap_BuildingMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" xlink:to="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RisksAndUncertaintiesAbstract" xlink:to="us-gaap_RisksAndUncertaintiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_TwoZeroTwoThreeNotesMember" xlink:to="rgen_TwoZeroTwoThreeNotesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_NonExecutiveMember" xlink:to="rgen_NonExecutiveMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl"/>
        </link:labelLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/CoverPage" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="dei_DocumentType"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorName" xlink:label="dei_AuditorName"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentDescription" xlink:label="dei_AmendmentDescription"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AmendmentFlag" order="49.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentType" order="50.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFiscalYearFocus" order="51.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFiscalPeriodFocus" order="52.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCentralIndexKey" order="53.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_CurrentFiscalYearEndDate" order="54.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentPeriodEndDate" order="55.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCurrentReportingStatus" order="56.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityInteractiveDataCurrent" order="57.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityFileNumber" order="58.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityRegistrantName" order="59.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityFilerCategory" order="60.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_TradingSymbol" order="61.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_Security12bTitle" order="62.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_SecurityExchangeName" order="63.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityIncorporationStateCountryCode" order="64.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityTaxIdentificationNumber" order="65.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressAddressLine1" order="66.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressCityOrTown" order="67.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressStateOrProvince" order="68.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressPostalZipCode" order="69.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_CityAreaCode" order="70.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityShellCompany" order="71.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntitySmallBusiness" order="72.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityEmergingGrowthCompany" order="73.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_LocalPhoneNumber" order="74.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentAnnualReport" order="75.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentTransitionReport" order="76.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityVoluntaryFilers" order="77.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityWellKnownSeasonedIssuer" order="78.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityPublicFloat" order="79.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCommonStockSharesOutstanding" order="80.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_IcfrAuditorAttestationFlag" order="81.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentsIncorporatedByReferenceTextBlock" order="82.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AuditorFirmId" order="83.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AuditorName" order="84.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AuditorLocation" order="85.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFinStmtErrorCorrectionFlag" order="86.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AmendmentDescription" order="87.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_HeldToMaturitySecuritiesCurrent" xlink:label="us-gaap_HeldToMaturitySecuritiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConvertibleDebtNoncurrent" xlink:label="us-gaap_ConvertibleDebtNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent" xlink:label="us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="us-gaap_LiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsNoncurrent" xlink:label="us-gaap_AssetsNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableCurrent" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_PreferredStockValue" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_AssetsAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsCurrentAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_HeldToMaturitySecuritiesCurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_ConvertibleDebtNoncurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_CommonStockValue" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryNet" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedLiabilitiesCurrent" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_Goodwill" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ConvertibleNotesPayableCurrent" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrent" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquity" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesNoncurrent" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_Liabilities" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsNoncurrent" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_CommitmentsAndContingencies" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_Assets" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesAuthorized" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesIssued" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesOutstanding" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesAuthorized" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesIssued" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesAbstract" xlink:label="us-gaap_RevenuesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostsAndExpensesAbstract" xlink:label="us-gaap_CostsAndExpensesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentIncomeNet" xlink:label="us-gaap_InvestmentIncomeNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RoyaltyMember" xlink:label="us-gaap_RoyaltyMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseNonoperating" xlink:label="us-gaap_InterestExpenseNonoperating"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfDebtIssuanceCost" xlink:label="rgen_AmortizationOfDebtIssuanceCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostsAndExpenses" xlink:label="us-gaap_CostsAndExpenses"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_9"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenuesAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_CostOfGoodsAndServicesSold" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuesAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ProductMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InvestmentIncomeNet" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CostsAndExpensesAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpense" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_RoyaltyMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InterestExpenseNonoperating" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingIncomeLoss" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherNonoperatingIncomeExpenseAbstract" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="rgen_AmortizationOfDebtIssuanceCost" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_CostsAndExpenses" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpense" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareAbstract" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss_9" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingStandardsUpdate202006Member" xlink:label="us-gaap_AccountingStandardsUpdate202006Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TrueUpCostsDecember2020Member" xlink:label="rgen_TrueUpCostsDecember2020Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfUnits" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfUnits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" xlink:label="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment" xlink:label="rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments" xlink:label="rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxImpactOnConversionFeature" xlink:label="rgen_DeferredTaxImpactOnConversionFeature"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_19"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding_20"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_AccountingStandardsUpdate202006Member" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_TrueUpCostsDecember2020Member" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueConversionOfUnits" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueAcquisitions" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" order="15" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" order="16" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_DeferredTaxImpactOnConversionFeature" order="17" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" order="18" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity_19" order="19" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding_20" order="20" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquityParenthetical" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowElementsAbstract" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities" xlink:label="us-gaap_PaymentsToAcquireHeldToMaturitySecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesIncMember" xlink:label="rgen_CTechnologiesIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfInventoryStepUp" xlink:label="rgen_AmortizationOfInventoryStepUp"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssued1" xlink:label="us-gaap_StockIssued1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:label="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" xlink:label="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" xlink:label="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireSoftware" xlink:label="us-gaap_PaymentsToAcquireSoftware"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfDebtDiscountPremium" xlink:label="us-gaap_AmortizationOfDebtDiscountPremium"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts" xlink:label="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability" xlink:label="rgen_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NotesIssued1" xlink:label="us-gaap_NotesIssued1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ExtinguishmentOfDebtAmount" xlink:label="us-gaap_ExtinguishmentOfDebtAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:label="us-gaap_PaymentsForProceedsFromOtherInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NoncashInterestIncome" xlink:label="rgen_NoncashInterestIncome"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" xlink:label="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" xlink:label="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="us-gaap_OtherNoncashIncomeExpense"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetIncomeLoss" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireHeldToMaturitySecurities" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_CTechnologiesIncMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_IncomeTaxesPaidNet" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="rgen_AmortizationOfInventoryStepUp" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_StockIssued1" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_InterestPaidNet" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DepreciationAndAmortization" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromConvertibleDebt" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireSoftware" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AmortizationOfDebtDiscountPremium" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="rgen_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_NotesIssued1" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_ExtinguishmentOfDebtAmount" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsForProceedsFromOtherInvestingActivities" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="rgen_NoncashInterestIncome" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SupplementalCashFlowElementsAbstract" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_OtherNoncashIncomeExpense" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllIndividualsMember" xlink:label="ecd_AllIndividualsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TonyJHuntMember" xlink:label="rgen_TonyJHuntMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OtherDirectorsOrOfficersMember" xlink:label="rgen_OtherDirectorsOrOfficersMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTradingArrLineItems" xlink:label="ecd_InsiderTradingArrLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_Rule10B51ArrModifiedFlag" xlink:label="rgen_Rule10B51ArrModifiedFlag"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_AllIndividualsMember" xlink:to="rgen_TonyJHuntMember" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_AllIndividualsMember" xlink:to="rgen_OtherDirectorsOrOfficersMember" order="3.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_InsiderTradingArrLineItems" xlink:to="rgen_Rule10B51ArrModifiedFlag" order="14.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatement" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:label="us-gaap_AccountingChangesAndErrorCorrectionsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock" xlink:label="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:to="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/OrganizationAndNatureOfBusiness" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NatureOfOperations" xlink:label="us-gaap_NatureOfOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NatureOfOperations" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPolicies" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurements" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueDisclosuresTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/Acquisitions" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:label="us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlan" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:label="us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:label="us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:to="us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/Leases" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognition" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/CreditLosses" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditLossAbstract" xlink:label="us-gaap_CreditLossAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditLossFinancialInstrumentTextBlock" xlink:label="us-gaap_CreditLossFinancialInstrumentTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditLossAbstract" xlink:to="us-gaap_CreditLossFinancialInstrumentTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssets" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:label="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquity" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingencies" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotes" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="us-gaap_LongTermDebtTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_LongTermDebtTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLoss" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ComprehensiveIncomeNoteTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlans" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:label="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PostemploymentBenefitsAbstract" xlink:label="us-gaap_PostemploymentBenefitsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PostemploymentBenefitsAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactions" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="us-gaap_RelatedPartyTransactionsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnaudited" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationTextBlock" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" xlink:label="rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:label="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativesPolicyTextBlock" xlink:label="us-gaap_DerivativesPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MarketableSecuritiesPolicy" xlink:label="us-gaap_MarketableSecuritiesPolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:label="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy" xlink:label="us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AccruedLiabilitiesPolicyTextBlock" xlink:label="rgen_AccruedLiabilitiesPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_UseOfEstimates" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DerivativesPolicyTextBlock" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_MarketableSecuritiesPolicy" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_InventoryPolicyTextBlock" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="rgen_AccruedLiabilitiesPolicyTextBlock" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_IncomeTaxPolicyTextBlock" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock" order="15" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_SegmentReportingPolicyPolicyTextBlock" order="16" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ConcentrationRiskCreditRisk" order="17" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" order="18" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" order="19" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AdvertisingCostsPolicyTextBlock" order="20" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" order="21" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:label="us-gaap_AccountingChangesAndErrorCorrectionsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock" xlink:label="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:to="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" xlink:label="rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SalesRevenuesGoodsNetMember" xlink:label="rgen_SalesRevenuesGoodsNetMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" xlink:label="rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TradeAccountsReceivableMember" xlink:label="us-gaap_TradeAccountsReceivableMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:label="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="rgen_SalesRevenuesGoodsNetMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_TradeAccountsReceivableMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock" xlink:label="rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock" xlink:label="rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:label="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" xlink:label="rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract" xlink:label="us-gaap_TextBlockAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BioflexAndNtmAcquisitionMember" xlink:label="rgen_BioflexAndNtmAcquisitionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PolymemSAMember" xlink:label="rgen_PolymemSAMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="rgen_ArtesynBiosolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="rgen_NonMetallicSolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="rgen_EngineeredMoldingTechnologyLlcMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesMember" xlink:label="rgen_CTechnologiesMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TextBlockAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_BioflexAndNtmAcquisitionMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_PolymemSAMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsMember" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_NonMetallicSolutionsMember" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_EngineeredMoldingTechnologyLlcMember" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_CTechnologiesMember" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:label="us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:label="us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:to="us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:to="us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/LeasesTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" xlink:label="rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" xlink:label="rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" xlink:label="rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LeaseCostTableTextBlock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognitionTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/CreditLossesTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditLossAbstract" xlink:label="us-gaap_CreditLossAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditLossAbstract" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" xlink:label="rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetailTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:label="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SummaryOfIncomeTaxExaminationsTextBlock" xlink:label="us-gaap_SummaryOfIncomeTaxExaminationsTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SummaryOfIncomeTaxExaminationsTextBlock" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConvertibleDebtTableTextBlock" xlink:label="us-gaap_ConvertibleDebtTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_ConvertibleDebtTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLossTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnauditedTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsDescriptionOfRestatementAdjustmentsAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CancelledPurchaseOrderPayments" xlink:label="rgen_CancelledPurchaseOrderPayments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:label="us-gaap_AccountingChangesAndErrorCorrectionsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PaymentToPurchaseComponentOfProductRevenue" xlink:label="rgen_PaymentToPurchaseComponentOfProductRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_CancelledPurchaseOrderPayments" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ProductMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_PaymentToPurchaseComponentOfProductRevenue" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Revenues" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:label="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementAxis" xlink:label="srt_RestatementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementDomain" xlink:label="srt_RestatementDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioPreviouslyReportedMember" xlink:label="srt_ScenarioPreviouslyReportedMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:label="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_HeldToMaturitySecuritiesCurrent" xlink:label="us-gaap_HeldToMaturitySecuritiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementAdjustmentMember" xlink:label="srt_RestatementAdjustmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConvertibleDebtNoncurrent" xlink:label="us-gaap_ConvertibleDebtNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OtherAdjustmentsMember" xlink:label="rgen_OtherAdjustmentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent" xlink:label="us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="us-gaap_LiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsNoncurrent" xlink:label="us-gaap_AssetsNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_AssetsAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RestatementAxis" xlink:to="srt_RestatementDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RestatementDomain" xlink:to="srt_ScenarioPreviouslyReportedMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableCurrent" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:to="srt_RestatementAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_PreferredStockValue" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsCurrentAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_HeldToMaturitySecuritiesCurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RestatementDomain" xlink:to="srt_RestatementAdjustmentMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:to="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_ConvertibleDebtNoncurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_CommonStockValue" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RestatementDomain" xlink:to="rgen_OtherAdjustmentsMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryNet" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedLiabilitiesCurrent" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_Goodwill" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ConvertibleNotesPayableCurrent" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrent" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquity" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesNoncurrent" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_Liabilities" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsNoncurrent" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_CommitmentsAndContingencies" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_Assets" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal1" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:label="us-gaap_AccountingChangesAndErrorCorrectionsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:to="us-gaap_PreferredStockSharesAuthorized" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:to="us-gaap_PreferredStockSharesIssued" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:to="us-gaap_PreferredStockSharesOutstanding" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:to="us-gaap_CommonStockSharesAuthorized" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:to="us-gaap_CommonStockSharesIssued" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:to="us-gaap_CommonStockSharesOutstanding" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostsAndExpensesAbstract" xlink:label="us-gaap_CostsAndExpensesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesAbstract" xlink:label="us-gaap_RevenuesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:label="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementAxis" xlink:label="srt_RestatementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementDomain" xlink:label="srt_RestatementDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioPreviouslyReportedMember" xlink:label="srt_ScenarioPreviouslyReportedMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:label="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:label="us-gaap_AccountingChangesAndErrorCorrectionsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentIncomeNet" xlink:label="us-gaap_InvestmentIncomeNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RoyaltyMember" xlink:label="us-gaap_RoyaltyMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementAdjustmentMember" xlink:label="srt_RestatementAdjustmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseNonoperating" xlink:label="us-gaap_InterestExpenseNonoperating"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OtherAdjustmentsMember" xlink:label="rgen_OtherAdjustmentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfDebtIssuanceCost" xlink:label="rgen_AmortizationOfDebtIssuanceCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostsAndExpenses" xlink:label="us-gaap_CostsAndExpenses"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_9"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_CostOfGoodsAndServicesSold" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuesAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_RevenuesAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RestatementAxis" xlink:to="srt_RestatementDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ProductMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RestatementDomain" xlink:to="srt_ScenarioPreviouslyReportedMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:to="srt_RestatementAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:to="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InvestmentIncomeNet" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpense" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_CostsAndExpensesAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_RoyaltyMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RestatementDomain" xlink:to="srt_RestatementAdjustmentMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:to="srt_ProductOrServiceAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InterestExpenseNonoperating" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_OperatingIncomeLoss" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RestatementDomain" xlink:to="rgen_OtherAdjustmentsMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:to="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_OtherNonoperatingIncomeExpenseAbstract" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="rgen_AmortizationOfDebtIssuanceCost" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_CostsAndExpenses" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpense" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_NetIncomeLoss" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_EarningsPerShareAbstract" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_NetIncomeLoss_9" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf2" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:label="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementAxis" xlink:label="srt_RestatementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementDomain" xlink:label="srt_RestatementDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioPreviouslyReportedMember" xlink:label="srt_ScenarioPreviouslyReportedMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:label="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:label="us-gaap_AccountingChangesAndErrorCorrectionsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementAdjustmentMember" xlink:label="srt_RestatementAdjustmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OtherAdjustmentsMember" xlink:label="rgen_OtherAdjustmentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_3"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_StockholdersEquity" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RestatementAxis" xlink:to="srt_RestatementDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RestatementDomain" xlink:to="srt_ScenarioPreviouslyReportedMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:to="srt_RestatementAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:to="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_NetIncomeLoss" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RestatementDomain" xlink:to="srt_RestatementAdjustmentMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RestatementDomain" xlink:to="rgen_OtherAdjustmentsMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:to="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_StockholdersEquity_3" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:label="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementAxis" xlink:label="srt_RestatementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementDomain" xlink:label="srt_RestatementDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowElementsAbstract" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:label="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioPreviouslyReportedMember" xlink:label="srt_ScenarioPreviouslyReportedMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities" xlink:label="us-gaap_PaymentsToAcquireHeldToMaturitySecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfInventoryStepUp" xlink:label="rgen_AmortizationOfInventoryStepUp"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssued1" xlink:label="us-gaap_StockIssued1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementAdjustmentMember" xlink:label="srt_RestatementAdjustmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:label="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" xlink:label="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OtherAdjustmentsMember" xlink:label="rgen_OtherAdjustmentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireSoftware" xlink:label="us-gaap_PaymentsToAcquireSoftware"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfDebtDiscountPremium" xlink:label="us-gaap_AmortizationOfDebtDiscountPremium"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts" xlink:label="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NotesIssued1" xlink:label="us-gaap_NotesIssued1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ExtinguishmentOfDebtAmount" xlink:label="us-gaap_ExtinguishmentOfDebtAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1" xlink:label="us-gaap_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:label="us-gaap_PaymentsForProceedsFromOtherInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NoncashInterestIncome" xlink:label="rgen_NoncashInterestIncome"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" xlink:label="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" xlink:label="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="us-gaap_OtherNoncashIncomeExpense"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RestatementAxis" xlink:to="srt_RestatementDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetIncomeLoss" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RestatementDomain" xlink:to="srt_ScenarioPreviouslyReportedMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:to="srt_RestatementAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireHeldToMaturitySecurities" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_IncomeTaxesPaidNet" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="rgen_AmortizationOfInventoryStepUp" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_StockIssued1" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RestatementDomain" xlink:to="srt_RestatementAdjustmentMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:to="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_InterestPaidNet" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DepreciationAndAmortization" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromConvertibleDebt" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RestatementDomain" xlink:to="rgen_OtherAdjustmentsMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireSoftware" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AmortizationOfDebtDiscountPremium" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_NotesIssued1" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_ExtinguishmentOfDebtAmount" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsForProceedsFromOtherInvestingActivities" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="rgen_NoncashInterestIncome" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_SupplementalCashFlowElementsAbstract" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_OtherNoncashIncomeExpense" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureOrganizationAndNatureOfBusinessAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NumberOfManufacturingSites" xlink:label="rgen_NumberOfManufacturingSites"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="rgen_NumberOfManufacturingSites" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PfizerMember" xlink:label="rgen_PfizerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingStandardsUpdate202006Member" xlink:label="us-gaap_AccountingStandardsUpdate202006Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CustomerNumberOneMember" xlink:label="rgen_CustomerNumberOneMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonExecutiveMember" xlink:label="rgen_NonExecutiveMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PuroliteMember" xlink:label="rgen_PuroliteMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OptionToPurchaseCommonStockMember" xlink:label="rgen_OptionToPurchaseCommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestOnConvertibleDebtNetOfTax" xlink:label="us-gaap_InterestOnConvertibleDebtNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RestrictedStockAndPerformanceStockUnitsMember" xlink:label="rgen_RestrictedStockAndPerformanceStockUnitsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonEmployeeDirectorStockOptionMember" xlink:label="rgen_NonEmployeeDirectorStockOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveEffectOnSharesOfConversionPremium" xlink:label="rgen_DilutiveEffectOnSharesOfConversionPremium"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentageOfSharesSubjectToForfeiture" xlink:label="rgen_PercentageOfSharesSubjectToForfeiture"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdvertisingExpense" xlink:label="us-gaap_AdvertisingExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ContingentConsiderationObligationEstimated" xlink:label="rgen_ContingentConsiderationObligationEstimated"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfReportingUnits" xlink:label="us-gaap_NumberOfReportingUnits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillImpairedFactsAndCircumstancesLeadingToImpairment" xlink:label="us-gaap_GoodwillImpairedFactsAndCircumstancesLeadingToImpairment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewDateOfAnnualGoodwillImpairmentTest" xlink:label="us-gaap_NewDateOfAnnualGoodwillImpairmentTest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="us-gaap_NumberOfOperatingSegments"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgen_PfizerMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_AccountingStandardsUpdate202006Member" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="srt_MajorCustomersAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="rgen_SummaryOfSignificantAccountingPoliciesTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_ExecutiveOfficerMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgen_CustomerNumberOneMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_DebtInstrumentCarryingAmount" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="us-gaap_AwardTypeAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="rgen_NonExecutiveMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgen_PuroliteMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="srt_RangeAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_OptionToPurchaseCommonStockMember" order="3.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_InterestOnConvertibleDebtNetOfTax" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="srt_TitleOfIndividualAxis" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" order="4.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="us-gaap_DebtInstrumentAxis" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_RestrictedStockAndPerformanceStockUnitsMember" order="5.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_NonEmployeeDirectorStockOptionMember" order="6.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_DilutiveEffectOnSharesOfConversionPremium" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" order="7.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_PercentageOfSharesSubjectToForfeiture" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_AdvertisingExpense" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="rgen_SummaryOfSignificantAccountingPoliciesLineItems" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_ContingentConsiderationObligationEstimated" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_NumberOfReportingUnits" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_GoodwillImpairedFactsAndCircumstancesLeadingToImpairment" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_NewDateOfAnnualGoodwillImpairmentTest" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_GoodwillImpairmentLoss" order="15" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_AssetImpairmentCharges" order="16" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" order="17" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_Cash" order="18" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_NumberOfOperatingSegments" order="19" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquipmentMember" xlink:label="us-gaap_EquipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FurnitureFixturesAndOfficeEquipmentMemberMember" xlink:label="rgen_FurnitureFixturesAndOfficeEquipmentMemberMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ComputerHardwareAndSoftwareMemberMember" xlink:label="rgen_ComputerHardwareAndSoftwareMemberMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_BuildingMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="srt_RangeAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LeaseholdImprovementsMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_EquipmentMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="rgen_FurnitureFixturesAndOfficeEquipmentMemberMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="rgen_ComputerHardwareAndSoftwareMemberMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_VehiclesMember" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ReconciliationOfBasicAndDilutedAbstract" xlink:label="rgen_ReconciliationOfBasicAndDilutedAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:label="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:label="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:label="us-gaap_WeightedAverageNumberOfSharesRestrictedStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DilutiveSecuritiesAbstract" xlink:label="us-gaap_DilutiveSecuritiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestOnConvertibleDebtNetOfTax" xlink:label="us-gaap_InterestOnConvertibleDebtNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="us-gaap_EarningsPerShareBasicAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NumberOfSharesBasicOutstanding" xlink:label="rgen_NumberOfSharesBasicOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:label="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" xlink:label="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ReconciliationOfBasicAndDilutedAbstract" xlink:to="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesRestrictedStock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:to="us-gaap_NetIncomeLoss" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DilutiveSecuritiesAbstract" xlink:to="us-gaap_InterestOnConvertibleDebtNetOfTax" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareBasicAbstract" xlink:to="rgen_NumberOfSharesBasicOutstanding" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:to="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DilutiveSecuritiesAbstract" xlink:to="us-gaap_NetIncomeLossAttributableToParentDiluted" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="us-gaap_DilutiveSecuritiesAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="us-gaap_EarningsPerShareBasicAbstract" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="us-gaap_EarningsPerShareAbstract" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtInstrumentTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FiltrationProductsMember" xlink:label="rgen_FiltrationProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ChromatographyProductsMember" xlink:label="rgen_ChromatographyProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProcessAnalyticsProductsMember" xlink:label="rgen_ProcessAnalyticsProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProteinsProductsMember" xlink:label="rgen_ProteinsProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OtherProductsMember" xlink:label="rgen_OtherProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgen_FiltrationProductsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="srt_ProductOrServiceAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgen_ChromatographyProductsMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgen_ProcessAnalyticsProductsMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgen_ProteinsProductsMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgen_OtherProductsMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ProductMember" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="us-gaap_GeographicConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NorthAmericaMember" xlink:label="srt_NorthAmericaMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SalesRevenuesGoodsNetMember" xlink:label="rgen_SalesRevenuesGoodsNetMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="us-gaap_RisksAndUncertaintiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_APACOtherMember" xlink:label="rgen_APACOtherMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_GeographicConcentrationRiskMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_NorthAmericaMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="rgen_SalesRevenuesGoodsNetMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RisksAndUncertaintiesAbstract" xlink:to="us-gaap_ConcentrationRiskTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_EuropeMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="srt_StatementGeographicalAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="rgen_APACOtherMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:label="us-gaap_SegmentReportingAssetReconcilingItemLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NorthAmericaMember" xlink:label="srt_NorthAmericaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="us-gaap_RisksAndUncertaintiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_APACMember" xlink:label="rgen_APACMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:to="us-gaap_Assets" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_NorthAmericaMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RisksAndUncertaintiesAbstract" xlink:to="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:to="srt_StatementGeographicalAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_EuropeMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:to="us-gaap_SegmentReportingAssetReconcilingItemLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="rgen_APACMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:label="us-gaap_SegmentReportingAssetReconcilingItemLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AssetsNonCurrentExcludingDifferedTaxAssets" xlink:label="rgen_AssetsNonCurrentExcludingDifferedTaxAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NorthAmericaMember" xlink:label="srt_NorthAmericaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_APACMember" xlink:label="rgen_APACMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:to="rgen_AssetsNonCurrentExcludingDifferedTaxAssets" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_NorthAmericaMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:to="srt_StatementGeographicalAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_EuropeMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:to="us-gaap_SegmentReportingAssetReconcilingItemLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="rgen_APACMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CashAndMoneyMarketFundsMember" xlink:label="rgen_CashAndMoneyMarketFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentTypeAxis" xlink:label="us-gaap_InvestmentTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="us-gaap_InvestmentTypeCategorizationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAxis" xlink:label="us-gaap_CashAndCashEquivalentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByBalanceSheetGroupingTable" xlink:label="us-gaap_FairValueByBalanceSheetGroupingTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsMember" xlink:label="us-gaap_CashAndCashEquivalentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsLineItems" xlink:label="us-gaap_CashAndCashEquivalentsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_USTreasuryBillSecuritiesMember" xlink:label="us-gaap_USTreasuryBillSecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain" xlink:label="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember" xlink:label="rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue" xlink:label="rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvailableForSaleSecuritiesEstimatedFairValue" xlink:label="rgen_AvailableForSaleSecuritiesEstimatedFairValue"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="rgen_CashAndMoneyMarketFundsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentTypeAxis" xlink:to="us-gaap_InvestmentTypeCategorizationMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueByBalanceSheetGroupingTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_CashAndCashEquivalentsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_InvestmentTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_USTreasuryBillSecuritiesMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_CashAndCashEquivalentsAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_CashAndCashEquivalentsLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="rgen_AvailableForSaleSecuritiesEstimatedFairValue" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAmortizedCostAndFairValueHeldToMaturitySecuritiesByContractualMaturityDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost" xlink:label="rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MoneyMarketFundsMember" xlink:label="us-gaap_MoneyMarketFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAxis" xlink:label="us-gaap_CashAndCashEquivalentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByBalanceSheetGroupingTable" xlink:label="us-gaap_FairValueByBalanceSheetGroupingTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsFairValueDisclosure" xlink:label="us-gaap_AssetsFairValueDisclosure"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShortTermContingentConsideration" xlink:label="rgen_ShortTermContingentConsideration"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_LongTermContingentConsideration" xlink:label="rgen_LongTermContingentConsideration"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="us-gaap_MoneyMarketFundsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueByBalanceSheetGroupingTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel1Member" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_AssetsFairValueDisclosure" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel3Member" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="rgen_ShortTermContingentConsideration" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_CashAndCashEquivalentsAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="rgen_LongTermContingentConsideration" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrivatePlacementMember" xlink:label="us-gaap_PrivatePlacementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByBalanceSheetGroupingTable" xlink:label="us-gaap_FairValueByBalanceSheetGroupingTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SubscriptionTransactionMember" xlink:label="rgen_SubscriptionTransactionMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ExchangeTransactionMember" xlink:label="rgen_ExchangeTransactionMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NotesMember" xlink:label="rgen_NotesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentExchangedAmountCancelled" xlink:label="rgen_DebtInstrumentExchangedAmountCancelled"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentExchangeAmount" xlink:label="rgen_DebtInstrumentExchangeAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentIssuedForCash" xlink:label="rgen_DebtInstrumentIssuedForCash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFrequencyOfPeriodicPayment" xlink:label="us-gaap_DebtInstrumentFrequencyOfPeriodicPayment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtFairValue" xlink:label="us-gaap_LongTermDebtFairValue"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="us-gaap_PrivatePlacementMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueByBalanceSheetGroupingTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="rgen_SubscriptionTransactionMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_DebtInstrumentAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="rgen_ExchangeTransactionMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_NotesMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_DebtInstrumentExchangedAmountCancelled" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_SubsidiarySaleOfStockAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="rgen_SummaryOfSignificantAccountingPoliciesLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_DebtInstrumentExchangeAmount" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_DebtInstrumentIssuedForCash" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_DebtInstrumentFrequencyOfPeriodicPayment" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_LongTermDebt" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_LongTermDebtFairValue" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="us-gaap_LiabilitiesFairValueDisclosure"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ContingentConsiderationMember" xlink:label="rgen_ContingentConsiderationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="us-gaap_LiabilitiesFairValueDisclosure_4"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_LiabilitiesFairValueDisclosure" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="rgen_ContingentConsiderationMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_LiabilitiesFairValueDisclosure_4" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MeasurementInputTypeDomain" xlink:label="us-gaap_MeasurementInputTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MeasurementInputProbabilityOfSuccessMember" xlink:label="rgen_MeasurementInputProbabilityOfSuccessMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationTechniqueAxis" xlink:label="us-gaap_ValuationTechniqueAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationTechniqueDomain" xlink:label="us-gaap_ValuationTechniqueDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MeasurementInputTypeAxis" xlink:label="us-gaap_MeasurementInputTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideAndFlexbiosysMember" xlink:label="rgen_AvitideAndFlexbiosysMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="us-gaap_LiabilitiesFairValueDisclosure"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ContingentConsiderationMember" xlink:label="rgen_ContingentConsiderationMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MonteCarloSimulationMember" xlink:label="rgen_MonteCarloSimulationMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RDAndCommercializationBasedPaymentsMember" xlink:label="rgen_RDAndCommercializationBasedPaymentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MeasurementInputEarnoutDiscountRateMember" xlink:label="rgen_MeasurementInputEarnoutDiscountRateMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProbabilityOfSuccess" xlink:label="rgen_ProbabilityOfSuccess"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProbabilityWeightedPresentValueMember" xlink:label="rgen_ProbabilityWeightedPresentValueMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RevenueAndVolumeBasedPaymentsMember" xlink:label="rgen_RevenueAndVolumeBasedPaymentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MeasurementInputPriceVolatilityMember" xlink:label="us-gaap_MeasurementInputPriceVolatilityMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_WeightedAverageDiscountRate" xlink:label="rgen_WeightedAverageDiscountRate"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ManufacturingLineExpansionsMember" xlink:label="rgen_ManufacturingLineExpansionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MeasurementInputRevenueVolumeDiscountRateMember" xlink:label="rgen_MeasurementInputRevenueVolumeDiscountRateMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeFixedInterestRate" xlink:label="us-gaap_DerivativeFixedInterestRate"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_VolatilityRateOfContingentConsideration" xlink:label="rgen_VolatilityRateOfContingentConsideration"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RevenueAndVolumeDiscountRate" xlink:label="rgen_RevenueAndVolumeDiscountRate"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="rgen_MeasurementInputProbabilityOfSuccessMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationTechniqueAxis" xlink:to="us-gaap_ValuationTechniqueDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="us-gaap_MeasurementInputTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideAndFlexbiosysMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_LiabilitiesFairValueDisclosure" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="rgen_ContingentConsiderationMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationTechniqueDomain" xlink:to="rgen_MonteCarloSimulationMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="rgen_RDAndCommercializationBasedPaymentsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="us-gaap_FairValueMeasurementsRecurringMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_ValuationTechniqueAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="rgen_MeasurementInputEarnoutDiscountRateMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="rgen_ProbabilityOfSuccess" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationTechniqueDomain" xlink:to="rgen_ProbabilityWeightedPresentValueMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="rgen_RevenueAndVolumeBasedPaymentsMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="us-gaap_MeasurementInputPriceVolatilityMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="rgen_WeightedAverageDiscountRate" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="rgen_ManufacturingLineExpansionsMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="srt_RangeAxis" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="rgen_MeasurementInputRevenueVolumeDiscountRateMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_DerivativeFixedInterestRate" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_IncomeStatementLocationAxis" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="rgen_VolatilityRateOfContingentConsideration" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_MeasurementInputTypeAxis" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="rgen_RevenueAndVolumeDiscountRate" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonrecurringAdjustmentAxis" xlink:label="us-gaap_NonrecurringAdjustmentAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonrecurringAdjustmentDomain" xlink:label="us-gaap_NonrecurringAdjustmentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CapitalUnitsMember" xlink:label="us-gaap_CapitalUnitsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContingentConsiderationByTypeAxis" xlink:label="us-gaap_ContingentConsiderationByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContingentConsiderationTypeDomain" xlink:label="us-gaap_ContingentConsiderationTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1" xlink:label="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillMember" xlink:label="us-gaap_GoodwillMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TrustForBenefitOfEmployeesMember" xlink:label="us-gaap_TrustForBenefitOfEmployeesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="us-gaap_FairValueByAssetClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh" xlink:label="us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BioflexAndNtmAcquisitionMember" xlink:label="rgen_BioflexAndNtmAcquisitionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PolymemSAMember" xlink:label="rgen_PolymemSAMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesMember" xlink:label="rgen_CTechnologiesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessAcquisitionWorkingCapitalAdjustments" xlink:label="rgen_BusinessAcquisitionWorkingCapitalAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="rgen_ArtesynBiosolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="rgen_NonMetallicSolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="rgen_EngineeredMoldingTechnologyLlcMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xlink:label="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" xlink:label="us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ContingentConsiderationExpense" xlink:label="rgen_ContingentConsiderationExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" xlink:label="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationAdditionalCashForTransactionBonus" xlink:label="rgen_BusinessCombinationAdditionalCashForTransactionBonus"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationTransactionCostPaidDuringPeriod" xlink:label="rgen_BusinessCombinationTransactionCostPaidDuringPeriod"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationsCashDepositedInEscrowAccount" xlink:label="rgen_BusinessCombinationsCashDepositedInEscrowAccount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationConsiderationIndemnificationEscrow" xlink:label="rgen_BusinessCombinationConsiderationIndemnificationEscrow"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold" xlink:label="us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonrecurringAdjustmentAxis" xlink:to="us-gaap_NonrecurringAdjustmentDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CapitalUnitsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContingentConsiderationByTypeAxis" xlink:to="us-gaap_ContingentConsiderationTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:to="us-gaap_GoodwillMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="srt_RangeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="us-gaap_TrustForBenefitOfEmployeesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_StatementEquityComponentsAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_BioflexAndNtmAcquisitionMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_IncomeStatementLocationAxis" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_PolymemSAMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_ContingentConsiderationByTypeAxis" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_CTechnologiesMember" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessAcquisitionWorkingCapitalAdjustments" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_FairValueByAssetClassAxis" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsMember" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_NonMetallicSolutionsMember" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_NonrecurringAdjustmentAxis" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_EngineeredMoldingTechnologyLlcMember" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="srt_TitleOfIndividualAxis" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionLineItems" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_Goodwill" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts" order="15" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_ContingentConsiderationExpense" order="16" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" order="17" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" order="18" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationAdditionalCashForTransactionBonus" order="19" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationTransactionCostPaidDuringPeriod" order="20" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationsCashDepositedInEscrowAccount" order="21" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" order="22" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationConsiderationIndemnificationEscrow" order="23" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" order="24" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" order="25" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold" order="26" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" order="27" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CashConsiderationExcludingRestrictedCash" xlink:label="rgen_CashConsiderationExcludingRestrictedCash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_CashConsiderationExcludingRestrictedCash" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NetWorkingCapitalExcludingCashAndInventory" xlink:label="rgen_NetWorkingCapitalExcludingCashAndInventory"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TrademarksAndTradeNamesMember" xlink:label="us-gaap_TrademarksAndTradeNamesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BioflexAndNtmAcquisitionMember" xlink:label="rgen_BioflexAndNtmAcquisitionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PolymemSAMember" xlink:label="rgen_PolymemSAMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="rgen_ArtesynBiosolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="rgen_NonMetallicSolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="rgen_EngineeredMoldingTechnologyLlcMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesMember" xlink:label="rgen_CTechnologiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_DevelopedTechnologyRightsMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_NetWorkingCapitalExcludingCashAndInventory" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TrademarksAndTradeNamesMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_BioflexAndNtmAcquisitionMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_NoncompeteAgreementsMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_PolymemSAMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsMember" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_NonMetallicSolutionsMember" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_EngineeredMoldingTechnologyLlcMember" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_CTechnologiesMember" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_Goodwill" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent" order="15" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" order="16" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" order="17" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BioflexAndNtmAcquisitionMember" xlink:label="rgen_BioflexAndNtmAcquisitionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PolymemSAMember" xlink:label="rgen_PolymemSAMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="rgen_ArtesynBiosolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="rgen_NonMetallicSolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="rgen_EngineeredMoldingTechnologyLlcMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_DevelopedTechnologyRightsMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TradeNamesMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_BioflexAndNtmAcquisitionMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_NoncompeteAgreementsMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_PolymemSAMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsMember" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_NonMetallicSolutionsMember" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_EngineeredMoldingTechnologyLlcMember" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesMember" xlink:label="rgen_CTechnologiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaRevenue" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_CTechnologiesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:label="us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCostAndReserveLineItems" xlink:label="us-gaap_RestructuringCostAndReserveLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCosts" xlink:label="us-gaap_RestructuringCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCharges" xlink:label="us-gaap_RestructuringCharges"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NoncashInventoryAdjustments" xlink:label="rgen_NoncashInventoryAdjustments"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="srt_RangeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:to="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringCosts" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="us-gaap_RestructuringCostAndReserveLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringCharges" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="rgen_NoncashInventoryAdjustments" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfRestructuringDomain" xlink:label="us-gaap_TypeOfRestructuringDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeSeveranceMember" xlink:label="us-gaap_EmployeeSeveranceMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:label="us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCostAndReserveAxis" xlink:label="us-gaap_RestructuringCostAndReserveAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCostAndReserveLineItems" xlink:label="us-gaap_RestructuringCostAndReserveLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCosts" xlink:label="us-gaap_RestructuringCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_InventoryAdjustmentsMember" xlink:label="rgen_InventoryAdjustmentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AcceleratedDepreciationMember" xlink:label="rgen_AcceleratedDepreciationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FacilityAndOtherExitCostsMember" xlink:label="rgen_FacilityAndOtherExitCostsMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="us-gaap_IncomeStatementLocationAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="us-gaap_EmployeeSeveranceMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:to="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="us-gaap_TypeOfRestructuringDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringCosts" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_CostOfSalesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="us-gaap_RestructuringCostAndReserveAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="rgen_InventoryAdjustmentsMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="us-gaap_RestructuringCostAndReserveLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="rgen_AcceleratedDepreciationMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="rgen_FacilityAndOtherExitCostsMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCostAndReserveAxis" xlink:label="us-gaap_RestructuringCostAndReserveAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfRestructuringDomain" xlink:label="us-gaap_TypeOfRestructuringDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeSeveranceMember" xlink:label="us-gaap_EmployeeSeveranceMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:label="us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCostAndReserveLineItems" xlink:label="us-gaap_RestructuringCostAndReserveLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCosts" xlink:label="us-gaap_RestructuringCosts"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_InventoryAdjustmentsMember" xlink:label="rgen_InventoryAdjustmentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRestructuring" xlink:label="us-gaap_PaymentsForRestructuring"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AcceleratedDepreciationMember" xlink:label="rgen_AcceleratedDepreciationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringReserveSettledWithoutCash2" xlink:label="us-gaap_RestructuringReserveSettledWithoutCash2"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FacilityExitAndOtherExitCostsMember" xlink:label="rgen_FacilityExitAndOtherExitCostsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringReserve" xlink:label="us-gaap_RestructuringReserve"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="us-gaap_RestructuringCostAndReserveAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="us-gaap_EmployeeSeveranceMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:to="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="us-gaap_TypeOfRestructuringDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringCosts" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="us-gaap_RestructuringCostAndReserveLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="rgen_InventoryAdjustmentsMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_PaymentsForRestructuring" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="rgen_AcceleratedDepreciationMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringReserveSettledWithoutCash2" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="rgen_FacilityExitAndOtherExitCostsMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringReserve" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/LeasesAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases" xlink:label="rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:label="rgen_IncreaseDecreaseInOperatingLeaseLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AreaOfLand" xlink:label="us-gaap_AreaOfLand"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncreaseDecreaseInOperatingLeaseAsset" xlink:label="rgen_IncreaseDecreaseInOperatingLeaseAsset"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiability" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="rgen_IncreaseDecreaseInOperatingLeaseLiabilities" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_AreaOfLand" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="rgen_IncreaseDecreaseInOperatingLeaseAsset" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_LeaseIncentives" xlink:label="rgen_LeaseIncentives"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="rgen_LeaseIncentives" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiability" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasedAssetsLineItems" xlink:label="us-gaap_OperatingLeasedAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_LeaseObligationsNotYetCommenced" xlink:label="rgen_LeaseObligationsNotYetCommenced"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1" xlink:label="us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="rgen_LeaseObligationsNotYetCommenced" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="srt_RangeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeLeaseDescriptionTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="us-gaap_OperatingLeasedAssetsLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases" xlink:label="rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseCostDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_VariableOperatingLeaseCost" xlink:label="rgen_VariableOperatingLeaseCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseCost" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="rgen_VariableOperatingLeaseCost" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LeaseCost" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeasePayments" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfWeightedAverageDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RoyaltyMember" xlink:label="us-gaap_RoyaltyMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ProductMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_ProductOrServiceAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_RoyaltyMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PfizerMember" xlink:label="rgen_PfizerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueAbstract" xlink:label="us-gaap_DisaggregationOfRevenueAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MilliporeSigmaMember" xlink:label="rgen_MilliporeSigmaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgen_PfizerMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_MajorCustomersAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgen_MilliporeSigmaMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_RangeAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueLineItems" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract" xlink:label="us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss" xlink:label="us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenue" xlink:label="us-gaap_DeferredRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerLiability" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:to="us-gaap_DeferredRevenue" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditLossAbstract" xlink:label="us-gaap_CreditLossAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditLossAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditLossAbstract" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditLossAbstract" xlink:label="us-gaap_CreditLossAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_3"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditLossAbstract" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedPeriodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditLossAbstract" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditLossAbstract" xlink:to="us-gaap_ProvisionForDoubtfulAccounts" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditLossAbstract" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable_3" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedPeriodEndLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="us-gaap_ScheduleOfGoodwillTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillLineItems" xlink:label="us-gaap_GoodwillLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SpectrumIncMember" xlink:label="rgen_SpectrumIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillPurchaseAccountingAdjustments" xlink:label="us-gaap_GoodwillPurchaseAccountingAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="rgen_NonMetallicSolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="rgen_ArtesynBiosolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BioflexMember" xlink:label="rgen_BioflexMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_4"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NewtonNewJerseyMember" xlink:label="rgen_NewtonNewJerseyMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfGoodwillTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_Goodwill" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_ScheduleOfGoodwillTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_SpectrumIncMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfGoodwillTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillPurchaseAccountingAdjustments" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_NonMetallicSolutionsMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfGoodwillTable" xlink:to="us-gaap_GoodwillLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillForeignCurrencyTranslationGainLoss" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_BioflexMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_Goodwill_4" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_NewtonNewJerseyMember" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IntangibleAssetsLineItems" xlink:label="rgen_IntangibleAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfIntangibleAssetsTable" xlink:label="rgen_ScheduleOfIntangibleAssetsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DaylightSolutionsIncMember" xlink:label="rgen_DaylightSolutionsIncMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TrademarkMember" xlink:label="rgen_TrademarkMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PatentsMember" xlink:label="us-gaap_PatentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsGrossExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TrademarksMember" xlink:label="us-gaap_TrademarksMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIntangibleAssetsMember" xlink:label="us-gaap_OtherIntangibleAssetsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IndefiniteLivedIntangibleAssetsNet" xlink:label="rgen_IndefiniteLivedIntangibleAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfIntangibleAssetsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_DevelopedTechnologyRightsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="rgen_DaylightSolutionsIncMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="rgen_TrademarkMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="rgen_ScheduleOfIntangibleAssetsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfIntangibleAssetsTable" xlink:to="srt_CounterpartyNameAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_PatentsMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_IntangibleAssetsGrossExcludingGoodwill" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfIntangibleAssetsTable" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfIntangibleAssetsTable" xlink:to="rgen_IntangibleAssetsLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TrademarksMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_OtherIntangibleAssetsMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="rgen_IndefiniteLivedIntangibleAssetsNet" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsDetailParenthetical" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfIntangibleAssetsTable" xlink:label="rgen_ScheduleOfIntangibleAssetsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DaylightSolutionsIncMember" xlink:label="rgen_DaylightSolutionsIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfIntangibleAssetsTable" xlink:to="srt_CounterpartyNameAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="rgen_DaylightSolutionsIncMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="rgen_ScheduleOfIntangibleAssetsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:label="rgen_FiniteLivedIntangibleLiabilitiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="rgen_FiniteLivedIntangibleLiabilitiesLineItems" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:label="rgen_FiniteLivedIntangibleLiabilitiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="rgen_FiniteLivedIntangibleLiabilitiesLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryCurrentTable" xlink:label="us-gaap_InventoryCurrentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryLineItems" xlink:label="us-gaap_InventoryLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="us-gaap_InventoryDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryCurrentTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryCurrentTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryCurrentTable" xlink:to="us-gaap_InventoryLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryNet" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PrepaidExpensesAndOtherCurrentAssetsTable" xlink:label="rgen_PrepaidExpensesAndOtherCurrentAssetsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:label="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PrepaidServicesAndProfessionalFees" xlink:label="rgen_PrepaidServicesAndProfessionalFees"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UncategorizedAbstract" xlink:label="rgen_UncategorizedAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidTaxes" xlink:label="us-gaap_PrepaidTaxes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidInsurance" xlink:label="us-gaap_PrepaidInsurance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="rgen_PrepaidServicesAndProfessionalFees" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_UncategorizedAbstract" xlink:to="rgen_PrepaidExpensesAndOtherCurrentAssetsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsTable" xlink:to="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="us-gaap_PrepaidTaxes" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="us-gaap_PrepaidInsurance" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="us-gaap_OtherAssetsCurrent" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Land" xlink:label="us-gaap_Land"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingsAndImprovementsGross" xlink:label="us-gaap_BuildingsAndImprovementsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsGross" xlink:label="us-gaap_LeaseholdImprovementsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentGross" xlink:label="us-gaap_MachineryAndEquipmentGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesGross" xlink:label="us-gaap_FurnitureAndFixturesGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CapitalizedComputerSoftwareGross" xlink:label="us-gaap_CapitalizedComputerSoftwareGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentOther" xlink:label="us-gaap_PropertyPlantAndEquipmentOther"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_Land" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_BuildingsAndImprovementsGross" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_LeaseholdImprovementsGross" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_MachineryAndEquipmentGross" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_FurnitureAndFixturesGross" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_CapitalizedComputerSoftwareGross" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ConstructionInProgressGross" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentOther" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_Depreciation" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="us-gaap_PayablesAndAccrualsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfAccruedLiabilitiesTable" xlink:label="rgen_ScheduleOfAccruedLiabilitiesTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:label="rgen_ScheduleOfAccruedLiabilitiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="us-gaap_DeferredRevenueCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="us-gaap_AccruedIncomeTaxesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="rgen_ScheduleOfAccruedLiabilitiesTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfAccruedLiabilitiesTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="us-gaap_DeferredRevenueCurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfAccruedLiabilitiesTable" xlink:to="rgen_ScheduleOfAccruedLiabilitiesLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="us-gaap_AccruedIncomeTaxesCurrent" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="us-gaap_AccruedLiabilitiesCurrent" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfIncomeBeforeIncomeTaxTable" xlink:label="rgen_ScheduleOfIncomeBeforeIncomeTaxTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:label="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfIncomeBeforeIncomeTaxTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="rgen_ScheduleOfIncomeBeforeIncomeTaxTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfIncomeBeforeIncomeTaxTable" xlink:to="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesLineItems" xlink:label="rgen_IncomeTaxesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesTable" xlink:label="rgen_IncomeTaxesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" xlink:label="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions" xlink:label="us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="rgen_IncomeTaxesTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesTable" xlink:to="rgen_IncomeTaxesLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesLineItems" xlink:label="rgen_IncomeTaxesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations" xlink:label="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesTable" xlink:label="rgen_IncomeTaxesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" xlink:label="us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations" xlink:label="us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="rgen_IncomeTaxesTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesTable" xlink:to="rgen_IncomeTaxesLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesLineItems" xlink:label="rgen_IncomeTaxesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodDomain" xlink:label="us-gaap_TaxPeriodDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LatestTaxYearMember" xlink:label="us-gaap_LatestTaxYearMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodAxis" xlink:label="us-gaap_TaxPeriodAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsMember" xlink:label="us-gaap_OtherAssetsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesTable" xlink:label="rgen_IncomeTaxesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxCreditCarryforwardAmount" xlink:label="us-gaap_TaxCreditCarryforwardAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TaxYear2040Member" xlink:label="rgen_TaxYear2040Member"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiablitiesMember" xlink:label="rgen_DeferredTaxLiablitiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="us-gaap_StateAndLocalJurisdictionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherInformationPertainingToIncomeTaxes" xlink:label="us-gaap_OtherInformationPertainingToIncomeTaxes"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TaxYear2041Member" xlink:label="rgen_TaxYear2041Member"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AccumulatedDeficitMember" xlink:label="rgen_AccumulatedDeficitMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FederalAndStateMember" xlink:label="rgen_FederalAndStateMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TaxYear2043Member" xlink:label="rgen_TaxYear2043Member"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_InflationReductionActOfTwoThousandTwentyTwoMember" xlink:label="rgen_InflationReductionActOfTwoThousandTwentyTwoMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:label="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TaxYearTwoThousandThirtySevenMember" xlink:label="rgen_TaxYearTwoThousandThirtySevenMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UnlimitedCarryforwardPeriodMember" xlink:label="rgen_UnlimitedCarryforwardPeriodMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentageOfCurrentFederalTaxExpenseBenefit" xlink:label="rgen_PercentageOfCurrentFederalTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentOfExciseTaxOnNetStockRepurchases" xlink:label="rgen_PercentOfExciseTaxOnNetStockRepurchases"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ForeignEarningsSubjectToOneTimeTransitionTax" xlink:label="rgen_ForeignEarningsSubjectToOneTimeTransitionTax"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CoronavirusAidReliefAndEconomicSecurityFundValue" xlink:label="rgen_CoronavirusAidReliefAndEconomicSecurityFundValue"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_OperatingLossCarryforwards" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="us-gaap_LatestTaxYearMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="us-gaap_TaxPeriodDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_OtherAssetsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="rgen_IncomeTaxesTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_DomesticCountryMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_TaxCreditCarryforwardAmount" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="rgen_TaxYear2040Member" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="rgen_DeferredTaxLiablitiesMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesTable" xlink:to="srt_StatementGeographicalAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_StateAndLocalJurisdictionMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_OtherInformationPertainingToIncomeTaxes" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="rgen_TaxYear2041Member" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="rgen_AccumulatedDeficitMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="rgen_FederalAndStateMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="rgen_TaxYear2043Member" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="rgen_InflationReductionActOfTwoThousandTwentyTwoMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="rgen_TaxYearTwoThousandThirtySevenMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesTable" xlink:to="us-gaap_TaxPeriodAxis" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="rgen_UnlimitedCarryforwardPeriodMember" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesTable" xlink:to="us-gaap_BalanceSheetLocationAxis" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesTable" xlink:to="rgen_IncomeTaxesLineItems" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_PercentageOfCurrentFederalTaxExpenseBenefit" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_PercentOfExciseTaxOnNetStockRepurchases" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_ForeignEarningsSubjectToOneTimeTransitionTax" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_CoronavirusAidReliefAndEconomicSecurityFundValue" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredIncomeTaxLiabilitiesFixedAssets" xlink:label="rgen_DeferredIncomeTaxLiabilitiesFixedAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNetAbstract" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" xlink:label="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xlink:label="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxAssetsOperatingLeases" xlink:label="rgen_DeferredTaxAssetsOperatingLeases"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" xlink:label="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiabilitiesDebtDiscount" xlink:label="rgen_DeferredTaxLiabilitiesDebtDiscount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" xlink:label="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="us-gaap_DeferredTaxLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="rgen_DeferredIncomeTaxLiabilitiesFixedAssets" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xlink:to="us-gaap_DeferredTaxAssetsNetAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="rgen_DeferredTaxAssetsOperatingLeases" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" xlink:to="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="rgen_DeferredTaxLiabilitiesDebtDiscount" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsInventory" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilities" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsGross" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsNet" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxRateReconciliationLineItems" xlink:label="rgen_IncomeTaxRateReconciliationLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxRateReconciliationTable" xlink:label="rgen_IncomeTaxRateReconciliationTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationTaxCredits" xlink:label="us-gaap_IncomeTaxReconciliationTaxCredits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings" xlink:label="us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" xlink:label="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationTaxContingencies" xlink:label="us-gaap_IncomeTaxReconciliationTaxContingencies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" xlink:label="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xlink:label="us-gaap_IncomeTaxReconciliationOtherReconcilingItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:to="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="rgen_IncomeTaxRateReconciliationTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:to="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationTable" xlink:to="rgen_IncomeTaxRateReconciliationLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:to="us-gaap_IncomeTaxReconciliationTaxCredits" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxReconciliationTaxContingencies" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxReconciliationOtherReconcilingItems" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="15" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" order="16" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" order="17" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" order="18" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" order="19" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" order="20" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" order="21" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent" order="22" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent" order="23" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage" order="24" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent" order="25" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" order="26" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" order="27" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" order="28" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" order="29" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" order="30" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExaminationLineItems" xlink:label="us-gaap_IncomeTaxExaminationLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OpenTaxYear" xlink:label="us-gaap_OpenTaxYear"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodDomain" xlink:label="us-gaap_TaxPeriodDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarliestTaxYearMember" xlink:label="us-gaap_EarliestTaxYearMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodAxis" xlink:label="us-gaap_TaxPeriodAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExaminationTable" xlink:label="us-gaap_IncomeTaxExaminationTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LatestTaxYearMember" xlink:label="us-gaap_LatestTaxYearMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_SE" xlink:label="country_SE"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExaminationLineItems" xlink:to="us-gaap_OpenTaxYear" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="us-gaap_EarliestTaxYearMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="us-gaap_TaxPeriodDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxExaminationTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExaminationTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="us-gaap_LatestTaxYearMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExaminationTable" xlink:to="srt_StatementGeographicalAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_SE" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExaminationTable" xlink:to="us-gaap_TaxPeriodAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExaminationTable" xlink:to="us-gaap_IncomeTaxExaminationLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" xlink:label="rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits_4"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefits" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" xlink:to="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:to="rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefits_4" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockOptionAndIncentivePlanMember" xlink:label="rgen_StockOptionAndIncentivePlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideLlcMember" xlink:label="rgen_AvitideLlcMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockholdersEquityNoteDisclosureTable" xlink:label="rgen_StockholdersEquityNoteDisclosureTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockholdersEquityNoteDisclosureLineItems" xlink:label="rgen_StockholdersEquityNoteDisclosureLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EarnoutConsiderationEarned" xlink:label="rgen_EarnoutConsiderationEarned"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UnvestedOptionsMember" xlink:label="rgen_UnvestedOptionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RestrictedStockAndPerformanceStockUnitsMember" xlink:label="rgen_RestrictedStockAndPerformanceStockUnitsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" xlink:label="rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StockRepurchaseProgramAuthorizedAmount1" xlink:label="srt_StockRepurchaseProgramAuthorizedAmount1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain" xlink:to="rgen_StockOptionAndIncentivePlanMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideLlcMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="rgen_StockholdersEquityNoteDisclosureTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="us-gaap_DebtInstrumentAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_CommonStockSharesIssued" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="us-gaap_AwardTypeAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="rgen_EarnoutConsiderationEarned" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="us-gaap_PlanNameAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" order="3.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_UnvestedOptionsMember" order="4.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="rgen_StockholdersEquityNoteDisclosureLineItems" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensation" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_RestrictedStockAndPerformanceStockUnitsMember" order="5.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_SharePrice" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="srt_StockRepurchaseProgramAuthorizedAmount1" order="15" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" order="16" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" order="17" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" order="18" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="us-gaap_IncomeStatementLocationAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="us-gaap_ShareBasedCompensation" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_CostOfSalesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_RangeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_4"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_4"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_4" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_4" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentageOfSharesSubjectToForfeiture" xlink:label="rgen_PercentageOfSharesSubjectToForfeiture"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonExecutiveMember" xlink:label="rgen_NonExecutiveMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="rgen_PercentageOfSharesSubjectToForfeiture" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="rgen_NonExecutiveMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_TitleOfIndividualAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_ExecutiveOfficerMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" order="3.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_4"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_4"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" order="3.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_4" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_4" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentageOfSharesSubjectToForfeiture" xlink:label="rgen_PercentageOfSharesSubjectToForfeiture"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonExecutiveMember" xlink:label="rgen_NonExecutiveMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RestrictedStockAndPerformanceStockUnitsMember" xlink:label="rgen_RestrictedStockAndPerformanceStockUnitsMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="rgen_PercentageOfSharesSubjectToForfeiture" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="rgen_NonExecutiveMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="dei_LegalEntityAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_ExecutiveOfficerMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_TitleOfIndividualAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_RestrictedStockAndPerformanceStockUnitsMember" order="3.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NGLImpactAMember" xlink:label="rgen_NGLImpactAMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CommitmentsAndContingenciesTable" xlink:label="rgen_CommitmentsAndContingenciesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xlink:label="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:label="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentArrangementMember" xlink:label="us-gaap_ResearchAndDevelopmentArrangementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CommitmentsAndContingenciesLineItems" xlink:label="rgen_CommitmentsAndContingenciesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RoyaltyExpense" xlink:label="us-gaap_RoyaltyExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractualObligationDueInNextTwelveMonths" xlink:label="us-gaap_ContractualObligationDueInNextTwelveMonths"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgen_NGLImpactAMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_CommitmentsAndContingenciesTable" xlink:to="srt_ProductOrServiceAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xlink:to="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:to="us-gaap_ResearchAndDevelopmentArrangementMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="rgen_CommitmentsAndContingenciesTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_CommitmentsAndContingenciesLineItems" xlink:to="us-gaap_RoyaltyExpense" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_CommitmentsAndContingenciesTable" xlink:to="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_CommitmentsAndContingenciesLineItems" xlink:to="us-gaap_ContractualObligationDueInNextTwelveMonths" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_CommitmentsAndContingenciesTable" xlink:to="rgen_CommitmentsAndContingenciesLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentUnamortizedDiscount" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ConvertibleSeniorNotes" xlink:label="rgen_ConvertibleSeniorNotes"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentCarryingAmount" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtInstrumentTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentUnamortizedDiscount" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DeferredFinanceCostsNet" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_ConvertibleNotesPayableCurrent" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_ConvertibleSeniorNotes" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="us-gaap_ShortTermDebtTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="us-gaap_ShortTermDebtTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ExchangeAndSubscriptionAgreementsMember" xlink:label="rgen_ExchangeAndSubscriptionAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentExchangedAmount" xlink:label="rgen_DebtInstrumentExchangedAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ExchangedTwoZeroOneNineNotesMember" xlink:label="rgen_ExchangedTwoZeroOneNineNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentExchangedAmountCancelled" xlink:label="rgen_DebtInstrumentExchangedAmountCancelled"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FairValueOfEmbeddedConversionOptionMember" xlink:label="rgen_FairValueOfEmbeddedConversionOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ModifiedTwoZeroOneNineNotesMember" xlink:label="rgen_ModifiedTwoZeroOneNineNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentIssuedForCash" xlink:label="rgen_DebtInstrumentIssuedForCash"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SubscriptionTransactionsMember" xlink:label="rgen_SubscriptionTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ModificationOfDebt" xlink:label="rgen_ModificationOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TwoZeroTwoThreeNotesMember" xlink:label="rgen_TwoZeroTwoThreeNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OutstandingTwoZeroTwoThreeNotesMember" xlink:label="rgen_OutstandingTwoZeroTwoThreeNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ExchangeTransactionMember" xlink:label="rgen_ExchangeTransactionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TwoZeroOneNineNotesMember" xlink:label="rgen_TwoZeroOneNineNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentUnamortizedDiscount" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateTerms" xlink:label="us-gaap_DebtInstrumentInterestRateTerms"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="us-gaap_DebtInstrumentMaturityDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentConvertibleIntoEquity" xlink:label="rgen_DebtInstrumentConvertibleIntoEquity"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentConvertibleIntoEquitySettled" xlink:label="rgen_DebtInstrumentConvertibleIntoEquitySettled"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateDuringPeriod" xlink:label="us-gaap_DebtInstrumentInterestRateDuringPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentRedemptionPricePercentage" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentage"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentAccruedAndUnpaidInterest" xlink:label="rgen_DebtInstrumentAccruedAndUnpaidInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseDebtExcludingAmortization" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfDebtDiscountPremium" xlink:label="us-gaap_AmortizationOfDebtDiscountPremium"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfDebtIssuanceCost" xlink:label="rgen_AmortizationOfDebtIssuanceCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtFairValue" xlink:label="us-gaap_LongTermDebtFairValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OptionToPurchaseAdditionalDebtFaceAmount" xlink:label="rgen_OptionToPurchaseAdditionalDebtFaceAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DiscountRate" xlink:label="rgen_DiscountRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature" xlink:label="us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent" xlink:label="rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ConvertibleNotesTransactionCostsOfEquityComponent" xlink:label="rgen_ConvertibleNotesTransactionCostsOfEquityComponent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="us-gaap_DeferredTaxLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarlyRepaymentOfSeniorDebt" xlink:label="us-gaap_EarlyRepaymentOfSeniorDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentIncreaseAccruedInterest" xlink:label="us-gaap_DebtInstrumentIncreaseAccruedInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtConversionConvertedInstrumentAmount1" xlink:label="us-gaap_DebtConversionConvertedInstrumentAmount1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentFaceAmountRemaining" xlink:label="rgen_DebtInstrumentFaceAmountRemaining"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent" xlink:label="us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt_48"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_LossOnDebtConversion" xlink:label="rgen_LossOnDebtConversion"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="srt_RangeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermDebtTypeAxis" xlink:to="us-gaap_ShortTermDebtTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_ExchangeAndSubscriptionAgreementsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtInstrumentTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentExchangedAmount" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_ShortTermDebtTypeAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_ExchangedTwoZeroOneNineNotesMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentExchangedAmountCancelled" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="rgen_FairValueOfEmbeddedConversionOptionMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_ModifiedTwoZeroOneNineNotesMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentIssuedForCash" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodAxis" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_SubscriptionTransactionsMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_ModificationOfDebt" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_SubsequentEventTypeAxis" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_TwoZeroTwoThreeNotesMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_StatementEquityComponentsAxis" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_OutstandingTwoZeroTwoThreeNotesMember" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_ProceedsFromConvertibleDebt" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentLineItems" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_ExchangeTransactionMember" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_TwoZeroOneNineNotesMember" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DeferredFinanceCostsNet" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentUnamortizedDiscount" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateTerms" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentMaturityDate" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdTradingDays" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentConvertibleIntoEquity" order="15" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentConvertibleIntoEquitySettled" order="16" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" order="17" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleConversionRatio1" order="18" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleConversionPrice1" order="19" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateDuringPeriod" order="20" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_SharePrice" order="21" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentRedemptionPricePercentage" order="22" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentAccruedAndUnpaidInterest" order="23" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_InterestExpenseDebtExcludingAmortization" order="24" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_AmortizationOfDebtDiscountPremium" order="25" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_AmortizationOfFinancingCosts" order="26" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_AmortizationOfDebtIssuanceCost" order="27" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage" order="28" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebt" order="29" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" order="30" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebtFairValue" order="31" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_OptionToPurchaseAdditionalDebtFaceAmount" order="32" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DiscountRate" order="33" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" order="34" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature" order="35" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent" order="36" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_ConvertibleNotesTransactionCostsOfEquityComponent" order="37" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DeferredTaxLiabilities" order="38" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" order="39" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LiabilitiesCurrent" order="40" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_EarlyRepaymentOfSeniorDebt" order="41" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentIncreaseAccruedInterest" order="42" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" order="43" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" order="44" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtConversionConvertedInstrumentAmount1" order="45" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentFaceAmountRemaining" order="46" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent" order="47" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt_48" order="48" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_LossOnDebtConversion" order="49" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedTranslationAdjustmentMember" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_2"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedTranslationAdjustmentMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_StockholdersEquity" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:to="us-gaap_StatementEquityComponentsAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_StockholdersEquity_2" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="us-gaap_RetirementPlanTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" xlink:label="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DefinedContributionPlanEmployeeEligibilityAge" xlink:label="rgen_DefinedContributionPlanEmployeeEligibilityAge"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetirementPlanSponsorLocationDomain" xlink:label="us-gaap_RetirementPlanSponsorLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignPlanMember" xlink:label="us-gaap_ForeignPlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:label="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetirementPlanSponsorLocationAxis" xlink:label="us-gaap_RetirementPlanSponsorLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionPlansDefinedBenefitMember" xlink:label="us-gaap_PensionPlansDefinedBenefitMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DefinedContribution401KPlanMember" xlink:label="rgen_DefinedContribution401KPlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanContributionsByEmployer" xlink:label="us-gaap_DefinedBenefitPlanContributionsByEmployer"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:to="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="rgen_DefinedContributionPlanEmployeeEligibilityAge" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanSponsorLocationDomain" xlink:to="us-gaap_ForeignPlanMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanSponsorLocationAxis" xlink:to="us-gaap_RetirementPlanSponsorLocationDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanTypeDomain" xlink:to="us-gaap_PensionPlansDefinedBenefitMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" xlink:to="rgen_DefinedContribution401KPlanMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="us-gaap_DefinedBenefitPlanContributionsByEmployer" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:to="srt_RangeAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:to="us-gaap_RetirementPlanTypeAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:to="us-gaap_RetirementPlanSponsorLocationAxis" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="us-gaap_RelatedPartyTransactionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrincipalOwnerMember" xlink:label="us-gaap_PrincipalOwnerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SpectrumIncMember" xlink:label="rgen_SpectrumIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="us-gaap_RelatedPartyTransactionsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRent" xlink:label="us-gaap_PaymentsForRent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesMember" xlink:label="rgen_CTechnologiesMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="us-gaap_PrincipalOwnerMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipDomain" xlink:to="rgen_SpectrumIncMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_PaymentsForRent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="srt_RangeAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="rgen_CTechnologiesMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="srt_OwnershipAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_RelatedPartyTransactionLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesAuthorized" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesIssued" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesOutstanding" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesAuthorized" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesIssued" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesAbstract" xlink:label="us-gaap_RevenuesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostsAndExpensesAbstract" xlink:label="us-gaap_CostsAndExpensesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentIncomeNet" xlink:label="us-gaap_InvestmentIncomeNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RoyaltyMember" xlink:label="us-gaap_RoyaltyMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseNonoperating" xlink:label="us-gaap_InterestExpenseNonoperating"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfDebtIssuanceCost" xlink:label="rgen_AmortizationOfDebtIssuanceCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostsAndExpenses" xlink:label="us-gaap_CostsAndExpenses"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenuesAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_CostOfGoodsAndServicesSold" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RevenuesAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ProductMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InvestmentIncomeNet" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CostsAndExpensesAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpense" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_RoyaltyMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InterestExpenseNonoperating" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingIncomeLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherNonoperatingIncomeExpenseAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="rgen_AmortizationOfDebtIssuanceCost" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_CostsAndExpenses" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpense" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingStandardsUpdate202006Member" xlink:label="us-gaap_AccountingStandardsUpdate202006Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TrueUpCostsDecember2020Member" xlink:label="rgen_TrueUpCostsDecember2020Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfUnits" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfUnits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" xlink:label="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment" xlink:label="rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments" xlink:label="rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxImpactOnConversionFeature" xlink:label="rgen_DeferredTaxImpactOnConversionFeature"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_AccountingStandardsUpdate202006Member" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_TrueUpCostsDecember2020Member" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueConversionOfUnits" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueAcquisitions" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="12" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="13" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="14" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="15" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="16" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="17" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_DeferredTaxImpactOnConversionFeature" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="18" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowElementsAbstract" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities" xlink:label="us-gaap_PaymentsToAcquireHeldToMaturitySecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesIncMember" xlink:label="rgen_CTechnologiesIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfInventoryStepUp" xlink:label="rgen_AmortizationOfInventoryStepUp"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssued1" xlink:label="us-gaap_StockIssued1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:label="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" xlink:label="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" xlink:label="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireSoftware" xlink:label="us-gaap_PaymentsToAcquireSoftware"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfDebtDiscountPremium" xlink:label="us-gaap_AmortizationOfDebtDiscountPremium"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts" xlink:label="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability" xlink:label="rgen_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NotesIssued1" xlink:label="us-gaap_NotesIssued1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ExtinguishmentOfDebtAmount" xlink:label="us-gaap_ExtinguishmentOfDebtAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:label="us-gaap_PaymentsForProceedsFromOtherInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NoncashInterestIncome" xlink:label="rgen_NoncashInterestIncome"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" xlink:label="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" xlink:label="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="us-gaap_OtherNoncashIncomeExpense"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetIncomeLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireHeldToMaturitySecurities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_CTechnologiesIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_IncomeTaxesPaidNet" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="rgen_AmortizationOfInventoryStepUp" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_StockIssued1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_InterestPaidNet" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DepreciationAndAmortization" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromConvertibleDebt" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireSoftware" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AmortizationOfDebtDiscountPremium" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="rgen_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_NotesIssued1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_ExtinguishmentOfDebtAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsForProceedsFromOtherInvestingActivities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="rgen_NoncashInterestIncome" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SupplementalCashFlowElementsAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_OtherNoncashIncomeExpense" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/IndividualsOnly">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllIndividualsMember" xlink:label="ecd_AllIndividualsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TonyJHuntMember" xlink:label="rgen_TonyJHuntMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OtherDirectorsOrOfficersMember" xlink:label="rgen_OtherDirectorsOrOfficersMember"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ecd_AllIndividualsMember" xlink:to="rgen_TonyJHuntMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ecd_AllIndividualsMember" xlink:to="rgen_OtherDirectorsOrOfficersMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/OrganizationAndNatureOfBusiness">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NatureOfOperations" xlink:label="us-gaap_NatureOfOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NatureOfOperations" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLoss">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ComprehensiveIncomeNoteTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlans">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:label="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnaudited">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationTextBlock" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" xlink:label="rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SalesRevenuesGoodsNetMember" xlink:label="rgen_SalesRevenuesGoodsNetMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" xlink:label="rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TradeAccountsReceivableMember" xlink:label="us-gaap_TradeAccountsReceivableMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:label="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="rgen_SalesRevenuesGoodsNetMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_TradeAccountsReceivableMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" xlink:label="rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BioflexAndNtmAcquisitionMember" xlink:label="rgen_BioflexAndNtmAcquisitionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PolymemSAMember" xlink:label="rgen_PolymemSAMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="rgen_ArtesynBiosolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="rgen_NonMetallicSolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="rgen_EngineeredMoldingTechnologyLlcMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesMember" xlink:label="rgen_CTechnologiesMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_BioflexAndNtmAcquisitionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_PolymemSAMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_NonMetallicSolutionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_EngineeredMoldingTechnologyLlcMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_CTechnologiesMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" xlink:label="rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SummaryOfIncomeTaxExaminationsTextBlock" xlink:label="us-gaap_SummaryOfIncomeTaxExaminationsTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SummaryOfIncomeTaxExaminationsTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLossTables">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnauditedTables">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsDescriptionOfRestatementAdjustmentsAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CancelledPurchaseOrderPayments" xlink:label="rgen_CancelledPurchaseOrderPayments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PaymentToPurchaseComponentOfProductRevenue" xlink:label="rgen_PaymentToPurchaseComponentOfProductRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_CancelledPurchaseOrderPayments" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ProductMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_PaymentToPurchaseComponentOfProductRevenue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Revenues" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:label="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:label="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementAxis" xlink:label="srt_RestatementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementDomain" xlink:label="srt_RestatementDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementDomain" xlink:label="srt_RestatementDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioPreviouslyReportedMember" xlink:label="srt_ScenarioPreviouslyReportedMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_HeldToMaturitySecuritiesCurrent" xlink:label="us-gaap_HeldToMaturitySecuritiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementAdjustmentMember" xlink:label="srt_RestatementAdjustmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConvertibleDebtNoncurrent" xlink:label="us-gaap_ConvertibleDebtNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OtherAdjustmentsMember" xlink:label="rgen_OtherAdjustmentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent" xlink:label="us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="us-gaap_LiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsNoncurrent" xlink:label="us-gaap_AssetsNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_AssetsAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RestatementAxis" xlink:to="srt_RestatementDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RestatementAxis" xlink:to="srt_RestatementDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RestatementDomain" xlink:to="srt_ScenarioPreviouslyReportedMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:to="srt_RestatementAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_PreferredStockValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsCurrentAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_HeldToMaturitySecuritiesCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RestatementDomain" xlink:to="srt_RestatementAdjustmentMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_ConvertibleDebtNoncurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_CommonStockValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RestatementDomain" xlink:to="rgen_OtherAdjustmentsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryNet" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedLiabilitiesCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_Goodwill" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ConvertibleNotesPayableCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquity" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesNoncurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_Liabilities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsNoncurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_CommitmentsAndContingencies" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_Assets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:label="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:label="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostsAndExpensesAbstract" xlink:label="us-gaap_CostsAndExpensesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesAbstract" xlink:label="us-gaap_RevenuesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementAxis" xlink:label="srt_RestatementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementDomain" xlink:label="srt_RestatementDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioPreviouslyReportedMember" xlink:label="srt_ScenarioPreviouslyReportedMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentIncomeNet" xlink:label="us-gaap_InvestmentIncomeNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RoyaltyMember" xlink:label="us-gaap_RoyaltyMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementAdjustmentMember" xlink:label="srt_RestatementAdjustmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseNonoperating" xlink:label="us-gaap_InterestExpenseNonoperating"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OtherAdjustmentsMember" xlink:label="rgen_OtherAdjustmentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfDebtIssuanceCost" xlink:label="rgen_AmortizationOfDebtIssuanceCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostsAndExpenses" xlink:label="us-gaap_CostsAndExpenses"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_CostOfGoodsAndServicesSold" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RevenuesAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_RevenuesAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RestatementAxis" xlink:to="srt_RestatementDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ProductMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RestatementDomain" xlink:to="srt_ScenarioPreviouslyReportedMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:to="srt_RestatementAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InvestmentIncomeNet" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpense" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_CostsAndExpensesAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_RoyaltyMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RestatementDomain" xlink:to="srt_RestatementAdjustmentMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:to="srt_ProductOrServiceAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InterestExpenseNonoperating" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_OperatingIncomeLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RestatementDomain" xlink:to="rgen_OtherAdjustmentsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_OtherNonoperatingIncomeExpenseAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="rgen_AmortizationOfDebtIssuanceCost" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_CostsAndExpenses" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpense" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_NetIncomeLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_EarningsPerShareAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf2">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:label="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:label="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementAxis" xlink:label="srt_RestatementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementDomain" xlink:label="srt_RestatementDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioPreviouslyReportedMember" xlink:label="srt_ScenarioPreviouslyReportedMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementAdjustmentMember" xlink:label="srt_RestatementAdjustmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OtherAdjustmentsMember" xlink:label="rgen_OtherAdjustmentsMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_StockholdersEquity" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RestatementAxis" xlink:to="srt_RestatementDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RestatementDomain" xlink:to="srt_ScenarioPreviouslyReportedMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:to="srt_RestatementAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_NetIncomeLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RestatementDomain" xlink:to="srt_RestatementAdjustmentMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RestatementDomain" xlink:to="rgen_OtherAdjustmentsMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:label="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:label="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementAxis" xlink:label="srt_RestatementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementDomain" xlink:label="srt_RestatementDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowElementsAbstract" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioPreviouslyReportedMember" xlink:label="srt_ScenarioPreviouslyReportedMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities" xlink:label="us-gaap_PaymentsToAcquireHeldToMaturitySecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfInventoryStepUp" xlink:label="rgen_AmortizationOfInventoryStepUp"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssued1" xlink:label="us-gaap_StockIssued1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementAdjustmentMember" xlink:label="srt_RestatementAdjustmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:label="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" xlink:label="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OtherAdjustmentsMember" xlink:label="rgen_OtherAdjustmentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireSoftware" xlink:label="us-gaap_PaymentsToAcquireSoftware"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfDebtDiscountPremium" xlink:label="us-gaap_AmortizationOfDebtDiscountPremium"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts" xlink:label="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NotesIssued1" xlink:label="us-gaap_NotesIssued1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ExtinguishmentOfDebtAmount" xlink:label="us-gaap_ExtinguishmentOfDebtAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1" xlink:label="us-gaap_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:label="us-gaap_PaymentsForProceedsFromOtherInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NoncashInterestIncome" xlink:label="rgen_NoncashInterestIncome"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" xlink:label="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" xlink:label="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="us-gaap_OtherNoncashIncomeExpense"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RestatementAxis" xlink:to="srt_RestatementDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetIncomeLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RestatementDomain" xlink:to="srt_ScenarioPreviouslyReportedMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:to="srt_RestatementAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireHeldToMaturitySecurities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_IncomeTaxesPaidNet" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="rgen_AmortizationOfInventoryStepUp" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_StockIssued1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RestatementDomain" xlink:to="srt_RestatementAdjustmentMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_InterestPaidNet" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DepreciationAndAmortization" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromConvertibleDebt" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RestatementDomain" xlink:to="rgen_OtherAdjustmentsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireSoftware" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AmortizationOfDebtDiscountPremium" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_NotesIssued1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_ExtinguishmentOfDebtAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsForProceedsFromOtherInvestingActivities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="rgen_NoncashInterestIncome" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_SupplementalCashFlowElementsAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_OtherNoncashIncomeExpense" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PfizerMember" xlink:label="rgen_PfizerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OptionToPurchaseCommonStockMember" xlink:label="rgen_OptionToPurchaseCommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingStandardsUpdate202006Member" xlink:label="us-gaap_AccountingStandardsUpdate202006Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CustomerNumberOneMember" xlink:label="rgen_CustomerNumberOneMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonExecutiveMember" xlink:label="rgen_NonExecutiveMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PuroliteMember" xlink:label="rgen_PuroliteMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RestrictedStockAndPerformanceStockUnitsMember" xlink:label="rgen_RestrictedStockAndPerformanceStockUnitsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonEmployeeDirectorStockOptionMember" xlink:label="rgen_NonEmployeeDirectorStockOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestOnConvertibleDebtNetOfTax" xlink:label="us-gaap_InterestOnConvertibleDebtNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveEffectOnSharesOfConversionPremium" xlink:label="rgen_DilutiveEffectOnSharesOfConversionPremium"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentageOfSharesSubjectToForfeiture" xlink:label="rgen_PercentageOfSharesSubjectToForfeiture"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdvertisingExpense" xlink:label="us-gaap_AdvertisingExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ContingentConsiderationObligationEstimated" xlink:label="rgen_ContingentConsiderationObligationEstimated"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfReportingUnits" xlink:label="us-gaap_NumberOfReportingUnits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillImpairedFactsAndCircumstancesLeadingToImpairment" xlink:label="us-gaap_GoodwillImpairedFactsAndCircumstancesLeadingToImpairment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewDateOfAnnualGoodwillImpairmentTest" xlink:label="us-gaap_NewDateOfAnnualGoodwillImpairmentTest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="us-gaap_NumberOfOperatingSegments"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_SummaryOfSignificantAccountingPoliciesTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgen_PfizerMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_OptionToPurchaseCommonStockMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_AccountingStandardsUpdate202006Member" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="srt_MajorCustomersAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_ExecutiveOfficerMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgen_CustomerNumberOneMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_DebtInstrumentCarryingAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="us-gaap_AwardTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="rgen_NonExecutiveMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgen_PuroliteMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_RestrictedStockAndPerformanceStockUnitsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_NonEmployeeDirectorStockOptionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_InterestOnConvertibleDebtNetOfTax" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="srt_TitleOfIndividualAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="us-gaap_DebtInstrumentAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_DilutiveEffectOnSharesOfConversionPremium" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_PercentageOfSharesSubjectToForfeiture" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_AdvertisingExpense" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_ContingentConsiderationObligationEstimated" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="12" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_NumberOfReportingUnits" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="13" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_GoodwillImpairedFactsAndCircumstancesLeadingToImpairment" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="14" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_NewDateOfAnnualGoodwillImpairmentTest" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="15" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_GoodwillImpairmentLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="16" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_AssetImpairmentCharges" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="17" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="18" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_Cash" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="19" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_NumberOfOperatingSegments" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquipmentMember" xlink:label="us-gaap_EquipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FurnitureFixturesAndOfficeEquipmentMemberMember" xlink:label="rgen_FurnitureFixturesAndOfficeEquipmentMemberMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ComputerHardwareAndSoftwareMemberMember" xlink:label="rgen_ComputerHardwareAndSoftwareMemberMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_BuildingMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LeaseholdImprovementsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_EquipmentMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="rgen_FurnitureFixturesAndOfficeEquipmentMemberMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="rgen_ComputerHardwareAndSoftwareMemberMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_VehiclesMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:label="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:label="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:label="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:label="us-gaap_WeightedAverageNumberOfSharesRestrictedStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DilutiveSecuritiesAbstract" xlink:label="us-gaap_DilutiveSecuritiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestOnConvertibleDebtNetOfTax" xlink:label="us-gaap_InterestOnConvertibleDebtNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="us-gaap_EarningsPerShareBasicAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NumberOfSharesBasicOutstanding" xlink:label="rgen_NumberOfSharesBasicOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" xlink:label="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesRestrictedStock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:to="us-gaap_NetIncomeLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DilutiveSecuritiesAbstract" xlink:to="us-gaap_InterestOnConvertibleDebtNetOfTax" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareBasicAbstract" xlink:to="rgen_NumberOfSharesBasicOutstanding" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DilutiveSecuritiesAbstract" xlink:to="us-gaap_NetIncomeLossAttributableToParentDiluted" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="us-gaap_DilutiveSecuritiesAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="us-gaap_EarningsPerShareBasicAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="us-gaap_EarningsPerShareAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FiltrationProductsMember" xlink:label="rgen_FiltrationProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ChromatographyProductsMember" xlink:label="rgen_ChromatographyProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProcessAnalyticsProductsMember" xlink:label="rgen_ProcessAnalyticsProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProteinsProductsMember" xlink:label="rgen_ProteinsProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OtherProductsMember" xlink:label="rgen_OtherProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgen_FiltrationProductsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="srt_ProductOrServiceAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgen_ChromatographyProductsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgen_ProcessAnalyticsProductsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgen_ProteinsProductsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgen_OtherProductsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ProductMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="us-gaap_GeographicConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NorthAmericaMember" xlink:label="srt_NorthAmericaMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SalesRevenuesGoodsNetMember" xlink:label="rgen_SalesRevenuesGoodsNetMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_APACOtherMember" xlink:label="rgen_APACOtherMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_GeographicConcentrationRiskMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_NorthAmericaMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="rgen_SalesRevenuesGoodsNetMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_EuropeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="srt_StatementGeographicalAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="rgen_APACOtherMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:label="us-gaap_SegmentReportingAssetReconcilingItemLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NorthAmericaMember" xlink:label="srt_NorthAmericaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_APACMember" xlink:label="rgen_APACMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:to="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:to="us-gaap_Assets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_NorthAmericaMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:to="srt_StatementGeographicalAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_EuropeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="rgen_APACMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:label="us-gaap_SegmentReportingAssetReconcilingItemLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AssetsNonCurrentExcludingDifferedTaxAssets" xlink:label="rgen_AssetsNonCurrentExcludingDifferedTaxAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NorthAmericaMember" xlink:label="srt_NorthAmericaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_APACMember" xlink:label="rgen_APACMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:to="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:to="rgen_AssetsNonCurrentExcludingDifferedTaxAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_NorthAmericaMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:to="srt_StatementGeographicalAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_EuropeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="rgen_APACMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsLineItems" xlink:label="us-gaap_CashAndCashEquivalentsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByBalanceSheetGroupingTable" xlink:label="us-gaap_FairValueByBalanceSheetGroupingTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CashAndMoneyMarketFundsMember" xlink:label="rgen_CashAndMoneyMarketFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentTypeAxis" xlink:label="us-gaap_InvestmentTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="us-gaap_InvestmentTypeCategorizationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="us-gaap_InvestmentTypeCategorizationMember_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAxis" xlink:label="us-gaap_CashAndCashEquivalentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsMember" xlink:label="us-gaap_CashAndCashEquivalentsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_USTreasuryBillSecuritiesMember" xlink:label="us-gaap_USTreasuryBillSecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain" xlink:label="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember" xlink:label="rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue" xlink:label="rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvailableForSaleSecuritiesEstimatedFairValue" xlink:label="rgen_AvailableForSaleSecuritiesEstimatedFairValue"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="us-gaap_FairValueByBalanceSheetGroupingTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="rgen_CashAndMoneyMarketFundsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_InvestmentTypeAxis" xlink:to="us-gaap_InvestmentTypeCategorizationMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_InvestmentTypeAxis" xlink:to="us-gaap_InvestmentTypeCategorizationMember_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_CashAndCashEquivalentsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_InvestmentTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_USTreasuryBillSecuritiesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_CashAndCashEquivalentsAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="rgen_AvailableForSaleSecuritiesEstimatedFairValue" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByBalanceSheetGroupingTable" xlink:label="us-gaap_FairValueByBalanceSheetGroupingTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MoneyMarketFundsMember" xlink:label="us-gaap_MoneyMarketFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAxis" xlink:label="us-gaap_CashAndCashEquivalentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsFairValueDisclosure" xlink:label="us-gaap_AssetsFairValueDisclosure"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShortTermContingentConsideration" xlink:label="rgen_ShortTermContingentConsideration"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_LongTermContingentConsideration" xlink:label="rgen_LongTermContingentConsideration"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueByBalanceSheetGroupingTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="us-gaap_MoneyMarketFundsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel1Member" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_AssetsFairValueDisclosure" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel3Member" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="rgen_ShortTermContingentConsideration" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_CashAndCashEquivalentsAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="rgen_LongTermContingentConsideration" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByBalanceSheetGroupingTable" xlink:label="us-gaap_FairValueByBalanceSheetGroupingTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrivatePlacementMember" xlink:label="us-gaap_PrivatePlacementMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SubscriptionTransactionMember" xlink:label="rgen_SubscriptionTransactionMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ExchangeTransactionMember" xlink:label="rgen_ExchangeTransactionMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NotesMember" xlink:label="rgen_NotesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentExchangedAmountCancelled" xlink:label="rgen_DebtInstrumentExchangedAmountCancelled"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentExchangeAmount" xlink:label="rgen_DebtInstrumentExchangeAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentIssuedForCash" xlink:label="rgen_DebtInstrumentIssuedForCash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFrequencyOfPeriodicPayment" xlink:label="us-gaap_DebtInstrumentFrequencyOfPeriodicPayment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtFairValue" xlink:label="us-gaap_LongTermDebtFairValue"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_FairValueByBalanceSheetGroupingTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="us-gaap_PrivatePlacementMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="rgen_SubscriptionTransactionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_DebtInstrumentAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="rgen_ExchangeTransactionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_NotesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_DebtInstrumentExchangedAmountCancelled" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_SubsidiarySaleOfStockAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_DebtInstrumentExchangeAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_DebtInstrumentIssuedForCash" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_DebtInstrumentFrequencyOfPeriodicPayment" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_LongTermDebt" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_LongTermDebtFairValue" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="us-gaap_LiabilitiesFairValueDisclosure"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ContingentConsiderationMember" xlink:label="rgen_ContingentConsiderationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_LiabilitiesFairValueDisclosure" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="rgen_ContingentConsiderationMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MeasurementInputTypeDomain" xlink:label="us-gaap_MeasurementInputTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MeasurementInputProbabilityOfSuccessMember" xlink:label="rgen_MeasurementInputProbabilityOfSuccessMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationTechniqueAxis" xlink:label="us-gaap_ValuationTechniqueAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationTechniqueDomain" xlink:label="us-gaap_ValuationTechniqueDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationTechniqueDomain" xlink:label="us-gaap_ValuationTechniqueDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MeasurementInputTypeAxis" xlink:label="us-gaap_MeasurementInputTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MeasurementInputTypeDomain" xlink:label="us-gaap_MeasurementInputTypeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideAndFlexbiosysMember" xlink:label="rgen_AvitideAndFlexbiosysMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="us-gaap_LiabilitiesFairValueDisclosure"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ContingentConsiderationMember" xlink:label="rgen_ContingentConsiderationMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MonteCarloSimulationMember" xlink:label="rgen_MonteCarloSimulationMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RDAndCommercializationBasedPaymentsMember" xlink:label="rgen_RDAndCommercializationBasedPaymentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MeasurementInputEarnoutDiscountRateMember" xlink:label="rgen_MeasurementInputEarnoutDiscountRateMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProbabilityOfSuccess" xlink:label="rgen_ProbabilityOfSuccess"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProbabilityWeightedPresentValueMember" xlink:label="rgen_ProbabilityWeightedPresentValueMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RevenueAndVolumeBasedPaymentsMember" xlink:label="rgen_RevenueAndVolumeBasedPaymentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MeasurementInputPriceVolatilityMember" xlink:label="us-gaap_MeasurementInputPriceVolatilityMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_WeightedAverageDiscountRate" xlink:label="rgen_WeightedAverageDiscountRate"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ManufacturingLineExpansionsMember" xlink:label="rgen_ManufacturingLineExpansionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MeasurementInputRevenueVolumeDiscountRateMember" xlink:label="rgen_MeasurementInputRevenueVolumeDiscountRateMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeFixedInterestRate" xlink:label="us-gaap_DerivativeFixedInterestRate"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_VolatilityRateOfContingentConsideration" xlink:label="rgen_VolatilityRateOfContingentConsideration"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RevenueAndVolumeDiscountRate" xlink:label="rgen_RevenueAndVolumeDiscountRate"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="rgen_MeasurementInputProbabilityOfSuccessMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ValuationTechniqueAxis" xlink:to="us-gaap_ValuationTechniqueDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ValuationTechniqueAxis" xlink:to="us-gaap_ValuationTechniqueDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="us-gaap_MeasurementInputTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="us-gaap_MeasurementInputTypeDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideAndFlexbiosysMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_LiabilitiesFairValueDisclosure" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="rgen_ContingentConsiderationMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ValuationTechniqueDomain" xlink:to="rgen_MonteCarloSimulationMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="rgen_RDAndCommercializationBasedPaymentsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="us-gaap_FairValueMeasurementsRecurringMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_ValuationTechniqueAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="rgen_MeasurementInputEarnoutDiscountRateMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="rgen_ProbabilityOfSuccess" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ValuationTechniqueDomain" xlink:to="rgen_ProbabilityWeightedPresentValueMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="rgen_RevenueAndVolumeBasedPaymentsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="us-gaap_MeasurementInputPriceVolatilityMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="rgen_WeightedAverageDiscountRate" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="rgen_ManufacturingLineExpansionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="rgen_MeasurementInputRevenueVolumeDiscountRateMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_DerivativeFixedInterestRate" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_IncomeStatementLocationAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="rgen_VolatilityRateOfContingentConsideration" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_MeasurementInputTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="rgen_RevenueAndVolumeDiscountRate" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonrecurringAdjustmentAxis" xlink:label="us-gaap_NonrecurringAdjustmentAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonrecurringAdjustmentDomain" xlink:label="us-gaap_NonrecurringAdjustmentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonrecurringAdjustmentDomain" xlink:label="us-gaap_NonrecurringAdjustmentDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CapitalUnitsMember" xlink:label="us-gaap_CapitalUnitsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContingentConsiderationByTypeAxis" xlink:label="us-gaap_ContingentConsiderationByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContingentConsiderationTypeDomain" xlink:label="us-gaap_ContingentConsiderationTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContingentConsiderationTypeDomain" xlink:label="us-gaap_ContingentConsiderationTypeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1" xlink:label="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillMember" xlink:label="us-gaap_GoodwillMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TrustForBenefitOfEmployeesMember" xlink:label="us-gaap_TrustForBenefitOfEmployeesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="us-gaap_FairValueByAssetClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh" xlink:label="us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BioflexAndNtmAcquisitionMember" xlink:label="rgen_BioflexAndNtmAcquisitionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PolymemSAMember" xlink:label="rgen_PolymemSAMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesMember" xlink:label="rgen_CTechnologiesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessAcquisitionWorkingCapitalAdjustments" xlink:label="rgen_BusinessAcquisitionWorkingCapitalAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="rgen_ArtesynBiosolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="rgen_NonMetallicSolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="rgen_EngineeredMoldingTechnologyLlcMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xlink:label="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" xlink:label="us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ContingentConsiderationExpense" xlink:label="rgen_ContingentConsiderationExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" xlink:label="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationAdditionalCashForTransactionBonus" xlink:label="rgen_BusinessCombinationAdditionalCashForTransactionBonus"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationTransactionCostPaidDuringPeriod" xlink:label="rgen_BusinessCombinationTransactionCostPaidDuringPeriod"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationsCashDepositedInEscrowAccount" xlink:label="rgen_BusinessCombinationsCashDepositedInEscrowAccount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationConsiderationIndemnificationEscrow" xlink:label="rgen_BusinessCombinationConsiderationIndemnificationEscrow"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold" xlink:label="us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_NonrecurringAdjustmentAxis" xlink:to="us-gaap_NonrecurringAdjustmentDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_NonrecurringAdjustmentAxis" xlink:to="us-gaap_NonrecurringAdjustmentDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CapitalUnitsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ContingentConsiderationByTypeAxis" xlink:to="us-gaap_ContingentConsiderationTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ContingentConsiderationByTypeAxis" xlink:to="us-gaap_ContingentConsiderationTypeDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:to="us-gaap_GoodwillMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="us-gaap_TrustForBenefitOfEmployeesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_StatementEquityComponentsAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_BioflexAndNtmAcquisitionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_IncomeStatementLocationAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_PolymemSAMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_ContingentConsiderationByTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_CTechnologiesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessAcquisitionWorkingCapitalAdjustments" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_FairValueByAssetClassAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_NonMetallicSolutionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_NonrecurringAdjustmentAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_EngineeredMoldingTechnologyLlcMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="srt_TitleOfIndividualAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_Goodwill" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="12" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="13" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="14" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="15" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="16" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_ContingentConsiderationExpense" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="17" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="18" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="19" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationAdditionalCashForTransactionBonus" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="20" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationTransactionCostPaidDuringPeriod" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="21" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationsCashDepositedInEscrowAccount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="22" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="23" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationConsiderationIndemnificationEscrow" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="24" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="25" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="26" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="27" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CashConsiderationExcludingRestrictedCash" xlink:label="rgen_CashConsiderationExcludingRestrictedCash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_CashConsiderationExcludingRestrictedCash" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NetWorkingCapitalExcludingCashAndInventory" xlink:label="rgen_NetWorkingCapitalExcludingCashAndInventory"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TrademarksAndTradeNamesMember" xlink:label="us-gaap_TrademarksAndTradeNamesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BioflexAndNtmAcquisitionMember" xlink:label="rgen_BioflexAndNtmAcquisitionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PolymemSAMember" xlink:label="rgen_PolymemSAMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="rgen_ArtesynBiosolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="rgen_NonMetallicSolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="rgen_EngineeredMoldingTechnologyLlcMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesMember" xlink:label="rgen_CTechnologiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_DevelopedTechnologyRightsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_NetWorkingCapitalExcludingCashAndInventory" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TrademarksAndTradeNamesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_BioflexAndNtmAcquisitionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_NoncompeteAgreementsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_PolymemSAMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_NonMetallicSolutionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_EngineeredMoldingTechnologyLlcMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_CTechnologiesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_Goodwill" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="12" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="13" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="14" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="15" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="16" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="17" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BioflexAndNtmAcquisitionMember" xlink:label="rgen_BioflexAndNtmAcquisitionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PolymemSAMember" xlink:label="rgen_PolymemSAMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="rgen_ArtesynBiosolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="rgen_NonMetallicSolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="rgen_EngineeredMoldingTechnologyLlcMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_DevelopedTechnologyRightsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TradeNamesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_BioflexAndNtmAcquisitionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_NoncompeteAgreementsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_PolymemSAMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_NonMetallicSolutionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_EngineeredMoldingTechnologyLlcMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesMember" xlink:label="rgen_CTechnologiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaRevenue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_CTechnologiesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCostAndReserveLineItems" xlink:label="us-gaap_RestructuringCostAndReserveLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCosts" xlink:label="us-gaap_RestructuringCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCharges" xlink:label="us-gaap_RestructuringCharges"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NoncashInventoryAdjustments" xlink:label="rgen_NoncashInventoryAdjustments"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringCosts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringCharges" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="rgen_NoncashInventoryAdjustments" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCostAndReserveLineItems" xlink:label="us-gaap_RestructuringCostAndReserveLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfRestructuringDomain" xlink:label="us-gaap_TypeOfRestructuringDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeSeveranceMember" xlink:label="us-gaap_EmployeeSeveranceMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCostAndReserveAxis" xlink:label="us-gaap_RestructuringCostAndReserveAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfRestructuringDomain" xlink:label="us-gaap_TypeOfRestructuringDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCosts" xlink:label="us-gaap_RestructuringCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_InventoryAdjustmentsMember" xlink:label="rgen_InventoryAdjustmentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AcceleratedDepreciationMember" xlink:label="rgen_AcceleratedDepreciationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FacilityAndOtherExitCostsMember" xlink:label="rgen_FacilityAndOtherExitCostsMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="us-gaap_IncomeStatementLocationAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="us-gaap_EmployeeSeveranceMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="us-gaap_TypeOfRestructuringDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="us-gaap_TypeOfRestructuringDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringCosts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_CostOfSalesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="us-gaap_RestructuringCostAndReserveAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="rgen_InventoryAdjustmentsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="rgen_AcceleratedDepreciationMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="rgen_FacilityAndOtherExitCostsMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCostAndReserveLineItems" xlink:label="us-gaap_RestructuringCostAndReserveLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCostAndReserveAxis" xlink:label="us-gaap_RestructuringCostAndReserveAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfRestructuringDomain" xlink:label="us-gaap_TypeOfRestructuringDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeSeveranceMember" xlink:label="us-gaap_EmployeeSeveranceMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCosts" xlink:label="us-gaap_RestructuringCosts"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_InventoryAdjustmentsMember" xlink:label="rgen_InventoryAdjustmentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRestructuring" xlink:label="us-gaap_PaymentsForRestructuring"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AcceleratedDepreciationMember" xlink:label="rgen_AcceleratedDepreciationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringReserveSettledWithoutCash2" xlink:label="us-gaap_RestructuringReserveSettledWithoutCash2"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FacilityExitAndOtherExitCostsMember" xlink:label="rgen_FacilityExitAndOtherExitCostsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringReserve" xlink:label="us-gaap_RestructuringReserve"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="us-gaap_RestructuringCostAndReserveAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="us-gaap_EmployeeSeveranceMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="us-gaap_TypeOfRestructuringDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringCosts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="rgen_InventoryAdjustmentsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_PaymentsForRestructuring" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="rgen_AcceleratedDepreciationMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringReserveSettledWithoutCash2" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="rgen_FacilityExitAndOtherExitCostsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringReserve" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasedAssetsLineItems" xlink:label="us-gaap_OperatingLeasedAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_LeaseObligationsNotYetCommenced" xlink:label="rgen_LeaseObligationsNotYetCommenced"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1" xlink:label="us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_LesseeLeaseDescriptionTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="rgen_LeaseObligationsNotYetCommenced" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RoyaltyMember" xlink:label="us-gaap_RoyaltyMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ProductMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_ProductOrServiceAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_RoyaltyMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PfizerMember" xlink:label="rgen_PfizerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MilliporeSigmaMember" xlink:label="rgen_MilliporeSigmaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgen_PfizerMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_MajorCustomersAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgen_MilliporeSigmaMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract" xlink:label="us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss" xlink:label="us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenue" xlink:label="us-gaap_DeferredRevenue"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerLiability" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:to="us-gaap_DeferredRevenue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillLineItems" xlink:label="us-gaap_GoodwillLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="us-gaap_ScheduleOfGoodwillTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SpectrumIncMember" xlink:label="rgen_SpectrumIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillPurchaseAccountingAdjustments" xlink:label="us-gaap_GoodwillPurchaseAccountingAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="rgen_NonMetallicSolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="rgen_ArtesynBiosolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BioflexMember" xlink:label="rgen_BioflexMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NewtonNewJerseyMember" xlink:label="rgen_NewtonNewJerseyMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_ScheduleOfGoodwillTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfGoodwillTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_Goodwill" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_SpectrumIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfGoodwillTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillPurchaseAccountingAdjustments" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_NonMetallicSolutionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillForeignCurrencyTranslationGainLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_BioflexMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_NewtonNewJerseyMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IntangibleAssetsLineItems" xlink:label="rgen_IntangibleAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfIntangibleAssetsTable" xlink:label="rgen_ScheduleOfIntangibleAssetsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DaylightSolutionsIncMember" xlink:label="rgen_DaylightSolutionsIncMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TrademarkMember" xlink:label="rgen_TrademarkMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PatentsMember" xlink:label="us-gaap_PatentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsGrossExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TrademarksMember" xlink:label="us-gaap_TrademarksMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIntangibleAssetsMember" xlink:label="us-gaap_OtherIntangibleAssetsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IndefiniteLivedIntangibleAssetsNet" xlink:label="rgen_IndefiniteLivedIntangibleAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="rgen_ScheduleOfIntangibleAssetsTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_ScheduleOfIntangibleAssetsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_DevelopedTechnologyRightsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="rgen_DaylightSolutionsIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="rgen_TrademarkMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_ScheduleOfIntangibleAssetsTable" xlink:to="srt_CounterpartyNameAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_PatentsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_IntangibleAssetsGrossExcludingGoodwill" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_ScheduleOfIntangibleAssetsTable" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TrademarksMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_OtherIntangibleAssetsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="rgen_IndefiniteLivedIntangibleAssetsNet" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsDetailParenthetical"/>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:label="rgen_FiniteLivedIntangibleLiabilitiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:label="rgen_FiniteLivedIntangibleLiabilitiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryLineItems" xlink:label="us-gaap_InventoryLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryCurrentTable" xlink:label="us-gaap_InventoryCurrentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryCurrentTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_InventoryCurrentTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryNet" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:label="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PrepaidExpensesAndOtherCurrentAssetsTable" xlink:label="rgen_PrepaidExpensesAndOtherCurrentAssetsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PrepaidServicesAndProfessionalFees" xlink:label="rgen_PrepaidServicesAndProfessionalFees"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidTaxes" xlink:label="us-gaap_PrepaidTaxes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidInsurance" xlink:label="us-gaap_PrepaidInsurance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="rgen_PrepaidExpensesAndOtherCurrentAssetsTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="rgen_PrepaidServicesAndProfessionalFees" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="us-gaap_PrepaidTaxes" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="us-gaap_PrepaidInsurance" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="us-gaap_OtherAssetsCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Land" xlink:label="us-gaap_Land"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingsAndImprovementsGross" xlink:label="us-gaap_BuildingsAndImprovementsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsGross" xlink:label="us-gaap_LeaseholdImprovementsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentGross" xlink:label="us-gaap_MachineryAndEquipmentGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesGross" xlink:label="us-gaap_FurnitureAndFixturesGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CapitalizedComputerSoftwareGross" xlink:label="us-gaap_CapitalizedComputerSoftwareGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentOther" xlink:label="us-gaap_PropertyPlantAndEquipmentOther"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_Land" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_BuildingsAndImprovementsGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_LeaseholdImprovementsGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_MachineryAndEquipmentGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_FurnitureAndFixturesGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_CapitalizedComputerSoftwareGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ConstructionInProgressGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentOther" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:label="rgen_ScheduleOfAccruedLiabilitiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfAccruedLiabilitiesTable" xlink:label="rgen_ScheduleOfAccruedLiabilitiesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="us-gaap_DeferredRevenueCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="us-gaap_AccruedIncomeTaxesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="rgen_ScheduleOfAccruedLiabilitiesTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_ScheduleOfAccruedLiabilitiesTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="us-gaap_DeferredRevenueCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="us-gaap_AccruedIncomeTaxesCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="us-gaap_AccruedLiabilitiesCurrent" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:label="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfIncomeBeforeIncomeTaxTable" xlink:label="rgen_ScheduleOfIncomeBeforeIncomeTaxTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:to="rgen_ScheduleOfIncomeBeforeIncomeTaxTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_ScheduleOfIncomeBeforeIncomeTaxTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesLineItems" xlink:label="rgen_IncomeTaxesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesTable" xlink:label="rgen_IncomeTaxesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" xlink:label="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions" xlink:label="us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_IncomeTaxesTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_IncomeTaxesTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesLineItems" xlink:label="rgen_IncomeTaxesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesTable" xlink:label="rgen_IncomeTaxesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations" xlink:label="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" xlink:label="us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations" xlink:label="us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_IncomeTaxesTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_IncomeTaxesTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesLineItems" xlink:label="rgen_IncomeTaxesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesTable" xlink:label="rgen_IncomeTaxesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodDomain" xlink:label="us-gaap_TaxPeriodDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LatestTaxYearMember" xlink:label="us-gaap_LatestTaxYearMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodAxis" xlink:label="us-gaap_TaxPeriodAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodDomain" xlink:label="us-gaap_TaxPeriodDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsMember" xlink:label="us-gaap_OtherAssetsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxCreditCarryforwardAmount" xlink:label="us-gaap_TaxCreditCarryforwardAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TaxYear2040Member" xlink:label="rgen_TaxYear2040Member"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiablitiesMember" xlink:label="rgen_DeferredTaxLiablitiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="us-gaap_StateAndLocalJurisdictionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherInformationPertainingToIncomeTaxes" xlink:label="us-gaap_OtherInformationPertainingToIncomeTaxes"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TaxYear2041Member" xlink:label="rgen_TaxYear2041Member"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AccumulatedDeficitMember" xlink:label="rgen_AccumulatedDeficitMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FederalAndStateMember" xlink:label="rgen_FederalAndStateMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TaxYear2043Member" xlink:label="rgen_TaxYear2043Member"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_InflationReductionActOfTwoThousandTwentyTwoMember" xlink:label="rgen_InflationReductionActOfTwoThousandTwentyTwoMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:label="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TaxYearTwoThousandThirtySevenMember" xlink:label="rgen_TaxYearTwoThousandThirtySevenMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UnlimitedCarryforwardPeriodMember" xlink:label="rgen_UnlimitedCarryforwardPeriodMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentageOfCurrentFederalTaxExpenseBenefit" xlink:label="rgen_PercentageOfCurrentFederalTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentOfExciseTaxOnNetStockRepurchases" xlink:label="rgen_PercentOfExciseTaxOnNetStockRepurchases"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ForeignEarningsSubjectToOneTimeTransitionTax" xlink:label="rgen_ForeignEarningsSubjectToOneTimeTransitionTax"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CoronavirusAidReliefAndEconomicSecurityFundValue" xlink:label="rgen_CoronavirusAidReliefAndEconomicSecurityFundValue"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_IncomeTaxesTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_OperatingLossCarryforwards" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="us-gaap_LatestTaxYearMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="us-gaap_TaxPeriodDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="us-gaap_TaxPeriodDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_OtherAssetsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_IncomeTaxesTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_DomesticCountryMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_TaxCreditCarryforwardAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="rgen_TaxYear2040Member" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="rgen_DeferredTaxLiablitiesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_IncomeTaxesTable" xlink:to="srt_StatementGeographicalAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_StateAndLocalJurisdictionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_OtherInformationPertainingToIncomeTaxes" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="rgen_TaxYear2041Member" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="rgen_AccumulatedDeficitMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_IncomeTaxesTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="rgen_FederalAndStateMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="rgen_TaxYear2043Member" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_IncomeTaxesTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="rgen_InflationReductionActOfTwoThousandTwentyTwoMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="rgen_TaxYearTwoThousandThirtySevenMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_IncomeTaxesTable" xlink:to="us-gaap_TaxPeriodAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="rgen_UnlimitedCarryforwardPeriodMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_IncomeTaxesTable" xlink:to="us-gaap_BalanceSheetLocationAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_PercentageOfCurrentFederalTaxExpenseBenefit" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_PercentOfExciseTaxOnNetStockRepurchases" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="12" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_ForeignEarningsSubjectToOneTimeTransitionTax" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="13" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_CoronavirusAidReliefAndEconomicSecurityFundValue" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xlink:label="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" xlink:label="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredIncomeTaxLiabilitiesFixedAssets" xlink:label="rgen_DeferredIncomeTaxLiabilitiesFixedAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNetAbstract" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxAssetsOperatingLeases" xlink:label="rgen_DeferredTaxAssetsOperatingLeases"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" xlink:label="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiabilitiesDebtDiscount" xlink:label="rgen_DeferredTaxLiabilitiesDebtDiscount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" xlink:label="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="us-gaap_DeferredTaxLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xlink:to="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="rgen_DeferredIncomeTaxLiabilitiesFixedAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xlink:to="us-gaap_DeferredTaxAssetsNetAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="rgen_DeferredTaxAssetsOperatingLeases" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="rgen_DeferredTaxLiabilitiesDebtDiscount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsInventory" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsNet" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxRateReconciliationLineItems" xlink:label="rgen_IncomeTaxRateReconciliationLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxRateReconciliationTable" xlink:label="rgen_IncomeTaxRateReconciliationTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationTaxCredits" xlink:label="us-gaap_IncomeTaxReconciliationTaxCredits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings" xlink:label="us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" xlink:label="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationTaxContingencies" xlink:label="us-gaap_IncomeTaxReconciliationTaxContingencies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" xlink:label="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xlink:label="us-gaap_IncomeTaxReconciliationOtherReconcilingItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_IncomeTaxRateReconciliationTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:to="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_IncomeTaxRateReconciliationTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:to="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:to="us-gaap_IncomeTaxReconciliationTaxCredits" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxReconciliationTaxContingencies" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="12" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="13" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="14" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxReconciliationOtherReconcilingItems" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="15" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="16" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="17" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="18" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="19" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="20" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="21" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="22" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="23" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="24" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="25" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="26" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="27" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="28" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="29" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="30" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExaminationLineItems" xlink:label="us-gaap_IncomeTaxExaminationLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExaminationTable" xlink:label="us-gaap_IncomeTaxExaminationTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OpenTaxYear" xlink:label="us-gaap_OpenTaxYear"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodDomain" xlink:label="us-gaap_TaxPeriodDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarliestTaxYearMember" xlink:label="us-gaap_EarliestTaxYearMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodAxis" xlink:label="us-gaap_TaxPeriodAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LatestTaxYearMember" xlink:label="us-gaap_LatestTaxYearMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_SE" xlink:label="country_SE"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_IncomeTaxExaminationLineItems" xlink:to="us-gaap_IncomeTaxExaminationTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxExaminationLineItems" xlink:to="us-gaap_OpenTaxYear" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="us-gaap_EarliestTaxYearMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="us-gaap_TaxPeriodDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_IncomeTaxExaminationTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="us-gaap_LatestTaxYearMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_IncomeTaxExaminationTable" xlink:to="srt_StatementGeographicalAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_SE" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_IncomeTaxExaminationTable" xlink:to="us-gaap_TaxPeriodAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" xlink:label="rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:to="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefits" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:to="rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockholdersEquityNoteDisclosureLineItems" xlink:label="rgen_StockholdersEquityNoteDisclosureLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockholdersEquityNoteDisclosureTable" xlink:label="rgen_StockholdersEquityNoteDisclosureTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockOptionAndIncentivePlanMember" xlink:label="rgen_StockOptionAndIncentivePlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideLlcMember" xlink:label="rgen_AvitideLlcMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UnvestedOptionsMember" xlink:label="rgen_UnvestedOptionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EarnoutConsiderationEarned" xlink:label="rgen_EarnoutConsiderationEarned"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RestrictedStockAndPerformanceStockUnitsMember" xlink:label="rgen_RestrictedStockAndPerformanceStockUnitsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" xlink:label="rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StockRepurchaseProgramAuthorizedAmount1" xlink:label="srt_StockRepurchaseProgramAuthorizedAmount1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="rgen_StockholdersEquityNoteDisclosureTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="rgen_StockOptionAndIncentivePlanMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideLlcMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="us-gaap_DebtInstrumentAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_CommonStockSharesIssued" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_UnvestedOptionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="us-gaap_AwardTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="rgen_EarnoutConsiderationEarned" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_RestrictedStockAndPerformanceStockUnitsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="us-gaap_PlanNameAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensation" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_SharePrice" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="12" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="13" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="14" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="15" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="srt_StockRepurchaseProgramAuthorizedAmount1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="16" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="17" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="18" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="us-gaap_IncomeStatementLocationAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="us-gaap_ShareBasedCompensation" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_CostOfSalesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentageOfSharesSubjectToForfeiture" xlink:label="rgen_PercentageOfSharesSubjectToForfeiture"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonExecutiveMember" xlink:label="rgen_NonExecutiveMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="rgen_PercentageOfSharesSubjectToForfeiture" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="rgen_NonExecutiveMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_TitleOfIndividualAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_ExecutiveOfficerMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentageOfSharesSubjectToForfeiture" xlink:label="rgen_PercentageOfSharesSubjectToForfeiture"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RestrictedStockAndPerformanceStockUnitsMember" xlink:label="rgen_RestrictedStockAndPerformanceStockUnitsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonExecutiveMember" xlink:label="rgen_NonExecutiveMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="rgen_PercentageOfSharesSubjectToForfeiture" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_RestrictedStockAndPerformanceStockUnitsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="rgen_NonExecutiveMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_ExecutiveOfficerMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_TitleOfIndividualAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CommitmentsAndContingenciesLineItems" xlink:label="rgen_CommitmentsAndContingenciesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CommitmentsAndContingenciesTable" xlink:label="rgen_CommitmentsAndContingenciesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NGLImpactAMember" xlink:label="rgen_NGLImpactAMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xlink:label="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:label="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:label="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentArrangementMember" xlink:label="us-gaap_ResearchAndDevelopmentArrangementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RoyaltyExpense" xlink:label="us-gaap_RoyaltyExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractualObligationDueInNextTwelveMonths" xlink:label="us-gaap_ContractualObligationDueInNextTwelveMonths"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_CommitmentsAndContingenciesLineItems" xlink:to="rgen_CommitmentsAndContingenciesTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgen_NGLImpactAMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_CommitmentsAndContingenciesTable" xlink:to="srt_ProductOrServiceAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xlink:to="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xlink:to="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:to="us-gaap_ResearchAndDevelopmentArrangementMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_CommitmentsAndContingenciesLineItems" xlink:to="us-gaap_RoyaltyExpense" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_CommitmentsAndContingenciesTable" xlink:to="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_CommitmentsAndContingenciesLineItems" xlink:to="us-gaap_ContractualObligationDueInNextTwelveMonths" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentUnamortizedDiscount" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ConvertibleSeniorNotes" xlink:label="rgen_ConvertibleSeniorNotes"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentCarryingAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentUnamortizedDiscount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DeferredFinanceCostsNet" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_ConvertibleNotesPayableCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_ConvertibleSeniorNotes" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="us-gaap_ShortTermDebtTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="us-gaap_ShortTermDebtTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="us-gaap_ShortTermDebtTypeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ExchangeAndSubscriptionAgreementsMember" xlink:label="rgen_ExchangeAndSubscriptionAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentExchangedAmount" xlink:label="rgen_DebtInstrumentExchangedAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ExchangedTwoZeroOneNineNotesMember" xlink:label="rgen_ExchangedTwoZeroOneNineNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentExchangedAmountCancelled" xlink:label="rgen_DebtInstrumentExchangedAmountCancelled"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FairValueOfEmbeddedConversionOptionMember" xlink:label="rgen_FairValueOfEmbeddedConversionOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ModifiedTwoZeroOneNineNotesMember" xlink:label="rgen_ModifiedTwoZeroOneNineNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentIssuedForCash" xlink:label="rgen_DebtInstrumentIssuedForCash"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SubscriptionTransactionsMember" xlink:label="rgen_SubscriptionTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ModificationOfDebt" xlink:label="rgen_ModificationOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TwoZeroTwoThreeNotesMember" xlink:label="rgen_TwoZeroTwoThreeNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OutstandingTwoZeroTwoThreeNotesMember" xlink:label="rgen_OutstandingTwoZeroTwoThreeNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ExchangeTransactionMember" xlink:label="rgen_ExchangeTransactionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TwoZeroOneNineNotesMember" xlink:label="rgen_TwoZeroOneNineNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentUnamortizedDiscount" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateTerms" xlink:label="us-gaap_DebtInstrumentInterestRateTerms"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="us-gaap_DebtInstrumentMaturityDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentConvertibleIntoEquity" xlink:label="rgen_DebtInstrumentConvertibleIntoEquity"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentConvertibleIntoEquitySettled" xlink:label="rgen_DebtInstrumentConvertibleIntoEquitySettled"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateDuringPeriod" xlink:label="us-gaap_DebtInstrumentInterestRateDuringPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentRedemptionPricePercentage" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentage"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentAccruedAndUnpaidInterest" xlink:label="rgen_DebtInstrumentAccruedAndUnpaidInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseDebtExcludingAmortization" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfDebtDiscountPremium" xlink:label="us-gaap_AmortizationOfDebtDiscountPremium"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfDebtIssuanceCost" xlink:label="rgen_AmortizationOfDebtIssuanceCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtFairValue" xlink:label="us-gaap_LongTermDebtFairValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OptionToPurchaseAdditionalDebtFaceAmount" xlink:label="rgen_OptionToPurchaseAdditionalDebtFaceAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DiscountRate" xlink:label="rgen_DiscountRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature" xlink:label="us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent" xlink:label="rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ConvertibleNotesTransactionCostsOfEquityComponent" xlink:label="rgen_ConvertibleNotesTransactionCostsOfEquityComponent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="us-gaap_DeferredTaxLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarlyRepaymentOfSeniorDebt" xlink:label="us-gaap_EarlyRepaymentOfSeniorDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentIncreaseAccruedInterest" xlink:label="us-gaap_DebtInstrumentIncreaseAccruedInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtConversionConvertedInstrumentAmount1" xlink:label="us-gaap_DebtConversionConvertedInstrumentAmount1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentFaceAmountRemaining" xlink:label="rgen_DebtInstrumentFaceAmountRemaining"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent" xlink:label="us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_LossOnDebtConversion" xlink:label="rgen_LossOnDebtConversion"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ShortTermDebtTypeAxis" xlink:to="us-gaap_ShortTermDebtTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ShortTermDebtTypeAxis" xlink:to="us-gaap_ShortTermDebtTypeDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_ExchangeAndSubscriptionAgreementsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentExchangedAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_ShortTermDebtTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_ExchangedTwoZeroOneNineNotesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentExchangedAmountCancelled" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="rgen_FairValueOfEmbeddedConversionOptionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_ModifiedTwoZeroOneNineNotesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentIssuedForCash" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_SubscriptionTransactionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_ModificationOfDebt" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_SubsequentEventTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_TwoZeroTwoThreeNotesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_StatementEquityComponentsAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_OutstandingTwoZeroTwoThreeNotesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_ProceedsFromConvertibleDebt" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_ExchangeTransactionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_TwoZeroOneNineNotesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DeferredFinanceCostsNet" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentUnamortizedDiscount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateTerms" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="12" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentMaturityDate" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="13" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="14" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdTradingDays" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="15" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentConvertibleIntoEquity" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="16" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentConvertibleIntoEquitySettled" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="17" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="18" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleConversionRatio1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="19" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleConversionPrice1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="20" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateDuringPeriod" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="21" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_SharePrice" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="22" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentRedemptionPricePercentage" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="23" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentAccruedAndUnpaidInterest" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="24" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_InterestExpenseDebtExcludingAmortization" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="25" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_AmortizationOfDebtDiscountPremium" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="26" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_AmortizationOfFinancingCosts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="27" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_AmortizationOfDebtIssuanceCost" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="28" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="29" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebt" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="30" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="31" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebtFairValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="32" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_OptionToPurchaseAdditionalDebtFaceAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="33" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DiscountRate" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="34" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="35" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="36" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="37" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_ConvertibleNotesTransactionCostsOfEquityComponent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="38" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DeferredTaxLiabilities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="39" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="40" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LiabilitiesCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="41" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_EarlyRepaymentOfSeniorDebt" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="42" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentIncreaseAccruedInterest" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="43" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="44" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="45" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtConversionConvertedInstrumentAmount1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="46" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentFaceAmountRemaining" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="47" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="49" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_LossOnDebtConversion" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedTranslationAdjustmentMember" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedTranslationAdjustmentMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_StockholdersEquity" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:to="us-gaap_StatementEquityComponentsAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:label="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="us-gaap_RetirementPlanTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" xlink:label="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" xlink:label="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DefinedContributionPlanEmployeeEligibilityAge" xlink:label="rgen_DefinedContributionPlanEmployeeEligibilityAge"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetirementPlanSponsorLocationDomain" xlink:label="us-gaap_RetirementPlanSponsorLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignPlanMember" xlink:label="us-gaap_ForeignPlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetirementPlanSponsorLocationAxis" xlink:label="us-gaap_RetirementPlanSponsorLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetirementPlanSponsorLocationDomain" xlink:label="us-gaap_RetirementPlanSponsorLocationDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionPlansDefinedBenefitMember" xlink:label="us-gaap_PensionPlansDefinedBenefitMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DefinedContribution401KPlanMember" xlink:label="rgen_DefinedContribution401KPlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanContributionsByEmployer" xlink:label="us-gaap_DefinedBenefitPlanContributionsByEmployer"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:to="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:to="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="rgen_DefinedContributionPlanEmployeeEligibilityAge" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RetirementPlanSponsorLocationDomain" xlink:to="us-gaap_ForeignPlanMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RetirementPlanSponsorLocationAxis" xlink:to="us-gaap_RetirementPlanSponsorLocationDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RetirementPlanSponsorLocationAxis" xlink:to="us-gaap_RetirementPlanSponsorLocationDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RetirementPlanTypeDomain" xlink:to="us-gaap_PensionPlansDefinedBenefitMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" xlink:to="rgen_DefinedContribution401KPlanMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="us-gaap_DefinedBenefitPlanContributionsByEmployer" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:to="us-gaap_RetirementPlanTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:to="us-gaap_RetirementPlanSponsorLocationAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="us-gaap_RelatedPartyTransactionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrincipalOwnerMember" xlink:label="us-gaap_PrincipalOwnerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SpectrumIncMember" xlink:label="rgen_SpectrumIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRent" xlink:label="us-gaap_PaymentsForRent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesMember" xlink:label="rgen_CTechnologiesMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="us-gaap_PrincipalOwnerMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_OwnershipDomain" xlink:to="rgen_SpectrumIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_PaymentsForRent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="rgen_CTechnologiesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="srt_OwnershipAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UsefulLifeDescriptionOfTermDomain" xlink:label="us-gaap_UsefulLifeDescriptionOfTermDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UsefulLifeShorterOfTermOfLeaseOrAssetUtilityMember" xlink:label="us-gaap_UsefulLifeShorterOfTermOfLeaseOrAssetUtilityMember"/>
        </link:definitionLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_AssetsCurrent" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_PreferredStockValue" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LiabilitiesCurrent" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableCurrent" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_ConvertibleDebtNoncurrent" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_AssetsNoncurrent" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_CommonStockValue" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LiabilitiesNoncurrent" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_HeldToMaturitySecuritiesCurrent" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_Goodwill" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_CommitmentsAndContingencies" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_InventoryNet" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_ConvertibleNotesPayableCurrent" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" order="5" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" order="5" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent" order="6" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsNoncurrent" xlink:label="us-gaap_AssetsNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="us-gaap_LiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConvertibleDebtNoncurrent" xlink:label="us-gaap_ConvertibleDebtNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_HeldToMaturitySecuritiesCurrent" xlink:label="us-gaap_HeldToMaturitySecuritiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent" xlink:label="us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail2">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsGrossExcludingGoodwill" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" order="1" weight="-1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsGrossExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail2">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="rgen_LeaseIncentives" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_OperatingLeaseLiability" order="2" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_LeaseIncentives" xlink:label="rgen_LeaseIncentives"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail2">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:to="us-gaap_WeightedAverageNumberOfSharesRestrictedStock" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:to="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="rgen_NumberOfSharesBasicOutstanding" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:to="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:to="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" order="3" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:label="us-gaap_WeightedAverageNumberOfSharesRestrictedStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NumberOfSharesBasicOutstanding" xlink:label="rgen_NumberOfSharesBasicOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" xlink:label="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_NonoperatingIncomeExpense" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_InvestmentIncomeNet" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="0" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_CostsAndExpenses" order="0" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_CostOfGoodsAndServicesSold" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_OperatingIncomeLoss" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_NetIncomeLoss" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_ResearchAndDevelopmentExpense" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_InterestExpenseNonoperating" order="2" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="rgen_AmortizationOfDebtIssuanceCost" order="4" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" order="5" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentIncomeNet" xlink:label="us-gaap_InvestmentIncomeNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostsAndExpenses" xlink:label="us-gaap_CostsAndExpenses"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseNonoperating" xlink:label="us-gaap_InterestExpenseNonoperating"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfDebtIssuanceCost" xlink:label="rgen_AmortizationOfDebtIssuanceCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetIncomeLoss" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" order="0" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireHeldToMaturitySecurities" order="0" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="rgen_AmortizationOfInventoryStepUp" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DepreciationAndAmortization" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromConvertibleDebt" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireSoftware" order="2" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_AmortizationOfDebtDiscountPremium" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" order="3" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" order="4" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" order="4" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts" order="5" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets" order="5" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ShareBasedCompensation" order="6" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" order="6" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsForProceedsFromOtherInvestingActivities" order="6" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" order="7" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" order="7" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" order="8" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" order="10" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" order="12" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_OtherNoncashIncomeExpense" order="13" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="rgen_NoncashInterestIncome" order="14" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" order="15" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInInventories" order="16" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" order="17" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets" order="19" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" order="20" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities" order="22" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" order="23" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" order="26" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities" xlink:label="us-gaap_PaymentsToAcquireHeldToMaturitySecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfInventoryStepUp" xlink:label="rgen_AmortizationOfInventoryStepUp"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:label="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireSoftware" xlink:label="us-gaap_PaymentsToAcquireSoftware"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfDebtDiscountPremium" xlink:label="us-gaap_AmortizationOfDebtDiscountPremium"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" xlink:label="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:label="us-gaap_PaymentsForProceedsFromOtherInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" xlink:label="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="us-gaap_OtherNoncashIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NoncashInterestIncome" xlink:label="rgen_NoncashInterestIncome"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_ConvertibleDebtNoncurrent" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_AssetsNoncurrent" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_PreferredStockValue" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LiabilitiesCurrent" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_ConvertibleNotesPayableCurrent" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_AssetsCurrent" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_CommonStockValue" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LiabilitiesNoncurrent" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_HeldToMaturitySecuritiesCurrent" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableCurrent" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_CommitmentsAndContingencies" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_InventoryNet" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_Goodwill" order="5" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="us-gaap_LiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConvertibleDebtNoncurrent" xlink:label="us-gaap_ConvertibleDebtNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsNoncurrent" xlink:label="us-gaap_AssetsNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent" xlink:label="us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_HeldToMaturitySecuritiesCurrent" xlink:label="us-gaap_HeldToMaturitySecuritiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_NonoperatingIncomeExpense" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_InvestmentIncomeNet" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_CostsAndExpenses" order="0" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_CostOfGoodsAndServicesSold" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_OperatingIncomeLoss" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_InterestExpenseNonoperating" order="1" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="1" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_ResearchAndDevelopmentExpense" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="rgen_AmortizationOfDebtIssuanceCost" order="4" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" order="5" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentIncomeNet" xlink:label="us-gaap_InvestmentIncomeNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostsAndExpenses" xlink:label="us-gaap_CostsAndExpenses"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseNonoperating" xlink:label="us-gaap_InterestExpenseNonoperating"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfDebtIssuanceCost" xlink:label="rgen_AmortizationOfDebtIssuanceCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetIncomeLoss" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" order="0" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireHeldToMaturitySecurities" order="0" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="rgen_AmortizationOfInventoryStepUp" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromConvertibleDebt" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DepreciationAndAmortization" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireSoftware" order="2" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_AmortizationOfDebtDiscountPremium" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts" order="3" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" order="3" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ShareBasedCompensation" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" order="4" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" order="4" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" order="5" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" order="5" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets" order="5" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" order="6" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" order="6" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsForProceedsFromOtherInvestingActivities" order="6" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="rgen_NoncashInterestIncome" order="7" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" order="8" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" order="9" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_OtherNoncashIncomeExpense" order="11" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" order="12" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInInventories" order="13" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" order="14" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets" order="16" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" order="17" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities" order="18" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" order="19" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1" order="20" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" order="21" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities" xlink:label="us-gaap_PaymentsToAcquireHeldToMaturitySecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfInventoryStepUp" xlink:label="rgen_AmortizationOfInventoryStepUp"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:label="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireSoftware" xlink:label="us-gaap_PaymentsToAcquireSoftware"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfDebtDiscountPremium" xlink:label="us-gaap_AmortizationOfDebtDiscountPremium"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" xlink:label="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:label="us-gaap_PaymentsForProceedsFromOtherInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NoncashInterestIncome" xlink:label="rgen_NoncashInterestIncome"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" xlink:label="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="us-gaap_OtherNoncashIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1" xlink:label="us-gaap_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:to="us-gaap_NetIncomeLoss" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:to="us-gaap_InterestOnConvertibleDebtNetOfTax" order="1" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestOnConvertibleDebtNetOfTax" xlink:label="us-gaap_InterestOnConvertibleDebtNetOfTax"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" xlink:to="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain" order="0" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" xlink:to="rgen_AvailableForSaleSecuritiesEstimatedFairValue" order="1" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain" xlink:label="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvailableForSaleSecuritiesEstimatedFairValue" xlink:label="rgen_AvailableForSaleSecuritiesEstimatedFairValue"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="rgen_CashConsiderationExcludingRestrictedCash" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" order="2" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CashConsiderationExcludingRestrictedCash" xlink:label="rgen_CashConsiderationExcludingRestrictedCash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="rgen_NetWorkingCapitalExcludingCashAndInventory" order="1" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" order="5" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" order="6" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" order="7" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" order="8" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_Goodwill" order="9" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent" order="10" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" order="11" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" order="12" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" order="13" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" order="14" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent" order="15" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" order="16" weight="-1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NetWorkingCapitalExcludingCashAndInventory" xlink:label="rgen_NetWorkingCapitalExcludingCashAndInventory"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" order="5" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseCostDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_OperatingLeaseCost" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="rgen_VariableOperatingLeaseCost" order="1" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_VariableOperatingLeaseCost" xlink:label="rgen_VariableOperatingLeaseCost"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="rgen_IndefiniteLivedIntangibleAssetsNet" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" order="1" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" order="1" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IndefiniteLivedIntangibleAssetsNet" xlink:label="rgen_IndefiniteLivedIntangibleAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" order="5" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves" order="2" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="rgen_PrepaidServicesAndProfessionalFees" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidTaxes" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidInsurance" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_OtherAssetsCurrent" order="3" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PrepaidServicesAndProfessionalFees" xlink:label="rgen_PrepaidServicesAndProfessionalFees"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidTaxes" xlink:label="us-gaap_PrepaidTaxes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidInsurance" xlink:label="us-gaap_PrepaidInsurance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_Land" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="1" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_BuildingsAndImprovementsGross" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_LeaseholdImprovementsGross" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_MachineryAndEquipmentGross" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_FurnitureAndFixturesGross" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_CapitalizedComputerSoftwareGross" order="5" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_ConstructionInProgressGross" order="6" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentOther" order="7" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Land" xlink:label="us-gaap_Land"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingsAndImprovementsGross" xlink:label="us-gaap_BuildingsAndImprovementsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsGross" xlink:label="us-gaap_LeaseholdImprovementsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentGross" xlink:label="us-gaap_MachineryAndEquipmentGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesGross" xlink:label="us-gaap_FurnitureAndFixturesGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CapitalizedComputerSoftwareGross" xlink:label="us-gaap_CapitalizedComputerSoftwareGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentOther" xlink:label="us-gaap_PropertyPlantAndEquipmentOther"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedIncomeTaxesCurrent" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_DeferredRevenueCurrent" order="5" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent" order="6" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="us-gaap_AccruedIncomeTaxesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="us-gaap_DeferredRevenueCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" order="1" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" order="1" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" xlink:label="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations" order="2" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations" xlink:label="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" xlink:label="us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations" xlink:label="us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxLiabilities" xlink:to="us-gaap_DeferredTaxAssetsNet" order="0" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsGross" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="rgen_DeferredIncomeTaxLiabilitiesFixedAssets" order="1" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance" order="1" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="rgen_DeferredTaxLiabilitiesDebtDiscount" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsInventory" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" order="4" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" order="5" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" order="5" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="rgen_DeferredTaxAssetsOperatingLeases" order="6" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" order="7" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="us-gaap_DeferredTaxLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredIncomeTaxLiabilitiesFixedAssets" xlink:label="rgen_DeferredIncomeTaxLiabilitiesFixedAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiabilitiesDebtDiscount" xlink:label="rgen_DeferredTaxLiabilitiesDebtDiscount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" xlink:label="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" xlink:label="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxAssetsOperatingLeases" xlink:label="rgen_DeferredTaxAssetsOperatingLeases"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationTaxCredits" order="3" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings" order="5" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount" order="6" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" order="8" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" order="9" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" order="10" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount" order="11" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" order="12" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationTaxContingencies" order="15" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" order="16" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" order="17" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationOtherReconcilingItems" order="18" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationTaxCredits" xlink:label="us-gaap_IncomeTaxReconciliationTaxCredits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings" xlink:label="us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" xlink:label="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationTaxContingencies" xlink:label="us-gaap_IncomeTaxReconciliationTaxContingencies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" xlink:label="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xlink:label="us-gaap_IncomeTaxReconciliationOtherReconcilingItems"/>
        </link:calculationLink>
      </link:linkbase>
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:element id="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_FlexbiosysIncMember" name="FlexbiosysIncMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ProcessAnalyticsProductsMember" name="ProcessAnalyticsProductsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" name="DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_CashAndMoneyMarketFundsMember" name="CashAndMoneyMarketFundsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_PuroliteMember" name="PuroliteMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_PercentageOfCurrentFederalTaxExpenseBenefit" name="PercentageOfCurrentFederalTaxExpenseBenefit" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_DebtInstrumentExchangedAmountCancelled" name="DebtInstrumentExchangedAmountCancelled" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" name="IncomeTaxReconciliationReturnToProvisionAdjustments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" name="ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" name="IncreasedecreaseInOperatingLeaseRightOfUseAsset" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember" name="CashAndCashEquivalentsAndMoneyMarketFundsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_OutstandingTwoZeroTwoThreeNotesMember" name="OutstandingTwoZeroTwoThreeNotesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_CommitmentsAndContingenciesTable" name="CommitmentsAndContingenciesTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ExchangedTwoZeroOneNineNotesMember" name="ExchangedTwoZeroOneNineNotesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_DiscountRate" name="DiscountRate" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_PolymemSAMember" name="PolymemSAMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_SummaryOfSignificantAccountingPoliciesLineItems" name="SummaryOfSignificantAccountingPoliciesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_AvitideAndFlexbiosysMember" name="AvitideAndFlexbiosysMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_CTechnologiesMember" name="CTechnologiesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" name="ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_VolatilityRateOfContingentConsideration" name="VolatilityRateOfContingentConsideration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_BusinessCombinationConsiderationIndemnificationEscrow" name="BusinessCombinationConsiderationIndemnificationEscrow" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_DebtInstrumentConvertibleIntoEquitySettled" name="DebtInstrumentConvertibleIntoEquitySettled" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_CTechnologiesIncMember" name="CTechnologiesIncMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_DefinedContributionPlanEmployeeEligibilityAge" name="DefinedContributionPlanEmployeeEligibilityAge" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_IncomeTaxRateReconciliationTable" name="IncomeTaxRateReconciliationTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_LongTermContingentConsideration" name="LongTermContingentConsideration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_FurnitureFixturesAndOfficeEquipmentMemberMember" name="FurnitureFixturesAndOfficeEquipmentMemberMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_IntangibleAssetsLineItems" name="IntangibleAssetsLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_NonExecutiveMember" name="NonExecutiveMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_FairValueOfEmbeddedConversionOptionMember" name="FairValueOfEmbeddedConversionOptionMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_AccruedLiabilitiesPolicyTextBlock" name="AccruedLiabilitiesPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_StockholdersEquityNoteDisclosureLineItems" name="StockholdersEquityNoteDisclosureLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount" name="EffectiveIncomeTaxRateReconciliationDebtDiscount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent" name="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost" name="DebtSecuritiesMaturityWithinOneYearAmortizedCost" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_DeferredTaxLiablitiesMember" name="DeferredTaxLiablitiesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_TaxYear2040Member" name="TaxYear2040Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" name="IndefiniteLivedIntangibleAssetsAccumulatedAmortization" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_DebtInstrumentIssuedForCash" name="DebtInstrumentIssuedForCash" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_LeaseIncentives" name="LeaseIncentives" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_AccumulatedDeficitMember" name="AccumulatedDeficitMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" name="RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_AmortizationOfDebtIssuanceCost" name="AmortizationOfDebtIssuanceCost" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_AvitideIncMember" name="AvitideIncMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_NotesMember" name="NotesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment" name="StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_ChromatographyProductsMember" name="ChromatographyProductsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" name="IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_AcceleratedDepreciationMember" name="AcceleratedDepreciationMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" name="DilutiveSharesEffectOnBasicEarningsPerShareAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_NoncashInterestIncome" name="NoncashInterestIncome" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_ModificationOfDebt" name="ModificationOfDebt" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_RevenueAndVolumeDiscountRate" name="RevenueAndVolumeDiscountRate" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="rgen_DebtInstrumentConvertibleIntoEquity" name="DebtInstrumentConvertibleIntoEquity" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" name="OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_PrepaidExpensesAndOtherCurrentAssetsTable" name="PrepaidExpensesAndOtherCurrentAssetsTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_CoronavirusAidReliefAndEconomicSecurityFundValue" name="CoronavirusAidReliefAndEconomicSecurityFundValue" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" name="DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_LeaseObligationsNotYetCommenced" name="LeaseObligationsNotYetCommenced" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" name="FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_TonyJHuntMember" name="TonyJHuntMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_NonEmployeeDirectorStockOptionMember" name="NonEmployeeDirectorStockOptionMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage" name="EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_LossOnDebtConversion" name="LossOnDebtConversion" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_OtherDirectorsOrOfficersMember" name="OtherDirectorsOrOfficersMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" name="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="rgen_DebtInstrumentAccruedAndUnpaidInterest" name="DebtInstrumentAccruedAndUnpaidInterest" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_ComputerHardwareAndSoftwareMemberMember" name="ComputerHardwareAndSoftwareMemberMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_CommitmentsAndContingenciesLineItems" name="CommitmentsAndContingenciesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ScheduleOfIncomeBeforeIncomeTaxTable" name="ScheduleOfIncomeBeforeIncomeTaxTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" name="DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_FiniteLivedIntangibleLiabilitiesLineItems" name="FiniteLivedIntangibleLiabilitiesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_OtherProductsMember" name="OtherProductsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability" name="NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_NetWorkingCapitalExcludingCashAndInventory" name="NetWorkingCapitalExcludingCashAndInventory" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_Rule10B51ArrModifiedFlag" name="Rule10B51ArrModifiedFlag" type="xbrli:booleanItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent" name="EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_ConvertibleSeniorNotes" name="ConvertibleSeniorNotes" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_FiltrationProductsMember" name="FiltrationProductsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" name="ProvisionForDeferredIncomeTaxExpenseBenefit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" name="DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_APACOtherMember" name="APACOtherMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" name="ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_BusinessCombinationsCashDepositedInEscrowAccount" name="BusinessCombinationsCashDepositedInEscrowAccount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_ContingentConsiderationMember" name="ContingentConsiderationMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_OtherAdjustmentsMember" name="OtherAdjustmentsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_BioflexMember" name="BioflexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_IndefiniteLivedIntangibleAssetsNet" name="IndefiniteLivedIntangibleAssetsNet" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_IncreaseDecreaseInOperatingLeaseLiabilities" name="IncreaseDecreaseInOperatingLeaseLiabilities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_TrueUpCostsDecember2020Member" name="TrueUpCostsDecember2020Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_BusinessCombinationAdditionalCashForTransactionBonus" name="BusinessCombinationAdditionalCashForTransactionBonus" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_NoncashInventoryAdjustments" name="NoncashInventoryAdjustments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_DebtInstrumentExchangeAmount" name="DebtInstrumentExchangeAmount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_AvailableForSaleSecuritiesEstimatedFairValue" name="AvailableForSaleSecuritiesEstimatedFairValue" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_CancelledPurchaseOrderPayments" name="CancelledPurchaseOrderPayments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_ShortTermContingentConsideration" name="ShortTermContingentConsideration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" name="ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_DeferredTaxAssetsOperatingLeases" name="DeferredTaxAssetsOperatingLeases" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_ScheduleOfAccruedLiabilitiesLineItems" name="ScheduleOfAccruedLiabilitiesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_InventoryAdjustmentsMember" name="InventoryAdjustmentsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_UnvestedOptionsMember" name="UnvestedOptionsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" name="ArtesynBiosolutionsHoldingsIrelandLimitedMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_SubscriptionTransactionMember" name="SubscriptionTransactionMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" name="DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" name="EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments" name="StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_DefinedContribution401KPlanMember" name="DefinedContribution401KPlanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" name="EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_PaymentToPurchaseComponentOfProductRevenue" name="PaymentToPurchaseComponentOfProductRevenue" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_BusinessAcquisitionWorkingCapitalAdjustments" name="BusinessAcquisitionWorkingCapitalAdjustments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_MilliporeSigmaMember" name="MilliporeSigmaMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases" name="OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_IncomeTaxesLineItems" name="IncomeTaxesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_InflationReductionActOfTwoThousandTwentyTwoMember" name="InflationReductionActOfTwoThousandTwentyTwoMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent" name="ConvertibleNotesTransactionCostsOfLiabilityComponent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_APACMember" name="APACMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_SalesRevenuesGoodsNetMember" name="SalesRevenuesGoodsNetMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" name="ScheduleOfIncomeBeforeIncomeTaxLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_TaxYear2041Member" name="TaxYear2041Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_TaxYear2043Member" name="TaxYear2043Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_CashConsiderationExcludingRestrictedCash" name="CashConsiderationExcludingRestrictedCash" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_ConvertibleNotesTransactionCostsOfEquityComponent" name="ConvertibleNotesTransactionCostsOfEquityComponent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" name="ScheduleOfEarningsPerShareBasicAndDilutedTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_UnlimitedCarryforwardPeriodMember" name="UnlimitedCarryforwardPeriodMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ArtesynBiosolutionsMember" name="ArtesynBiosolutionsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_DeferredIncomeTaxLiabilitiesFixedAssets" name="DeferredIncomeTaxLiabilitiesFixedAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_AmortizationOfInventoryStepUp" name="AmortizationOfInventoryStepUp" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_DebtInstrumentFaceAmountRemaining" name="DebtInstrumentFaceAmountRemaining" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_OptionToPurchaseAdditionalDebtFaceAmount" name="OptionToPurchaseAdditionalDebtFaceAmount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_PrepaidServicesAndProfessionalFees" name="PrepaidServicesAndProfessionalFees" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_MetenovaHoldingAbMember" name="MetenovaHoldingAbMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_BioflexAndNtmAcquisitionMember" name="BioflexAndNtmAcquisitionMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_UncategorizedAbstract" name="UncategorizedAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_CustomerNumberOneMember" name="CustomerNumberOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_SubscriptionTransactionsMember" name="SubscriptionTransactionsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_MeasurementInputEarnoutDiscountRateMember" name="MeasurementInputEarnoutDiscountRateMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ScheduleOfIntangibleAssetsTable" name="ScheduleOfIntangibleAssetsTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ReconciliationOfBasicAndDilutedAbstract" name="ReconciliationOfBasicAndDilutedAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ExchangeAndSubscriptionAgreementsMember" name="ExchangeAndSubscriptionAgreementsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_NGLImpactAMember" name="NGLImpactAMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ModifiedTwoZeroOneNineNotesMember" name="ModifiedTwoZeroOneNineNotesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" name="BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_FacilityExitAndOtherExitCostsMember" name="FacilityExitAndOtherExitCostsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_RDAndCommercializationBasedPaymentsMember" name="RDAndCommercializationBasedPaymentsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_DilutiveEffectOnSharesOfConversionPremium" name="DilutiveEffectOnSharesOfConversionPremium" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_BusinessCombinationTransactionCostPaidDuringPeriod" name="BusinessCombinationTransactionCostPaidDuringPeriod" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_DebtInstrumentExchangedAmount" name="DebtInstrumentExchangedAmount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_TrademarkMember" name="TrademarkMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ContingentConsiderationObligationEstimated" name="ContingentConsiderationObligationEstimated" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_IncomeTaxRateReconciliationLineItems" name="IncomeTaxRateReconciliationLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_PfizerMember" name="PfizerMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ProbabilityWeightedPresentValueMember" name="ProbabilityWeightedPresentValueMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" name="ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" name="PrepaidExpensesAndOtherCurrentAssetsLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_IncomeTaxesTable" name="IncomeTaxesTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_NonMetallicSolutionsMember" name="NonMetallicSolutionsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" name="ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_EngineeredMoldingTechnologyLlcMember" name="EngineeredMoldingTechnologyLlcMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" name="AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_DaylightSolutionsIncMember" name="DaylightSolutionsIncMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" name="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_ProteinsProductsMember" name="ProteinsProductsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_EarnoutConsiderationEarned" name="EarnoutConsiderationEarned" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="rgen_TwoZeroOneNineNotesMember" name="TwoZeroOneNineNotesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts" name="AcquisitionDateFairValueOfContingentConsiderationEarnouts" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_RestrictedStockAndPerformanceStockUnitsMember" name="RestrictedStockAndPerformanceStockUnitsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_SummaryOfSignificantAccountingPoliciesTable" name="SummaryOfSignificantAccountingPoliciesTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" name="ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="rgen_PercentOfExciseTaxOnNetStockRepurchases" name="PercentOfExciseTaxOnNetStockRepurchases" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_ContingentConsiderationExpense" name="ContingentConsiderationExpense" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_ForeignEarningsSubjectToOneTimeTransitionTax" name="ForeignEarningsSubjectToOneTimeTransitionTax" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue" name="DebtSecuritiesHeldToMaturityEstimatedFairValue" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_IncreaseDecreaseInOperatingLeaseAsset" name="IncreaseDecreaseInOperatingLeaseAsset" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" name="ScheduleOfEarningsPerShareBasicAndDilutedLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ManufacturingLineExpansionsMember" name="ManufacturingLineExpansionsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_TaxYearTwoThousandThirtySevenMember" name="TaxYearTwoThousandThirtySevenMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_OptionToPurchaseCommonStockMember" name="OptionToPurchaseCommonStockMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain" name="DebtSecuritiesHeldToMaturityGrossUnrealizedGain" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" name="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_ExchangeTransactionMember" name="ExchangeTransactionMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ScheduleOfAccruedLiabilitiesTable" name="ScheduleOfAccruedLiabilitiesTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock" name="ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent" name="EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_WeightedAverageDiscountRate" name="WeightedAverageDiscountRate" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="rgen_StockholdersEquityNoteDisclosureTable" name="StockholdersEquityNoteDisclosureTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" name="EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_MonteCarloSimulationMember" name="MonteCarloSimulationMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue" name="DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_DeferredTaxImpactOnConversionFeature" name="DeferredTaxImpactOnConversionFeature" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_ProbabilityOfSuccess" name="ProbabilityOfSuccess" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="rgen_RevenueAndVolumeBasedPaymentsMember" name="RevenueAndVolumeBasedPaymentsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock" name="CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" name="ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_NumberOfSharesBasicOutstanding" name="NumberOfSharesBasicOutstanding" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_FacilityAndOtherExitCostsMember" name="FacilityAndOtherExitCostsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_NumberOfManufacturingSites" name="NumberOfManufacturingSites" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="rgen_DeferredTaxLiabilitiesDebtDiscount" name="DeferredTaxLiabilitiesDebtDiscount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_StockOptionAndIncentivePlanMember" name="StockOptionAndIncentivePlanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_VariableOperatingLeaseCost" name="VariableOperatingLeaseCost" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_PercentageOfSharesSubjectToForfeiture" name="PercentageOfSharesSubjectToForfeiture" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="rgen_NewtonNewJerseyMember" name="NewtonNewJerseyMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_TwoZeroTwoThreeNotesMember" name="TwoZeroTwoThreeNotesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_FederalAndStateMember" name="FederalAndStateMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_MeasurementInputRevenueVolumeDiscountRateMember" name="MeasurementInputRevenueVolumeDiscountRateMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" name="WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_AssetsNonCurrentExcludingDifferedTaxAssets" name="AssetsNonCurrentExcludingDifferedTaxAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_MeasurementInputProbabilityOfSuccessMember" name="MeasurementInputProbabilityOfSuccessMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_SpectrumIncMember" name="SpectrumIncMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" name="ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" name="ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_AvitideLlcMember" name="AvitideLlcMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" name="UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>8
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674445665824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover Page - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Feb. 16, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-K/A<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000730272<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Securities Act File Number</a></td>
<td class="text">000-14656<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">REPLIGEN CORP<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Large Accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">RGEN<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">04-2729386<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">41 Seyon Street, Bldg. 1, Suite 100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Waltham<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">MA<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">02453<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">781<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Smaller reporting company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Emerging growth company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text"> 250-0111 <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text"> No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</a></td>
<td class="text"> Yes <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,931,847,028<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">55,771,075<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentsIncorporatedByReferenceTextBlock', window );">Documents Incorporated by Reference</a></td>
<td class="text"><p style="font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Documents Incorporated By Reference</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Our Portions of the Proxy Statement for the 2023 Annual Meeting of Shareholders </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">are incorporated by reference into Part III of this Report.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorFirmId', window );">Auditor Firm Id</a></td>
<td class="text">42<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorName', window );">Auditor Firm Name</a></td>
<td class="text">Ernst & Young LLP<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorLocation', window );">Auditor Firm Location</a></td>
<td class="text">Boston, Massachusetts, United States<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFinStmtErrorCorrectionFlag', window );">Document Financial Statement Error Correction [Flag]</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentDescription', window );">Amendment Description</a></td>
<td class="text">Repligen Corporation (&#8220;we,&#8221; &#8220;us,&#8221; &#8220;our,&#8221; or the &#8220;Company&#8221;) is filing this Amendment No. 1 on Form 10-K/A (the &#8220;Amendment&#8221;) to amend and restate certain items in our Annual Report on Form 10-K for the fiscal year ended December 31, 2023, originally filed with the U.S. Securities and Exchange Commission (the &#8220;SEC&#8221;) on February 22, 2024 (the &#8220;Original Report&#8221;), as listed in &#8220;Items Amended in this Filing&#8221; below. In filing this Amendment, we are restating our previously issued consolidated financial statements as of and for the twelve months ended December 31, 2023 to correct the misapplication of accounting principles under U.S. GAAP related to the timing of revenue recognition arising from a specific COVID-related cancellation payment, received in connection with a contract modification (collectively, the "Misstatement"), as further described in Note 1 to the consolidated financial statements herein. This restatement changes the timing of recognition of revenue, including the revenue reported in the Original Report, but will not change the total revenue to be recognized for this payment, nor have any impact on the Company&#8217;s previously reported cash and cash equivalent balances.  This misapplication did not result from any override of controls, misconduct, or fraud of any kind. In connection with the restatement, the Company determined that it was appropriate to revise the consolidated balance sheet as of December 31, 2022 and the consolidated statements of cash flows for the periods ended December 31, 2022 and 2021, as well as impacted footnote disclosures, in this Form 10-K/A to correct other unrelated immaterial errors.  In addition, we have filed amendments to the unaudited condensed consolidated quarterly financial information previously reported in our Quarterly Reports on Form 10-Q for quarterly periods ended March 30, 2023, originally filed with the SEC on May 2, 2023, June 30, 2023, originally filed with the SEC on August 2, 2023, and September 30, 2023, originally filed with the SEC on October 31, 2023. We are also filing amendments to the unaudited condensed consolidated quarterly financial information previously reported in our Quarterly Reports on Form 10-Q for the fiscal quarters ended March 31, 2024, originally filed with the SEC on May 1, 2024, and June 30, 2024, originally filed with the SEC on July 30, 2024 (collectively, the &#8220;Amended Quarterly Reports,&#8221; and together with this Amendment, the &#8220;Amended Reports&#8221;). In correcting the Misstatement in this Amendment, we have also restated other financial statement line item amounts including but not limited to product revenues, income tax provision, net income, foreign currency translation, deferred revenues, prepaid expenses, deferred taxes and earnings-per-share. <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentDescription">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of changes contained within amended document.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentDescription</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorFirmId</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:nonemptySequenceNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorLocation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an annual report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAnnualReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFinStmtErrorCorrectionFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates whether any of the financial statement period in the filing include a restatement due to error correction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection w<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFinStmtErrorCorrectionFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentsIncorporatedByReferenceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Documents incorporated by reference.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-23<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentsIncorporatedByReferenceTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityPublicFloat</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_IcfrAuditorAttestationFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>9
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674439308112">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 751,323<span></span>
</td>
<td class="nump">$ 523,458<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_HeldToMaturitySecuritiesCurrent', window );">Marketable securities held to maturity</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">100,299<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net of reserves of $2,122 and $1,365 at December 31, 2023 and December 31, 2022, respectively</a></td>
<td class="nump">124,161<span></span>
</td>
<td class="nump">116,247<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">202,321<span></span>
</td>
<td class="nump">238,277<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">33,541<span></span>
</td>
<td class="nump">19,837<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">1,111,346<span></span>
</td>
<td class="nump">998,118<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">207,440<span></span>
</td>
<td class="nump">190,673<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">406,957<span></span>
</td>
<td class="nump">360,618<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">987,120<span></span>
</td>
<td class="nump">855,513<span></span>
</td>
<td class="nump">$ 860,362<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets</a></td>
<td class="nump">1,530<span></span>
</td>
<td class="nump">840<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right of use assets</a></td>
<td class="nump">115,515<span></span>
</td>
<td class="nump">125,023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other noncurrent assets</a></td>
<td class="nump">1,277<span></span>
</td>
<td class="nump">815<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsNoncurrent', window );">Total noncurrent assets</a></td>
<td class="nump">1,719,839<span></span>
</td>
<td class="nump">1,533,482<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">2,831,185<span></span>
</td>
<td class="nump">2,531,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">19,563<span></span>
</td>
<td class="nump">27,554<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liability</a></td>
<td class="nump">5,631<span></span>
</td>
<td class="nump">6,957<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent', window );">Current contingent consideration</a></td>
<td class="nump">12,983<span></span>
</td>
<td class="nump">13,950<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">57,313<span></span>
</td>
<td class="nump">71,120<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleNotesPayableCurrent', window );">Convertible Senior Notes due 2024, net</a></td>
<td class="nump">69,452<span></span>
</td>
<td class="nump">284,615<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">164,942<span></span>
</td>
<td class="nump">404,196<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleDebtNoncurrent', window );">Convertible Senior Notes due 2028, net</a></td>
<td class="nump">510,143<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent', window );">Deferred tax liabilities</a></td>
<td class="nump">39,324<span></span>
</td>
<td class="nump">23,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Noncurrent operating lease liability</a></td>
<td class="nump">126,578<span></span>
</td>
<td class="nump">131,389<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent', window );">Noncurrent contingent consideration</a></td>
<td class="nump">14,070<span></span>
</td>
<td class="nump">51,559<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other noncurrent liabilities</a></td>
<td class="nump">11,283<span></span>
</td>
<td class="nump">10,756<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesNoncurrent', window );">Total noncurrent liabilities</a></td>
<td class="nump">701,398<span></span>
</td>
<td class="nump">216,704<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">866,340<span></span>
</td>
<td class="nump">620,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (Note 14)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders' equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, $0.01 par value, 5,000,000 shares authorized, no shares issued or outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $0.01 par value; 80,000,000 shares authorized; 55,766,078 shares at December 31, 2023 and 55,557,698 shares at December 31, 2022 issued and outstanding</a></td>
<td class="nump">558<span></span>
</td>
<td class="nump">556<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">1,569,227<span></span>
</td>
<td class="nump">1,547,266<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(37,808)<span></span>
</td>
<td class="num">(34,394)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated earnings</a></td>
<td class="nump">432,868<span></span>
</td>
<td class="nump">397,272<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders' equity</a></td>
<td class="nump">1,964,845<span></span>
</td>
<td class="nump">1,910,700<span></span>
</td>
<td class="nump">$ 1,750,067<span></span>
</td>
<td class="nump">$ 1,529,150<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders' equity</a></td>
<td class="nump">$ 2,831,185<span></span>
</td>
<td class="nump">$ 2,531,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 12: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 30: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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 after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479613/805-30-35-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479668/805-30-25-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled beyond one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479613/805-30-35-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479668/805-30-25-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConvertibleDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount of long-term convertible debt as of the balance sheet date, net of the amount due in the next twelve months or greater than the normal operating cycle, if longer. The debt is convertible into another form of financial instrument, typically the entity's common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConvertibleNotesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of the portion of long-term debt due within one year or the operating cycle if longer identified as Convertible Notes Payable. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleNotesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences, with jurisdictional netting, and liabilities classified as noncurrent and other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-45-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HeldToMaturitySecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allowance for credit loss, of investment in debt security measured at amortized cost (held-to-maturity), classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479344/326-20-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481800/320-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481830/320-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HeldToMaturitySecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 28: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-5<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478451/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>10
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674529386752">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Accounts receivable, reserve for doubtful accounts</a></td>
<td class="nump">$ 2,122<span></span>
</td>
<td class="nump">$ 1,365<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="nump">5,000,000<span></span>
</td>
<td class="nump">5,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">80,000,000<span></span>
</td>
<td class="nump">80,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">55,766,078<span></span>
</td>
<td class="nump">55,557,698<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">55,766,078<span></span>
</td>
<td class="nump">55,557,698<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued for nonredeemable preferred shares and preferred shares redeemable solely at option of issuer. Includes, but is not limited to, preferred shares issued, repurchased, and held as treasury shares. Excludes preferred shares classified as debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674438296496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="5">12 Months Ended</th>
</tr>
<tr>
<th class="th" colspan="2"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th" colspan="2"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenue:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 632,362<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 801,536<span></span>
</td>
<td class="nump">$ 670,534<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostsAndExpensesAbstract', window );"><strong>Costs and operating expenses:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of product revenue</a></td>
<td class="nump">353,922<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">345,830<span></span>
</td>
<td class="nump">279,280<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="nump">42,722<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">43,936<span></span>
</td>
<td class="nump">34,274<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general and administrative</a></td>
<td class="nump">218,584<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">215,829<span></span>
</td>
<td class="nump">183,866<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Contingent consideration</a></td>
<td class="num">(30,569)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(28,729)<span></span>
</td>
<td class="nump">5,865<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostsAndExpenses', window );">Total costs and operating expenses</a></td>
<td class="nump">584,659<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">576,866<span></span>
</td>
<td class="nump">503,285<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">47,703<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">224,670<span></span>
</td>
<td class="nump">167,249<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpenseAbstract', window );"><strong>Other income (expenses):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentIncomeNet', window );">Investment income</a></td>
<td class="nump">24,135<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">6,978<span></span>
</td>
<td class="nump">176<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpenseNonoperating', window );">Interest expense</a></td>
<td class="num">(2,503)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(1,162)<span></span>
</td>
<td class="num">(11,278)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="num">(12,676)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AmortizationOfDebtIssuanceCost', window );">Amortization of debt issuance costs</a></td>
<td class="num">(8,075)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(1,815)<span></span>
</td>
<td class="num">(1,436)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income (expenses)</a></td>
<td class="nump">8,123<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(9,531)<span></span>
</td>
<td class="num">(1,168)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Other income (expenses), net</a></td>
<td class="nump">9,004<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(5,530)<span></span>
</td>
<td class="num">(13,706)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">56,707<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">219,140<span></span>
</td>
<td class="nump">153,543<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax provision</a></td>
<td class="nump">21,111<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">33,181<span></span>
</td>
<td class="nump">25,252<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 35,596<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 185,959<span></span>
</td>
<td class="nump">$ 128,291<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings per share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic</a></td>
<td class="nump">$ 0.64<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 3.35<span></span>
</td>
<td class="nump">$ 2.33<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted</a></td>
<td class="nump">$ 0.63<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 3.24<span></span>
</td>
<td class="nump">$ 2.24<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Weighted average common shares outstanding:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic</a></td>
<td class="nump">55,720<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">55,460<span></span>
</td>
<td class="nump">55,015<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted</a></td>
<td class="nump">56,377<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">57,455<span></span>
</td>
<td class="nump">57,264<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="nump">$ 35,596<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 185,959<span></span>
</td>
<td class="nump">$ 128,291<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract', window );"><strong>Other comprehensive income (loss):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="num">(3,414)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(17,508)<span></span>
</td>
<td class="num">(18,971)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive income</a></td>
<td class="nump">32,182<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">168,451<span></span>
</td>
<td class="nump">109,320<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ProductMember', window );">Products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenue:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">631,979<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">801,183<span></span>
</td>
<td class="nump">670,319<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[2]</sup></td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_RoyaltyMember', window );">Royalty and Other Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenue:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 383<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 353<span></span>
</td>
<td class="nump">$ 215<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr><td colspan="6"></td></tr>
<tr><td colspan="6"><table class="outerFootnotes" width="100%">
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#8220;FlexBiosys&#8221;) from April 17, 2023, as well as Metenova Holding AB (&#8220;Metenova&#8221;) from October 2, 2023.</span></td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[2]</td>
<td style="vertical-align: top;" valign="top"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2021 revenue for filtration products includes revenue related to Polymem S.A. (&#8220;Polymem&#8221;) from July 1, 2021, as well as BioFlex Solutions LLC (&#8220;BioFlex&#8221;) and Newton T&amp;M Corp. (&#8220;NTM&#8221;) from December 16, 2021 through December 31, 2021. 2021 revenue for proteins products includes revenue related to Avitide, Inc. (&#8220;Avitide&#8221;) from September 20, 2021 through December 31, 2021.</span></td>
</tr>
</table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_AmortizationOfDebtIssuanceCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortization of debt issuance cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_AmortizationOfDebtIssuanceCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostsAndExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total costs of sales and operating expenses for the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostsAndExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostsAndExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostsAndExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainsLossesOnExtinguishmentOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481303/470-50-40-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481303/470-50-40-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainsLossesOnExtinguishmentOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482659/740-20-45-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpenseNonoperating">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of interest expense classified as nonoperating.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpenseNonoperating</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentIncomeNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accretion (amortization) of discount (premium), and investment expense, of interest income and dividend income on nonoperating securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for research and development. Includes, but is not limited to, cost for computer software product to be sold, leased, or otherwise marketed and writeoff of research and development assets acquired in transaction other than business combination or joint venture formation or both. Excludes write-down of intangible asset acquired in business combination or from joint venture formation or both, used in research and development activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482916/730-10-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479532/912-730-25-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenuesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenuesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_RoyaltyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_RoyaltyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674437880464">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>True Up Costs December 2020</div></th>
<th class="th"><div>Avitide, Inc.</div></th>
<th class="th"><div>FlexBiosys</div></th>
<th class="th"><div>Metenova Holding AB</div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th">
<div>Common Stock </div>
<div>Avitide, Inc.</div>
</th>
<th class="th">
<div>Common Stock </div>
<div>FlexBiosys</div>
</th>
<th class="th">
<div>Common Stock </div>
<div>Metenova Holding AB</div>
</th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th">
<div>Additional Paid-in Capital </div>
<div>True Up Costs December 2020</div>
</th>
<th class="th">
<div>Additional Paid-in Capital </div>
<div>Avitide, Inc.</div>
</th>
<th class="th">
<div>Additional Paid-in Capital </div>
<div>FlexBiosys</div>
</th>
<th class="th">
<div>Additional Paid-in Capital </div>
<div>Metenova Holding AB</div>
</th>
<th class="th"><div>Accumulated Other Comprehensive Income (Loss)</div></th>
<th class="th"><div>Accumulated Earnings</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2020</a></td>
<td class="nump">$ 1,529,150<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 548<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,460,748<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,085<span></span>
</td>
<td class="nump">$ 65,769<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">54,760,837<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">128,291<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">128,291<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueConversionOfUnits', window );">Issuance of common stock for debt conversion</a></td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits', window );">Issuance of common stock for debt conversion (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Exercise of stock options and vesting of stock units</a></td>
<td class="nump">3,879<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,876<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Exercise of stock options and vesting of stock units (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">300,721<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions', window );">Issuance of commons stock pursuant to the acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 145<span></span>
</td>
<td class="nump">$ 82,968<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 145<span></span>
</td>
<td class="nump">$ 82,966<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions', window );">Issuance of commons stock pursuant to the acquisition, (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">271,096<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Tax withholding on vesting of restricted stock</a></td>
<td class="num">(2,897)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,897)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Tax withholding on vesting of restricted stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(11,204)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="nump">27,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2021</a></td>
<td class="nump">1,750,067<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 553<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,572,340<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(16,886)<span></span>
</td>
<td class="nump">194,060<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">55,321,457<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax', window );">Translation adjustment</a></td>
<td class="num">(18,971)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(18,971)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">185,959<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">185,959<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueConversionOfUnits', window );">Issuance of common stock for debt conversion</a></td>
<td class="num">(6)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits', window );">Issuance of common stock for debt conversion (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">21<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Exercise of stock options and vesting of stock units</a></td>
<td class="nump">3,707<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,704<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Exercise of stock options and vesting of stock units (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">326,192<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Tax withholding on vesting of restricted stock</a></td>
<td class="num">(17,018)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (1)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(17,017)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Tax withholding on vesting of restricted stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(89,972)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="nump">27,316<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27,316<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2022</a></td>
<td class="nump">1,910,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 556<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,547,266<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(34,394)<span></span>
</td>
<td class="nump">397,272<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance (Accounting Standards Update 2020-06) at Dec. 31, 2022</a></td>
<td class="num">(21,817)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(39,070)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17,253<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">55,557,698<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax', window );">Translation adjustment</a></td>
<td class="num">(17,508)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(17,508)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">35,596<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35,596<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueConversionOfUnits', window );">Issuance of common stock for debt conversion</a></td>
<td class="num">(13)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(13)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits', window );">Issuance of common stock for debt conversion (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Exercise of stock options and vesting of stock units</a></td>
<td class="nump">1,076<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,073<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Exercise of stock options and vesting of stock units (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">251,886<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of common stock</a></td>
<td class="num">(14,386)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (1)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(14,385)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(92,090)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions', window );">Issuance of commons stock pursuant to the acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,465<span></span>
</td>
<td class="nump">$ 8,104<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,465<span></span>
</td>
<td class="nump">$ 8,103<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions', window );">Issuance of commons stock pursuant to the acquisition, (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">31,415<span></span>
</td>
<td class="nump">52,299<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Tax withholding on vesting of restricted stock</a></td>
<td class="num">(13,227)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (1)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(13,226)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Tax withholding on vesting of restricted stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(77,759)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment', window );">Issuance of common stock pursuant to the Avitide, Inc. contingent consideration earnout payment</a></td>
<td class="nump">7,229<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,229<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments', window );">Issuance of common stock pursuant to the Avitide, Inc.contingent consideration earnout payment (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">42,621<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="nump">25,575<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25,575<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities', window );">Convertible note modification</a></td>
<td class="nump">2,791<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,791<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DeferredTaxImpactOnConversionFeature', window );">Deferred tax impact on conversion feature</a></td>
<td class="num">(651)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(651)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2023</a></td>
<td class="nump">1,964,845<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 558<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,569,227<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(37,808)<span></span>
</td>
<td class="nump">$ 432,868<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">55,766,078<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax', window );">Translation adjustment</a></td>
<td class="num">$ (3,414)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (3,414)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DeferredTaxImpactOnConversionFeature">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred tax impact on conversion feature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DeferredTaxImpactOnConversionFeature</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stock Issued During Period, shares,contingent consideration earnout payments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stock issued during period, value,contingent consideration earnout payment</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated adjustment, net of tax, that results from the process of translating subsidiary financial statements and foreign equity investments into the reporting currency from the functional currency of the reporting entity, net of reclassification of realized foreign currency translation gains or losses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-14A<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482736/825-10-45-5A<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481089/718-20-55-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481089/718-20-55-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of stock issued during the period pursuant to acquisitions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares issued during the period upon the conversion of units. An example of a convertible unit is an umbrella partnership real estate investment trust unit (UPREIT unit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued pursuant to acquisitions during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The gross value of stock issued during the period upon the conversion of convertible securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueConversionOfUnits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued during the period upon the conversion of units. An example of a convertible unit is an umbrella partnership real estate investment trust unit (UPREIT unit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueConversionOfUnits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-4<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate202006Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate202006Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674445170864">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 35,596<span></span>
</td>
<td class="nump">$ 185,959<span></span>
</td>
<td class="nump">$ 128,291<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AmortizationOfInventoryStepUp', window );">Inventory step-up charges</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,238<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,130<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationAndAmortization', window );">Depreciation and amortization</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">68,556<span></span>
</td>
<td class="nump">50,985<span></span>
</td>
<td class="nump">38,447<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfDebtDiscountPremium', window );">Amortization of debt discount and issuance costs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">2,448<span></span>
</td>
<td class="nump">1,815<span></span>
</td>
<td class="nump">11,530<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">25,575<span></span>
</td>
<td class="nump">27,316<span></span>
</td>
<td class="nump">27,500<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income taxes, net</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,175<span></span>
</td>
<td class="num">(1,352)<span></span>
</td>
<td class="nump">6,517<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Contingent consideration</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(30,569)<span></span>
</td>
<td class="num">(28,729)<span></span>
</td>
<td class="nump">5,865<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_NoncashInterestIncome', window );">Non-cash interest income</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(2,023)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">12,676<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset', window );">Operating lease right of use asset amortization</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">17,558<span></span>
</td>
<td class="nump">6,027<span></span>
</td>
<td class="nump">10,555<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNoncashIncomeExpense', window );">Other</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,783<span></span>
</td>
<td class="num">(100)<span></span>
</td>
<td class="nump">864<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities, excluding impact of acquisitions:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(3,312)<span></span>
</td>
<td class="num">(3,596)<span></span>
</td>
<td class="num">(46,523)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">40,973<span></span>
</td>
<td class="num">(57,204)<span></span>
</td>
<td class="num">(89,781)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(13,333)<span></span>
</td>
<td class="nump">2,396<span></span>
</td>
<td class="num">(10,192)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets', window );">Other assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(461)<span></span>
</td>
<td class="num">(231)<span></span>
</td>
<td class="nump">430<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(9,803)<span></span>
</td>
<td class="num">(8,197)<span></span>
</td>
<td class="nump">19,523<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued expenses</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(21,518)<span></span>
</td>
<td class="num">(2,019)<span></span>
</td>
<td class="nump">23,196<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingLeaseLiability', window );">Operating lease liability</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(12,728)<span></span>
</td>
<td class="num">(1,953)<span></span>
</td>
<td class="num">(7,912)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities', window );">Long-term liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">87<span></span>
</td>
<td class="nump">966<span></span>
</td>
<td class="num">(1,424)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Total cash provided by operating activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">113,918<span></span>
</td>
<td class="nump">172,083<span></span>
</td>
<td class="nump">119,016<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireHeldToMaturitySecurities', window );">Purchase of marketable securities held to maturity</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(100,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities', window );">Redemption of marketable securities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">102,323<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireSoftware', window );">Additions to capitalized software costs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(2,766)<span></span>
</td>
<td class="num">(3,512)<span></span>
</td>
<td class="num">(4,187)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Acquisitions, net of cash acquired</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(186,642)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(149,893)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property, plant and equipment</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(36,222)<span></span>
</td>
<td class="num">(84,834)<span></span>
</td>
<td class="num">(67,089)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireIntangibleAssets', window );">Purchase of intellectual property</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="num">(45,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForProceedsFromOtherInvestingActivities', window );">Other investing activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">32<span></span>
</td>
<td class="nump">110<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Total cash used in investing activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(123,275)<span></span>
</td>
<td class="num">(233,236)<span></span>
</td>
<td class="num">(221,169)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Repurchase of common stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(14,386)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromConvertibleDebt', window );">Proceeds from issuance of 2023 Convertible Senior Notes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">290,094<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of stock options</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,076<span></span>
</td>
<td class="nump">3,707<span></span>
</td>
<td class="nump">3,879<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDebtIssuanceCosts', window );">Payment of debt issuance costs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(7,253)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Payment of tax withholding obligation on vesting of restricted stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(13,227)<span></span>
</td>
<td class="num">(17,018)<span></span>
</td>
<td class="num">(2,897)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Payment of earnout consideration</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(7,298)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromPaymentsForOtherFinancingActivities', window );">Other financing activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(45)<span></span>
</td>
<td class="num">(26)<span></span>
</td>
<td class="num">(21)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Total cash provided by (used in) financing activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">248,961<span></span>
</td>
<td class="num">(13,337)<span></span>
</td>
<td class="nump">961<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Effect of exchange rate changes on cash and cash equivalents</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(11,739)<span></span>
</td>
<td class="num">(5,866)<span></span>
</td>
<td class="num">(12,286)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash and cash equivalents</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">227,865<span></span>
</td>
<td class="num">(80,356)<span></span>
</td>
<td class="num">(113,478)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, beginning of period</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">523,458<span></span>
</td>
<td class="nump">603,814<span></span>
</td>
<td class="nump">717,292<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, end of period</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">751,323<span></span>
</td>
<td class="nump">523,458<span></span>
</td>
<td class="nump">603,814<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental disclosure of cash flow information:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Income taxes paid</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">26,963<span></span>
</td>
<td class="nump">34,365<span></span>
</td>
<td class="nump">16,515<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest paid</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">988<span></span>
</td>
<td class="nump">1,033<span></span>
</td>
<td class="nump">1,066<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowElementsAbstract', window );"><strong>Supplemental disclosure of non-cash investing and financing activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Assets acquired under operating leases</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">4,335<span></span>
</td>
<td class="nump">29,126<span></span>
</td>
<td class="nump">85,312<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssued1', window );">Fair value of shares of common stock issued for acquisitions</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">13,569<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">82,968<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts', window );">Fair value of shares of common stock issued for contingent consideration earnouts</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">7,229<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts', window );">Acquisition date fair value of contingent consideration earnouts</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">6,640<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">88,373<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability', window );">Acquisition of intangible assets and issuance of financing liability</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="nump">6,948<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NotesIssued1', window );">Issuance of 2023 Notes in exchange of 2019 Notes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">42,179<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ExtinguishmentOfDebtAmount', window );">Extinguished 2019 Notes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 29,634<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr><td colspan="4"></td></tr>
<tr><td colspan="4"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">         *</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">Amounts reclassified in the current presentation from a component of &#8220;Changes in operating assets and liabilities&#8221; to a component of &#8220;Adjustments to reconcile net income.&#8221; The reclassification did not result in any change to total cash provided by operating activities.</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Acquisition date fair value of contingent consideration earnouts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_AmortizationOfInventoryStepUp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortization of inventory step up.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_AmortizationOfInventoryStepUp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of shares of common stock issued for contingent consideration earnouts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in operating lease right of use asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_NoncashInterestIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Noncash interest income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_NoncashInterestIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Noncash or part noncash aquisition intangible assets acquired and financing liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfDebtDiscountPremium">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense included in interest expense to amortize debt discount and premium associated with the related debt instruments. Excludes amortization of financing costs. Alternate captions include noncash interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfDebtDiscountPremium</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477401/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; 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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 230<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477401/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ExtinguishmentOfDebtAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross amount of debt extinguished.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ExtinguishmentOfDebtAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainsLossesOnExtinguishmentOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481303/470-50-40-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481303/470-50-40-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainsLossesOnExtinguishmentOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 23<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-23<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-22<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in noncurrent operating liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NotesIssued1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The fair value of notes issued in noncash investing and financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesIssued1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNoncashIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNoncashIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (f)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForProceedsFromOtherInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash (inflow) outflow from investing activities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForProceedsFromOtherInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDebtIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDebtIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireHeldToMaturitySecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow through purchase of long-term held-to-maturity securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481830/320-10-45-11<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireHeldToMaturitySecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireSoftware">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition from vendors of software programs or applications for internal use (that is, not to be sold, leased or otherwise marketed to others) that qualify for capitalization.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireSoftware</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromConvertibleDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481830/320-10-45-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromPaymentsForOtherFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromPaymentsForOtherFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssued1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The fair value of stock issued in noncash financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssued1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowElementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowElementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674431785424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pay vs Performance Disclosure - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_PvpTable', window );"><strong>Pay vs Performance Disclosure</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="nump">$ 35,596<span></span>
</td>
<td class="nump">$ 185,959<span></span>
</td>
<td class="nump">$ 128,291<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_PvpTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection v<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_PvpTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674445684032">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Insider Trading Arrangements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrAdoptedFlag', window );">Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrAdoptedFlag', window );">Non-Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrTrmntdFlag', window );">Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrTrmntdFlag', window );">Non-Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TradingArrByIndTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TradingArrByIndTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674439701280">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Restatement of Previously Issued Financial Statement<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingChangesAndErrorCorrectionsAbstract', window );"><strong>Accounting Changes and Error Corrections [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock', window );">Restatement of Previously Issued Financial Statements</a></td>
<td class="text"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">1.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Restatement of Previously Issued Financial Statements</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Subsequent to the issuance of the Annual Report on Form 10-K for the fiscal year ended December 31, 2023, originally filed with the U.S. Securities and Exchange Commission (the &#8220;SEC&#8221;) on February 22, 2024 (the &#8220;Original Report&#8221;), the Company identified a material accounting error related to the timing of revenue recognition (referred to as &#8220;the Misstatement&#8221;) which impacts the Company&#8217;s consolidated financial statements as of and for the period ended December 31, 2023. Within this report, the Company has restated all impacted financial information and footnote disclosures impacted by the Misstatement. A description of the error and its impact on the previously issued financial statements is included below. In connection with the restatement, the Company determined that it was appropriate to revise the consolidated balance sheet as of December 31, 2022 and the consolidated statement of cash flows for the periods ended December 31, 2022 and 2021, as well as impacted footnote disclosures, in this Form 10-K/A to correct other unrelated immaterial errors.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Description of revenue restatement adjustments</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the first quarter of 2023, a customer cancelled two COVID-related, non-cancellable product purchase orders (&#8220;Cancelled PO&#8217;s&#8221;) in exchange for a $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">17.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million one-time cash payment (the &#8220;Payment&#8221;), which was received in April 2023. At the time of cancellation, no product units had been delivered under the Cancelled PO&#8217;s and the Company had two other purchase orders from the same customer for the same product (&#8220;Open PO&#8217;s&#8221;). The Company originally accounted for the Cancelled PO&#8217;s as a single contract and recognized the $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">17.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million payment as component of product revenue in the first quarter of 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Subsequent to the issuance of the Original Report, the Company reassessed the accounting treatment of the Payment and concluded that the Cancelled PO&#8217;s and Open PO&#8217;s represented a combined contract such that the February 2023 transaction should have been analyzed and accounted for as a contract modification, which required the Payment to be deferred and recognized as product units were delivered under the Open PO&#8217;s. All Open PO product units were fully delivered to the customer by June 30, 2024.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The correction of the Misstatement affects certain financial statement line items in these consolidated financial statements including but not limited to product revenues, income tax provision, foreign currency translation, deferred revenues, prepaid expenses, deferred taxes and earnings-per-share.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consolidated Financial Statements - Restatement Reconciliation Tables</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following tables present the impact of the financial statement adjustments on the Company's previously reported consolidated financial statements.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> The "Previously Reported" amounts in the following tables are amounts derived from the Original Report. The amounts in the columns labeled "Revenue Adjustments" represent the effect of adjustments resulting from the correction of the overstatement of revenues associated with the Payment and related tax impact. The amounts in the columns labeled "Other Adjustments" represent the effect of other adjustments that relate to other unrelated errors in previously filed financial statements that were not material, individually or in the aggregate, to those filed financial statements. The effects of both the restatement for the Revenue Adjustments and the revisions for the immaterial Other Adjustments have been corrected in all impacted tables and footnotes throughout these consolidated financial statements.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.41%;box-sizing:content-box;"></td>
        <td style="width:1.18%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.242%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.18%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.242%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.28%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.222%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.242%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Revenue Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Restated</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">ASSETS</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Current assets:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Marketable securities held to maturity</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">Accounts receivable, net of reserves of $</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,122</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;and $</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,365</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;at<br/>&#160;&#160;&#160;December 31, 2023 and December 31, 2022, respectively</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">124,161</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">124,161</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventories, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">202,321</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">202,321</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">33,238</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">303</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">33,541</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total current assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,111,043</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">303</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,111,346</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Noncurrent assets:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property, plant and equipment, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">207,440</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">207,440</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Intangible assets, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">400,486</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,471</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">406,957</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">987,120</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">987,120</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,530</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,530</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">115,515</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">115,515</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other noncurrent assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,277</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,277</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total noncurrent assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,713,368</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,471</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,719,839</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,824,411</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">303</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,471</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,831,185</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">LIABILITIES AND STOCKHOLDERS' EQUITY</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Current liabilities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">19,563</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">19,563</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,631</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,631</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Current contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12,983</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12,983</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">50,533</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,780</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">57,313</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Convertible Senior Notes due 2024, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">69,452</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">69,452</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total current liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">158,162</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,780</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">164,942</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Noncurrent liabilities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Convertible Senior Notes due 2028, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">510,143</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">510,143</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">40,466</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">903</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">239</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">39,324</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Noncurrent operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">126,578</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">126,578</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Noncurrent contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,070</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,070</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other noncurrent liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,789</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;"><span style="-sec-ix-hidden:F_f6be4637-cef0-4d20-94ff-4351dbd23794;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,494</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">11,283</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total noncurrent liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">695,046</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">903</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,255</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">701,398</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">853,208</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,877</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,255</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">866,340</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:9pt;"><span style="-sec-ix-hidden:F_0acfdd04-3b72-46e2-851e-b95899936c90;"><span style="-sec-ix-hidden:F_1f00a0dc-85df-45f3-823c-2e66daf692bb;"><span style="-sec-ix-hidden:F_eef92064-b3a7-4175-a0a0-71dc9aad4828;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Commitments and contingencies (Note 14)</span></span></span></span></span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stockholders' equity:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">Preferred stock, $</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.01</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;par value, </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,000,000</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;shares authorized, </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;shares issued or outstanding</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">Common stock, $</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.01</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;par value; </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">80,000,000</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;shares authorized; </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">55,766,078</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;&#160;shares at December 31, 2023 and </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">55,557,698</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;shares at December 31, 2022  issued and outstanding</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">558</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">558</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Additional paid-in capital</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,569,227</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,569,227</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accumulated other comprehensive loss</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">37,431</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">377</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">37,808</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accumulated earnings</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">438,849</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,197</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">784</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">432,868</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total stockholders&#8217; equity</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,971,203</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,574</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">784</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,964,845</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total liabilities and stockholders&#8217; equity</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,824,411</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">303</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,471</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,831,185</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.443%;box-sizing:content-box;"></td>
        <td style="width:1.341%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.341%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.461%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Revised</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">ASSETS</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Intangible assets, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">353,676</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,942</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">360,618</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total noncurrent assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,526,540</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,942</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,533,482</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,524,658</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,942</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,531,600</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">LIABILITIES AND STOCKHOLDERS' EQUITY</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other noncurrent liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,814</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,942</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">10,756</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total noncurrent liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">209,762</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,942</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">216,704</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">613,958</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,942</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">620,900</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total liabilities and stockholders&#8217; equity</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,524,658</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,942</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,531,600</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.41%;box-sizing:content-box;"></td>
        <td style="width:1.18%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.242%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.18%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.242%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.28%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.222%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.242%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Year Ended December 31, 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Revenue Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Restated</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Products</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">638,381</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,402</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">631,979</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Royalty and other revenue</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">383</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">383</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">638,764</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,402</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">632,362</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Costs and operating expenses:</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of product revenue</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">353,922</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">353,922</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and development</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">42,722</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">42,722</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Selling, general and administrative</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">218,113</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">471</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">218,584</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">30,569</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">30,569</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total costs and operating expenses</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">584,188</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">471</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">584,659</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income from operations</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">54,576</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,402</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">471</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">47,703</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other income (expenses):</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Investment income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">24,135</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">24,135</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Interest expense</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,951</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">552</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,503</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Loss on extinguishment of debt</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12,676</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12,676</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amortization of debt issuance costs</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">8,075</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">8,075</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other income (expenses)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">8,123</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">8,123</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other income (expenses), net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">9,556</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">552</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">9,004</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income before income taxes</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">64,132</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,402</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,023</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">56,707</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income tax provision</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">22,555</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,205</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">239</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">21,111</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">41,577</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,197</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">784</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">35,596</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnings per share:</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Basic</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.75</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.09</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.02</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.64</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Diluted (Note 3)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.74</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.09</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.02</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.63</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average common shares outstanding:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Basic</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">55,720</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">55,720</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Diluted (Note 3)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">56,377</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">56,377</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">41,577</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,197</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">784</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">35,596</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other comprehensive income (loss):</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign currency translation adjustment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,037</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">377</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,414</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Comprehensive income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">38,540</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,574</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">784</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">32,182</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div><div><p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:11.14%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:4.3%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:4.3%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:4.3%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:4.3%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:4.22%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:4.36%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:4.36%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:4.36%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:4.36%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:4.36%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:4.36%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:5.28%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated Other Comprehensive Loss</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated Earnings</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total Stockholders' Equity</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Revenue Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Restated</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Revenue Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Restated</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Revenue Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Restated</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2022</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">34,394</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">34,394</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">397,272</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">397,272</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,910,700</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,910,700</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">41,577</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,197</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">784</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">35,596</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">41,577</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,197</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">784</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">35,596</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Translation adjustment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,037</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">377</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,414</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,037</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">377</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,414</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2023</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">37,431</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">377</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">37,808</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">438,849</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,197</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">784</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">432,868</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,971,203</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,574</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">784</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,964,845</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div><div><p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.38%;box-sizing:content-box;"></td>
        <td style="width:1.08%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.356%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.08%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.356%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.18%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.216%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.356%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Year Ended December 31, 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Revenue Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Restated</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash flows from operating activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">41,577</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,197</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">784</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">35,596</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Adjustments to reconcile net income to net cash provided by operating activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory step-up charges</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,238</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,238</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Depreciation and amortization</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">68,085</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">471</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">68,556</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amortization of debt discount and issuance costs</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,448</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,448</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">25,575</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">25,575</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred income taxes, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,317</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">903</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">239</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,175</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">30,569</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">30,569</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-cash interest income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,023</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,023</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Loss on extinguishment of debt</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12,676</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12,676</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset amortization</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,059</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,499</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">17,558</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,231</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">552</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,783</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Changes in operating assets and liabilities, excluding impact of acquisitions:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,312</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,312</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventories</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">40,973</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">40,973</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,030</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">303</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,333</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">461</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">461</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">9,803</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">9,803</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued expenses</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">27,921</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,403</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">21,518</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">9,229</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,499</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12,728</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-term liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">87</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">87</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash provided by operating activities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">113,918</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">113,918</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash flows from investing activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Redemption of marketable securities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">102,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">102,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Additions to capitalized software costs</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,766</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,766</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisitions, net of cash acquired</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">186,642</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">186,642</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Purchases of property, plant and equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">36,222</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">36,222</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Purchase of intellectual property</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other investing activities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">32</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">32</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash used in investing activities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">123,275</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">123,275</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash flows from financing activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Repurchase of common stock</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,386</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,386</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Proceeds from issuance of 2023 Convertible Senior Notes</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">290,094</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">290,094</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Proceeds from exercise of stock options</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,076</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,076</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payment of debt issuance costs</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,253</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,253</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payment of tax withholding obligation on vesting of restricted stock</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,227</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,227</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payment of earnout consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,298</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,298</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other financing activities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">45</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;"><span style="-sec-ix-hidden:F_d983390b-710f-4bf6-984b-01a5c58be1af;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">45</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash provided by (used in) financing activities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">248,961</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">248,961</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of exchange rate changes on cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">11,739</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">11,739</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net increase (decrease) in cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">227,865</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">227,865</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents, beginning of period</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">523,458</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">523,458</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents, end of period</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Supplemental disclosure of cash flow information:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income taxes paid</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">26,963</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">26,963</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Interest paid</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">988</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">988</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Supplemental disclosure of non-cash investing and financing activities:</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Assets acquired under operating leases</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,335</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,335</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Fair value of shares of common stock issued for acquisitions</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,569</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,569</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Fair value of shares of common stock issued for contingent consideration earnouts</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,229</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,229</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition date fair value of contingent consideration earnouts</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,640</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,640</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Issuance of 2023 Notes in exchange of 2019 Notes</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">42,179</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">42,179</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Extinguished 2019 Notes</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">29,634</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">29,634</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div><div style="font-size:10pt;font-family:Times New Roman;">
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.443%;box-sizing:content-box;"></td>
        <td style="width:1.341%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.341%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.461%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Year Ended December 31, 2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Revised</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash flows from operating activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Adjustments to reconcile net income to net cash provided by operating activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset amortization</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">24,549</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">30,576</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,027</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Changes in operating assets and liabilities, excluding impact of acquisitions:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">28,623</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">30,576</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,953</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash provided by operating activities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">172,083</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">172,083</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Supplemental disclosure of non-cash investing and financing activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition of intangible assets and issuance of financing liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,948</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,948</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.443%;box-sizing:content-box;"></td>
        <td style="width:1.341%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.341%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.461%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Year Ended December 31, 2021</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Revised</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash flows from operating activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Adjustments to reconcile net income to net cash provided by operating activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset amortization</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,315</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,870</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">10,555</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Changes in operating assets and liabilities, excluding impact of acquisitions:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,958</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,870</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,912</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash provided by operating activities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">119,016</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">119,016</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingChangesAndErrorCorrectionsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingChangesAndErrorCorrectionsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for condensed financial information, including the financial position, cash flows, and the results of operations of the registrant (parent company) as of the same dates or for the same periods for which audited consolidated financial statements are being presented. Alternatively, the details of this disclosure can be reported by the specific parent company taxonomy elements, indicating the appropriate date and period contexts in an instance document.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-11<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674432937792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Organization and Nature of Business<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NatureOfOperations', window );">Organization and Nature of Business</a></td>
<td class="text"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">2.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Organization and Nature of Busines</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">s</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Repligen Corporation (NASDAQ: RGEN) is a global life sciences company that develops and commercializes highly innovative bioprocessing technologies and systems that increase efficiencies and flexibility in the process of manufacturing biological drugs.  The Company&#8217;s franchises include filtration, chromatography, process analytics and proteins. See Part I, Item 1. &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business - Our Products&#8221;, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">of this report for additional information related to the Company's products. The Company&#8217;s bioprocessing products are sold to major life sciences companies, biopharmaceutical development companies and contract manufacturing organizations worldwide. The Company operates under one reportable segment. The Company&#8217;s chief operating decision maker (&#8220;CODM&#8221;), its Chief Executive Officer (&#8220;CEO&#8221;), reviews financial information presented on a consolidated basis for purposes of allocating resources and evaluating financial performance. See Note 3, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Summary of Significant Accounting Policies &#8211; Segment Reporting,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">for more information on the Company&#8217;s segment.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A majority of our </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> manufacturing sites are located in the United States (California, Massachusetts, New Hampshire, New Jersey, New York and Texas). Outside the United States, we have manufacturing sites in Estonia, France, Germany, Ireland, the Netherlands and Sweden.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company is subject to a number of risks typically associated with companies in the biotechnology industry. These risks principally include the Company&#8217;s dependence on key customers, development by the Company or its competitors of new technological innovations, dependence on key personnel, protection of proprietary technology, compliance with the U.S. Food and Drug Association and other governmental regulations and approval requirements, as well as the ability to grow the Company&#8217;s business and obtain adequate funding to finance this growth.</span><span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NatureOfOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/275/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NatureOfOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674432929184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Summary of Significant Accounting Policies</a></td>
<td class="text"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">3.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Summary of Significant Accounting Policies </span></div></div><div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Use of Estimates</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The preparation of financial statements in conformity with accounting principles generally accepted in the United States requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting periods.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Significant estimates and assumptions by management affect the Company&#8217;s revenue recognition for multiple element arrangements, allowance for credit losses, the net realizable value of inventory, valuations and purchase price allocations related to business combinations, contingent consideration, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, estimates related to the fair value of the conversion features of the convertible notes for purposes of assessing whether debt extinguishment or modification accounting applies to the Company&#8217;s debt exchange, stock-based compensation, tax reserves and recoverability of the Company&#8217;s net deferred tax assets and related valuation allowance.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Although the Company regularly assesses these estimates, actual results could differ materially from these estimates. Changes in estimates are recorded in the period in which they become known. The Company bases its estimates on historical experience and various other assumptions that it believes to be reasonable under the circumstances.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Basis of Presentation</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All significant intercompany accounts and transactions have been eliminated in consolidation. Certain prior year balances have changed to reflect current year presentation.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Foreign Currency</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company translates the assets and liabilities of its foreign subsidiary at rates in effect at the end of the reporting period. Revenues and expenses are translated at average rates in effect during the reporting period. Translation adjustments include adjustments related to the Company&#8217;s various intercompany loans with foreign subsidiaries. Intercompany loans determined to be permanent are remeasured at each period end and included in accumulated other comprehensive loss on the consolidated balance sheets. Intercompany loans with foreign subsidiaries determined to be repayable are remeasured at each period end and included in other income (expenses) on the consolidated statements of comprehensive income.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Revenue Recognition</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company generates revenue from the sale of bioprocessing products, equipment devices, and related consumables used with these equipment devices to customers in the life sciences and biopharmaceutical industries. Under Accounting Standard Codification No. (&#8220;ASC&#8221;) 606, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Revenue from Contracts with Customers,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">revenue is recognized when, or as, obligations under the terms of a contract are satisfied, which occurs when control of the promised products or services is transferred to customers.  Revenue is measured as the amount of consideration the Company expects to receive in exchange for transferring products or services to a customer (&#8220;transaction price&#8221;).  To the extent the transaction price includes variable consideration, the Company estimates the amount of variable consideration that should be included in the transaction price utilizing the expected value method or the most likely amount method, depending on the facts and circumstances relative to the contract.  Variable consideration is included in the transaction price if, in the Company&#8217;s judgment, it is probable that a significant future reversal of cumulative revenue under the contract will not occur.  Estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on an assessment of the Company&#8217;s anticipated performance and all information (historical, current and forecasted) that is reasonably available.  Sales, value add, and other taxes collected on behalf of third parties are excluded from revenue.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">When determining the transaction price of a contract, an adjustment is made if payment from a customer occurs either significantly before or significantly after performance, resulting in a significant financing component.  Applying the practical expedient in paragraph 606-10-32-18, the Company does not assess whether a significant financing component exists if the period between when the Company performs its obligations under the contract and when the customer pays is one year or less.  None of the Company&#8217;s contracts contained a significant financing component as of December 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Contracts with customers may contain multiple performance obligations.  For such arrangements, the transaction price is allocated to each performance obligation based on the estimated relative standalone selling prices of the promised products or services underlying each performance obligation.  The Company determines standalone selling prices based on the price at which the performance obligation is sold separately.  If the standalone selling price is not observable through past transactions, the</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Company estimates the standalone selling price taking into account available information such as market conditions and internally approved pricing guidelines related to the performance obligations.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company recognizes product revenue under the terms of each customer agreement upon transfer of control to the customer, which occurs at a point in time.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Shipping and handling fees are recorded as a component of product revenue, with the associated costs recorded as a component of cost of product revenue.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Risks and Uncertainties</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company evaluates its operations periodically to determine if any risks and uncertainties exist that could impact its operations in the near term. The Company does not believe that there are any significant risks that have not already been disclosed in the consolidated financial statements. A loss of certain suppliers could temporarily disrupt operations, although alternate sources of supply exist for these items. The Company has mitigated these risks by working closely with key suppliers, identifying alternate sources and developing contingency plans.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cash, Cash Equivalents and Restricted Cash</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Cash and cash equivalents include cash on hand and on deposit. Highly liquid investments in money market mutual funds with an original maturity of three months or less are classified as cash equivalents. All cash equivalents are carried at cost, which approximates fair value. Restricted cash represents cash that is restricted as to withdrawal or usage. There was no restriction on the Company&#8217;s cash balance as of December 31, 2023 and 2022.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s cash, cash equivalents and restricted cash total as presented in the Company&#8217;s consolidated statements of cash flows for the years ended December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">751.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">523.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">603.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Instruments</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company evaluates the embedded conversion feature within its convertible debt instruments under Accounting Standards Codification (&#8220;ASC&#8221;) 815, &#8221;Derivatives and Hedging.&#8221; The Company refers to ASC 815-15 and ASC 815-40 to determine if the conversion feature meets the definition of a derivative and, if so, whether to bifurcate the conversion feature and account for it as a separate derivative liability.  Based on the Company&#8217;s analysis, its Convertible Senior Notes do not have an embedded conversion feature requiring bifurcation under ASC 815-15 and thus are accounted for as a single unit of account, a liability under ASC 470, &#8221;Debt.&#8221;</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Investment Securities</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We classify our investment securities in one of three categories: held to maturity, trading, or available for sale. Our investment portfolio at December 31, 2022 consisted of an investment in U.S. treasury bills classified as held to maturity which was included in the Company's consolidated balance sheets under marketable securities held to maturity. These marketable securities matured in June 2023 and there are no comparable investments as of December 31, 2023. Securities that we have the positive intent and ability to hold to maturity are classified as held to maturity and stated at amortized cost in the consolidated balance sheets. Management determines the appropriate classification of securities at the time of purchase based upon management's intent with regards to such investment and reevaluates such designation as of each balance sheet date. The Company's investment policy requires that it only invest in high-rated securities and limit its exposure to any single-user. There were no realized or unrealized gains or losses on investments recorded as of December 31, 2023, 2022 and 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company classifies marketable securities as short-term when they have remaining contractual maturities of one year or less from the balance sheet date. The Company periodically assesses its marketable securities, if any, for impairment or credit losses.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value Measurement</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In determining the fair value of its assets and liabilities, the Company uses various valuation approaches. The Company employs a hierarchy for inputs used in measuring fair value that maximizes the use of observable inputs and minimizes the use of</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">unobservable inputs by requiring that observable inputs be used when available. Observable inputs are inputs that market participants would use in pricing the asset or liability based on market data obtained from sources independent of the Company. Unobservable inputs are inputs that reflect the Company&#8217;s assumptions about the inputs that market participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances. The fair value hierarchy is broken down into three levels based on the source of inputs as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:3.333%;border-spacing:0;table-layout:fixed;width:96.0%;border-collapse:separate;">
       <tr style="visibility:collapse;">
        <td style="width:8.08%;box-sizing:content-box;"></td>
        <td style="width:91.92%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Level 1  &#8211;</span></p></td>
        <td style="padding-top:0in;text-indent:5pt;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities that the Company has the ability to access.</span></p></td>
       </tr>
       <tr style="height:5.75pt;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"><p style="font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;text-indent:5pt;vertical-align:middle;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Level 2  &#8211;</span></p></td>
        <td style="padding-top:0in;text-indent:5pt;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Valuations based on quoted prices for similar assets or liabilities in active markets, quoted prices for identical or similar assets or liabilities.</span></p></td>
       </tr>
       <tr style="height:5.75pt;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"><p style="font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;text-indent:5pt;vertical-align:middle;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Level 3  &#8211;</span></p></td>
        <td style="padding-top:0in;text-indent:5pt;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Valuations based on inputs that are unobservable and significant to the overall fair value measurement.</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The availability of observable inputs can vary among the various types of financial assets and liabilities. To the extent that the valuation is based on models or inputs that are less observable or unobservable in the market, the determination of fair value requires more judgment. In certain cases, the inputs used to measure fair value may fall into different levels of the fair value hierarchy. In such cases, for financial statement disclosure purposes, the level in the fair value hierarchy within which the fair value measurement is categorized is based on the lowest level input that is significant to the overall fair value measurement.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Allowance for credit losses</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We establish an allowance for credit losses through a review of several factors, including historical collection experience, current aging status of the customer accounts, and current financial condition of our customers. Losses are charged against the allowance when the customer accounts are determined to be uncollectible.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Inventories</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inventories relate to the Company&#8217;s bioprocessing business. The Company values inventory at cost or, if lower, net realizable value, using the first-in, first-out method. The Company reviews its inventories at least quarterly and records a provision for excess and obsolete inventory based on its estimates of expected sales volume, production capacity and expiration dates of raw materials, work-in-process and finished products. The Company writes down inventory that has become obsolete, inventory that has a cost basis in excess of its expected net realizable value, and inventory in excess of expected requirements to cost of product revenue. Manufacturing of bioprocessing finished goods is done to order and tested for quality specifications prior to shipment.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A change in the estimated timing or amount of demand for the Company&#8217;s products could result in additional provisions for excess inventory quantities on hand. Any significant unanticipated changes in demand or unexpected quality failures could have a significant impact on the value of inventory and reported operating results. During all periods presented in the accompanying consolidated financial statements, there have been no material adjustments related to a revised estimate of inventory valuations.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Work-in-process and finished products inventories consist of material, labor, outside processing costs and manufacturing overhead.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Lease Accounting</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company adopted Accounting Standards Update No. (&#8220;ASU&#8221;) 2016-02, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Leases (Topic 842)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8221; (&#8220;ASC 842&#8221;) as of January 1, 2019. Under ASC 842, the Company determines whether the arrangement contains a lease at the inception of an arrangement. If a lease is identified in an arrangement, the Company recognizes a right-of-use asset and liability on its consolidated balance sheets and determines whether the lease should be classified as a finance or operating lease. The Company does not recognize assets or liabilities for leases with lease terms of less than 12 months.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A lease qualifies as a finance lease if any of the following criteria are met at the inception of the lease: (i) there is a transfer of ownership of the leased asset to the Company by the end of the lease term, (ii) the Company holds an option to purchase the</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">leased asset that it is reasonably certain to exercise, (iii) the lease term is for a major part of the remaining economic life of the leased asset, (iv) the present value of the sum of lease payments equals or exceeds substantially all of the fair value of the leased asset, or (v) the nature of the leased asset is specialized to the point that it is expected to provide the lessor no alternative use at the end of the lease term. All other leases are recorded as operating leases.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Finance and operating lease assets and liabilities are recognized at the lease commencement date based on the present value of the lease payments over the lease term using the discount rate implicit in the lease. If the rate implicit is not readily determinable, the Company utilizes its incremental borrowing rate at the lease commencement date. Operating lease assets are further adjusted for prepaid or accrued lease payments. Operating lease payments are expensed using the straight-line method as an operating expense over the lease term. Finance lease assets are amortized to depreciation expense using the straight-line method over the shorter of the useful life of the related asset or the lease term. Finance lease payments are bifurcated into (i) a portion that is recorded as imputed interest expense and (ii) a portion that reduces the finance liability associated with the lease.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company does not separate lease and non-lease components when determining which lease payments to include in the calculation of its lease assets and liabilities. Variable lease payments are expensed as incurred. If a lease includes an option to extend or terminate the lease, the Company reflects the option in the lease term if it is reasonably certain it will exercise the option.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Finance leases are recorded in property, plant and equipment, net, other current liabilities and long-term finance lease liabilities and operating leases are recorded in operating lease right of use assets, operating lease liability and operating lease liability, long-term on the Company&#8217;s consolidated balance sheets.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Certain of the Company&#8217;s operating leases where the Company is the lessee provide for minimum annual payments that increase over the life of the lease. Some of these leases include obligations to pay for other services, such as operations and maintenance. For leases of property, the Company accounts for these other services as a component of the lease. The aggregate minimum annual payments are expensed on the straight-line basis beginning when the Company takes possession of the property and extending over the term of the related lease, including renewal options when the exercise of the option is reasonably certain as an economic penalty may be incurred if the option is not exercised. The Company also accounts in its straight-line computation for the effect of any &#8220;rental holidays.&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Operating lease assets represent the Company&#8217;s right to use an underlying asset for the lease term and lease liabilities represent the Company&#8217;s obligation to make lease payments arising from the lease. Operating lease assets and liabilities are recognized at the lease commencement date based on the estimated present value of the fixed lease payments, reduced by landlord incentives using a discount rate based on similarly secured borrowings available to the Company. Most of the leases do not provide implicit interest rates and therefore the Company determines the discount rate based on its incremental borrowing rate. The incremental borrowing rate for the Company&#8217;s leases is determined based on lease term and currency in which the lease payments are made.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accrued Liabilities</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company estimates accrued liabilities by identifying services performed on the Company&#8217;s behalf, estimating the level of service performed and determining the associated cost incurred for such service as of each balance sheet date. For example, the Company would accrue for professional and consulting fees incurred with law firms, audit and accounting service providers and other third-party consultants. These expenses are determined by either requesting those service providers to estimate unbilled services at each reporting date for services incurred or tracking costs incurred by service providers under fixed fee arrangements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company has processes in place to estimate the appropriate amounts to record for accrued liabilities, which principally involve the applicable personnel reviewing the services provided. In the event that the Company does not identify certain costs that have begun to be incurred or the Company under or over-estimates the level of services performed or the costs of such services, the reported expenses for that period may be too low or too high. The date on which certain services commence, the level of services performed on or before a given date, and the cost of such services often require the exercise of judgment. The Company makes these judgments based upon the facts and circumstances known at the date of the consolidated financial statements.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Income Taxes</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Deferred taxes are determined based on the difference between the consolidated financial statements and tax basis of assets and liabilities using enacted tax rates in effect in the years in which the differences are expected to reverse. Valuation allowances are provided, if, based upon the weight of available evidence, it is more likely than not that some or all of the deferred tax assets will not be realized. The Company accounts for uncertain tax positions using a &#8220;more-likely-than-not&#8221; threshold for recognizing and resolving uncertain tax positions. The evaluation of uncertain tax positions is based on factors including, but not limited to, changes in tax law, the measurement of tax positions taken or expected to be taken in tax returns, the effective settlement of matters subject to audit, new audit activity and changes in facts or circumstances related to a tax position. The Company evaluates this tax position on a quarterly basis. The Company also accrues for potential interest and penalties related to unrecognized tax benefits in income tax expense. The Company is subject to a territorial tax system under the Tax Cuts and Jobs Act enacted in December 2017, in which the Company is required to provide for tax on Global Intangible Low-Taxed Income (&#8220;GILTI&#8221;) earned by certain foreign subsidiaries. The Company has adopted an accounting policy to provide for the tax expense related to GILTI in the year the tax is incurred as a period expense.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Property, Plant &amp; Equipment</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property, plant &amp; equipment is recorded at cost less allowances for depreciation. Depreciation is calculated using the straight-line method over the estimated useful life of the asset as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
        <table style="margin-left:3.333%;border-spacing:0;table-layout:fixed;width:96.0%;border-collapse:separate;">
         <tr style="visibility:collapse;">
          <td style="width:45.7%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:53.3%;box-sizing:content-box;"></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.5pt solid;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Classification</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated Useful Life</span></p></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Buildings</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Thirty years</span></span></p></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Leasehold improvements</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_97c658e9-763a-4c74-b869-847703160c86;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Shorter of the term of the lease or estimated useful life</span></span></span></p></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equipment</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_951db97f-38a2-4f75-b2a0-786c13d36d24;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Three</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to </span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">twelve years</span></span></p></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Furniture, fixtures and office equipment</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_a515c115-d6c2-4112-a709-4feb4a3856a2;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Three</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to </span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">eight years</span></span></p></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Computer hardware and software</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_dbc0aa1e-92ac-4d71-9c5b-67e87dcc2701;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Three</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to </span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">seven years</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;or estimated useful life</span></p></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vehicles</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Five years</span></span></p></td>
         </tr>
        </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Upon disposal of property, plant &amp; equipment, the cost of the asset and the accumulated depreciation are removed from the accounts and the resulting gain or loss is reflected in our results of operations. Fully depreciated assets are not removed from the accounts until they are physically disposed of.</span></p></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Certain systems development costs related to the purchase, development and installation of computer software developed or obtained for internal use are capitalized and depreciated over the estimated useful life of the related project. Costs incurred prior to the development stage, as well as maintenance, training costs, and general and administrative expenses are expensed as incurred.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Earnings Per Share</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company reports earnings per share (&#8220;EPS&#8221;) in accordance with ASC 260, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">"Earnings Per Share," </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">which establishes standards for computing and presenting EPS. Basic EPS is computed by dividing net income available to common shareholders by the weighted average number of common shares outstanding during the period. Diluted EPS is computed by dividing net income available to common shareholders by the weighted-average number of common shares and dilutive common share equivalents outstanding during the period. Potential common share equivalents consist of restricted stock awards (including performance stock units) and the incremental common shares issuable upon the exercise of stock options and warrants. Under the treasury stock method, unexercised &#8220;in-the-money&#8221; stock options are assumed to be exercised at the beginning of the period or at issuance, if later. The assumed proceeds are then used to purchase common shares at the average market price during the period. In periods when the Company has a net loss, stock awards are excluded from the calculation of earnings per share as their inclusion would have an antidilutive effect.</span></p></div><div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A reconciliation of basic and diluted weighted average share outstanding is as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
        <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
         <tr style="visibility:collapse;">
          <td style="width:57.477%;box-sizing:content-box;"></td>
          <td style="width:1.399%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:10.776%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1.399%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:10.776%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1.399%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:10.776%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands, except per share data)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Numerator:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35,596</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">185,959</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">128,291</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of dilutive securities:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;Charges associated with convertible debt instruments, net of tax</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">387</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;Numerator for diluted earnings per share - net income available to common stockholders after the effect of dilutive securities</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35,596</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">186,346</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">128,291</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Denominator:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average shares used in computing net income per<br/>&#160;&#160;&#160;share - basic</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">55,720</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">55,460</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">55,015</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of dilutive shares:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options and stock units</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">457</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">608</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">915</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Convertible senior notes</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">181</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,360</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,253</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Dilutive effect of unvested performance stock units</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Dilutive potential common shares</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">657</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,995</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,249</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">56,377</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">57,455</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">57,264</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnings per share:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Basic</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.64</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.35</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2.33</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Diluted</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.63</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.24</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2.24</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the dilutive impact for the Company's </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.375</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% Convertible Senior Notes due 2024 (the &#8220; 2019 Notes&#8221;) and its </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.00</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% Convertible Senior Notes due 2028 (the &#8220;2023 Notes&#8221;). As of December 31, 2023, the if-converted value is less than the outstanding principal of the 2023 Notes and are therefore anti-dilutive. Refer to Note 15, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> for more information.</span></div></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For the years ended December 31, 2023, 2022 and 2021, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">306,849</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">177,318</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares and </span><span style="font-size:10pt;font-family:Times New Roman;white-space:pre-wrap;min-width:fit-content;color:#000000;">68,968</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares, respectively, of the Company&#8217;s common stock were excluded from the calculation of diluted earnings per share because they would have had an anti-dilutive effect for years presented.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In July 2019, the Company issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">287.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of its 2019 Notes. As provided by the terms of the indenture underlying the 2019 Notes, prior to March 4, 2022, conversion of the 2019 Notes could have been settled in cash, shares of the Company&#8217;s common stock or a combination thereof, at the Company&#8217;s election. On March 4, 2022, we entered into the Second Supplemental Indenture for the 2019 Notes, which irrevocably elected to settle the conversion of the 2019 Notes using a combination of cash and shares of the Company's common stock, settling the par value of the 2019 Notes in cash and any excess conversion premium in shares. On December 14, 2023, the Company exchanged, in a privately negotiated exchange, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">309.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million principal amount of 2023 Notes for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">217.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million principal amount of 2019 Notes and issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">290.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of 2023 Notes for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">290.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash. Following the close of the Exchange Transaction, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">69.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in aggregate principal amount of 2019 Notes remains outstanding with terms unchanged.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As provided by the terms of the Second Supplemental Indenture underlying the 2019 Notes, the Company irrevocably elected to settle the conversion obligation for the 2019 Notes in a combination of cash and shares of the Company's common stock. This means the Company will settle the par value of the 2019 Notes in cash and any excess conversion premium in shares. As mentioned in Note 15, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Company adopted ASU 2020-06 effective January 1, 2022. Under ASU 2020-06, the Company is required to reflect the dilutive effect of the convertible securities by application of the &#8220;if-converted&#8221; method, which means the denominator of the EPS calculation would include the total number of shares assuming the 2019 Notes had been fully converted at the beginning of the period. Prior to March 4, 2022, the Company had the choice to settle the</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">conversion </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">of the 2019 Notes in cash, stock or a combination of the two. Therefore, from January 1, 2022 (the date the Company adopted ASU 2020-06) to March 4, 2022, the Company included </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,474,429</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares in the denominator of the EPS calculation, applying the if converted method. Subsequent to March 4, 2022, after the Second Supplemental Indenture became effective, the Company irrevocably elected to settle the conversion obligation for the 2019 Notes in a combination of cash and shares of the Company's common stock, and from March 5, 2022 forward, only the excess premium will be settled with shares. Under the if-converted method of calculating dilutive shares, the Company was also required to exclude amortization of debt issuance costs and interest charges applicable to the convertible debt from the numerator of the dilutive EPS calculation for the period from January 1, 2022 to March 4, 2022, as if the interest on convertible debt was never recognized for that period. As a result, the Company excluded interest charges of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (net of tax) from the numerator and included </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,359,957</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares in the calculation of diluted earnings as the dilutive effect of the conversion premium for the year ended December 31, 2022. There were no comparable amounts included in 2023 or 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prior to the adoption of ASU 2020-06, the Company applied the provisions of ASC 260, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Earnings Per Share,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">subsection 10-45-44, to determine the diluted weighted average shares outstanding as it related to the conversion spread on its convertible notes. Accordingly, the par value of the 2019 Notes was not included in the calculation of diluted EPS, but the dilutive effect of the conversion premium was considered in the calculation of diluted EPS using the treasury stock method. The dilutive impact of the 2019 Notes was based on the difference between the Company&#8217;s current period average stock price and the conversion price of the convertible notes, provided there is a premium. Pursuant to this accounting standard, there was no dilution from the accreted principal of the 2019 Notes.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Segment Reporting</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Operating segments are components of an enterprise that engage in business activities for which discrete financial information is available and regularly reviewed by the CODM in deciding how to allocate resources and assess performance. Our CEO has been identified as our CODM.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company views its operations, makes decisions regarding how to allocate resources and manages its business as </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">one</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> reportable segment and one reporting unit. As a result, the financial information disclosed herein represents all of the material financial information related to the Company.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents product revenues by product line:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:49.24%;box-sizing:content-box;"></td>
          <td style="width:1.66%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:13.26%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1.66%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:13.26%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1.66%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:13.26%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span><span style="color:#000000;top:-3.752pt;white-space:pre-wrap;font-weight:bold;font-size:5.36pt;position:relative;min-width:fit-content;">(1)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span><span style="color:#000000;top:-3.752pt;white-space:pre-wrap;font-weight:bold;font-size:5.36pt;position:relative;min-width:fit-content;">(2)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Filtration products</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">341,379</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">495,930</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">403,505</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Chromatography products</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126,629</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">131,680</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">91,037</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Process analytics products</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">56,820</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">53,512</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">48,019</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Proteins products</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">103,463</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">114,320</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">123,707</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,688</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,741</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,051</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total product revenue</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">631,979</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">801,183</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">670,319</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table><div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#8220;FlexBiosys&#8221;) from April 17, 2023, as well as Metenova Holding AB (&#8220;Metenova&#8221;) from October 2, 2023.</span></div></div><div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(2)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2021 revenue for filtration products includes revenue related to Polymem S.A. (&#8220;Polymem&#8221;) from July 1, 2021, as well as BioFlex Solutions LLC (&#8220;BioFlex&#8221;) and Newton T&amp;M Corp. (&#8220;NTM&#8221;) from December 16, 2021 through December 31, 2021. 2021 revenue for proteins products includes revenue related to Avitide, Inc. (&#8220;Avitide&#8221;) from September 20, 2021 through December 31, 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> </span></div></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue from filtration products includes the XCell ATF</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> systems and consumables as well as the KrosFlo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and SIUS</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> filtration products. Revenue from chromatography products includes the OPUS</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> chromatography pre-packed columns, chromatography resins and ELISA test kits. Revenue from process analytics products includes the SoloVPE</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, FlowVPE</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> RPM</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and FlowVPX</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> devices. Revenue from protein products includes the Protein A affinity ligands and cell culture growth factors. Other revenue primarily consists of revenue from the sale of operating room products to hospitals as well as freight revenue.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><div style="font-size:12pt;font-family:Times New Roman;"><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s total revenue by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented (based on the location of the customer):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:57.409%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:11.177999999999999%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:11.177999999999999%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:11.238%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue by customers' geographic locations:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">36</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">37</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">40</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC/Other</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
        </table><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s total assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:66.993%;box-sizing:content-box;"></td>
          <td style="width:1.62%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1.62%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Revised)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total assets by geographic locations:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,377,868</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,216,186</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">426,148</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">287,543</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,169</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,871</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total assets by geographic location</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,831,185</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,531,600</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s long-lived assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:66.993%;box-sizing:content-box;"></td>
          <td style="width:1.62%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1.62%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-lived assets by geographic locations:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">278,033</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">275,151</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43,280</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">38,541</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,919</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,819</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total long-lived assets by geographic location</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">324,232</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">316,511</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table></div></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentrations of Credit Risk and Significant Customers</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Financial instruments that subject the Company to significant concentrations of credit risk primarily consist of cash and cash equivalents, marketable securities and accounts receivable. Per the Company&#8217;s investment policy, cash equivalents and marketable securities are invested in financial instruments with high credit ratings, limit its credit exposure to any one issuer (with the exception of U.S. treasury obligations) and type of instrument is limited. At December 31, 2023, the Company had no investments associated with foreign exchange contracts, options contracts or other foreign hedging arrangements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Concentration of credit risk with respect to accounts receivable is limited to customers to whom the Company makes significant sales. While a reserve for the potential write-off of accounts receivable is maintained, the Company has not written off any significant accounts to date. To control credit risk, the Company performs regular credit evaluations of its customers&#8217; financial condition.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Ther</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">e was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> revenue from customers that represented </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% or more of the Company's total revenue for the year ended December 31, 2023 or 2022. Revenue from Pfizer Inc. accounted for </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of total revenue for the year ended December 31, 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">No accounts receivable balance from a specific c</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ustomer represented </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% or more of the Company's total trade accounts receivable at </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. Significant accounts receivable balances representing </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">or more of the Company&#8217;s total</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">trade </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">accounts receivable balances at December 31, 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> came from our accounts receivable balance outstanding with Purolite, an Ecolab Inc. company (&#8220;Purolite&#8221;), which was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">12.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the Company's total trade accounts receivable balance.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business Combinations, Goodwill and Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business Combinations</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total consideration transferred for acquisitions is allocated to the tangible and intangible assets acquired and liabilities assumed, if any, based on their fair values at the dates of acquisition. This purchase price allocation process requires management to make significant estimates and assumptions with respect to intangible assets and deferred revenue. The fair value of identifiable intangible assets is based on detailed valuations that use information and assumptions determined by management. Any excess of purchase price over the fair value of the net tangible and intangible assets acquired is allocated to goodwill. While the Company uses its best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as any contingent consideration, where applicable, the Company&#8217;s estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which may be up to one year from the acquisition date, the Company records adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill.  Upon conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to the Company&#8217;s consolidated statements of comprehensive income. Any excess of the fair value of the net tangible and intangible assets acquired over the purchase price is recognized in the consolidated statements of comprehensive income. The fair value of contingent consideration includes estimates and judgments made by management regarding the probability that future contingent payments will be made and the extent of royalties to be earned in excess of the defined minimum royalties. Management updates these estimates and the related fair value of contingent consideration at each reporting period. These changes in the fair value of contingent consideration are recorded to contingent consideration in the Company&#8217;s consolidated statements of comprehensive income. For the years ended December 31, 2023 and 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, we recorded a decrease of $</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">30.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">28.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively, to the estimated contingent consideration obligation, primarily related to the acquisition of Avitide (the &#8220;Avitide Acquisition&#8221;).</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company uses the income approach to determine the fair value of certain identifiable intangible assets including customer relationships and developed technology. This approach determines fair value by estimating after-tax cash flows attributable to these assets over their respective useful lives and then discounting these after-tax cash flows back to a present value. The Company bases its assumptions on estimates of future cash flows, expected growth rates, expected trends in technology, etc. Discount rates used to arrive at a present value as of the date of acquisition are based on the time value of money and certain industry-specific risk factors. The Company believes the estimated purchased customer relationships, developed technologies, trademark/tradename, patents, non-compete agreements and in-process research and development amounts so determined represent the fair value at the date of acquisition, and do not exceed the amount a third-party would pay for such assets.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Goodwill is not amortized and is tested for impairment at least annually at the reporting unit level. The Company operates as one reporting unit as of the goodwill impairment measurement date of December 31, 2023. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the qualitative assessment of the Company&#8217;s </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">one</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> reporting unit during the 2023 goodwill impairment testing, it was determined that it was not more likely than not that its fair value was less than its carrying amount. As such, a quantitative impairment assessment was not required as of December 31, 2023. If an event occurs or circumstances change that would more likely than not reduce the fair value of its reporting unit below its carrying value, the Company will evaluate its goodwill for impairment between annual tests. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> impairment to goodwill and therefore </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> impairment charge recorded for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company has historically tested for impairment on its goodwill annually as of its measurement date of December 31st pursuant to company policy. Subsequent to the 2023 annual impairment test, the Company voluntarily changed its annual impairment assessment date from December 31st to October 1st, the first day of the Company's fourth quarter, beginning on </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">October 1, 2024</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The change is being made to better align the annual impairment assessment date with the Company's annual planning and budgeting process as well as long-term planning and forecasting process.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> The </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Company has determined this voluntary change in accounting principle is preferable and will not impact its consolidated financial statements nor is it being done to accelerate, avoid or trigger an impairment charge. This change is not going to be applied retrospectively as it is</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">impracticable </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to do so because retrospective application would require application of significant estimates and assumptions with the use of hindsight. Accordingly, the change will be applied prospectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets with a definite life are amortized over their useful lives using the straight-line method and the amortization expense is recorded within research and development (&#8220;R&amp;D&#8221;) and selling, general and administrative expense in the consolidated statements of comprehensive income. Intangible assets and their related useful lives are reviewed at least annually to determine if any adverse conditions existed that would indicate the carrying value of these assets may not be recoverable. More frequent impairment assessments are conducted if certain conditions exist, including a change in the competitive landscape, any internal decisions to pursue new or different technology strategies, a loss of a significant customer, or a significant change in the marketplace, including changes in the prices paid for the Company&#8217;s products or changes in the size of the market for the Company&#8217;s products. If impairment indicators are present, the Company determines whether the underlying intangible asset is recoverable through estimated future undiscounted cash flows. If the asset is not found to be recoverable, it is written down to the estimated fair value of the asset based on the sum of the future discounted cash flows expected to result from the use and disposition of the asset. If the estimate of an intangible asset&#8217;s remaining useful life is changed, the remaining carrying amount of the intangible asset is amortized prospectively over the revised remaining useful life. The Company continues to believe that its definite-lived intangible assets are recoverable at December 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Indefinite-lived intangible assets are reviewed for impairment at least annually. There has been </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> impairment of our intangible assets for the periods presented.</span></p></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock Based Compensation</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company measures stock-based compensation cost at the grant date based on the estimated fair value of the award and recognizes it as an expense over the employee&#8217;s requisite service period on a straight-line basis. The Company records the expense for share-based awards subject to performance-based milestone vesting over the remaining service period when management determines that achievement of the milestone is probable. Management evaluates whether the achievement of a performance-based milestone is probable as of the reporting date. The Company has no awards that are subject to market conditions. The Company recognizes stock-based compensation expense based upon options that are ultimately expected to vest, and accordingly, such compensation expense has been adjusted by an amount of estimated forfeitures.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company uses the Black-Scholes option pricing model to calculate the fair value of share-based awards on the grant date. The following assumptions are used in calculating the fair value of share-based awards:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Expected term</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; The expected term of options granted represents the period of time for which the options are expected to be outstanding. For purposes of estimating the expected term, the Company has aggregated all individual option awards into one group as the Company does not expect substantial differences in exercise behavior among its employees.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Expected volatility</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; The expected volatility is a measure of the amount by which the Company&#8217;s stock price is expected to fluctuate during the expected term of options granted. The Company determines the expected volatility based primarily upon the historical volatility of the Company&#8217;s common stock over a period commensurate with the option&#8217;s expected term.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Risk-free interest rate</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; The risk-free interest rate is the implied yield available on U.S. treasury zero-coupon issues with a remaining term equal to the option&#8217;s expected term on the grant date.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Expected dividend yield</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; The Company has never declared or paid any cash dividends on any of its capital stock and does not expect to do so in the foreseeable future. Accordingly, the Company uses an expected dividend yield of zero to calculate the grant-date fair value of a stock option.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Estimated forfeiture rates</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; The Company has applied, based on an analysis of its historical forfeitures, annual forfeiture rates of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-employee members of the Board of Directors (&#8220;Board&#8221;) to all unvested stock options as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Company reevaluates this analysis periodically and adjusts these estimated forfeiture rates as necessary. Ultimately, the Company will only recognize an expense for those shares that vest.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Advertising Costs</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company expenses advertising costs as they are incurred. Advertising expense for the years ended December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span></p></div><div><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Recent Accounting Standards Updates</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We consider the applicability and impact of all ASUs and other accounting guidance on the Company&#8217;s consolidated financial statements. Updates not listed below were assessed and determined to be either not applicable or are expected to have minimal impact on the Company&#8217;s consolidated financial position or results of operations. Recently issued accounting guidance that we feel may be applicable to the Company are as follows:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Recently Issued Accounting Guidance &#8211; Adopted During the Fiscal Year</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In July 2023, the U.S. Securities and Exchange Commission (the &#8220;SEC&#8221;) adopted the final rule under SEC Release No. 33-11216, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cybersecurity Risk Management, Strategy, Governance, and Incident Disclosure,&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> requiring current reporting about material cybersecurity incidents and annual disclosures on management&#8217;s processes for assessing, identifying, and managing material cybersecurity risks, the material impacts of cybersecurity threats and previous cybersecurity incidents, the Board's oversight of cybersecurity risks, and management&#8217;s role and expertise in assessing and managing material cybersecurity risks. SEC Release No. 33-11216 was effective for us during the third quarter of 2023. The adoption of this guidance did not have a material impact on the Company&#8217;s consolidated financial statements and disclosures.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In December 2022, the SEC adopted the final rule under SEC Release No. 33-11138,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> "Insider Trading Arrangements and Related Disclosures</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">," which requires new disclosures regarding insider trading policies and procedures, the use of Rule 10b5-1 plans by directors and officers, and stock option grants issued in close proximity to the release of material nonpublic information. SEC Release No. 33-11138 was effective for us for our second quarter of 2023, and did not have a material impact on our consolidated financial statements and disclosures.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Recently Issued Accounting Guidance &#8211; Not Yet Adopted</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In December 2023, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued ASU 2023-09, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Income Taxes (Topic 740) - Improvements to Income Tax Disclosures.&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ASU 2023-09 enhances the transparency and decision usefulness of income tax disclosures by requiring consistent categories and greater disaggregation of information in the rate reconciliation and income taxes paid disaggregated by jurisdiction. ASU 2023-09 will be effective for the Company in its income tax disclosure included in its 2025 Annual Report on Form 10-K and will be applied on a prospective basis. However, retrospective application is permitted. Early adoption is also permitted. Besides a change in income tax disclosures, the Company does not expect the adoption of ASU 2023-09 to have a material impact on its consolidated financial statements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">    </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In November 2023, the FASB issued ASU 2023-07, &#8220;S</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">egment Reporting (Topic 820) - Improvements to Reportable Segment Disclosures.&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ASU </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2023-07 will improve reportable segment disclosure requirements, primarily through enhanced annual and interim disclosures about significant segment expenses that are regularly provided to the CODM. The disclosure required under  ASU 2023-07 are also required for public entities with a single reportable segment. ASU 2023-07 will be effective for the Company for annual periods beginning on January 1, 2024 and interim periods beginning on January 1, 2025. The amendments of this guidance apply retrospectively to all prior periods presented in the consolidated financial statements. Early adoption is</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">permitted. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Besides presentation in the segment footnote for its interim reporting, the Company does not expect the adoption of ASU 2023-07 to have a material impact on its consolidated financial statements.</span></p></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/235/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674449115728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresTextBlock', window );">Fair Value Measurements</a></td>
<td class="text"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">4.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Fair Value Measurements</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cash, Cash Equivalents and Marketable Securities Held to Maturity</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the Company's cash, cash equivalents and marketable securities held to maturity as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:95.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:46.731%;box-sizing:content-box;"></td>
        <td style="width:1.78%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.538%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.78%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.538%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.78%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.538%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.78%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.538%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amortized<br/>&#160;Costs</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Unrealized<br/>Gains</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Unrealized<br/>Losses</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated<br/>Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash and cash equivalents:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and money market funds</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amortized <br/>Cost</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Unrealized<br/>Gains</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Unrealized<br/>Losses</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated<br/>Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash and cash equivalents:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and money market funds</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">523,458</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">523,458</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">523,458</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">523,458</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Marketable securities held to maturity:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">U.S. treasury bills - short-term</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100,299</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash, cash equivalents and marketable securities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">623,757</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">623,781</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the fourth quarter of 2022, the Company purchased $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">100.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of 6-month U.S. treasury bills with </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the positive intent and ability to hold them until maturity. Therefore, the Company classified this investment as held to maturity and stated it at amortized cost on the consolidated balance sheets. There is no comparable investment as of December 31, 2023.</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The amortized cost and fair value of the Company's held to maturity securities by contractual maturity at December 31, 2022 are summarized below. There were no comparable investments as of December 31, 2023:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:56.949%;box-sizing:content-box;"></td>
        <td style="width:2.699%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.477%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:2.699%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.477%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:2.699%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31, 2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amortized<br/>&#160;Costs</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated<br/>Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Maturity of one year or less</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100,299</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;word-break:break-word;">
        <td style="background-color:#cff0fc;padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100,299</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100,323</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#ffffff;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value Measured on a Recurring Basis</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Financial assets and financial liabilities measured at fair value on a recurring basis consist of the following as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 and 2022:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:47.819%;box-sizing:content-box;"></td>
        <td style="width:1.24%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.24%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.24%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.24%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 1</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 2</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 3</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Assets:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Money market accounts</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">658,574</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">658,574</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Liabilities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Short-term contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12,983</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12,983</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-term contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,070</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,070</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 1</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 2</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 3</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Assets:</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Money market accounts</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">343,929</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">343,929</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Liabilities:</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Short-term contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,950</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,950</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-term contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">51,559</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">51,559</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Contingent Consideration &#8211; Earnout</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of December 31, 2023, the maximum amount of future contingent consideration (undiscounted) that the Company could be required to pay in connection with each of the completed acquisitions is; $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">125.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million over a three-year earnout period for Avitide, which was acquired in September 2021 and for which the earnout periods run from January 1, 2022 through December 31, 2024; $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">42.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million over a two-year earnout period for FlexBiosys, which was acquired in April 2023 and for which the earnout periods run from January 1, 2023 through December 31, 2024; and approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million over a one-year earnout period for Metenova, which was acquired in October 2023 and for which the earnout period runs from January 1, 2024 through December 31, 2024. See Note 5, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquisitions&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to this report for more information on the contingent consideration earnouts.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During 2023, expected results and change in market inputs used to calculate the discount rate, resulted in a decrease in amounts reported as of December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. </span><span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A reconciliation of the change in fair value of contingent consideration &#8211; earnout is included in the following table (amounts in thousands):</span></span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:78.56%;box-sizing:content-box;"></td>
        <td style="width:2.1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:17.34%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2022</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">65,509</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition date fair value of contingent consideration earnouts</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,640</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payment of contingent consideration earnouts</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,527</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Decrease in fair value of contingent consideration earnouts</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30,569</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2023</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,053</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The recurring Level 3 fair value measurement of our contingent consideration &#8211; earnout that we expect to be required to settle our 2023, 2024 and 2025 contingent consideration obligation for Avitide, FlexBiosys and Metenova include the following significant unobservable inputs (amounts in thousands, except percent data):</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:18.524%;box-sizing:content-box;"></td>
        <td style="width:1.74%;box-sizing:content-box;"></td>
        <td style="width:1.08%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:13.903%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.163%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:16.383%;box-sizing:content-box;"></td>
        <td style="width:1.74%;box-sizing:content-box;"></td>
        <td style="width:11.942%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:13.283%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Contingent Consideration Earnout</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="3" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value as of<br/>&#160;December 31, 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Valuation Technique</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Unobservable Input</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Range</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted Average</span><span style="color:#000000;top:-4.221pt;white-space:pre-wrap;font-weight:bold;font-size:6.03pt;position:relative;min-width:fit-content;">(1)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Probability of</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Success</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Commercialization-based payments</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">20,094</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Monte Carlo<br/>Simulation</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnout Discount Rate</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.8</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.9</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.9</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Volatility</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12.5</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">24.6</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">21.9</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue and Volume-<br/>based payments</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,454</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Monte Carlo<br/>Simulation</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue &amp; Volume<br/>Discount Rate</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.5</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">9.3</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">8.3</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnout Discount Rate</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.8</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.2</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.1</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Probability of<br/>&#160;Success</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Manufacturing line expansions</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,505</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Probability-weighted present value</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnout Discount Rate</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.1</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.4</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.3</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">Unobservable inputs were weighted by the relative fair value of the contingent consideration liability.</span></div></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company estimates the fair value of the contingent consideration earnouts using a Monte Carlo simulation. Changes in the projected performance of the acquired business could result in a higher or lower contingent consideration obligation in the future.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value Measured on a Nonrecurring Basis</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During 2023, there were no re-measurements to fair value of financial assets and liabilities that are measured at fair value on a nonrecurring basis.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In July 2019, the Company issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">287.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2019 Notes. Interest is payable </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">semi-annually</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> in arrears on January 15 and July 15 of each year. The 2019 Notes will mature on July 15, 2024, unless earlier converted or repurchased in accordance with their terms. At </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 and 2022, subsequent to the adoption of ASU 2020-06, the carrying value of the 2019 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">69.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">284.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively, net of unamortized debt issuance costs and the fair value of the 2019 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">109.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">452.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively. The fair value of the 2019 Notes is a Level 1 valuation and was determined based on the most recent trade activity of the 2019 Notes as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 and 2022. The 2019 Notes are discussed in more detail in Note 15, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Convertible Senior Notes,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to these consolidated financial statements.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On December 14, 2023, the Company issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">600.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of its 2023 Notes in a private placement pursuant to separate, privately negotiated exchange and subscription agreements (the &#8220;Exchange and Subscription Agreements&#8221;) with a limited number of holders of its outstanding 2019 Notes and certain other qualified institutional buyers pursuant to Rule 144A under the Securities Act of 1933, as amended (&#8220;Securities Act&#8221;). Pursuant to the Exchange and Subscription Agreements, the Company exchanged $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">217.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of its 2019 Notes for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">309.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2023 Notes (the &#8220;Exchange Transaction&#8221;) and issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">290.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2023 Notes (the &#8220;Subscription Transactions&#8221;) for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">290.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash. At December 31, 2023, the carrying value of the 2023 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">510.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, net of unamortized debt issuance costs, and the fair value of the 2023 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">596.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The fair value of the 2023 Notes is a Level 1 valuation and was determined based on the most recent trade activity of the 2023 Notes as of December 31, 2023. The 2023 Notes are discussed in more detail in Note 15, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to these consolidated financial statements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 107<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-107<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-6A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2E<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2E<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6A<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-6A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6A<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-6A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6A<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-6A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6A<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-6A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 940<br> -SubTopic 820<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478119/940-820-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674432968816">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract', window );"><strong>Business Combination, Asset Acquisition, and Joint Venture Formation [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationDisclosureTextBlock', window );">Acquisitions</a></td>
<td class="text"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">5.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Acquisitions</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">2023 Acquisitions</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Metenova Holding AB</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On October 2, 2023, the Company's subsidiary, Repligen Sweden AB acquired Metenova from the former shareholders of Metenova (the &#8220;Metenova Seller&#8221;) pursuant to a Share Sale and Purchase Agreement (the &#8220;Share Purchase Agreement&#8221;), dated as of September 23, 2023 (such acquisition, the &#8220;Metenova Acquisition&#8221;), by and among Repligen Sweden AB, the Metenova Seller, and the Company, in its capacity as guarantor of the obligations of Repligen Sweden AB under the Share Purchase Agreement.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Metenova, which is headquartered in Molndal, Sweden, offers magnetic mixing and drive train technologies that are widely used by global biopharmaceutical companies and contract development and manufacturing organizations. The Metenova Acquisition further strengthens our fluid management portfolio with these products.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consideration Transferred</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company accounted for the Metenova Acquisition as a purchase of business under ASC 805, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business Combinations,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and the Company engaged a third-party valuation firm to assist with the valuation of Metenova. Under the Share Purchase Agreement, all outstanding equity interests of Metenova were acquired for consideration with a value totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">172.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The Metenova Acquisition was funded through payment of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">164.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash, the issuance of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">52,299</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> unregistered shares of the Company's common stock totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and contingent consideration with an immaterial fair value.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the acquisition method of accounting, the assets acquired and liabilities assumed of Metenova were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net liabilities acquired is estimated to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, the fair value of the intangible assets acquired is estimated to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">58.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and the residual goodwill is estimated to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">115.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The estimated consideration and preliminary purchase price information has been prepared using a preliminary valuation. Acquisition-related costs are not included as a component of consideration transferred but are expensed in the periods in which costs are incurred. The Company has incurred $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of transaction and integration costs associated with the Metenova Acquisition from the date of acquisition to December 31, 2023. The transaction costs are included in operating expenses in the consolidated statements of comprehensive income in 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value of Net Assets Acquired</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The preliminary allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date. As of December 31, 2023, the purchase accounting for this acquisition had not been finalized. As additional information becomes available, the Company may further revise its preliminary purchase price allocation during the remainder of the measurement period. Besides tax implications of the purchase price allocation, the final allocation may result in changes to other assets and liabilities.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and estimated allocation of the purchase price consist of the following (amounts in thousands):</span></p></div><div style="font-size:10pt;font-family:Times New Roman;">
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;box-sizing:content-box;"></td>
        <td style="width:1.94%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.823%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,768</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,730</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,421</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">470</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">433</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">615</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,659</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44,377</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">939</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">787</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">115,778</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,432</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,934</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">275</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax liability, long-term</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,481</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">255</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">172,600</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquired Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The goodwill of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">115.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million represents future economic benefits expected to arise from anticipated synergies from the integration of Metenova into the Company. These synergies include operating efficiencies and strategic benefits projected to be achieved as a result of the Metenova Acquisition. Substantially all of the goodwill recorded is expected to be nondeductible for income tax purposes.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span></p><div style="font-size:11pt;font-family:'Calibri',sans-serif;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the Metenova Acquisition and their estimated useful lives:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.871%;box-sizing:content-box;"></td>
        <td style="width:1.82%;box-sizing:content-box;"></td>
        <td style="width:19.884%;box-sizing:content-box;"></td>
        <td style="width:1.82%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:20.604%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,659</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44,377</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">939</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">787</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">58,762</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">FlexBiosys, Inc.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">April 17, 2023</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company completed its acquisition of all of the outstanding equity interests in FlexBiosys, pursuant to an Equity Purchase Agreement with FlexBiosys, TSAP Holdings Inc. (&#8220;NJ Seller&#8221;), Gayle Tarry and Stanley Tarry, as individuals (collectively with NJ Seller, the &#8220;FlexBiosys Sellers&#8221;), and Stanley Tarry, in his capacity as the representative of the FlexBiosys Sellers (the &#8220;FlexBiosys Acquisition&#8221;).</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FlexBiosys, which is headquartered in Branchburg, New Jersey, offers expert design and custom manufacturing of single-use bioprocessing products and a comprehensive range of products that include bioprocessing bags, bottles, and tubing assemblies. These products will complement and expand our fluid management portfolio of offerings.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consideration transferred</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The FlexBiosys Acquisition was accounted for as a purchase of a business under ASC 805, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business Combinations,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and the Company engaged a third-party valuation firm to assist with the valuation of FlexBiosys. Under the terms of the EPA, all outstanding equity interests of FlexBiosys were acquired for consideration with a value totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">41.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The FlexBiosys Acquisition was funded through payment of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">29.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash, which includes $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million deposited in escrow for future payments, the issuance of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">31,415</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> unregistered shares of the Company's common stock totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and contingent consideration with fair value of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the acquisition method of accounting, the assets acquired and liabilities assumed of FlexBiosys were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net assets acquired is estimated to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">14.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, the fair value of the intangible assets acquired is estimated to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">12.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and the residual goodwill is estimated to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">14.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The estimated consideration and preliminary purchase price information has been prepared using a preliminary valuation. Acquisition-related costs are not included as a component of consideration transferred but are expensed in the periods in which costs are incurred. The Company has incurred $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of transaction and integration costs associated with the FlexBiosys Acquisition from the date of acquisition to December 31, 2023 with $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the transaction and integration costs incurred during the three months ended December 31, 2023. The transaction costs are included in operating expenses in the consolidated statements of comprehensive income in 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value of Net Assets Acquired</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The preliminary allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date. As of December 31, 2023, the purchase accounting for this acquisition had not been finalized. As additional information becomes available, the Company may further revise its preliminary purchase price allocation during the remainder of the measurement period, which ends on April 17, 2024. The final allocation may result in changes to other assets and liabilities.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and estimated allocation of the purchase price consist of the following (amounts in thousands):</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;box-sizing:content-box;"></td>
        <td style="width:1.94%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.823%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,090</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">683</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">667</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,034</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,537</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,530</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,860</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">220</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,321</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other long-term assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">136</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">314</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">39</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,498</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41,030</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During 2023, the Company recorded an immaterial net working capital adjustment related to the FlexBiosys Acquisition, which is included in goodwill in the table above.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquired Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The goodwill of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">14.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million represents future economic benefits expected to arise from anticipated synergies from the integration of FlexBiosys into the Company. These synergies include operating efficiencies and strategic benefits projected to be achieved as a result of the FlexBiosys Acquisition. Substantially all of the goodwill recorded is expected to be deductible for income tax purposes.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span></p><div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the FlexBiosys Acquisition and their estimated useful lives:</span></p></div><div style="font-size:11pt;font-family:'Calibri',sans-serif;">
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.871%;box-sizing:content-box;"></td>
        <td style="width:1.82%;box-sizing:content-box;"></td>
        <td style="width:19.884%;box-sizing:content-box;"></td>
        <td style="width:1.82%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:20.604%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,530</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,860</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">220</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,640</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">2021 Acquisitions</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">BioFlex Solutions LLC and Newton T&amp;M Corp.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On November 29, 2021, the Company entered into an Equity Purchase Agreement with BioFlex (&#8220;BioFlex EPA&#8221;), NTM and each of Ralph Meola and Jason Nisler, to acquire </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the outstanding securities of BioFlex and NTM (collectively, the &#8220;NTM Acquisition&#8221;). The transaction closed on December 16, 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">NTM, which is headquartered in Newton, New Jersey, is the parent company of BioFlex and focuses on manufacturing of products, while BioFlex, also headquartered in Newton, New Jersey, commercializes branded products to biotech customers. The NTM Acquisition complements and expands our filtration offering paths as the industry migrates to single-use flow paths solutions for monoclonal antibody (&#8220;mAb&#8221;), vaccine and cell and gene therapy (&#8220;C&amp;GT&#8221;) applications, with a focus on single-use fluid management components, including single-use clamps, adapters, end caps and hose assemblies. The NTM Acquisition streamlines and increases control over many components in our single-use supply chain which ultimately should drive reduced lead-times for Repligen customers in the coming years.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consideration Transferred</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The NTM Acquisition was accounted for as a purchase of businesses under ASC 805, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Business Combinations&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and the Company engaged a third-party valuation firm to assist with the valuation of the business acquired. Under the terms of the BioFlex EPA, all outstanding shares of capital stock of BioFlex were acquired for consideration with a value totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">31.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, which includes $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million deposited into an escrow against which the Company may make claims for indemnification.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the acquisition method of accounting, the assets acquired and liabilities assumed of BioFlex were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net assets acquired is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, the fair value of the intangible assets acquired is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">17.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, and the residual goodwill is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">9.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million.  Acquisition-related costs are not included as a component of consideration transferred but are expensed in the periods in which costs are incurred. The Company incurred </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of transaction and integration costs associated with the NTM Acquisition from the date of acquisition to December 31, 2022, with $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of transaction and integration costs incurred in 2022 and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million incurred in 2021. The transaction and integration costs are included in operating expenses in the consolidated statements of comprehensive income for the periods ended December 31, 2022 and 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value of Net Assets Acquired</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date, based on the final valuation. The Company has made appropriate adjustments to the purchase price allocation during the measurement period, which ended December 16, 2022.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and estimated allocation of the purchase price consist of the following (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;box-sizing:content-box;"></td>
        <td style="width:1.94%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.823%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,870</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,408</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">741</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,034</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13,240</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,540</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">310</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">60</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,834</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long term deferred tax asset</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">224</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">450</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,030</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">31,571</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During 2022, the Company recorded net working capital adjustments of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million related to pre-acquisition liabilities, which are included in goodwill and accrued liabilities in the table above.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquired Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The goodwill of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">9.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million represents future economic benefits expected to arise from anticipated synergies from the integration of BioFlex and NTM into the Company. These synergies include certain operating efficiencies and strategic benefits projected to be achieved as a result of the NTM Acquisition. Substantially all of the goodwill recorded is expected to be deductible for income tax purposes.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the NTM Acquisition and their estimated useful lives:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.871%;box-sizing:content-box;"></td>
        <td style="width:1.82%;box-sizing:content-box;"></td>
        <td style="width:19.884%;box-sizing:content-box;"></td>
        <td style="width:1.82%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:20.604%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13,240</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,540</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">310</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">60</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,150</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Avitide, Inc.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On September 16, 2021, the Company entered into an Agreement and Plan of Merger and Reorganization (&#8220;Avitide Merger Agreement&#8221;) with Avalon Merger Sub, Inc., a Delaware corporation and a wholly owned direct subsidiary of the Company, Avalon Merger Sub LLC, a Delaware limited liability company and a wholly owned direct subsidiary of the Company, Avitide, a Delaware corporation, and Shareholder Representative Services LLC, a Colorado limited liability company, solely in its capacity as the representative, agent and attorney-in-fact of Avitide's securityholders to purchase Avitide. The transaction closed on September 20, 2021, and on the terms set forth in the Avitide Merger Agreement.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Avitide, which is headquartered in Lebanon, New Hampshire, offers diverse libraries and leading technology in affinity ligand discovery and development resulting in best-in-class ligand discovery and development lead-times. The acquisition gives the</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Company a new platform for affinity resin development, including C&amp;GT, and advances and expands the Company&#8217;s proteins and chromatography franchises to address the unique purification needs of gene therapies and other emerging modalities.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consideration Transferred</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Avitide Acquisition was accounted for as a purchase of a business under ASC 805, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Business Combinations&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and the Company engaged a third-party valuation firm to assist with the valuation of the business acquired. Under the terms of the Avitide Merger Agreement, all outstanding shares of capital stock of Avitide were cancelled and converted into the right to receive merger consideration with a value totaling up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">275.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, which consisted of upfront payments in aggregate of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">150.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million ($</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">149.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, net of cash acquired) and up to an additional $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">125.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (undiscounted) in contingent consideration earnout payments if certain performance targets are achieved. Total consideration paid also included $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million deposited into an escrow account against which the Company may make claims for indemnification. The Avitide Acquisition was funded through payment of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">75.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash, the issuance of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">271,096</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> unregistered shares of the Company&#8217;s common stock totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">83.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and contingent consideration with fair value of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">88.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the acquisition method of accounting, the assets acquired and liabilities assumed of Avitide were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net assets acquired is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, fair value of the intangible assets acquired is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">46.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, and the residual goodwill is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">197.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million.  The Company has incurred </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of transaction and integration costs associated with the Avitide Acquisition from the date of acquisition to December 31, 2022, with </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">million of transaction and integration costs incurred in 2022 and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in 2021. The transaction costs are included in operating expenses in the consolidated statements of comprehensive income for the periods ended December 31, 2022 and 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The preparation of the valuation required the use of significant assumptions and estimates. Critical estimates included, but were not limited to, future expected cash flows, including projected revenues and expenses, and the applicable discount rates. These estimates were based on assumptions that the Company believes to be reasonable. However, actual results may differ from these estimates.</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total consideration transferred is as follows (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;box-sizing:content-box;"></td>
        <td style="width:1.94%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.823%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">74,962</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equity consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">82,968</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration - earnout</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">88,373</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">246,303</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">       Fair Value of Net Assets Acquired</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date, based on the final valuation of Avitide. The Company has made appropriate adjustments to the purchase price allocation during the measurement period, which ended on September 20, 2022.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and estimated allocation of the purchase price consist of the following (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;box-sizing:content-box;"></td>
        <td style="width:1.94%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.823%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">572</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">228</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">332</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">114</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,862</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,648</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24,580</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,650</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,210</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">210</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">197,476</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long term deferred tax asset</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,525</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">215</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,183</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">698</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,950</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">58</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">246,303</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquired Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The goodwill of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">197.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million represents future economic benefits expected to arise from anticipated synergies from the integration of Avitide. These synergies include certain cost savings, operating efficiencies and other strategic benefits projected to be achieved as a result of the Avitide Acquisition. Substantially all of the goodwill recorded is expected to be nondeductible for income tax purposes. During 2022, the Company recorded adjustments to goodwill of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million related to a change in estimated tax benefits associated with the net operating loss carryforward filed on the Avitide pre-acquisition tax return. The offset of these adjustments is included in long term deferred tax asset in the table above.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the Avitide Acquisition and their estimated useful lives:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.871%;box-sizing:content-box;"></td>
        <td style="width:1.82%;box-sizing:content-box;"></td>
        <td style="width:19.884%;box-sizing:content-box;"></td>
        <td style="width:1.82%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:20.604%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24,580</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,650</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">18 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,210</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">210</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">46,650</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Polymem S.A.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On June 22, 2021, the Company entered into a Stock Purchase Agreement with Polymem, a company organized under the laws of France, and Jean-Michel Espenan and Franc Saux, acting together jointly and severally as the representatives of the sellers pursuant to which Repligen acquired all of the outstanding common stock of Polymem for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">47.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash.  The transaction closed on July 1, 2021 (the &#8220;Polymem Acquisition.&#8221;).</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Polymem, which is headquartered in, Toulouse, France, is a manufacturer of hollow fiber (&#8220;HF&#8221;) membranes, membrane modules and systems for industrial and bioprocessing applications. Polymem products will complement and expand the Company&#8217;s portfolio of HF systems and consumables. The acquisition substantially increases Repligen&#8217;s membrane and module manufacturing capacity and establishes a world-class center of excellence in Europe to address the accelerating global demand for these innovative products.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consideration Transferred</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company accounted for the Polymem Acquisition as a purchase of a business under ASC 805 and the Company engaged a third-party valuation firm to assist with the valuation of the business acquired. Payment for the transaction was denominated in Euros but is reflected here in U.S. dollars for presentation purposes based on an exchange rate of 0.8437 as of July 1, 2021, the date of acquisition. Total consideration paid was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">47.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, which included $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million deposited into an escrow account against which the Company may make claims for indemnification.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the acquisition method of accounting, the assets acquired and liabilities assumed of Polymem were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net assets acquired is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, the fair value of the intangible assets acquired is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">9.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, and the residual goodwill is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">35.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. Acquisition-related costs are not included as a component of consideration transferred but are expensed in the periods in which costs are incurred. The Company incurred </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">million of transaction and integration costs associated with the Polymem Acquisition from the date of acquisition to December 31, 2022, with </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million incurred in 2022 and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million incurred from the date of acquisition to </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2021. The transaction costs are included in operating expenses in the consolidated statements of comprehensive income for the periods ended December 31, 2022 and 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value of Net Assets Acquired</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date, based on the final valuation of Polymem. The Company has made appropriate adjustments to the purchase price allocation during the measurement period, which ended on July 1, 2022.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and final allocation of the purchase price consist of the following (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;box-sizing:content-box;"></td>
        <td style="width:1.94%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.823%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">353</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net working capital (excluding cash and inventory<br/>&#160;&#160;&#160;&#160;&#160;step-up)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">414</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory step-up</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">543</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,424</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,145</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,274</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradenames</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">510</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-compete agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">312</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35,680</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,253</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long term deferred tax liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,327</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other long-term liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">143</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:bold;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">46,973</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquired Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The goodwill of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">35.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million represents future economic benefits expected to arise from anticipated synergies from the integration of Polymem. These synergies include certain operating efficiencies and strategic benefits projected to be achieved as a result of the Polymem Acquisition. Substantially all of the goodwill recorded is expected to be nondeductible for income tax purposes.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the Polymem Acquisition and their estimated useful lives:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.871%;box-sizing:content-box;"></td>
        <td style="width:1.82%;box-sizing:content-box;"></td>
        <td style="width:19.884%;box-sizing:content-box;"></td>
        <td style="width:1.82%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:20.604%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,274</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">510</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">312</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,096</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAndAssetAcquisitionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 805<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/805/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674431832672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Restructuring Plan<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringAndRelatedActivitiesAbstract', window );"><strong>Restructuring and Related Activities [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock', window );">Restructuring Plan</a></td>
<td class="text"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">6.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Restructuring Plan</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In July 2023, the Board authorized the Company's management team to undertake restructuring activities to simplify and streamline our organization and strengthen the overall effectiveness of our operations. In addition to the initial streamlining and re-balancing efforts contemplated in July, the Company is undertaking further restructuring activities (collectively, the &#8220;Restructuring Plan&#8221;) which include consolidating a portion of our manufacturing operations between certain U.S. locations, discontinuing the sale of certain product SKUs, and evaluating the fair value of finished goods and raw materials, mostly secured during the 2020-2022 COVID-19 pandemic period (the &#8220;COVID-19 Period&#8221;) to meet increasing demand during a challenging supply chain environment in the industry.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company recorded pre-tax costs of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">32.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in 2023 related to the Restructuring Plan and expects the Restructuring Plan to be completed by the end of the third quarter of 2024. Of the $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">32.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in pre-tax costs in 2023, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">27.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million is non-cash, relating primarily to inventory adjustments to record inventory at net realizable value and accelerated depreciation on equipment related to the shutdown of manufacturing facilities and production lines, the remaining costs are cash expenses, primarily related to severance and employee-related costs.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the charges related to restructuring activities by type of cost:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:28.071%;box-sizing:content-box;"></td>
        <td style="width:1.281%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:11.825%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.281%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.905%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.281%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.624%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.281%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.264%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.281%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.904%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="18" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Year Ended December 31, 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Severance &amp; Employee-Related Costs</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Inventory Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accelerated Depreciation</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Facility and Other Exit Costs</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="18" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of product revenue</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,077</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">23,588</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,788</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">933</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">30,386</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and development</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">116</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">116</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Selling, general and administrative</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,532</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">28</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">138</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,698</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,725</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">23,588</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,816</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,071</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">32,200</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Severance and employee-related costs under the Restructuring Plan are associated with actual headcount reductions. Costs incurred include cash severance and non-cash severance, including other termination benefits. Severance and other termination benefit packages are based on established benefit arrangements or local statutory requirements and we recognized the contractual component of these benefits when payment was probable and could be reasonably estimated.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The inventory adjustments include the impact of the Company discontinuing the sale of certain product SKUs and the impact of having proactively secured materials during the COVID-19 Period to meet accelerated demand during a challenging supply chain environment in the industry. Where demand has reduced, finished goods and raw materials, whose value exceeded the projected requirements to be used before reaching their expiration date, were written down to their realizable value. The Restructuring Plan also includes the closing of manufacturing facilities and production lines, which included inventory that could not be repurposed.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Non-cash charges for accelerated depreciation were recognized on long-lived assets that were taken out of service before the end of their normal service due to the shutdown of manufacturing facilities and production lines, in which case depreciation estimates were revised to reflect the use of the assets over their shortened useful life.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The restructuring accrual is included in accrued liabilities on the condensed consolidated balance sheets as of December 31, 2023 and the balance has been paid as of that date. </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Activity related to the Restructuring Plan for 2023 was as follows (amounts in thousands):</span></span></p><div style="font-size:10pt;font-family:Arial;">
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:32.326%;box-sizing:content-box;"></td>
        <td style="width:1.5%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:13.903%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.5%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.143%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.5%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.523%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.5%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.102%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Restructuring Costs</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amounts Paid in 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Non-Cash Restructuring Items</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Restructuring Liability</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;word-break:break-word;">
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Severance &amp; employee-related costs</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,725</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,044</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">217</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#ffffff;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">464</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory adjustments</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">23,588</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">23,588</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;word-break:break-word;">
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accelerated depreciation</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,816</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,816</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#ffffff;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Facility exit and other exit costs</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,071</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,061</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;word-break:break-word;">
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">32,200</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,105</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">27,631</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#ffffff;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">464</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringAndRelatedActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringAndRelatedActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for restructuring and related activities. Description of restructuring activities such as exit and disposal activities, include facts and circumstances leading to the plan, the expected plan completion date, the major types of costs associated with the plan activities, total expected costs, the accrual balance at the end of the period, and the periods over which the remaining accrual will be settled.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4.e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479823/420-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482017/420-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482017/420-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/420/tableOfContent<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482017/420-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674529505360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">Leases</a></td>
<td class="text"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">7.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Leases</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company is a lessee under leases of manufacturing facilities, office spaces, machinery, certain office equipment and vehicles. A majority of the Company&#8217;s leases are operating leases with remaining lease terms between one month and 13 years. Finance leases are immaterial to the Company&#8217;s consolidated financial statements. The Company determines if an arrangement qualifies as a lease and what type of lease it is at inception. The Company elected the package of practical expedients permitted under the transition guidance within the new lease standard, which among other things, allowed it to continue to account for existing leases based on the historical lease classification. The Company also elected the practical expedients to combine lease and non-lease components and to exclude right of use assets and lease liabilities for leases with an initial term of 12 months or less from the balance sheet.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Some of the lease agreements the Company enters into include Company options to either extend and/or early terminate the lease, the costs of which are included in the Company&#8217;s operating lease liabilities to the extent that such options are reasonably certain of being exercised. Leases with renewal options allow the Company to extend the lease term typically between 1 and 5 years per option, some of its leases have multiple options to extend. When determining if a renewal option is reasonably certain of being exercised, the Company considers several economic factors, including but not limited to, the significance of leasehold improvements incurred on the property, whether the asset is difficult to replace, underlying contractual obligations, or specific characteristics unique to that particular lease that would make it reasonably certain that the Company would exercise such options.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of December 31, 2023 and 2022, operating lease right of use assets wer</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">e $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">115.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> m</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">illion and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">125.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively and operating lease liabilities were </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">132.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">138.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively. The addition of FlexBiosys and Metenova in 2023 added </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">43,833</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> square feet to our leased properties and as a result of that and the expansion in Toulouse, France, the operating right of use asset balance increased $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in 2023, as compared to 2022. However, the consolidated right of use assets balance decreased due to the normal amortization of existing leases during 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">   </span></p><div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The maturities of the Company&#8217;s operating lease liabilities as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 are as follows (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:72.84%;box-sizing:content-box;"></td>
        <td style="width:2.2%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:22.959999999999997%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2024</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,585</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2025</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,645</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2026</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,406</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2027</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">23,944</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2028</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24,382</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2029 and thereafter</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">79,435</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total future minimum lease payments</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">201,397</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less lease incentives</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,765</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less amount of lease payment representing interest</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">32,595</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total operating lease liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">159,037</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div><div><div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">The future minimum lease payments include obligations for leases not yet commenced of $</span><span style="font-size:9pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">26.8</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> million for manufacturing, office and warehouse facilities. These leases have terms of between </span><span style="font-size:9pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">5</span></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> and </span><span style="font-size:9pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">10</span></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> years and commence during the first quarter of 2024.</span></div></div></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total operating lease liabilities included on the Company&#8217;s consolidated balance sheets are as follows (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.28%;box-sizing:content-box;"></td>
        <td style="width:1.74%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:17.619999999999997%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.74%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:17.619999999999997%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,631</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,957</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126,578</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">131,389</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Minimum operating lease payments</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">132,209</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">138,346</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Lease expense for these leases is recognized on a straight-line basis over the lease term, with variable lease payments recognized in the period those payments are incurred. </span><span style="font-size:12pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021, total lease cost is comprised of the following:</span></span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:44.489%;box-sizing:content-box;"></td>
        <td style="width:1.5%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.083%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.5%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.083%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.26%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.083%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Lease Cost</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease cost</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,981</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,833</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,838</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Variable operating lease cost</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,075</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11,317</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,118</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Lease cost</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,056</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">29,150</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,956</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following information represents supplemental disclosure for the consolidated statements of cash flows related to operating leases (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:44.489%;box-sizing:content-box;"></td>
        <td style="width:1.5%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.083%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.5%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.083%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.26%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.083%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease cost</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,862</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13,757</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,863</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
      </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Most of the leases do not provide implicit interest rates and therefore the Company determines the discount rate based on its incremental borrowing rate. The incremental borrowing rate for the Company&#8217;s leases is determined based on lease term and currency in which the lease payments are made.</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The weighted average remaining lease term and the weighted average discount rate used to measure the Company&#8217;s operating lease liabilities as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, were:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:75.735%;box-sizing:content-box;"></td>
        <td style="width:1.42%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:20.844%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average remaining lease term (years)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7.74</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average discount rate</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.13</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
      </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/842-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674432936960">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">8.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue Recognition </span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company generates revenue from the sale of bioprocessing products, equipment devices, and related consumables used with these equipment devices to customers in the life science and biopharmaceutical industries. Under ASC 606, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Revenue from Contracts with Customers,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">revenue is recognized when, or as, obligations under the terms of a contract are satisfied, which occurs when control of the promised products or services is transferred to customers.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Disaggregation of Revenue (As Restated)</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021 was as follows:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:49.24%;box-sizing:content-box;"></td>
        <td style="width:1.66%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:13.26%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.66%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:13.26%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.66%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:13.26%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Product revenue</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">631,979</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">801,183</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">670,319</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Royalty and other income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">383</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">353</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">215</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">632,362</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">801,536</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">670,534</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">When disaggregating revenue, the Company considered all of the economic factors that may affect its revenues.  Because its revenues are from bioprocessing customers, there are no differences in the nature, timing and uncertainty of the Company&#8217;s revenues and cash flows from any of its product lines. However, given that the Company&#8217;s revenues are generated in different geographic regions, factors such as regulatory and geopolitical factors within those regions could impact the nature, timing and uncertainty of the Company&#8217;s revenues and cash flows.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Disaggregated revenue from contracts with customers by geographic region can be found in Note 3, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Summary of Significant Accounting Policies &#8211; Segment Reporting,&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> above.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> revenue from customers that represented </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% or more of the Company's total revenue for the year ended December 31, 2023 and 2022. Revenue from Pfizer Inc. was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">68.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, or </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%, of the Company's total revenue for the year ended December 31, 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Filtration Products</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s filtration products generate revenue through the sale of KrosFlo and ARTeSYN tangential flow filtration (&#8220;TFF&#8221;) systems, TangenX</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> flat sheet (&#8220;FS") cassettes, Spectrum</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> HF filters, membranes and modules, XCell ATF systems and related consumables. Supporting our systems, we also sell ProConnex</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Flow Path assemblies and custom silicone-based, single-use flow path assemblies and components from Metenova, FlexBiosys, BioFlex, Polymem, ARTeSYN Biosolutions Holdings Ireland Limited, NMS and EMT, seven acquisitions completed since 2020.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s KrosFlo and ARTeSYN systems are used in the filtration, isolation, purification and concentration of biologics and diagnostic products.  TFF is a rapid and efficient method for separation and purification of biomolecules that is widely used in laboratory, process development and process scale applications in biopharmaceutical manufacturing. Sales of large-scale systems generally include components and consumables as well as training and installation services at the request of the customer.  Because the initial sale of components and consumables is necessary for the operation of the system, such items are combined with the systems as a single performance obligation.  Training and installation services do not significantly modify or customize these systems and therefore represent a distinct performance obligation.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s TangenX FS cassettes (SIUS, SIUS Gamma</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and PRO) are not highly interdependent on one another and are therefore considered distinct products that represent separate performance obligations. Product revenue from the sale of TangenX FS cassettes is generally recognized at a point in time upon transfer of control of the customer.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s other filtration product offerings are not highly interdependent of one another and are therefore considered distinct products that represent separate performance obligations.  Revenue on these products is generally recognized at a point in time upon transfer of control to the customer. The Company invoices the customer for the installation and training services in an</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">amount that directly corresponds with the value to the customer of the Company&#8217;s performance to date; therefore, revenue recognized is based on the amount billable to the customer in accordance with the practical expedient under ASC 606-10-55-18.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company also markets XCell ATF controllers, which are technologically advanced filtration devices used in upstream processes to continuously remove cellular metabolic waste products during the course of a fermentation run, freeing healthy cells to continue producing the biologic drug of interest. XCell ATF controllers are typically sold with consumables (i.e., tubing sets, metal stands) as well as training and installation services at the request of the customer. The controllers and consumables are considered distinct products and therefore represent separate performance obligations. First time purchasers of the controllers typically purchase a controller that is shipped with the tubing set(s) and metal stand(s). The training and installation services do not significantly modify or customize the XCell ATF controllers and therefore represent a distinct performance obligation. XCell ATF product revenue related to controllers and consumables is generally recognized at a point in time upon transfer of control to the customer.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Chromatography Products</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s chromatography products include a number of products used in the downstream purification and quality control of biological drugs. The majority of chromatography revenue relates to the OPUS pre-packed chromatography column product line. OPUS columns are designed to be disposable following a production campaign. Each OPUS column is delivered pre-packaged with the customer&#8217;s choice of chromatography resin, which is either provided by the Company for the customer or is customer supplied. Chromatography product revenue is generally recognized at a point in time upon transfer of control to the customer and represents a single performance obligation.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Process Analytics Products</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The process analytics franchise generates revenue primarily through the sale of the SoloVPE and FlowVPX slope spectroscopy systems, consumables and service. These products complement and support the Company&#8217;s existing filtration, chromatography and proteins franchises as they allow end-users to make in-line protein concentration measurements in filtration, chromatography and fill-finish applications, designed to allow for real-time process management. Process analytics product revenue is generally recognized at a point in time upon transfer of control to the customer.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Protein Products</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s protein franchise generates revenue primarily through the sale of Protein A affinity ligands and growth factors. Protein A ligands are an essential component of Protein A chromatography resins (media) used in the purification of virtually all mAb-based drugs on the market or in development. The Company manufactures multiple forms of Protein A ligands under long-term supply agreements with major life sciences companies, who in turn sell their Protein A chromatography media to end users (biopharmaceutical manufacturers). The Company also manufactures growth factors for sale under long-term supply agreements with certain life sciences companies as well as for direct sales to its customers.  Each protein product is considered distinct and therefore represents a separate performance obligation. Protein product revenue is generally recognized at a point in time upon transfer of control to the customer.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2021, the Company completed the Avitide Acquisition and added its diverse libraries and leading technology in affinity ligand discovery and development to its proteins franchise. The acquisition gives the Company a new platform for affinity resin development, including C&amp;GT, and advances and expands the Company&#8217;s proteins and chromatography franchises to address the unique purification needs of gene therapies and other emerging modalities.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Other Products</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s other products include operating room products sold to hospitals. Other product revenue is generally recognized at a point in time upon transfer of control to the customer.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Transaction Price Allocated to Future Performance Obligations</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Remaining performance obligations represent the transaction price of contracts for which work has not been performed or has been partially performed.  The Company&#8217;s future performance obligations relate primarily to the installation and training of</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">certain of its systems sold to customers.  These performance obligations are completed within one year of receipt of a purchase order from its customers.  Accordingly, the Company has elected to not disclose the value of these unsatisfied performance obligations as provided under ASC 606-10-50-14.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Contract Balances from Contracts with Customers</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table provides information about receivables and deferred revenue from contracts with customers as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 (amounts in thousands):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:70.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:67.72%;box-sizing:content-box;"></td>
        <td style="width:1.64%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:13.040000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.64%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:11.96%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balances from contracts with customers only:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">124,161</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">116,247</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred revenue (included in accrued liabilities and<br/>&#160;&#160;&#160;other noncurrent liabilities in the consolidated <br/>&#160;&#160;&#160;balance sheets)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,536</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19,631</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue recognized during periods presented relating to:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">The beginning deferred revenue balance</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">18,751</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13,390</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The timing of revenue recognition, billings and cash collections results in the accounts receivable and deferred revenue balances on the Company&#8217;s consolidated balance sheets.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A contract asset is created when the Company satisfies a performance obligation by transferring a promised good to the customer. Contract assets may represent conditional or unconditional rights to consideration.  The right is conditional and recorded as a contract asset if the Company must first satisfy another performance obligation in the contract before it is entitled to payment from the customer. Contract assets are transferred to billed receivables once the right becomes unconditional. If the Company has the unconditional right to receive consideration from the customer, the contract asset is accounted for as a billed receivable and presented separately from other contract assets. A right is unconditional if nothing other than the passage of time is required before payment of that consideration is due.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">When consideration is received, or such consideration is unconditionally due, from a customer prior to transferring goods or services to the customer under the terms of a contract, a contract liability is recorded. Contract liabilities are recognized as revenue after control of the products or services is transferred to the customer and all revenue recognition criteria have been met.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Costs to Obtain or Fulfill a Customer Contract</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s sales commission structure is based on achieving revenue targets. The commissions are driven by revenue derived from customer purchase orders which are short term in nature.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Applying the practical expedient in paragraph 340-40-25-4, the Company recognizes the incremental costs of obtaining contracts as an expense when incurred if the amortization period of the assets that the Company otherwise would have recognized is one year or less. These costs are included in selling, general, and administrative expenses in our consolidated statements of comprehensive income. When shipping and handling costs are incurred after a customer obtains control of the products, the Company accounts for these as costs to fulfill the promise and not as a separate performance obligation.</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-9<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-15<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org/606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674529464080">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Credit Losses<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditLossAbstract', window );"><strong>Credit Loss [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditLossFinancialInstrumentTextBlock', window );">Credit Losses</a></td>
<td class="text"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">9.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Credit Losses</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company is exposed to credit losses primarily through sales of products and services. The Company&#8217;s expected loss allowance methodology for accounts receivable is developed using historical collection experience, current and future economic and market conditions and a review of the current status of customers' trade accounts receivable. Customers are pooled based on sharing specific risk factors, including geographic location.  Due to the short-term nature of such receivables, the estimated accounts receivable that may not be collected is based on aging of the accounts receivable balances.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Customers are assessed for credit worthiness upfront through a credit review, which includes assessment based on the Company&#8217;s analysis of their financial statements when a credit rating is not available.  The Company evaluates contract terms and conditions,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">country and political risk, and may require prepayment to mitigate risk of loss. Specific allowance amounts are established to record the appropriate provision for customers that have a higher probability of default.  The Company monitors changes to the receivables balance on a timely basis, and balances are written off as they are determined to be uncollectible after all collection efforts have been exhausted.  Estimates of potential credit losses are used to determine the allowance. It is based on assessment of anticipated payment and all other historical, current and future information that is reasonably available.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The accounts receivable balance on the Company&#8217;s consolidated balance sheets as of December 31, 2023 was</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">124.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, net o</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">f $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of allowances. </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table provides a roll-forward of the allowance for credit losses in 2023 and 2022 that is deducted from the amortized cost basis of accounts receivable to present the net amount expected to be collected (amounts in thousands):</span></span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance of allowance for credit losses, beginning of period</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,365</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,417</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Current period change for write-offs</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">82</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Current period change for expected credit losses</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">839</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">74</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance of allowance for credit losses, end of period</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,122</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,365</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditLossAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditLossFinancialInstrumentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for credit loss on financial instrument measured at amortized cost basis, net investment in lease, off-balance sheet credit exposure, and available-for-sale debt security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-42<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 44<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-44<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-21<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479106/326-30-50-4<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479106/326-30-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditLossFinancialInstrumentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674574440848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock', window );">Goodwill and Intangible Assets</a></td>
<td class="text"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">10.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Goodwill and Intangible Assets</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Goodwill represents the difference between the purchase price and the estimated fair value of identifiable assets acquired and liabilities assumed. Goodwill acquired in a business combination and determined to have an indefinite useful life is not amortized, but instead is tested for impairment at least annually in accordance with ASC 350. </span><span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the changes in the carrying value of goodwill for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 and 2022 (amounts in thousands):</span></span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;box-sizing:content-box;"></td>
        <td style="width:1.94%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.823%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of December 31, 2021</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">860,362</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Measurement period adjustment - BioFlex</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">346</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Measurement period adjustment - Avitide</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,768</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cumulative translation adjustment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,735</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of December 31, 2022</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">855,513</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition of FlexBiosys, Inc.</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,321</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition of Metenova Holding AB</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">115,778</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cumulative translation adjustment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,508</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of December 31, 2023</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">987,120</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During each of the fourth quarters of 2023, 2022 and 2021, the Company completed its annual impairment assessments and concluded that goodwill was not impaired in any of those years.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets (As Restated)</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets with a definitive life are amortized over their useful lives using the straight-line method, and the amortization expense is recorded within research and development (&#8220;R&amp;D&#8221;) and selling, general and administrative expense in the Company&#8217;s consolidated statements of comprehensive income. Intangible assets and their related useful lives are reviewed at least annually to determine if any adverse conditions existed that would indicate the carrying value of these assets may not be recoverable. More frequent impairment assessments are conducted if certain conditions exist, including a change in the competitive landscape, any internal decisions to pursue new or different technology strategies, a loss of a significant customer, or a significant change in the marketplace, including changes in the prices paid for the Company&#8217;s products or changes in the size of the market for the Company&#8217;s products. If impairment indicators are present, the Company determines whether the underlying intangible asset is recoverable through estimated future undiscounted cash flows. If the asset is not found to be recoverable, it is written down to the estimated fair value of the asset based on the sum of the future discounted cash flows expected to result from the use and disposition of the asset. If the estimate of an intangible asset&#8217;s remaining useful life is changed, the remaining carrying amount of</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the intangible asset is amortized prospectively over the revised remaining useful life. The Company continues to believe that its definite-lived intangible assets are recoverable at December 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Indefinite-lived intangible assets are tested for impairment at least annually. There has been </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> impairment of our intangible assets for the periods presented.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets, net consisted of the following at </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.31%;box-sizing:content-box;"></td>
        <td style="width:1.18%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.258000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.18%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.278%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.2%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.298%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.16%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.138%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Carrying<br/>Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated<br/>Amortization</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Net<br/>Carrying<br/>Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted<br/>Average<br/>Useful Life<br/>(in years)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Finite-lived intangible assets:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Technology - developed</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">256,536</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44,633</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">211,903</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Patents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">240</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">240</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">269,949</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">83,963</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">185,986</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademarks</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,757</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,789</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,968</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other intangibles</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,914</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,514</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,400</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total finite-lived intangible assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">539,396</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">133,139</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">406,257</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Indefinite-lived intangible asset:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademarks</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">700</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">700</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total intangible assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">540,096</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">133,139</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">406,957</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets consisted of the following at December 31, 2022:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.31%;box-sizing:content-box;"></td>
        <td style="width:1.18%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.258000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.18%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.278%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.2%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.298%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.16%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.138%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31, 2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Carrying<br/>Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated<br/>Amortization</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Net<br/>Carrying<br/>Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted<br/>Average<br/>Useful Life<br/>(in years)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Finite-lived intangible assets:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Revised)</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Revised)</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Technology - developed</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">197,405</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30,992</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">166,413</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Patents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">240</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">240</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">252,934</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">66,559</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">186,375</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademarks</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,682</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,319</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,363</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other intangibles</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,811</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,044</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">767</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total finite-lived intangible assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">461,072</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">101,154</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">359,918</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Indefinite-lived intangible asset:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademarks</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">700</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">700</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total intangible assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">461,772</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">101,154</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">360,618</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Amortization expense for finite-lived intangible assets was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">31.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">27.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">22.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million for the years ended December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively. </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, the Company expects to record the following amortization expense (amounts in thousands): </span></span><span style=""></span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;box-sizing:content-box;"></td>
        <td style="width:1.94%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.823%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amortization</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Expense</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2024</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34,785</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2025</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34,350</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2026</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,995</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2027</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,892</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2028</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,160</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2029 and thereafter</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">236,075</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">406,257</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674574342896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Balance Sheet Detail<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Disclosure Text Block [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock', window );">Consolidated Balance Sheet Detail</a></td>
<td class="text"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">11.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Consolidated Balance Sheet Detail </span></div></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Inventories, net</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inventories, net consists of the following:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Raw materials</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">123,598</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">149,438</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Work-in-process</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,492</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,183</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Finished products</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">74,231</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">82,656</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total inventories, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">202,321</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">238,277</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Prepaid Expenses and Other Current Assets</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prepaid expenses and other current assets consist of the following:</span></p><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equipment maintenance and services</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,605</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,135</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid income taxes</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,532</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">519</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid insurance</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,087</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,909</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13,317</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,274</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total prepaid expenses and other current assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,541</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19,837</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Property, Plant and Equipment</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property, plant and equipment consist of the following:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Land</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">992</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,003</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Buildings</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,667</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,599</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Leasehold improvements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126,663</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">115,672</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">114,606</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">94,613</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Furniture, fixtures and office equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,077</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,307</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Computer hardware and software</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35,528</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">29,813</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Construction in progress</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">47,086</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">31,553</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">544</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">420</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total property, plant and equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">336,163</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">282,980</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less - Accumulated depreciation</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">128,723</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">92,307</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total property, plant and equipment, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">207,440</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">190,673</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Depreciation expense totaled $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">37.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">23.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">16.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in the fiscal years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accrued Liabilities</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accrued liabilities consist of the following:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Employee compensation</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,660</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,522</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred revenue</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,067</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19,283</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income taxes payable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,814</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,459</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,772</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15,856</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total accrued liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">57,313</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">71,120</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/210/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalBalanceSheetDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674431840000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">12.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Income Taxes (As Restated)</span></div></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components of income before income taxes are as follows:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.477%;box-sizing:content-box;"></td>
        <td style="width:1.399%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.776%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.399%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.776%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.399%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.776%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Domestic</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24,888</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">153,446</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81,984</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81,595</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">65,694</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">71,559</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income before income taxes</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">56,707</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">219,140</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">153,543</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components of the income tax provision are as follows:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.477%;box-sizing:content-box;"></td>
        <td style="width:1.399%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.776%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.399%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.776%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.399%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.776%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Components of the income tax provision:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Current</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19,941</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34,800</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,166</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,170</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,619</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,086</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21,111</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,181</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,252</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Jurisdictional components of the income tax provision:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Federal</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,272</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,662</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,321</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">State</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">26</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,381</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,251</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">18,865</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,138</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15,680</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21,111</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,181</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,252</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">At December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company had federal net operating loss carryforwards of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">31.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, state net operating loss carryforwards of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, and foreign net operating loss carryforwards of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The state net operating loss carryforwards will expire </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">at various dates through 2043</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, while the federal and foreign net operating loss carryforwards have unlimited carryforward periods and do not expire. At </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company had federal and state business tax credits carryforwards of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million available to reduce future federal and state income taxes. The business tax credit carryforwards will expire at various dates through 2043. The net operating loss and business tax credit carryforwards are subject to review and possible adjustment by the Internal Revenue Service and may be limited in the event of certain changes in the ownership interest of significant shareholders.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components of deferred income taxes are as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax assets:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Revised)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation expense</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,120</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating leases</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30,727</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">31,564</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Capitalized research and development</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,568</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,102</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,131</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,983</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net operating loss carryforwards</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,648</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,808</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Business tax credit carryforwards</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,531</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,639</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,063</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,061</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total deferred tax assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">83,788</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">70,480</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less: valuation allowance</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net deferred tax assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">83,768</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">70,461</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax liabilities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Fixed assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,716</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">18,965</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquired intangible assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">58,467</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">45,170</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">26,373</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">28,486</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Debt discount</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19,006</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total deferred tax liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">121,562</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">92,621</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total net deferred tax liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">37,794</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,160</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
      </table></div><p style="margin-left:1.667%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The net change in the total valuation allowance for the year ended December 31, 2023 and 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> was an increase of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and a decrease of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:1.667%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The reconciliation of the federal statutory rate to the effective income tax rate for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021 is as follows:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:92.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:33.94%;box-sizing:content-box;"></td>
        <td style="width:1.04%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:7.54%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:8.44%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.04%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:7.54%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:8.44%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.04%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:7.54%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:8.44%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="22" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="22" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands, except percentages)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income before income taxes</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">56,707</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">219,140</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">153,543</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Expected tax at statutory rate</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">11,910</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">21.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">46,020</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">21.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">32,247</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">21.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Adjustments due to:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Difference between U.S. and foreign tax</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,078</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.9</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,024</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.5</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">530</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.3</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">State income taxes</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,224</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.2</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,509</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.6</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,462</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Business tax credits</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,522</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">8.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,139</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.3</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,239</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.5</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation expense</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,461</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.3</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,638</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.6</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">9,049</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.9</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">U.S. taxation of foreign earnings</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">539</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">83</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">30</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign-derived intangible income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,042</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.3</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,547</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.7</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Executive compensation</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,084</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.4</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,441</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.5</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,397</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.2</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,412</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">11.3</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,033</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.8</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,232</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.8</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Loss on extinguishment of debt</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,634</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.6</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Debt discount</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">16,650</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">29.4</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign exchange loss</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,288</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Uncertain tax provisions</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">165</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.3</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">234</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">443</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.3</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Change in valuation allowance</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">688</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.3</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">48</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Return to provision adjustments</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,255</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.2</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">498</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.2</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">50</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">765</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.2</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">92</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">730</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.5</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income tax provision</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">21,111</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">37.2</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">33,181</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">15.1</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">25,252</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">16.4</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
      </table></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s tax returns are subject to examination by federal, state and foreign tax authorities. The Company&#8217;s two major tax jurisdictions are subject to examination for the following periods:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:78.98%;box-sizing:content-box;"></td>
        <td style="width:2.06%;box-sizing:content-box;"></td>
        <td style="width:18.96%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Jurisdiction</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fiscal Years Subject to Examination</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">United States - federal and state</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="-sec-ix-hidden:F_b3baf8b7-ef1b-4f8a-837f-4cd1d791b6a7;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2019-2023</span></span></span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Sweden</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="-sec-ix-hidden:F_4d9bd1d4-0a18-4e8f-a46b-04210d4baa9b;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2018-2023</span></span></span></p></td>
       </tr>
      </table></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following is a tabular reconciliation of the total amounts of unrecognized tax benefits:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
       <tr style="visibility:collapse;">
        <td style="width:65.266%;box-sizing:content-box;"></td>
        <td style="width:1.701%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:13.665000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.701%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:13.665000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance of gross unrecognized tax benefits, beginning of period</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,996</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,786</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Gross amounts of increases in unrecognized tax benefits as a result <br/>&#160;&#160;&#160;&#160;&#160;of tax positions taken in the current period</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">178</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">146</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Gross amounts of increases in unrecognized tax benefits as a result <br/>&#160;&#160;&#160;&#160;&#160;of tax positions taken in the prior period</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">53</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">64</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Gross amounts of decreases due to release</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">88</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance of gross unrecognized tax benefits, end of period</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,139</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,996</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Included in the balance of unrecognized tax benefits as of December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, are $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of tax benefits that, if recognized, would affect the effective tax rate. The Company classifies interest and penalties related to income taxes as components of its income tax provision. In 2023, a net expense of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">15,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, was recorded to the income tax provision related to interest and penalties while in 2022, a net expense of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">24,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> was recorded. The amount of interest and penalties recorded in the accompanying consolidated balance sheets was approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">67,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">52,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 and 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively. In the next twelve months, it is reasonably possible the Company will reduce its gross unrecognized tax benefits, excluding interest by up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million due to expiring statutes of limitations.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2021, the Organization of Economic Co-operation and Development announced an Inclusive Framework on Base Erosion and Profit Sharing with the goal of achieving consensus around substantial changes to international tax policies, including the implementation of a minimum global effective tax rate of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">15</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%. We continue to evaluate the impacts of enacted legislation and pending legislation in the tax jurisdictions in which we operate. While various countries have implemented the legislation as of January 1, 2024, we do not expect a resulting material change to our income tax provision for the 2024 fiscal year.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company has accumulated undistributed earnings generated by its foreign subsidiaries of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">212.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. Because $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of such earnings have previously been subject to the one-time transition tax on foreign earnings required by the Tax Cuts and Jobs Act enacted in December 2017, any additional taxes due with respect to such earnings or the excess of the amount for financial reporting over the tax basis of our foreign investments would generally be limited to foreign and state taxes. At </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company has not provided for taxes on outside basis differences of its foreign subsidiaries as it is not practicable and the Company has the ability and intent to indefinitely reinvest the undistributed earnings of its foreign subsidiaries, and there are no needs for such earnings in the United States that would contradict its plan to indefinitely reinvest.</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12B<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477891/740-270-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-13<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/740/tableOfContent<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-14<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-21<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-17<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674432963792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">Stockholders' Equity</a></td>
<td class="text"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">13.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Stockholders&#8217; Equity </span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Share Repurchases</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In December 2023, the Board authorized and approved a stock repurchase of up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">25.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the Company's common stock concurrent with the issuance of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">600.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of its 2023 Notes. See Note 15, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">for more information on the issuance. The Company used $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">14.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the proceeds from the issuance of the 2023 Notes to repurchase </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">92,090</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares at a price of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">156.22</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, including transaction costs, to offset the impact of dilution from the issuance of 2023 Notes and equity compensation programs as well as to reduce its outstanding share count. The Company has elected to retire the shares repurchased to date. Retired shares become part of the pool of authorized but unissued shares. The purchase price of the retired shares in excess of par value, including transaction costs, is recorded as a decrease to additional paid-in capital in the Company's consolidated balance sheets as of December 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock Option and Incentive Plans</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">At the Company&#8217;s 2018 Annual Meeting of Stockholders held on May 16, 2018, the Company&#8217;s shareholders approved the 2018 Stock Option and Incentive Plan (the &#8220;2018 Plan&#8221;). Under the 2018 Plan the number of shares of the Company&#8217;s common stock that are reserved and available for issuance shall be </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,778,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> plus the number of shares of common stock available for issuance under the Company&#8217;s Amended and Restated 2012 Stock Option and Incentive Plan (the &#8220;2012 Plan&#8221;). The shares of common stock underlying any awards under the 2018 Plan and 2012 Plan that are forfeited, canceled or otherwise terminated (other than by exercise) shall be added back to the shares of stock available for issuance under the 2018 Plan. At </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,671,408</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares were available for future grants under the 2018 Plan.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock Issued for Earnout Payment</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In May 2023, the Company issued </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">42,621</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of its common stock to former securityholders of Avitide to satisfy the contingent consideration obligation established under the Agreement and Plan of Merger and Reorganization (the &#8220;Avitide Agreement&#8221;) which the Company entered into as part of the Avitide Acquisition. See Note 5, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquisitions&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">above for additional information on the Avitide Acquisition and the contingent consideration. The shares represent </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">50</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the earnout consideration earned in the First Earnout Year (as defined in the Avitide Agreement).</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock-Based Compensation</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company recorded stock-based compensation expense of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">25.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">27.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">27.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million for the years ended December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively, for share-based awards granted under the Plans. </span><span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table presents stock-based compensation expense in the Company&#8217;s consolidated statements of comprehensive income: </span></span><span style=""></span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.437%;box-sizing:content-box;"></td>
        <td style="width:1.339%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.816%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.339%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.836%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.339%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.896%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of product revenue</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,933</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,525</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,021</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and development</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,855</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,622</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,856</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Selling, general and administrative</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,787</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,169</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,623</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total stock-based compensation</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,575</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,316</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,500</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock Options</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company uses the Black-Scholes option pricing model to calculate the fair value of stock option awards on the grant date, and measures stock-based compensation costs of stock options at the grant date based on the estimated fair value of the award. The Company recognizes expense on awards with service-based vesting over the employee&#8217;s requisite service period on a straight-line basis. The Company recognizes stock-based compensation expense for options that are ultimately expected to vest, and accordingly, such compensation expense has been adjusted for estimated forfeitures.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The fair value of stock option awards granted during the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021 were calculated using the following estimated assumptions:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:51.27%;box-sizing:content-box;"></td>
        <td style="width:1.6%;box-sizing:content-box;"></td>
        <td style="width:14.643%;box-sizing:content-box;"></td>
        <td style="width:1.6%;box-sizing:content-box;"></td>
        <td style="width:14.643%;box-sizing:content-box;"></td>
        <td style="width:1.6%;box-sizing:content-box;"></td>
        <td style="width:14.643%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="5" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Expected term (in years)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.14</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.5</span></span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.5</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.5</span></span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.5</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.5</span></span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Expected volatility (range)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44.78</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">46.58</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41.44</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43.96</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44.57</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">45.27</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Risk-free interest rate</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.56</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.71</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1.86</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.07</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.77</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1.07</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Expected dividend yield</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
       </tr>
      </table></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Information regarding option activity for the year ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, under the Plans is summarized below:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.11%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.662%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.22%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:8.942%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.662%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.22%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.182%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Shares</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted<br/>average<br/>exercise<br/>price</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted-<br/>Average<br/>Remaining<br/>Contractual<br/>Term<br/>(in Years)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Aggregate<br/>Intrinsic<br/>Value<br/>(in Thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options outstanding at December 31, 2022</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">609,965</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">71.74</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Granted</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">90,305</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">168.22</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Exercised</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">40,211</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">26.76</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Forfeited/expired/cancelled</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,929</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">189.46</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options outstanding at December 31, 2023</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">649,130</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">85.97</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options exercisable at December 31, 2023</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">364,443</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">65.53</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vested and expected to vest at December 31, 2023</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">635,834</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">85.49</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.59</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">61,888</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="margin-left:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div class="item-list-element-wrapper" style="margin-left:6.667%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.571084182443509%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the number of vested options as of December 31, 2023 plus the number of unvested options expected to vest as of December 31, 2023, based on the unvested outstanding options at </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> adjusted for estimated forfeiture rates of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></div></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The aggregate intrinsic value in the table above represents the total pre-tax intrinsic value (the difference between the closing price of the common stock on December 29, 2023, the last business day of 2023, of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">179.80</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> per share and the exercise price of each in-the-money option) that would have been received by the option holders had all option holders exercised their options on</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023. The aggregate intrinsic value of stock options exercised during the years ended December 31, 2023, 2022 and 2021 was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">14.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">20.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The weighted average grant date fair value of options granted during the years ended December 31, 2023, 2022 and 2021 was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">84.37</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">87.40</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">88.01</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively. The total fair value of stock options that vested during the years ended December 31, 2023, 2022 and 2021 was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock Units</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The fair value of stock units is calculated using the closing price of the Company&#8217;s common stock on the date of grant. The Company recognizes expense on awards with service-based vesting over the employee's requisite service period on a straight-line basis. The Company recognizes expense on performance-based awards over the vesting period based on the probability that the performance metrics will be achieved. </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Information regarding stock unit activity, which includes activity for restricted stock units and performance stock units, for the year ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 under the Plans is summarized below:</span></span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:65.92%;box-sizing:content-box;"></td>
        <td style="width:1.12%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:13.12%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.6%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.64%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.6%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Shares</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted Average<br/>Grant Date<br/>Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unvested at December 31, 2022</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">531,034</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">142.57</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Awarded</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">212,338</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">170.03</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vested</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">195,672</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">124.58</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Forfeited/cancelled</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">73,380</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">177.81</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unvested at December 31, 2023</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">474,320</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">155.59</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vested and expected to vest at December 31, 2023</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">413,249</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">152.74</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="margin-left:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the number of vested stock units as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, plus the number of unvested stock units expected to vest as of December 31, 2023, based on the unvested outstanding stock units at December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> adjusted for estimated forfeiture rates of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></div></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The aggregate intrinsic value of stock units vested during the years ended December 31, 2023, 2022 and 2021 was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">35.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">43.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">46.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively. The total fair value of stock units that vested during the years ended December 31, 2023, 2022 and 2021 was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">26.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">22.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">13.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of December 31, 2023, there was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">63.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of total unrecognized compensation cost related to unvested share-based awards. This cost is expected to be recognized over a weighted average remaining requisite service period of </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2.84</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> years. The Company expects </span><span style="font-size:10pt;font-family:Times New Roman;white-space:pre-wrap;min-width:fit-content;color:#000000;">2,185,873</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> unvested options and stock units to vest over the next </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">five years</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-14<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477968/946-235-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477968/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480237/815-40-50-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/505/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-14<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-14<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 16<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-16<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674577904976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">14.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Commitments and Contingencies </span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">License Agreement</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On September 19, 2022, the Company entered into a 15-year exclusive License Agreement (the &#8220;Daylight Agreement&#8221;) with DRS Daylight Solutions, Inc. (&#8220;Daylight&#8221;), giving the Company exclusive license and commercialization rights to use certain technology and intellectual property subject to conditions set forth in the Daylight Agreement. The Company agreed to pay Daylight (i) an initial, one-time, non-refundable, non-creditable upfront cash payment and (ii) certain quarterly royalty payments.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Pursuant to the Daylight Agreement, the Company obtains the exclusive, non-transferrable, right and license to use specifically in the field of bioprocessing, the Daylight intellectual property called Culpeo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> QCL-IR Liquid Analyzer (&#8220;Culpeo&#8221;), which is a compact, intelligent spectrometer that uses the power of quantum cascade lasers to analyze and identify chemicals. Under the Daylight Agreement, the Company assumes responsibility for the commercialization and sale of Culpeo, in addition to the ability</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to incorporate the intellectual property into optimized products over the term of the Daylight Agreement. Daylight will continue to sell the products in the specified fields of Aerospace and Defense.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Collaboration Agreements</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company licenses certain technologies that are, or may be, incorporated into its technology under several agreements and also has entered into several clinical research agreements that require the Company to fund certain research projects. Generally, the license agreements require the Company to pay annual maintenance fees and royalties on product sales once a product has been established using the technologies. R&amp;D expenses associated with license agreements were immaterial amounts for the years ended December 31, 2023, 2022 and 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In June 2018, the Company secured an agreement with Navigo Proteins GmbH (&#8220;Navigo&#8221;) for the exclusive co-development of multiple affinity ligands for which Repligen holds commercialization rights. The Company is manufacturing and supplying the first of these ligands, NGL-Impact</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, exclusively to Purolite, who is pairing the Company&#8217;s high-performance ligand with Purolite&#8217;s agarose jetting base bead technology used in their Jetted A50 Protein A resin product. The Company also signed a long-term supply agreement with Purolite for NGL-Impact and other potential additional affinity ligands that may advance from the Company&#8217;s Navigo collaboration. In September 2020, the Company and Navigo successfully completed co-development of an affinity ligand targeting the SARS-CoV-2 spike protein, to be utilized in the purification of vaccines for the COVID-19 pandemic, including emerging variants of the SARS-CoV-2 coronavirus. The Company has proceeded with scaling up and manufacturing this ligand and the development and validation of the related affinity chromatography resin, which is marketed by the Company. In September 2021, the Company and Navigo successfully completed co-development of a novel affinity ligand that addresses aggregation issues associated with pH sensitive antibodies and Fc-fusion proteins. The Company is manufacturing and supplying this ligand, NGL-Impact</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> HipH, to Purolite. The Navigo and Purolite agreements are supportive of the Company&#8217;s strategy to secure and reinforce the Company&#8217;s proteins business.</span><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> The Company made royalty payments to Navigo of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021, respectively, in connection with this program, which are recorded to research and development expenses in the Company&#8217;s consolidated statements of comprehensive income.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Purchase Orders, Supply Agreements and Other Contractual Obligations</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In the normal course of business, the Company has entered into purchase orders and other agreements with manufacturers, distributors and others. Outstanding obligations at December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">34.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million are expected to be completed within one year.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Legal Proceedings</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">From time to time, in the normal course of its operations, the Company is subject to litigation matters and claims relating to employee relations, business practices and patent infringement. Litigation can be expensive and disruptive to normal business operations. Moreover, the results of complex legal proceedings are difficult to predict, and the Company&#8217;s view of these matters may change in the future as the litigation and events related thereto unfold. The Company expenses legal fees as incurred. The Company records a provision for contingent losses when it is both probable that a liability has been incurred and the amount of the loss can be reasonably estimated. An unfavorable outcome to any legal matter, if material, could have an adverse effect on the Company&#8217;s operations or its financial results.</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 405<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/405-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482648/440-10-50-4<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/450/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 440<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478522/954-440-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482648/440-10-50-4<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 440<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/440/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674529414560">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Convertible Senior Notes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtTextBlock', window );">Convertible Senior Notes</a></td>
<td class="text"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">15.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Convertible Senior Notes </span></div></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The carrying value of the Company&#8217;s convertible senior notes is as follows:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:67.08%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.84%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.84%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,<br/>2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,<br/>2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">0.375% Convertible Senior Notes due 2024:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Principal amount</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">69,700</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">287,470</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unamortized debt issuance costs</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">248</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,855</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Carrying amount - Convertible Senior Notes due 2024, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">69,452</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">284,615</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">1.00% Convertible Senior Notes due 2028:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Principal amount</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">600,000</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unamortized debt discount</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81,457</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unamortized debt issuance costs</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,400</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Carrying amount - Convertible Senior Notes due 2028, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">510,143</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">1.00% Convertible Senior Notes due 2028</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On December 14, 2023, the Company issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">600.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of its 2023 Notes in the Exchange and Subscription Agreements with a limited number of holders of its outstanding 2019 Notes and certain other qualified institutional buyers pursuant to Rule 144A under the Securities Act. Pursuant to the Exchange and Subscription Agreements, the Company exchanged $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">217.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of its 2019 Notes, which were cancelled upon exchange, for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">309.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2023 Notes (the &#8220;Exchange Transaction&#8221;) and issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">290.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2023 Notes in a private placement to accredited institutional buyers (the &#8220;Subscription Transactions&#8221;) for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">290.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company evaluated the Exchange Transaction and determined approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">29.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">217.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million principal of the exchanged 2019 Notes should be accounted for as extinguishments of debt and approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">188.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million should be accounted for as modification of debt. As a result, we recognized a $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">12.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million loss on extinguishment of debt in our consolidated statements of comprehensive income for the year ended December 31, 2023, inclusive of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of unamortized debt issuance costs. Under modification accounting, the carrying amount of the modified 2019 Notes was reduced by $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, with a corresponding increase to additional paid-in capital, to account for the increase in the fair value of the embedded conversion option, representing a debt discount of the modified 2019 Notes. The aggregate debt discount of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">82.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, comprised of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">79.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million increase in principal of the modified 2019 Notes and a $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million increase in the fair value of the embedded conversion option, is as a direct reduction from the carrying value of the convertible debt on our consolidated balance sheets. This amount will be accreted into interest expense in the consolidated statements of comprehensive income using the effective interest method over the term of the 2023 Notes.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Proceeds from the Subscription Transactions were $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">276.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, net of debt issuance costs of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">14.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The Exchange Transaction resulted in $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the debt issuance costs related to the modified 2019 Notes, which were expensed as incurred in accordance with modification accounting, and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of deferred debt issuance costs related to the 2023 Notes, which were recorded as a direct deduction to the carrying value of the 2023 Notes on the Company&#8217;s consolidated balance sheets. The Company will amortize the $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of debt issuance costs of the 2023 Notes into amortization of debt issuance costs in the Company&#8217;s consolidated statements of comprehensive income over the remaining term of the 2023 Notes. The carrying value of the 2023 Notes of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">510.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million is included in long-term debt on the Company's consolidated balance sheets as of December 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company used </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">14.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the proceeds from the Subscription Transactions to repurchase shares of its common stock from certain purchasers of the 2023 Notes. See Note 13, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Stockholders&#8217; Equity - Share Repurchases&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">for additional information related to this repurchase. The Company will also use a portion of the proceeds to finance in part, the settlement upon conversion or repurchase of the remaining 2019 Notes at or prior to maturity. The remainder of the proceeds will be used for working capital</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and general corporate purposes, including to fund possible acquisitions of, or investments in, complementary businesses, products, services and technologies.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The 2023 Notes are senior, unsecured obligations of the Company, and bear interest at a rate of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.00</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% per year. </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Interest is payable semi-annually in arrears on each June 15 and December 15, commencing on June 15, 2024</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. The 2023 Notes will mature on </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 15, 2028</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, unless earlier redeemed, repurchased or converted. The initial conversion rate for the 2023 Notes is </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.9247</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of the Company's common stock per $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> principal amount of 2023 Notes, which is equivalent to an initial conversion price of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">203.06</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> per share and represents a </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">30</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% premium over the last reported sale price of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">156.20</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> per share on December 6, 2023, the date on which the 2023 Notes were priced. Prior to the close of business on the business day immediately preceding September 15, 2028, the 2023 Notes will be convertible at the options of the holders of 2023 Notes only upon the satisfaction of specified conditions and during certain periods into cash up to their principal amount, and into cash, shares of the Company's common stock or a combination thereof, at the Company's election, for the conversion value above the principal amount, if any. Thereafter until the close of business on the second scheduled trading day immediately preceding the maturity date, the 2023 Notes will be convertible at the option of the holders of 2023 Notes at any time regardless of these conditions. The Company may redeem for cash, all or a portion of the 2023 Notes, at its option, on or after December 18, 2026 and prior to the 21st scheduled trading day immediately preceding the maturity date at a redemption price of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the principal amount of the 2023 Notes to be redeemed, plus accrued and unpaid interest to, but excluding the redemption date, if certain conditions are met in accordance to the indenture governing the 2023 Notes (the &#8220;2023 Notes Indenture&#8221;).</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">If the Company undergoes a &#8220;fundamental change&#8221; (as defined in the 2023 Notes Indenture), the holders of the 2023 Notes may require the Company to repurchase for cash all or part of their 2023 Notes at a purchase price equal to </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the principal amount of the 2023 Notes to be repurchased, plus accrued and unpaid interest, if any, up to, but excluding, the fundamental change repurchase date. In addition, if certain &#8220;make-whole fundamental changes&#8221; (as defined in 2023 Notes Indenture) occur or the Company calls all or a portion of the 2023 Notes for redemption, the Company will, in certain circumstances, increase the conversion rate for any 2023 Notes converted in connection with such make-whole fundamental change or any 2023 Notes called for redemption that are converted during the related redemption period.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Interest expense recognized on the 2023 Notes in 2023 wa</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">s $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million for the contractual coupon interest and accretion of the debt discount, respectively. Amortization of debt issuance costs recorded in 2023 related to the 2023 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> mill</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ion, which includes the $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of debt issuance costs recorded under modification accounting mentioned above and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million amortization of debt issuance costs related to the capitalized portion of the costs. The effective interest rate on the 2023 Notes is </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.39</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> which included the interest on the 2023 Notes and amortization of the debt discount and issuance costs. As of December 31, 2023, the carrying value of the 2023 Notes was</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">510.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">million and the fair value of the principal was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">596.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The fair value of the 2023 Notes was determined based on the most recent trade activity of the 2023 Notes as of December 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The 2023 Notes Indenture contains customary terms and events of default. If an event of default (other than certain events of bankruptcy, insolvency or reorganization involving the Company) occurs and is continuing, the holders of at least </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">25</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% in aggregate principal amount of the outstanding 2023 Notes may declare </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the principal of, and any accrued and unpaid interest on, all of the 2023 Notes to be due and payable. Upon the occurrence of certain events of bankruptcy, insolvency or reorganization involving the Company, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the principal of and accrued and unpaid interest, if any, on all of the 2023 Notes will become due and payable automatically.  Notwithstanding the foregoing, the 2023 Notes provide that, to the extent the Company elects and for up to 365 days, the sole remedy for an event of default relating to certain failures by the Company to comply with certain reporting covenants consist exclusively of the right to receive additional interest on the 2023 Notes. The Company is not aware of any events of default that would allow holders to declare the principal of, and any accrued and unpaid interest on, all of the 2023 Notes to be due and payable.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">0.375% Convertible Senior Notes due 2024</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">T</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">he Company issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">287.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2019 Notes on July 19, 2019 in a transaction which included the underwriters&#8217; exercise in full of an option to purchase an additional $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">37.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">aggregate principal amount of 2019 Notes (the &#8220;Notes Offering&#8221;). The net proceeds of the Notes Offering, after deducting underwriting discounts and</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">commissions </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and other related offering expenses payable by the Company, were approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">278.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Immediately following the closing of the Exchange Transaction mentioned above, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">69.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in aggregate principal amount of the 2019 Notes remain outstanding.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The 2019 Notes are senior, unsecured obligations of the Company, and bear interest at a rate of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.375</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% per year. </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Interest is payable semi-annually in arrears on January 15 and July 15 of each year, beginning on January 15, 2020</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. The remaining 2019 Notes will mature on </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">July 15, 2024</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, unless earlier repurchased or converted in accordance with their terms. The initial conversion rate for the 2019 Notes is </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8.6749</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of the Company&#8217;s common stock per $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> principal amount of 2019 Notes (which is equivalent to an initial conversion price of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">115.28</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> per share). Prior to the close of business on the business day immediately preceding April 15, 2024, the 2019 Notes will be convertible at the option of the holders of 2019 Notes only upon the satisfaction of specified conditions and during certain periods. Thereafter until the close of business on the second scheduled trading day immediately preceding the maturity date, the remaining 2019 Notes will be convertible at the options of the holders of 2019 Notes at any time regardless of these conditions. Prior to March 4, 2022, conversion of the 2019 Notes could have been settled in cash, shares of the Company&#8217;s common stock or a combination thereof, at the Company&#8217;s election. On March 4, 2022, the Company entered into the Second Supplemental Indenture for the 2019 Notes, which irrevocably elected to settle the conversion of the 2019 Notes using a combination of cash and the Company&#8217;s common stock, settling the par value of the 2019 Notes in cash and any excess conversion premium in shares. The 2019 Notes are not redeemable by the Company prior to maturity.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Holders of 2019 Notes may require the Company to repurchase their 2019 Notes upon the occurrence of a fundamental change prior to maturity at a repurchase price equal to </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the principal amount thereof, plus accrued and unpaid interest to, but excluding, the date of repurchase. In connection with certain corporate events, the Company will, under certain circumstances, increase the conversion rate for holders of 2019 Notes who elect to convert their 2019 Notes in connection with such corporate events.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the fourth quarter of 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the closing price of the Company&#8217;s common stock exceeded </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">130</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the conversion price of the 2019 Notes for more than </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">20</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> trading days of the last </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">30</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> consecutive trading days of the quarter. As a result, the 2019 Notes are convertible at the option of the holders of the 2019 Notes during the first quarter of 2024, the quarter immediately following the quarter when conditions are met, as stated in the terms of the 2019 Notes. These conditions have been met each quarter since the third quarter of 2020. As a result, as of the date of this filing and prior to the Exchange Transaction mentioned above, the Company received requests to convert $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2019 Notes and all but $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the requests have been settled as of December 31, 2023. The remaining outstanding requests for conversions will settle in the first quarter of 2024. The conversions resulted in the issuance of a nominal number of shares of the Company&#8217;s common stock to the note holders. Because the 2019 Notes mature within one year of the report date, the Company classifies the carrying value of the 2019 Notes of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">69.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million as current liabilities on the Company's consolidated balance sheets at </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prior to the adoption of ASU 2020-06, the Company accounted for the 2019 Notes as a liability and equity component where the carrying value of the liability component was valued based on a similar debt instrument. In accounting for the issuance of the 2019 Notes, the Company separated the 2019 Notes into liability and equity components. The carrying value of the liability component was calculated as the present value of its cash flows using a discount rate of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% based on comparative convertible transactions for similar companies. The carrying value of the equity component representing the conversion option was determined by deducting the fair value of the liability component from the par value of the 2019 Notes as a whole. The excess of the principal amount of the liability component over its carrying value amount, referred to as the debt discount, was amortized to interest expense on our consolidated statements of comprehensive income over the five-year term of the 2019 Notes. The equity component was not re-measured as long as it continued to meet the conditions for equity classification. The equity component related to the 2019 Notes recorded at issuance was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">52.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, which was recorded in additional paid-in capital on the Company's consolidated balance sheets.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In accounting for the transaction costs related to the issuance of the 2019 Notes, the Company allocated the total costs incurred to the liability and equity components of the 2019 Notes using the same proportions as the initial carrying value of the 2019 Notes. Transaction costs related to the liability component were $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and are amortized to interest expense using the effective interest method over the five-year term of the 2019 Notes. Transaction costs attributable to the equity component were $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.6</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and are netted with the equity component of the 2019 Notes in stockholders' equity of the Company's consolidated balance sheets. Additionally, the Company recorded a net deferred tax liability of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">11.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Effective January 1, 2022, the Company adopted ASU 2020-06. After adoption, the Company now accounts for the 2019 Notes, and any convertible debt issued going forward, as a single liability measured at amortized cost. As the equity component is no longer required to be split into a separate component, the Company recorded a net adjustment for the initial $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">50.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million that was allocated to additional paid-in capital and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">22.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of life-to-date interest expense recorded as amortization of debt discount. Additionally, the net deferred tax liability recorded for the 2019 Notes was reversed. The principal amount of the liability over its carrying amount is amortized to interest expense over the five-year term of the 2019 Notes. Since the 2019 Notes are classified as a single liability, there is no debt discount required to be amortized in 2022.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Contractual coupon interest expense related to the 2019 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in 2023 </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and the Company recorded $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> mill</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ion of amortization of the debt issuance costs related to the 2019 Notes as well. The effective interest rate on the 2019 Notes is </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.02</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%, which included the interest on the 2019 Notes and amortization of the debt issuance costs. As of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, the carrying value of the 2019 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">69.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and the fair value of the principal was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">109.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The fair value of the 2019 Notes was determined based on the most recent trade activity of the 2019 Notes as of December 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The indenture governing the 2019 Notes contains customary terms and events of default. If an event of default (other than certain events of bankruptcy, insolvency or reorganization involving the Company) occurs and is continuing, the holders of at least </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">25</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% in aggregate principal amount of the outstanding 2019 Notes may declare </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the principal of, and any accrued and unpaid interest on, all of the 2019 Notes to be due and payable. Upon the occurrence of certain events of bankruptcy, insolvency or reorganization involving the Company, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the principal of and accrued and unpaid interest, if any, on all of the 2019 Notes will become due and payable automatically.  Notwithstanding the foregoing, the 2019 Notes provide that, to the extent the Company elects and for up to 360 days, the sole remedy for an event of default relating to certain failures by the Company to comply with certain reporting covenants consist exclusively of the right to receive additional interest on the 2019 Notes.  The Company is not aware of any events of default, current events or market conditions that would allow holders to declare the principal of, and any accrued and unpaid interest on, all of 2019 Notes to be due and payable.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/470/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674529505360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Employee Benefit Plans<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock', window );">Employee Benefit Plans</a></td>
<td class="text"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">16.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Employee Benefit Plans </span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In the United States, the Repligen Corporation 401(k) Savings and Retirement Plan (the &#8220;401(k) Plan&#8221;) is a qualified defined contribution plan in accordance with Section 401(k) of the Internal Revenue Code. All U.S. employees over the age of </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">21</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> are eligible to make pre-tax contributions up to a specified percentage of their compensation. Under the 401(k) Plan, the Company may, but is not obligated to match a portion of the employees&#8217; contributions up to a defined maximum. The match is calculated on a calendar year basis. The Company matched $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in the years ended December 31, 2023, 2022 and 2021, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In Sweden, the Company contributes to a government-mandated occupational pension plan that is a qualified defined contribution plan. All employees in Sweden are eligible for this pension plan. The Company pays premiums to a third-party occupational pension specialist who administers the pension plan. These premiums are based on various factors including each employee&#8217;s age, salary, employment history and selected benefits in the pension plan. When an employee terminates or retires, these premium payments cease for that employee and the Company has no further pension-related obligations for that employee. The Company contributed $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $1</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively to the defined contribution plan for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span><span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for an entity's employee compensation and benefit plans, including, but not limited to, postemployment and postretirement benefit plans, defined benefit pension plans, defined contribution plans, non-qualified and supplemental benefit plans, deferred compensation, share-based compensation, life insurance, severance, health care, unemployment and other benefit plans.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 710<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/710/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 712<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/712/tableOfContent<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 715<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/715/tableOfContent<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/718/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndEmployeeBenefitPlansTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674430242704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Party Transactions<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsAbstract', window );"><strong>Related Party Transactions [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock', window );">Related Party Transactions</a></td>
<td class="text"><div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">17.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Related Party Transactions </span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Certain facilities leased by Spectrum LifeSciences LLC (&#8220;Spectrum&#8221;) are owned by the Roy Eddleman Living Trust (the &#8220;Trust&#8221;). As of December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Trust owned greater than </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the Company's outstanding shares. Therefore, the Company considers the Trust to be a related party.  The lease amounts paid to the Trust prior to the public offering were negotiated in connection with the acquisition of Spectrum. The Company incurred rent expense related to these leases totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477968/946-235-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477968/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(g)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(e))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/850/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-6<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674439244976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Estimates</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Use of Estimates</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The preparation of financial statements in conformity with accounting principles generally accepted in the United States requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting periods.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Significant estimates and assumptions by management affect the Company&#8217;s revenue recognition for multiple element arrangements, allowance for credit losses, the net realizable value of inventory, valuations and purchase price allocations related to business combinations, contingent consideration, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, estimates related to the fair value of the conversion features of the convertible notes for purposes of assessing whether debt extinguishment or modification accounting applies to the Company&#8217;s debt exchange, stock-based compensation, tax reserves and recoverability of the Company&#8217;s net deferred tax assets and related valuation allowance.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Although the Company regularly assesses these estimates, actual results could differ materially from these estimates. Changes in estimates are recorded in the period in which they become known. The Company bases its estimates on historical experience and various other assumptions that it believes to be reasonable under the circumstances.</span><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock', window );">Basis of presentation</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Basis of Presentation</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All significant intercompany accounts and transactions have been eliminated in consolidation. Certain prior year balances have changed to reflect current year presentation.</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock', window );">Foreign Currency</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Foreign Currency</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company translates the assets and liabilities of its foreign subsidiary at rates in effect at the end of the reporting period. Revenues and expenses are translated at average rates in effect during the reporting period. Translation adjustments include adjustments related to the Company&#8217;s various intercompany loans with foreign subsidiaries. Intercompany loans determined to be permanent are remeasured at each period end and included in accumulated other comprehensive loss on the consolidated balance sheets. Intercompany loans with foreign subsidiaries determined to be repayable are remeasured at each period end and included in other income (expenses) on the consolidated statements of comprehensive income.</span><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Revenue Recognition</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company generates revenue from the sale of bioprocessing products, equipment devices, and related consumables used with these equipment devices to customers in the life sciences and biopharmaceutical industries. Under Accounting Standard Codification No. (&#8220;ASC&#8221;) 606, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Revenue from Contracts with Customers,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">revenue is recognized when, or as, obligations under the terms of a contract are satisfied, which occurs when control of the promised products or services is transferred to customers.  Revenue is measured as the amount of consideration the Company expects to receive in exchange for transferring products or services to a customer (&#8220;transaction price&#8221;).  To the extent the transaction price includes variable consideration, the Company estimates the amount of variable consideration that should be included in the transaction price utilizing the expected value method or the most likely amount method, depending on the facts and circumstances relative to the contract.  Variable consideration is included in the transaction price if, in the Company&#8217;s judgment, it is probable that a significant future reversal of cumulative revenue under the contract will not occur.  Estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on an assessment of the Company&#8217;s anticipated performance and all information (historical, current and forecasted) that is reasonably available.  Sales, value add, and other taxes collected on behalf of third parties are excluded from revenue.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">When determining the transaction price of a contract, an adjustment is made if payment from a customer occurs either significantly before or significantly after performance, resulting in a significant financing component.  Applying the practical expedient in paragraph 606-10-32-18, the Company does not assess whether a significant financing component exists if the period between when the Company performs its obligations under the contract and when the customer pays is one year or less.  None of the Company&#8217;s contracts contained a significant financing component as of December 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Contracts with customers may contain multiple performance obligations.  For such arrangements, the transaction price is allocated to each performance obligation based on the estimated relative standalone selling prices of the promised products or services underlying each performance obligation.  The Company determines standalone selling prices based on the price at which the performance obligation is sold separately.  If the standalone selling price is not observable through past transactions, the</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Company estimates the standalone selling price taking into account available information such as market conditions and internally approved pricing guidelines related to the performance obligations.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company recognizes product revenue under the terms of each customer agreement upon transfer of control to the customer, which occurs at a point in time.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Shipping and handling fees are recorded as a component of product revenue, with the associated costs recorded as a component of cost of product revenue.</span><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock', window );">Risks and Uncertainties</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Risks and Uncertainties</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company evaluates its operations periodically to determine if any risks and uncertainties exist that could impact its operations in the near term. The Company does not believe that there are any significant risks that have not already been disclosed in the consolidated financial statements. A loss of certain suppliers could temporarily disrupt operations, although alternate sources of supply exist for these items. The Company has mitigated these risks by working closely with key suppliers, identifying alternate sources and developing contingency plans.</span><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy', window );">Cash, Cash Equivalents and Restricted Cash</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cash, Cash Equivalents and Restricted Cash</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Cash and cash equivalents include cash on hand and on deposit. Highly liquid investments in money market mutual funds with an original maturity of three months or less are classified as cash equivalents. All cash equivalents are carried at cost, which approximates fair value. Restricted cash represents cash that is restricted as to withdrawal or usage. There was no restriction on the Company&#8217;s cash balance as of December 31, 2023 and 2022.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s cash, cash equivalents and restricted cash total as presented in the Company&#8217;s consolidated statements of cash flows for the years ended December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">751.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">523.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">603.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesPolicyTextBlock', window );">Convertible Instruments</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Instruments</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company evaluates the embedded conversion feature within its convertible debt instruments under Accounting Standards Codification (&#8220;ASC&#8221;) 815, &#8221;Derivatives and Hedging.&#8221; The Company refers to ASC 815-15 and ASC 815-40 to determine if the conversion feature meets the definition of a derivative and, if so, whether to bifurcate the conversion feature and account for it as a separate derivative liability.  Based on the Company&#8217;s analysis, its Convertible Senior Notes do not have an embedded conversion feature requiring bifurcation under ASC 815-15 and thus are accounted for as a single unit of account, a liability under ASC 470, &#8221;Debt.&#8221;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesPolicy', window );">Investment Securities</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Investment Securities</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We classify our investment securities in one of three categories: held to maturity, trading, or available for sale. Our investment portfolio at December 31, 2022 consisted of an investment in U.S. treasury bills classified as held to maturity which was included in the Company's consolidated balance sheets under marketable securities held to maturity. These marketable securities matured in June 2023 and there are no comparable investments as of December 31, 2023. Securities that we have the positive intent and ability to hold to maturity are classified as held to maturity and stated at amortized cost in the consolidated balance sheets. Management determines the appropriate classification of securities at the time of purchase based upon management's intent with regards to such investment and reevaluates such designation as of each balance sheet date. The Company's investment policy requires that it only invest in high-rated securities and limit its exposure to any single-user. There were no realized or unrealized gains or losses on investments recorded as of December 31, 2023, 2022 and 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company classifies marketable securities as short-term when they have remaining contractual maturities of one year or less from the balance sheet date. The Company periodically assesses its marketable securities, if any, for impairment or credit losses.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueMeasurementPolicyPolicyTextBlock', window );">Fair Value Measurement</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value Measurement</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In determining the fair value of its assets and liabilities, the Company uses various valuation approaches. The Company employs a hierarchy for inputs used in measuring fair value that maximizes the use of observable inputs and minimizes the use of</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">unobservable inputs by requiring that observable inputs be used when available. Observable inputs are inputs that market participants would use in pricing the asset or liability based on market data obtained from sources independent of the Company. Unobservable inputs are inputs that reflect the Company&#8217;s assumptions about the inputs that market participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances. The fair value hierarchy is broken down into three levels based on the source of inputs as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:3.333%;border-spacing:0;table-layout:fixed;width:96.0%;border-collapse:separate;">
       <tr style="visibility:collapse;">
        <td style="width:8.08%;box-sizing:content-box;"></td>
        <td style="width:91.92%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Level 1  &#8211;</span></p></td>
        <td style="padding-top:0in;text-indent:5pt;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities that the Company has the ability to access.</span></p></td>
       </tr>
       <tr style="height:5.75pt;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"><p style="font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;text-indent:5pt;vertical-align:middle;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Level 2  &#8211;</span></p></td>
        <td style="padding-top:0in;text-indent:5pt;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Valuations based on quoted prices for similar assets or liabilities in active markets, quoted prices for identical or similar assets or liabilities.</span></p></td>
       </tr>
       <tr style="height:5.75pt;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"><p style="font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;text-indent:5pt;vertical-align:middle;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Level 3  &#8211;</span></p></td>
        <td style="padding-top:0in;text-indent:5pt;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Valuations based on inputs that are unobservable and significant to the overall fair value measurement.</span></p></td>
       </tr>
      </table><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The availability of observable inputs can vary among the various types of financial assets and liabilities. To the extent that the valuation is based on models or inputs that are less observable or unobservable in the market, the determination of fair value requires more judgment. In certain cases, the inputs used to measure fair value may fall into different levels of the fair value hierarchy. In such cases, for financial statement disclosure purposes, the level in the fair value hierarchy within which the fair value measurement is categorized is based on the lowest level input that is significant to the overall fair value measurement.</span><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock', window );">Allowance for credit losses</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Allowance for credit losses</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We establish an allowance for credit losses through a review of several factors, including historical collection experience, current aging status of the customer accounts, and current financial condition of our customers. Losses are charged against the allowance when the customer accounts are determined to be uncollectible.</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventories</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Inventories</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inventories relate to the Company&#8217;s bioprocessing business. The Company values inventory at cost or, if lower, net realizable value, using the first-in, first-out method. The Company reviews its inventories at least quarterly and records a provision for excess and obsolete inventory based on its estimates of expected sales volume, production capacity and expiration dates of raw materials, work-in-process and finished products. The Company writes down inventory that has become obsolete, inventory that has a cost basis in excess of its expected net realizable value, and inventory in excess of expected requirements to cost of product revenue. Manufacturing of bioprocessing finished goods is done to order and tested for quality specifications prior to shipment.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A change in the estimated timing or amount of demand for the Company&#8217;s products could result in additional provisions for excess inventory quantities on hand. Any significant unanticipated changes in demand or unexpected quality failures could have a significant impact on the value of inventory and reported operating results. During all periods presented in the accompanying consolidated financial statements, there have been no material adjustments related to a revised estimate of inventory valuations.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Work-in-process and finished products inventories consist of material, labor, outside processing costs and manufacturing overhead.</span><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy', window );">Lease Accounting</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Lease Accounting</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company adopted Accounting Standards Update No. (&#8220;ASU&#8221;) 2016-02, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Leases (Topic 842)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8221; (&#8220;ASC 842&#8221;) as of January 1, 2019. Under ASC 842, the Company determines whether the arrangement contains a lease at the inception of an arrangement. If a lease is identified in an arrangement, the Company recognizes a right-of-use asset and liability on its consolidated balance sheets and determines whether the lease should be classified as a finance or operating lease. The Company does not recognize assets or liabilities for leases with lease terms of less than 12 months.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A lease qualifies as a finance lease if any of the following criteria are met at the inception of the lease: (i) there is a transfer of ownership of the leased asset to the Company by the end of the lease term, (ii) the Company holds an option to purchase the</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">leased asset that it is reasonably certain to exercise, (iii) the lease term is for a major part of the remaining economic life of the leased asset, (iv) the present value of the sum of lease payments equals or exceeds substantially all of the fair value of the leased asset, or (v) the nature of the leased asset is specialized to the point that it is expected to provide the lessor no alternative use at the end of the lease term. All other leases are recorded as operating leases.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Finance and operating lease assets and liabilities are recognized at the lease commencement date based on the present value of the lease payments over the lease term using the discount rate implicit in the lease. If the rate implicit is not readily determinable, the Company utilizes its incremental borrowing rate at the lease commencement date. Operating lease assets are further adjusted for prepaid or accrued lease payments. Operating lease payments are expensed using the straight-line method as an operating expense over the lease term. Finance lease assets are amortized to depreciation expense using the straight-line method over the shorter of the useful life of the related asset or the lease term. Finance lease payments are bifurcated into (i) a portion that is recorded as imputed interest expense and (ii) a portion that reduces the finance liability associated with the lease.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company does not separate lease and non-lease components when determining which lease payments to include in the calculation of its lease assets and liabilities. Variable lease payments are expensed as incurred. If a lease includes an option to extend or terminate the lease, the Company reflects the option in the lease term if it is reasonably certain it will exercise the option.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Finance leases are recorded in property, plant and equipment, net, other current liabilities and long-term finance lease liabilities and operating leases are recorded in operating lease right of use assets, operating lease liability and operating lease liability, long-term on the Company&#8217;s consolidated balance sheets.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Certain of the Company&#8217;s operating leases where the Company is the lessee provide for minimum annual payments that increase over the life of the lease. Some of these leases include obligations to pay for other services, such as operations and maintenance. For leases of property, the Company accounts for these other services as a component of the lease. The aggregate minimum annual payments are expensed on the straight-line basis beginning when the Company takes possession of the property and extending over the term of the related lease, including renewal options when the exercise of the option is reasonably certain as an economic penalty may be incurred if the option is not exercised. The Company also accounts in its straight-line computation for the effect of any &#8220;rental holidays.&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Operating lease assets represent the Company&#8217;s right to use an underlying asset for the lease term and lease liabilities represent the Company&#8217;s obligation to make lease payments arising from the lease. Operating lease assets and liabilities are recognized at the lease commencement date based on the estimated present value of the fixed lease payments, reduced by landlord incentives using a discount rate based on similarly secured borrowings available to the Company. Most of the leases do not provide implicit interest rates and therefore the Company determines the discount rate based on its incremental borrowing rate. The incremental borrowing rate for the Company&#8217;s leases is determined based on lease term and currency in which the lease payments are made.</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AccruedLiabilitiesPolicyTextBlock', window );">Accrued Liabilities</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accrued Liabilities</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company estimates accrued liabilities by identifying services performed on the Company&#8217;s behalf, estimating the level of service performed and determining the associated cost incurred for such service as of each balance sheet date. For example, the Company would accrue for professional and consulting fees incurred with law firms, audit and accounting service providers and other third-party consultants. These expenses are determined by either requesting those service providers to estimate unbilled services at each reporting date for services incurred or tracking costs incurred by service providers under fixed fee arrangements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company has processes in place to estimate the appropriate amounts to record for accrued liabilities, which principally involve the applicable personnel reviewing the services provided. In the event that the Company does not identify certain costs that have begun to be incurred or the Company under or over-estimates the level of services performed or the costs of such services, the reported expenses for that period may be too low or too high. The date on which certain services commence, the level of services performed on or before a given date, and the cost of such services often require the exercise of judgment. The Company makes these judgments based upon the facts and circumstances known at the date of the consolidated financial statements.</span><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Income Taxes</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Deferred taxes are determined based on the difference between the consolidated financial statements and tax basis of assets and liabilities using enacted tax rates in effect in the years in which the differences are expected to reverse. Valuation allowances are provided, if, based upon the weight of available evidence, it is more likely than not that some or all of the deferred tax assets will not be realized. The Company accounts for uncertain tax positions using a &#8220;more-likely-than-not&#8221; threshold for recognizing and resolving uncertain tax positions. The evaluation of uncertain tax positions is based on factors including, but not limited to, changes in tax law, the measurement of tax positions taken or expected to be taken in tax returns, the effective settlement of matters subject to audit, new audit activity and changes in facts or circumstances related to a tax position. The Company evaluates this tax position on a quarterly basis. The Company also accrues for potential interest and penalties related to unrecognized tax benefits in income tax expense. The Company is subject to a territorial tax system under the Tax Cuts and Jobs Act enacted in December 2017, in which the Company is required to provide for tax on Global Intangible Low-Taxed Income (&#8220;GILTI&#8221;) earned by certain foreign subsidiaries. The Company has adopted an accounting policy to provide for the tax expense related to GILTI in the year the tax is incurred as a period expense.</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property, Plant &amp; Equipment</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Property, Plant &amp; Equipment</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property, plant &amp; equipment is recorded at cost less allowances for depreciation. Depreciation is calculated using the straight-line method over the estimated useful life of the asset as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
        <table style="margin-left:3.333%;border-spacing:0;table-layout:fixed;width:96.0%;border-collapse:separate;">
         <tr style="visibility:collapse;">
          <td style="width:45.7%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:53.3%;box-sizing:content-box;"></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.5pt solid;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Classification</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated Useful Life</span></p></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Buildings</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Thirty years</span></span></p></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Leasehold improvements</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_97c658e9-763a-4c74-b869-847703160c86;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Shorter of the term of the lease or estimated useful life</span></span></span></p></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equipment</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_951db97f-38a2-4f75-b2a0-786c13d36d24;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Three</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to </span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">twelve years</span></span></p></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Furniture, fixtures and office equipment</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_a515c115-d6c2-4112-a709-4feb4a3856a2;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Three</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to </span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">eight years</span></span></p></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Computer hardware and software</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_dbc0aa1e-92ac-4d71-9c5b-67e87dcc2701;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Three</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to </span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">seven years</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;or estimated useful life</span></p></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vehicles</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Five years</span></span></p></td>
         </tr>
        </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Upon disposal of property, plant &amp; equipment, the cost of the asset and the accumulated depreciation are removed from the accounts and the resulting gain or loss is reflected in our results of operations. Fully depreciated assets are not removed from the accounts until they are physically disposed of.</span></p><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Certain systems development costs related to the purchase, development and installation of computer software developed or obtained for internal use are capitalized and depreciated over the estimated useful life of the related project. Costs incurred prior to the development stage, as well as maintenance, training costs, and general and administrative expenses are expensed as incurred.</span><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Earnings Per Share</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Earnings Per Share</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company reports earnings per share (&#8220;EPS&#8221;) in accordance with ASC 260, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">"Earnings Per Share," </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">which establishes standards for computing and presenting EPS. Basic EPS is computed by dividing net income available to common shareholders by the weighted average number of common shares outstanding during the period. Diluted EPS is computed by dividing net income available to common shareholders by the weighted-average number of common shares and dilutive common share equivalents outstanding during the period. Potential common share equivalents consist of restricted stock awards (including performance stock units) and the incremental common shares issuable upon the exercise of stock options and warrants. Under the treasury stock method, unexercised &#8220;in-the-money&#8221; stock options are assumed to be exercised at the beginning of the period or at issuance, if later. The assumed proceeds are then used to purchase common shares at the average market price during the period. In periods when the Company has a net loss, stock awards are excluded from the calculation of earnings per share as their inclusion would have an antidilutive effect.</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A reconciliation of basic and diluted weighted average share outstanding is as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
        <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
         <tr style="visibility:collapse;">
          <td style="width:57.477%;box-sizing:content-box;"></td>
          <td style="width:1.399%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:10.776%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1.399%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:10.776%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1.399%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:10.776%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands, except per share data)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Numerator:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35,596</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">185,959</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">128,291</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of dilutive securities:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;Charges associated with convertible debt instruments, net of tax</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">387</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;Numerator for diluted earnings per share - net income available to common stockholders after the effect of dilutive securities</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35,596</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">186,346</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">128,291</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Denominator:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average shares used in computing net income per<br/>&#160;&#160;&#160;share - basic</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">55,720</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">55,460</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">55,015</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of dilutive shares:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options and stock units</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">457</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">608</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">915</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Convertible senior notes</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">181</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,360</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,253</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Dilutive effect of unvested performance stock units</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Dilutive potential common shares</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">657</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,995</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,249</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">56,377</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">57,455</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">57,264</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnings per share:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Basic</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.64</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.35</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2.33</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Diluted</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.63</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.24</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2.24</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the dilutive impact for the Company's </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.375</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% Convertible Senior Notes due 2024 (the &#8220; 2019 Notes&#8221;) and its </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.00</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% Convertible Senior Notes due 2028 (the &#8220;2023 Notes&#8221;). As of December 31, 2023, the if-converted value is less than the outstanding principal of the 2023 Notes and are therefore anti-dilutive. Refer to Note 15, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> for more information.</span></div></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For the years ended December 31, 2023, 2022 and 2021, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">306,849</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">177,318</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares and </span><span style="font-size:10pt;font-family:Times New Roman;white-space:pre-wrap;min-width:fit-content;color:#000000;">68,968</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares, respectively, of the Company&#8217;s common stock were excluded from the calculation of diluted earnings per share because they would have had an anti-dilutive effect for years presented.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In July 2019, the Company issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">287.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of its 2019 Notes. As provided by the terms of the indenture underlying the 2019 Notes, prior to March 4, 2022, conversion of the 2019 Notes could have been settled in cash, shares of the Company&#8217;s common stock or a combination thereof, at the Company&#8217;s election. On March 4, 2022, we entered into the Second Supplemental Indenture for the 2019 Notes, which irrevocably elected to settle the conversion of the 2019 Notes using a combination of cash and shares of the Company's common stock, settling the par value of the 2019 Notes in cash and any excess conversion premium in shares. On December 14, 2023, the Company exchanged, in a privately negotiated exchange, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">309.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million principal amount of 2023 Notes for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">217.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million principal amount of 2019 Notes and issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">290.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of 2023 Notes for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">290.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash. Following the close of the Exchange Transaction, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">69.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in aggregate principal amount of 2019 Notes remains outstanding with terms unchanged.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As provided by the terms of the Second Supplemental Indenture underlying the 2019 Notes, the Company irrevocably elected to settle the conversion obligation for the 2019 Notes in a combination of cash and shares of the Company's common stock. This means the Company will settle the par value of the 2019 Notes in cash and any excess conversion premium in shares. As mentioned in Note 15, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Company adopted ASU 2020-06 effective January 1, 2022. Under ASU 2020-06, the Company is required to reflect the dilutive effect of the convertible securities by application of the &#8220;if-converted&#8221; method, which means the denominator of the EPS calculation would include the total number of shares assuming the 2019 Notes had been fully converted at the beginning of the period. Prior to March 4, 2022, the Company had the choice to settle the</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">conversion </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">of the 2019 Notes in cash, stock or a combination of the two. Therefore, from January 1, 2022 (the date the Company adopted ASU 2020-06) to March 4, 2022, the Company included </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,474,429</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares in the denominator of the EPS calculation, applying the if converted method. Subsequent to March 4, 2022, after the Second Supplemental Indenture became effective, the Company irrevocably elected to settle the conversion obligation for the 2019 Notes in a combination of cash and shares of the Company's common stock, and from March 5, 2022 forward, only the excess premium will be settled with shares. Under the if-converted method of calculating dilutive shares, the Company was also required to exclude amortization of debt issuance costs and interest charges applicable to the convertible debt from the numerator of the dilutive EPS calculation for the period from January 1, 2022 to March 4, 2022, as if the interest on convertible debt was never recognized for that period. As a result, the Company excluded interest charges of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (net of tax) from the numerator and included </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,359,957</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares in the calculation of diluted earnings as the dilutive effect of the conversion premium for the year ended December 31, 2022. There were no comparable amounts included in 2023 or 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prior to the adoption of ASU 2020-06, the Company applied the provisions of ASC 260, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Earnings Per Share,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">subsection 10-45-44, to determine the diluted weighted average shares outstanding as it related to the conversion spread on its convertible notes. Accordingly, the par value of the 2019 Notes was not included in the calculation of diluted EPS, but the dilutive effect of the conversion premium was considered in the calculation of diluted EPS using the treasury stock method. The dilutive impact of the 2019 Notes was based on the difference between the Company&#8217;s current period average stock price and the conversion price of the convertible notes, provided there is a premium. Pursuant to this accounting standard, there was no dilution from the accreted principal of the 2019 Notes.</span><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingPolicyPolicyTextBlock', window );">Segment Reporting</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Segment Reporting</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Operating segments are components of an enterprise that engage in business activities for which discrete financial information is available and regularly reviewed by the CODM in deciding how to allocate resources and assess performance. Our CEO has been identified as our CODM.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company views its operations, makes decisions regarding how to allocate resources and manages its business as </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">one</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> reportable segment and one reporting unit. As a result, the financial information disclosed herein represents all of the material financial information related to the Company.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents product revenues by product line:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:49.24%;box-sizing:content-box;"></td>
          <td style="width:1.66%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:13.26%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1.66%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:13.26%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1.66%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:13.26%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span><span style="color:#000000;top:-3.752pt;white-space:pre-wrap;font-weight:bold;font-size:5.36pt;position:relative;min-width:fit-content;">(1)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span><span style="color:#000000;top:-3.752pt;white-space:pre-wrap;font-weight:bold;font-size:5.36pt;position:relative;min-width:fit-content;">(2)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Filtration products</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">341,379</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">495,930</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">403,505</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Chromatography products</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126,629</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">131,680</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">91,037</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Process analytics products</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">56,820</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">53,512</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">48,019</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Proteins products</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">103,463</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">114,320</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">123,707</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,688</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,741</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,051</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total product revenue</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">631,979</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">801,183</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">670,319</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table><div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#8220;FlexBiosys&#8221;) from April 17, 2023, as well as Metenova Holding AB (&#8220;Metenova&#8221;) from October 2, 2023.</span></div></div><div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(2)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2021 revenue for filtration products includes revenue related to Polymem S.A. (&#8220;Polymem&#8221;) from July 1, 2021, as well as BioFlex Solutions LLC (&#8220;BioFlex&#8221;) and Newton T&amp;M Corp. (&#8220;NTM&#8221;) from December 16, 2021 through December 31, 2021. 2021 revenue for proteins products includes revenue related to Avitide, Inc. (&#8220;Avitide&#8221;) from September 20, 2021 through December 31, 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> </span></div></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue from filtration products includes the XCell ATF</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> systems and consumables as well as the KrosFlo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and SIUS</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> filtration products. Revenue from chromatography products includes the OPUS</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> chromatography pre-packed columns, chromatography resins and ELISA test kits. Revenue from process analytics products includes the SoloVPE</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, FlowVPE</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> RPM</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and FlowVPX</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> devices. Revenue from protein products includes the Protein A affinity ligands and cell culture growth factors. Other revenue primarily consists of revenue from the sale of operating room products to hospitals as well as freight revenue.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s total revenue by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented (based on the location of the customer):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:57.409%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:11.177999999999999%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:11.177999999999999%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:11.238%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue by customers' geographic locations:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">36</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">37</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">40</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC/Other</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
        </table><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s total assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:66.993%;box-sizing:content-box;"></td>
          <td style="width:1.62%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1.62%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Revised)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total assets by geographic locations:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,377,868</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,216,186</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">426,148</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">287,543</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,169</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,871</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total assets by geographic location</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,831,185</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,531,600</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s long-lived assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:66.993%;box-sizing:content-box;"></td>
          <td style="width:1.62%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1.62%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-lived assets by geographic locations:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">278,033</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">275,151</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43,280</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">38,541</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,919</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,819</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total long-lived assets by geographic location</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">324,232</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">316,511</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRisk', window );">Concentrations of Credit Risk and Significant Customers (As Restated)</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentrations of Credit Risk and Significant Customers</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Financial instruments that subject the Company to significant concentrations of credit risk primarily consist of cash and cash equivalents, marketable securities and accounts receivable. Per the Company&#8217;s investment policy, cash equivalents and marketable securities are invested in financial instruments with high credit ratings, limit its credit exposure to any one issuer (with the exception of U.S. treasury obligations) and type of instrument is limited. At December 31, 2023, the Company had no investments associated with foreign exchange contracts, options contracts or other foreign hedging arrangements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Concentration of credit risk with respect to accounts receivable is limited to customers to whom the Company makes significant sales. While a reserve for the potential write-off of accounts receivable is maintained, the Company has not written off any significant accounts to date. To control credit risk, the Company performs regular credit evaluations of its customers&#8217; financial condition.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Ther</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">e was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> revenue from customers that represented </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% or more of the Company's total revenue for the year ended December 31, 2023 or 2022. Revenue from Pfizer Inc. accounted for </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of total revenue for the year ended December 31, 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">No accounts receivable balance from a specific c</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ustomer represented </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% or more of the Company's total trade accounts receivable at </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. Significant accounts receivable balances representing </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">or more of the Company&#8217;s total</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">trade </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">accounts receivable balances at December 31, 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> came from our accounts receivable balance outstanding with Purolite, an Ecolab Inc. company (&#8220;Purolite&#8221;), which was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">12.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the Company's total trade accounts receivable balance.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock', window );">Business Combinations, Goodwill and Intangible Assets</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business Combinations, Goodwill and Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business Combinations</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total consideration transferred for acquisitions is allocated to the tangible and intangible assets acquired and liabilities assumed, if any, based on their fair values at the dates of acquisition. This purchase price allocation process requires management to make significant estimates and assumptions with respect to intangible assets and deferred revenue. The fair value of identifiable intangible assets is based on detailed valuations that use information and assumptions determined by management. Any excess of purchase price over the fair value of the net tangible and intangible assets acquired is allocated to goodwill. While the Company uses its best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as any contingent consideration, where applicable, the Company&#8217;s estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which may be up to one year from the acquisition date, the Company records adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill.  Upon conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to the Company&#8217;s consolidated statements of comprehensive income. Any excess of the fair value of the net tangible and intangible assets acquired over the purchase price is recognized in the consolidated statements of comprehensive income. The fair value of contingent consideration includes estimates and judgments made by management regarding the probability that future contingent payments will be made and the extent of royalties to be earned in excess of the defined minimum royalties. Management updates these estimates and the related fair value of contingent consideration at each reporting period. These changes in the fair value of contingent consideration are recorded to contingent consideration in the Company&#8217;s consolidated statements of comprehensive income. For the years ended December 31, 2023 and 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, we recorded a decrease of $</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">30.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">28.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively, to the estimated contingent consideration obligation, primarily related to the acquisition of Avitide (the &#8220;Avitide Acquisition&#8221;).</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company uses the income approach to determine the fair value of certain identifiable intangible assets including customer relationships and developed technology. This approach determines fair value by estimating after-tax cash flows attributable to these assets over their respective useful lives and then discounting these after-tax cash flows back to a present value. The Company bases its assumptions on estimates of future cash flows, expected growth rates, expected trends in technology, etc. Discount rates used to arrive at a present value as of the date of acquisition are based on the time value of money and certain industry-specific risk factors. The Company believes the estimated purchased customer relationships, developed technologies, trademark/tradename, patents, non-compete agreements and in-process research and development amounts so determined represent the fair value at the date of acquisition, and do not exceed the amount a third-party would pay for such assets.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Goodwill is not amortized and is tested for impairment at least annually at the reporting unit level. The Company operates as one reporting unit as of the goodwill impairment measurement date of December 31, 2023. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the qualitative assessment of the Company&#8217;s </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">one</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> reporting unit during the 2023 goodwill impairment testing, it was determined that it was not more likely than not that its fair value was less than its carrying amount. As such, a quantitative impairment assessment was not required as of December 31, 2023. If an event occurs or circumstances change that would more likely than not reduce the fair value of its reporting unit below its carrying value, the Company will evaluate its goodwill for impairment between annual tests. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> impairment to goodwill and therefore </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> impairment charge recorded for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company has historically tested for impairment on its goodwill annually as of its measurement date of December 31st pursuant to company policy. Subsequent to the 2023 annual impairment test, the Company voluntarily changed its annual impairment assessment date from December 31st to October 1st, the first day of the Company's fourth quarter, beginning on </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">October 1, 2024</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The change is being made to better align the annual impairment assessment date with the Company's annual planning and budgeting process as well as long-term planning and forecasting process.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> The </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Company has determined this voluntary change in accounting principle is preferable and will not impact its consolidated financial statements nor is it being done to accelerate, avoid or trigger an impairment charge. This change is not going to be applied retrospectively as it is</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">impracticable </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to do so because retrospective application would require application of significant estimates and assumptions with the use of hindsight. Accordingly, the change will be applied prospectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets with a definite life are amortized over their useful lives using the straight-line method and the amortization expense is recorded within research and development (&#8220;R&amp;D&#8221;) and selling, general and administrative expense in the consolidated statements of comprehensive income. Intangible assets and their related useful lives are reviewed at least annually to determine if any adverse conditions existed that would indicate the carrying value of these assets may not be recoverable. More frequent impairment assessments are conducted if certain conditions exist, including a change in the competitive landscape, any internal decisions to pursue new or different technology strategies, a loss of a significant customer, or a significant change in the marketplace, including changes in the prices paid for the Company&#8217;s products or changes in the size of the market for the Company&#8217;s products. If impairment indicators are present, the Company determines whether the underlying intangible asset is recoverable through estimated future undiscounted cash flows. If the asset is not found to be recoverable, it is written down to the estimated fair value of the asset based on the sum of the future discounted cash flows expected to result from the use and disposition of the asset. If the estimate of an intangible asset&#8217;s remaining useful life is changed, the remaining carrying amount of the intangible asset is amortized prospectively over the revised remaining useful life. The Company continues to believe that its definite-lived intangible assets are recoverable at December 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Indefinite-lived intangible assets are reviewed for impairment at least annually. There has been </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> impairment of our intangible assets for the periods presented.</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy', window );">Stock Based Compensation</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock Based Compensation</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company measures stock-based compensation cost at the grant date based on the estimated fair value of the award and recognizes it as an expense over the employee&#8217;s requisite service period on a straight-line basis. The Company records the expense for share-based awards subject to performance-based milestone vesting over the remaining service period when management determines that achievement of the milestone is probable. Management evaluates whether the achievement of a performance-based milestone is probable as of the reporting date. The Company has no awards that are subject to market conditions. The Company recognizes stock-based compensation expense based upon options that are ultimately expected to vest, and accordingly, such compensation expense has been adjusted by an amount of estimated forfeitures.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company uses the Black-Scholes option pricing model to calculate the fair value of share-based awards on the grant date. The following assumptions are used in calculating the fair value of share-based awards:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Expected term</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; The expected term of options granted represents the period of time for which the options are expected to be outstanding. For purposes of estimating the expected term, the Company has aggregated all individual option awards into one group as the Company does not expect substantial differences in exercise behavior among its employees.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Expected volatility</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; The expected volatility is a measure of the amount by which the Company&#8217;s stock price is expected to fluctuate during the expected term of options granted. The Company determines the expected volatility based primarily upon the historical volatility of the Company&#8217;s common stock over a period commensurate with the option&#8217;s expected term.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Risk-free interest rate</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; The risk-free interest rate is the implied yield available on U.S. treasury zero-coupon issues with a remaining term equal to the option&#8217;s expected term on the grant date.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Expected dividend yield</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; The Company has never declared or paid any cash dividends on any of its capital stock and does not expect to do so in the foreseeable future. Accordingly, the Company uses an expected dividend yield of zero to calculate the grant-date fair value of a stock option.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Estimated forfeiture rates</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; The Company has applied, based on an analysis of its historical forfeitures, annual forfeiture rates of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-employee members of the Board of Directors (&#8220;Board&#8221;) to all unvested stock options as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Company reevaluates this analysis periodically and adjusts these estimated forfeiture rates as necessary. Ultimately, the Company will only recognize an expense for those shares that vest.</span><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdvertisingCostsPolicyTextBlock', window );">Advertising Costs</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Advertising Costs</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company expenses advertising costs as they are incurred. Advertising expense for the years ended December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent Accounting Standards Updates</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Recent Accounting Standards Updates</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We consider the applicability and impact of all ASUs and other accounting guidance on the Company&#8217;s consolidated financial statements. Updates not listed below were assessed and determined to be either not applicable or are expected to have minimal impact on the Company&#8217;s consolidated financial position or results of operations. Recently issued accounting guidance that we feel may be applicable to the Company are as follows:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Recently Issued Accounting Guidance &#8211; Adopted During the Fiscal Year</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In July 2023, the U.S. Securities and Exchange Commission (the &#8220;SEC&#8221;) adopted the final rule under SEC Release No. 33-11216, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cybersecurity Risk Management, Strategy, Governance, and Incident Disclosure,&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> requiring current reporting about material cybersecurity incidents and annual disclosures on management&#8217;s processes for assessing, identifying, and managing material cybersecurity risks, the material impacts of cybersecurity threats and previous cybersecurity incidents, the Board's oversight of cybersecurity risks, and management&#8217;s role and expertise in assessing and managing material cybersecurity risks. SEC Release No. 33-11216 was effective for us during the third quarter of 2023. The adoption of this guidance did not have a material impact on the Company&#8217;s consolidated financial statements and disclosures.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In December 2022, the SEC adopted the final rule under SEC Release No. 33-11138,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> "Insider Trading Arrangements and Related Disclosures</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">," which requires new disclosures regarding insider trading policies and procedures, the use of Rule 10b5-1 plans by directors and officers, and stock option grants issued in close proximity to the release of material nonpublic information. SEC Release No. 33-11138 was effective for us for our second quarter of 2023, and did not have a material impact on our consolidated financial statements and disclosures.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Recently Issued Accounting Guidance &#8211; Not Yet Adopted</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In December 2023, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued ASU 2023-09, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Income Taxes (Topic 740) - Improvements to Income Tax Disclosures.&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ASU 2023-09 enhances the transparency and decision usefulness of income tax disclosures by requiring consistent categories and greater disaggregation of information in the rate reconciliation and income taxes paid disaggregated by jurisdiction. ASU 2023-09 will be effective for the Company in its income tax disclosure included in its 2025 Annual Report on Form 10-K and will be applied on a prospective basis. However, retrospective application is permitted. Early adoption is also permitted. Besides a change in income tax disclosures, the Company does not expect the adoption of ASU 2023-09 to have a material impact on its consolidated financial statements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">    </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In November 2023, the FASB issued ASU 2023-07, &#8220;S</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">egment Reporting (Topic 820) - Improvements to Reportable Segment Disclosures.&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ASU </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2023-07 will improve reportable segment disclosure requirements, primarily through enhanced annual and interim disclosures about significant segment expenses that are regularly provided to the CODM. The disclosure required under  ASU 2023-07 are also required for public entities with a single reportable segment. ASU 2023-07 will be effective for the Company for annual periods beginning on January 1, 2024 and interim periods beginning on January 1, 2025. The amendments of this guidance apply retrospectively to all prior periods presented in the consolidated financial statements. Early adoption is</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">permitted. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Besides presentation in the segment footnote for its interim reporting, the Company does not expect the adoption of ASU 2023-07 to have a material impact on its consolidated financial statements.</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_AccruedLiabilitiesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accrued Liabilities, Policy [Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_AccruedLiabilitiesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Risks and Uncertainties in Entities Business [Policy Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdvertisingCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for advertising cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 35<br> -Topic 720<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483406/720-35-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvertisingCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/235/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Entity's cash and cash equivalents accounting policy with respect to restricted balances. Restrictions may include legally restricted deposits held as compensating balances against short-term borrowing arrangements, contracts entered into with others, or company statements of intention with regard to particular deposits; however, time deposits and short-term certificates of deposit are not generally included in legally restricted deposits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478898/942-825-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskCreditRisk</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit loss on financial instrument measured at amortized cost basis, net investment in lease, off-balance sheet credit exposure, and available-for-sale debt security. Includes, but is not limited to, methodology used to estimate allowance for credit loss, how writeoff of uncollectible amount is recognized, and determination of past due status and nonaccrual status.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.M.2.Q4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483530/326-20-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-14<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 5A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479391/326-20-30-5A<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-3C<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 8A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479366/326-20-35-8A<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-3D<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479344/326-20-45-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479175/326-30-30-1B<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479106/326-30-50-3C<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479106/326-30-50-3A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479106/326-30-50-3D<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 13A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479148/326-30-35-13A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 4A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479391/326-20-30-4A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 7A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479148/326-30-35-7A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-21<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-11<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479106/326-30-50-7<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-17<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditLossFinancialInstrumentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for its derivative instruments and hedging activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 815<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(n))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-1A<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/830/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-20<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-19<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-17<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483080/330-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483489/210-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 330<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478411/912-330-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/330/tableOfContent<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483080/330-10-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482989/270-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for recording, valuing, and reporting amounts due from lessees pursuant to contractual arrangements, which are secured, at a minimum, by the asset being rented, and in measuring certain revenues, expenses and gains and losses arising from creating, acquiring, collecting, terminating, modifying and holding lease agreements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 840<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481440/840-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 840<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481501/840-20-50-4<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 840<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481161/840-30-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MarketableSecuritiesPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for investment classified as marketable security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 320<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477268/942-320-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MarketableSecuritiesPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRecognitionPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRecognitionPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for segment reporting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-29<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 36<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-36<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-29<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-29<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-29<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-29<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-29<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-29<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.C.Q3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.1.Q5)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.3.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2.Q6)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/718/tableOfContent<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-12<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674431766752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Restatement of Previously Issued Financial Statement (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingChangesAndErrorCorrectionsAbstract', window );"><strong>Accounting Changes and Error Corrections [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock', window );">Schedule of restatement on each financial statement</a></td>
<td class="text"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following tables present the impact of the financial statement adjustments on the Company's previously reported consolidated financial statements.</span><div>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.41%;box-sizing:content-box;"></td>
        <td style="width:1.18%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.242%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.18%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.242%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.28%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.222%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.242%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Revenue Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Restated</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">ASSETS</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Current assets:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Marketable securities held to maturity</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">Accounts receivable, net of reserves of $</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,122</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;and $</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,365</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;at<br/>&#160;&#160;&#160;December 31, 2023 and December 31, 2022, respectively</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">124,161</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">124,161</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventories, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">202,321</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">202,321</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">33,238</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">303</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">33,541</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total current assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,111,043</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">303</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,111,346</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Noncurrent assets:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property, plant and equipment, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">207,440</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">207,440</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Intangible assets, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">400,486</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,471</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">406,957</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">987,120</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">987,120</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,530</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,530</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">115,515</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">115,515</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other noncurrent assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,277</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,277</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total noncurrent assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,713,368</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,471</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,719,839</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,824,411</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">303</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,471</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,831,185</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">LIABILITIES AND STOCKHOLDERS' EQUITY</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Current liabilities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">19,563</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">19,563</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,631</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,631</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Current contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12,983</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12,983</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">50,533</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,780</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">57,313</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Convertible Senior Notes due 2024, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">69,452</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">69,452</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total current liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">158,162</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,780</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">164,942</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Noncurrent liabilities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Convertible Senior Notes due 2028, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">510,143</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">510,143</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">40,466</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">903</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">239</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">39,324</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Noncurrent operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">126,578</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">126,578</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Noncurrent contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,070</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,070</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other noncurrent liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,789</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;"><span style="-sec-ix-hidden:F_f6be4637-cef0-4d20-94ff-4351dbd23794;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,494</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">11,283</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total noncurrent liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">695,046</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">903</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,255</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">701,398</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">853,208</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,877</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,255</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">866,340</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:9pt;"><span style="-sec-ix-hidden:F_0acfdd04-3b72-46e2-851e-b95899936c90;"><span style="-sec-ix-hidden:F_1f00a0dc-85df-45f3-823c-2e66daf692bb;"><span style="-sec-ix-hidden:F_eef92064-b3a7-4175-a0a0-71dc9aad4828;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Commitments and contingencies (Note 14)</span></span></span></span></span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stockholders' equity:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">Preferred stock, $</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.01</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;par value, </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,000,000</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;shares authorized, </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;shares issued or outstanding</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">Common stock, $</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.01</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;par value; </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">80,000,000</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;shares authorized; </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">55,766,078</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;&#160;shares at December 31, 2023 and </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">55,557,698</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;shares at December 31, 2022  issued and outstanding</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">558</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">558</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Additional paid-in capital</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,569,227</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,569,227</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accumulated other comprehensive loss</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">37,431</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">377</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">37,808</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accumulated earnings</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">438,849</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,197</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">784</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">432,868</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total stockholders&#8217; equity</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,971,203</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,574</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">784</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,964,845</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total liabilities and stockholders&#8217; equity</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,824,411</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">303</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,471</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,831,185</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.443%;box-sizing:content-box;"></td>
        <td style="width:1.341%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.341%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.461%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Revised</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">ASSETS</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Intangible assets, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">353,676</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,942</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">360,618</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total noncurrent assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,526,540</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,942</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,533,482</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,524,658</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,942</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,531,600</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">LIABILITIES AND STOCKHOLDERS' EQUITY</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other noncurrent liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,814</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,942</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">10,756</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total noncurrent liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">209,762</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,942</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">216,704</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">613,958</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,942</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">620,900</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total liabilities and stockholders&#8217; equity</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,524,658</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,942</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,531,600</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.41%;box-sizing:content-box;"></td>
        <td style="width:1.18%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.242%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.18%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.242%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.28%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.222%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.242%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Year Ended December 31, 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Revenue Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Restated</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Products</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">638,381</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,402</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">631,979</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Royalty and other revenue</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">383</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">383</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">638,764</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,402</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">632,362</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Costs and operating expenses:</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of product revenue</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">353,922</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">353,922</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and development</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">42,722</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">42,722</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Selling, general and administrative</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">218,113</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">471</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">218,584</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">30,569</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">30,569</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total costs and operating expenses</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">584,188</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">471</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">584,659</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income from operations</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">54,576</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,402</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">471</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">47,703</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other income (expenses):</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Investment income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">24,135</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">24,135</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Interest expense</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,951</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">552</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,503</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Loss on extinguishment of debt</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12,676</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12,676</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amortization of debt issuance costs</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">8,075</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">8,075</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other income (expenses)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">8,123</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">8,123</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other income (expenses), net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">9,556</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">552</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">9,004</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income before income taxes</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">64,132</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,402</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,023</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">56,707</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income tax provision</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">22,555</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,205</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">239</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">21,111</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">41,577</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,197</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">784</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">35,596</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnings per share:</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Basic</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.75</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.09</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.02</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.64</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Diluted (Note 3)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.74</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.09</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.02</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.63</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average common shares outstanding:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Basic</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">55,720</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">55,720</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Diluted (Note 3)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">56,377</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">56,377</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">41,577</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,197</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">784</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">35,596</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other comprehensive income (loss):</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign currency translation adjustment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,037</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">377</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,414</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Comprehensive income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">38,540</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,574</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">784</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">32,182</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:11.14%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:4.3%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:4.3%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:4.3%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:4.3%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:4.22%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:4.36%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:4.36%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:4.36%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:4.36%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:4.36%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:4.36%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:5.28%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated Other Comprehensive Loss</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated Earnings</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total Stockholders' Equity</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Revenue Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Restated</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Revenue Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Restated</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Revenue Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Restated</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2022</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">34,394</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">34,394</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">397,272</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">397,272</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,910,700</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,910,700</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">41,577</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,197</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">784</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">35,596</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">41,577</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,197</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">784</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">35,596</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Translation adjustment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,037</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">377</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,414</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,037</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">377</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,414</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2023</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">37,431</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">377</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">37,808</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">438,849</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,197</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">784</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">432,868</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,971,203</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,574</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">784</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,964,845</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.38%;box-sizing:content-box;"></td>
        <td style="width:1.08%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.356%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.08%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.356%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.18%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.216%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.356%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Year Ended December 31, 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Revenue Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Restated</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash flows from operating activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">41,577</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,197</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">784</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">35,596</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Adjustments to reconcile net income to net cash provided by operating activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory step-up charges</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,238</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,238</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Depreciation and amortization</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">68,085</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">471</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">68,556</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amortization of debt discount and issuance costs</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,448</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,448</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">25,575</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">25,575</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred income taxes, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,317</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">903</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">239</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,175</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">30,569</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">30,569</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-cash interest income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,023</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,023</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Loss on extinguishment of debt</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12,676</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12,676</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset amortization</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,059</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,499</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">17,558</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,231</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">552</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,783</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Changes in operating assets and liabilities, excluding impact of acquisitions:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,312</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,312</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventories</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">40,973</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">40,973</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,030</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">303</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,333</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">461</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">461</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">9,803</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">9,803</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued expenses</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">27,921</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,403</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">21,518</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">9,229</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,499</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12,728</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-term liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">87</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">87</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash provided by operating activities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">113,918</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">113,918</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash flows from investing activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Redemption of marketable securities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">102,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">102,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Additions to capitalized software costs</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,766</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,766</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisitions, net of cash acquired</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">186,642</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">186,642</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Purchases of property, plant and equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">36,222</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">36,222</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Purchase of intellectual property</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other investing activities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">32</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">32</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash used in investing activities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">123,275</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">123,275</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash flows from financing activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Repurchase of common stock</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,386</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,386</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Proceeds from issuance of 2023 Convertible Senior Notes</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">290,094</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">290,094</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Proceeds from exercise of stock options</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,076</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,076</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payment of debt issuance costs</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,253</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,253</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payment of tax withholding obligation on vesting of restricted stock</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,227</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,227</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payment of earnout consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,298</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,298</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other financing activities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">45</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;"><span style="-sec-ix-hidden:F_d983390b-710f-4bf6-984b-01a5c58be1af;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">45</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash provided by (used in) financing activities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">248,961</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">248,961</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of exchange rate changes on cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">11,739</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">11,739</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net increase (decrease) in cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">227,865</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">227,865</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents, beginning of period</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">523,458</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">523,458</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents, end of period</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Supplemental disclosure of cash flow information:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income taxes paid</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">26,963</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">26,963</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Interest paid</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">988</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">988</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Supplemental disclosure of non-cash investing and financing activities:</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Assets acquired under operating leases</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,335</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,335</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Fair value of shares of common stock issued for acquisitions</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,569</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,569</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Fair value of shares of common stock issued for contingent consideration earnouts</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,229</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,229</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition date fair value of contingent consideration earnouts</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,640</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,640</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Issuance of 2023 Notes in exchange of 2019 Notes</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">42,179</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">42,179</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Extinguished 2019 Notes</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">29,634</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">29,634</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.443%;box-sizing:content-box;"></td>
        <td style="width:1.341%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.341%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.461%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Year Ended December 31, 2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Revised</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash flows from operating activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Adjustments to reconcile net income to net cash provided by operating activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset amortization</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">24,549</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">30,576</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,027</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Changes in operating assets and liabilities, excluding impact of acquisitions:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">28,623</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">30,576</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,953</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash provided by operating activities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">172,083</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">172,083</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Supplemental disclosure of non-cash investing and financing activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition of intangible assets and issuance of financing liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,948</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,948</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.443%;box-sizing:content-box;"></td>
        <td style="width:1.341%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.341%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.461%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Year Ended December 31, 2021</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Previously Reported</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Other Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As Revised</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash flows from operating activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Adjustments to reconcile net income to net cash provided by operating activities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset amortization</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,315</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,870</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">10,555</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Changes in operating assets and liabilities, excluding impact of acquisitions:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,958</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,870</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,912</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash provided by operating activities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">119,016</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">119,016</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingChangesAndErrorCorrectionsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingChangesAndErrorCorrectionsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of prior period adjustments to previously issued financial statements including (1) the effect of the correction on each financial statement line item and any per-share amounts affected for each prior period presented (2) the cumulative effect of the change on retained earnings or other appropriate components of equity or net assets in the statement of financial position, as of the beginning of the earliest period presented, and (3) the effect of the prior period adjustments (both gross and net of applicable income tax) on the net income of each prior period presented in the entity's annual report for the year in which the adjustments are made.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674439281488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock', window );">Property, Plant and Equipment</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property, plant &amp; equipment is recorded at cost less allowances for depreciation. Depreciation is calculated using the straight-line method over the estimated useful life of the asset as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
        <table style="margin-left:3.333%;border-spacing:0;table-layout:fixed;width:96.0%;border-collapse:separate;">
         <tr style="visibility:collapse;">
          <td style="width:45.7%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:53.3%;box-sizing:content-box;"></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.5pt solid;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Classification</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated Useful Life</span></p></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Buildings</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Thirty years</span></span></p></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Leasehold improvements</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_97c658e9-763a-4c74-b869-847703160c86;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Shorter of the term of the lease or estimated useful life</span></span></span></p></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equipment</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_951db97f-38a2-4f75-b2a0-786c13d36d24;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Three</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to </span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">twelve years</span></span></p></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Furniture, fixtures and office equipment</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_a515c115-d6c2-4112-a709-4feb4a3856a2;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Three</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to </span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">eight years</span></span></p></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Computer hardware and software</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_dbc0aa1e-92ac-4d71-9c5b-67e87dcc2701;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Three</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to </span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">seven years</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;or estimated useful life</span></p></td>
         </tr>
         <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vehicles</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Five years</span></span></p></td>
         </tr>
        </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Reconciliation of Basic and Diluted Shares Amounts</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A reconciliation of basic and diluted weighted average share outstanding is as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
        <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
         <tr style="visibility:collapse;">
          <td style="width:57.477%;box-sizing:content-box;"></td>
          <td style="width:1.399%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:10.776%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1.399%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:10.776%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1.399%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:10.776%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands, except per share data)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Numerator:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35,596</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">185,959</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">128,291</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of dilutive securities:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;Charges associated with convertible debt instruments, net of tax</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">387</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;Numerator for diluted earnings per share - net income available to common stockholders after the effect of dilutive securities</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35,596</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">186,346</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">128,291</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Denominator:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average shares used in computing net income per<br/>&#160;&#160;&#160;share - basic</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">55,720</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">55,460</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">55,015</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of dilutive shares:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options and stock units</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">457</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">608</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">915</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Convertible senior notes</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">181</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,360</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,253</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Dilutive effect of unvested performance stock units</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Dilutive potential common shares</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">657</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,995</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,249</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">56,377</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">57,455</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">57,264</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnings per share:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Basic</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.64</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.35</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2.33</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Diluted</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.63</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.24</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2.24</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the dilutive impact for the Company's </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.375</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% Convertible Senior Notes due 2024 (the &#8220; 2019 Notes&#8221;) and its </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.00</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% Convertible Senior Notes due 2028 (the &#8220;2023 Notes&#8221;). As of December 31, 2023, the if-converted value is less than the outstanding principal of the 2023 Notes and are therefore anti-dilutive. Refer to Note 15, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> for more information.</span></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock', window );">Summary of Product Revenues by Product Line</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents product revenues by product line:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:49.24%;box-sizing:content-box;"></td>
          <td style="width:1.66%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:13.26%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1.66%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:13.26%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1.66%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:13.26%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span><span style="color:#000000;top:-3.752pt;white-space:pre-wrap;font-weight:bold;font-size:5.36pt;position:relative;min-width:fit-content;">(1)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span><span style="color:#000000;top:-3.752pt;white-space:pre-wrap;font-weight:bold;font-size:5.36pt;position:relative;min-width:fit-content;">(2)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Filtration products</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">341,379</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">495,930</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">403,505</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Chromatography products</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126,629</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">131,680</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">91,037</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Process analytics products</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">56,820</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">53,512</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">48,019</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Proteins products</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">103,463</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">114,320</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">123,707</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,688</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,741</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,051</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total product revenue</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">631,979</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">801,183</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">670,319</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table><div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#8220;FlexBiosys&#8221;) from April 17, 2023, as well as Metenova Holding AB (&#8220;Metenova&#8221;) from October 2, 2023.</span></div></div><div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(2)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2021 revenue for filtration products includes revenue related to Polymem S.A. (&#8220;Polymem&#8221;) from July 1, 2021, as well as BioFlex Solutions LLC (&#8220;BioFlex&#8221;) and Newton T&amp;M Corp. (&#8220;NTM&#8221;) from December 16, 2021 through December 31, 2021. 2021 revenue for proteins products includes revenue related to Avitide, Inc. (&#8220;Avitide&#8221;) from September 20, 2021 through December 31, 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> </span></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock', window );">Total Assets by Geographic Area</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s total assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:66.993%;box-sizing:content-box;"></td>
          <td style="width:1.62%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1.62%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Revised)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total assets by geographic locations:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,377,868</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,216,186</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">426,148</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">287,543</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,169</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,871</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total assets by geographic location</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,831,185</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,531,600</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock', window );">Long Lived Assets by Geographic Area</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s long-lived assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:66.993%;box-sizing:content-box;"></td>
          <td style="width:1.62%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1.62%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-lived assets by geographic locations:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">278,033</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">275,151</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43,280</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">38,541</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,919</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,819</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total long-lived assets by geographic location</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">324,232</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">316,511</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table><span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=rgen_SalesRevenuesGoodsNetMember', window );">Total Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock', window );">Percentage by Geographic Area or Significant Customers</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s total revenue by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented (based on the location of the customer):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:57.409%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:11.177999999999999%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:11.177999999999999%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
          <td style="width:11.238%;box-sizing:content-box;"></td>
          <td style="width:1%;box-sizing:content-box;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
          <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue by customers' geographic locations:</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">36</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">37</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">40</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC/Other</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
          <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
        </table><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Property And Equipment Useful Lives Table [Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of all significant reconciling items in the reconciliation of total assets from reportable segments to the entity's consolidated assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the names of foreign countries in which material long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets are located, and amount of such long-lived assets located in that country or foreign geographic area.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-21<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-20<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-18<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-20<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-16<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-21<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=rgen_SalesRevenuesGoodsNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=rgen_SalesRevenuesGoodsNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674435661184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock', window );">Summary of Cash, Cash Equivalents and Marketable Securities Held to Maturity</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the Company's cash, cash equivalents and marketable securities held to maturity as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:95.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:46.731%;box-sizing:content-box;"></td>
        <td style="width:1.78%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.538%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.78%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.538%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.78%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.538%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.78%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.538%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amortized<br/>&#160;Costs</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Unrealized<br/>Gains</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Unrealized<br/>Losses</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated<br/>Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash and cash equivalents:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and money market funds</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amortized <br/>Cost</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Unrealized<br/>Gains</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Unrealized<br/>Losses</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated<br/>Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash and cash equivalents:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and money market funds</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">523,458</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">523,458</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">523,458</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">523,458</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Marketable securities held to maturity:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">U.S. treasury bills - short-term</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100,299</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash, cash equivalents and marketable securities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">623,757</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">623,781</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock', window );">Schedule of Amortized Cost and Fair Value Held to Maturity Securities by Contractual Maturity</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The amortized cost and fair value of the Company's held to maturity securities by contractual maturity at December 31, 2022 are summarized below. There were no comparable investments as of December 31, 2023:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:56.949%;box-sizing:content-box;"></td>
        <td style="width:2.699%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.477%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:2.699%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.477%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:2.699%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31, 2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amortized<br/>&#160;Costs</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated<br/>Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Maturity of one year or less</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100,299</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;word-break:break-word;">
        <td style="background-color:#cff0fc;padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100,299</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100,323</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#ffffff;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock', window );">Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Financial assets and financial liabilities measured at fair value on a recurring basis consist of the following as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 and 2022:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:47.819%;box-sizing:content-box;"></td>
        <td style="width:1.24%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.24%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.24%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.24%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.804%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 1</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 2</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 3</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Assets:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Money market accounts</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">658,574</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">658,574</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Liabilities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Short-term contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12,983</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12,983</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-term contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,070</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,070</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 1</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 2</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 3</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Assets:</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Money market accounts</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">343,929</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">343,929</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Liabilities:</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Short-term contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,950</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,950</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-term contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">51,559</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">51,559</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock', window );">Schedule of Reconciliation of the Change in the Fair Value of Contingent Consideration - Earnout</a></td>
<td class="text"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A reconciliation of the change in fair value of contingent consideration &#8211; earnout is included in the following table (amounts in thousands):</span><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:78.56%;box-sizing:content-box;"></td>
        <td style="width:2.1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:17.34%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2022</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">65,509</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition date fair value of contingent consideration earnouts</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,640</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payment of contingent consideration earnouts</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,527</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Decrease in fair value of contingent consideration earnouts</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30,569</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2023</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,053</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock', window );">Schedule of Contingent Consideration Earnout Expect to be Required to Settle Include Significant Unobservable Inputs</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The recurring Level 3 fair value measurement of our contingent consideration &#8211; earnout that we expect to be required to settle our 2023, 2024 and 2025 contingent consideration obligation for Avitide, FlexBiosys and Metenova include the following significant unobservable inputs (amounts in thousands, except percent data):</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:18.524%;box-sizing:content-box;"></td>
        <td style="width:1.74%;box-sizing:content-box;"></td>
        <td style="width:1.08%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:13.903%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.163%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:16.383%;box-sizing:content-box;"></td>
        <td style="width:1.74%;box-sizing:content-box;"></td>
        <td style="width:11.942%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:13.283%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Contingent Consideration Earnout</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="3" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value as of<br/>&#160;December 31, 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Valuation Technique</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Unobservable Input</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Range</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted Average</span><span style="color:#000000;top:-4.221pt;white-space:pre-wrap;font-weight:bold;font-size:6.03pt;position:relative;min-width:fit-content;">(1)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Probability of</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Success</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Commercialization-based payments</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">20,094</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Monte Carlo<br/>Simulation</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnout Discount Rate</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.8</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.9</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.9</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Volatility</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12.5</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">24.6</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">21.9</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue and Volume-<br/>based payments</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,454</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Monte Carlo<br/>Simulation</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue &amp; Volume<br/>Discount Rate</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.5</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">9.3</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">8.3</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnout Discount Rate</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.8</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.2</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.1</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Probability of<br/>&#160;Success</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Manufacturing line expansions</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,505</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Probability-weighted present value</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnout Discount Rate</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.1</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.4</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.3</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">Unobservable inputs were weighted by the relative fair value of the contingent consideration liability.</span></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of cash, cash equivalents, and marketable securities held to maturity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the fair value held to maturity securities by contractual maturity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of input and valuation technique used to measure fair value and change in valuation approach and technique for each separate class of asset and liability measured on recurring and nonrecurring basis.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 103<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-103<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674433018400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember', window );">BioFlex And NTM Acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock', window );">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and estimated allocation of the purchase price consist of the following (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;box-sizing:content-box;"></td>
        <td style="width:1.94%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.823%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,870</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,408</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">741</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,034</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13,240</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,540</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">310</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">60</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,834</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long term deferred tax asset</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">224</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">450</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,030</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">31,571</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock', window );">Schedule of Identified Intangible Assets and Estimated Useful Lives</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the NTM Acquisition and their estimated useful lives:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.871%;box-sizing:content-box;"></td>
        <td style="width:1.82%;box-sizing:content-box;"></td>
        <td style="width:19.884%;box-sizing:content-box;"></td>
        <td style="width:1.82%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:20.604%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13,240</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,540</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">310</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">60</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,150</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember', window );">Avitide, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock', window );">Schedule of Business Combination Consideration Transferred</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total consideration transferred is as follows (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;box-sizing:content-box;"></td>
        <td style="width:1.94%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.823%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">74,962</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equity consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">82,968</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration - earnout</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">88,373</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">246,303</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock', window );">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and estimated allocation of the purchase price consist of the following (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;box-sizing:content-box;"></td>
        <td style="width:1.94%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.823%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">572</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">228</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">332</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">114</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,862</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,648</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24,580</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,650</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,210</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">210</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">197,476</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long term deferred tax asset</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,525</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">215</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,183</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">698</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,950</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">58</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">246,303</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock', window );">Schedule of Identified Intangible Assets and Estimated Useful Lives</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the Avitide Acquisition and their estimated useful lives:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.871%;box-sizing:content-box;"></td>
        <td style="width:1.82%;box-sizing:content-box;"></td>
        <td style="width:19.884%;box-sizing:content-box;"></td>
        <td style="width:1.82%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:20.604%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24,580</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,650</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">18 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,210</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">210</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">46,650</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember', window );">Polymem S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock', window );">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and final allocation of the purchase price consist of the following (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;box-sizing:content-box;"></td>
        <td style="width:1.94%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.823%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">353</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net working capital (excluding cash and inventory<br/>&#160;&#160;&#160;&#160;&#160;step-up)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">414</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory step-up</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">543</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,424</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,145</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,274</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradenames</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">510</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-compete agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">312</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35,680</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,253</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long term deferred tax liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,327</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other long-term liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">143</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:bold;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">46,973</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock', window );">Schedule of Identified Intangible Assets and Estimated Useful Lives</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the Polymem Acquisition and their estimated useful lives:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.871%;box-sizing:content-box;"></td>
        <td style="width:1.82%;box-sizing:content-box;"></td>
        <td style="width:19.884%;box-sizing:content-box;"></td>
        <td style="width:1.82%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:20.604%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,274</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">510</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">312</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,096</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember', window );">Metenova Holding AB</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock', window );">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and estimated allocation of the purchase price consist of the following (amounts in thousands):</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;box-sizing:content-box;"></td>
        <td style="width:1.94%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.823%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,768</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,730</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,421</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">470</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">433</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">615</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,659</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44,377</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">939</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">787</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">115,778</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,432</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,934</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">275</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax liability, long-term</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,481</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">255</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">172,600</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock', window );">Schedule of Identified Intangible Assets and Estimated Useful Lives</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the Metenova Acquisition and their estimated useful lives:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.871%;box-sizing:content-box;"></td>
        <td style="width:1.82%;box-sizing:content-box;"></td>
        <td style="width:19.884%;box-sizing:content-box;"></td>
        <td style="width:1.82%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:20.604%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,659</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44,377</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">939</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">787</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">58,762</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember', window );">FlexBiosys, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock', window );">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and estimated allocation of the purchase price consist of the following (amounts in thousands):</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;box-sizing:content-box;"></td>
        <td style="width:1.94%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.823%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,090</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">683</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">667</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,034</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,537</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,530</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,860</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">220</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,321</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other long-term assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">136</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">314</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">39</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,498</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41,030</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock', window );">Schedule of Identified Intangible Assets and Estimated Useful Lives</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the FlexBiosys Acquisition and their estimated useful lives:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.871%;box-sizing:content-box;"></td>
        <td style="width:1.82%;box-sizing:content-box;"></td>
        <td style="width:19.884%;box-sizing:content-box;"></td>
        <td style="width:1.82%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:20.604%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,530</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,860</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5 years</span></span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">220</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,640</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of business combination consideration transferred.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of finite-lived intangible assets acquired as part of a business combination or through an asset purchase, by major class and in total, including the value of the asset acquired, any significant residual value (the expected value of the asset at the end of its useful life) and the weighted-average amortization period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Paragraph 1<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674432910432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Restructuring Plan (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringAndRelatedActivitiesAbstract', window );"><strong>Restructuring and Related Activities [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock', window );">Summary of Restructuring Activities by Type of Cost</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the charges related to restructuring activities by type of cost:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:28.071%;box-sizing:content-box;"></td>
        <td style="width:1.281%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:11.825%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.281%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.905%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.281%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.624%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.281%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.264%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.281%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.904%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="18" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Year Ended December 31, 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Severance &amp; Employee-Related Costs</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Inventory Adjustments</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accelerated Depreciation</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Facility and Other Exit Costs</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="18" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of product revenue</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,077</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">23,588</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,788</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">933</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">30,386</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and development</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">116</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">116</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Selling, general and administrative</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,532</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">28</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">138</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,698</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,725</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">23,588</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,816</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,071</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">32,200</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock', window );">Summary of Activity Related to Restructuring Plan</a></td>
<td class="text"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Activity related to the Restructuring Plan for 2023 was as follows (amounts in thousands):</span>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:32.326%;box-sizing:content-box;"></td>
        <td style="width:1.5%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:13.903%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.5%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.143%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.5%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.523%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.5%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.102%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Restructuring Costs</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amounts Paid in 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Non-Cash Restructuring Items</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Restructuring Liability</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;word-break:break-word;">
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Severance &amp; employee-related costs</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,725</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,044</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">217</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#ffffff;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">464</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory adjustments</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">23,588</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">23,588</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;word-break:break-word;">
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accelerated depreciation</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,816</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,816</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#ffffff;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Facility exit and other exit costs</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,071</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,061</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;word-break:break-word;">
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">32,200</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,105</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">27,631</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#ffffff;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">464</span></p></td>
        <td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringAndRelatedActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringAndRelatedActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of costs incurred for restructuring including, but not limited to, exit and disposal activities, remediation, implementation, integration, asset impairment, and charges against earnings from the write-down of assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.P.3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479823/420-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479823/420-10-S99-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482017/420-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost. This element may also include a description of any reversal and other adjustment made during the period to the amount of an accrued liability for restructuring activities. This element may be used to encapsulate the roll forward presentations of an entity's restructuring reserve by type of cost and in total, and explanation of changes that occurred in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4.b.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479823/420-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482017/420-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674574341712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Summary of Maturities of Operating Lease Liabilities</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The maturities of the Company&#8217;s operating lease liabilities as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 are as follows (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:72.84%;box-sizing:content-box;"></td>
        <td style="width:2.2%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:22.959999999999997%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2024</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,585</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2025</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,645</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2026</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,406</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2027</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">23,944</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2028</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24,382</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2029 and thereafter</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">79,435</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total future minimum lease payments</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">201,397</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less lease incentives</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,765</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less amount of lease payment representing interest</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">32,595</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total operating lease liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">159,037</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">The future minimum lease payments include obligations for leases not yet commenced of $</span><span style="font-size:9pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">26.8</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> million for manufacturing, office and warehouse facilities. These leases have terms of between </span><span style="font-size:9pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">5</span></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> and </span><span style="font-size:9pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">10</span></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> years and commence during the first quarter of 2024.</span></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock', window );">Summary of Operating Lease Liability</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total operating lease liabilities included on the Company&#8217;s consolidated balance sheets are as follows (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.28%;box-sizing:content-box;"></td>
        <td style="width:1.74%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:17.619999999999997%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.74%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:17.619999999999997%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,631</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,957</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126,578</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">131,389</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Minimum operating lease payments</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">132,209</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">138,346</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseCostTableTextBlock', window );">Summary of Operating Lease Cost</a></td>
<td class="text"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021, total lease cost is comprised of the following:</span><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:44.489%;box-sizing:content-box;"></td>
        <td style="width:1.5%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.083%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.5%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.083%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.26%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.083%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Lease Cost</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease cost</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,981</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,833</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,838</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Variable operating lease cost</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,075</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11,317</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,118</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Lease cost</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,056</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">29,150</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,956</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock', window );">Schedule of Supplemental Disclosure of Cash Flows Related to Operating Leases</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following information represents supplemental disclosure for the consolidated statements of cash flows related to operating leases (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:44.489%;box-sizing:content-box;"></td>
        <td style="width:1.5%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.083%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.5%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.083%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.26%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.083%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease cost</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,862</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13,757</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,863</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock', window );">Schedule of Weighted Average Discount Rate and Lease Term Used in Calculating Lease Liabilities</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The weighted average remaining lease term and the weighted average discount rate used to measure the Company&#8217;s operating lease liabilities as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, were:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:75.735%;box-sizing:content-box;"></td>
        <td style="width:1.42%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:20.844%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average remaining lease term (years)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7.74</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average discount rate</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.13</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>na</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of discount rate and remaining lease term of operating and financial leases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of supplemental disclosure for the consolidated statements of cash flows related to operating leases</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCostTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674432965088">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Disaggregation of Revenue</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021 was as follows:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:49.24%;box-sizing:content-box;"></td>
        <td style="width:1.66%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:13.26%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.66%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:13.26%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.66%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:13.26%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Product revenue</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">631,979</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">801,183</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">670,319</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Royalty and other income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">383</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">353</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">215</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">632,362</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">801,536</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">670,534</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Summary of Receivables and Deferred Revenue from Contracts with Customers</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table provides information about receivables and deferred revenue from contracts with customers as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 (amounts in thousands):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:70.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:67.72%;box-sizing:content-box;"></td>
        <td style="width:1.64%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:13.040000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.64%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:11.96%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balances from contracts with customers only:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">124,161</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">116,247</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred revenue (included in accrued liabilities and<br/>&#160;&#160;&#160;other noncurrent liabilities in the consolidated <br/>&#160;&#160;&#160;balance sheets)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,536</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19,631</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue recognized during periods presented relating to:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">The beginning deferred revenue balance</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">18,751</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13,390</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674431800352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Credit Losses (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditLossAbstract', window );"><strong>Credit Loss [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock', window );">Summary Of Allowance For Credit Losses For Accounts Receivables</a></td>
<td class="text"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table provides a roll-forward of the allowance for credit losses in 2023 and 2022 that is deducted from the amortized cost basis of accounts receivable to present the net amount expected to be collected (amounts in thousands):</span><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance of allowance for credit losses, beginning of period</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,365</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,417</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Current period change for write-offs</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">82</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Current period change for expected credit losses</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">839</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">74</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance of allowance for credit losses, end of period</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,122</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,365</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditLossAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674529403184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfGoodwillTextBlock', window );">Changes in Carrying Value of Goodwill</a></td>
<td class="text"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the changes in the carrying value of goodwill for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 and 2022 (amounts in thousands):</span><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;box-sizing:content-box;"></td>
        <td style="width:1.94%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.823%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of December 31, 2021</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">860,362</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Measurement period adjustment - BioFlex</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">346</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Measurement period adjustment - Avitide</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,768</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cumulative translation adjustment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,735</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of December 31, 2022</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">855,513</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition of FlexBiosys, Inc.</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,321</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition of Metenova Holding AB</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">115,778</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cumulative translation adjustment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,508</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of December 31, 2023</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">987,120</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of Intangible Assets</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets, net consisted of the following at </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.31%;box-sizing:content-box;"></td>
        <td style="width:1.18%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.258000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.18%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.278%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.2%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.298%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.16%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.138%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Carrying<br/>Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated<br/>Amortization</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Net<br/>Carrying<br/>Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted<br/>Average<br/>Useful Life<br/>(in years)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Finite-lived intangible assets:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Technology - developed</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">256,536</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44,633</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">211,903</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Patents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">240</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">240</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">269,949</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">83,963</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">185,986</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademarks</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,757</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,789</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,968</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other intangibles</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,914</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,514</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,400</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total finite-lived intangible assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">539,396</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">133,139</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">406,257</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Indefinite-lived intangible asset:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademarks</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">700</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">700</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total intangible assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">540,096</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">133,139</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">406,957</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets consisted of the following at December 31, 2022:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.31%;box-sizing:content-box;"></td>
        <td style="width:1.18%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.258000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.18%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.278%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.2%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.298%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.16%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.138%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31, 2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Carrying<br/>Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated<br/>Amortization</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Net<br/>Carrying<br/>Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted<br/>Average<br/>Useful Life<br/>(in years)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Finite-lived intangible assets:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Revised)</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Revised)</span></p></td>
        <td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Technology - developed</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">197,405</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30,992</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">166,413</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Patents</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">240</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">240</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">252,934</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">66,559</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">186,375</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademarks</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,682</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,319</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,363</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other intangibles</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,811</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,044</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">767</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total finite-lived intangible assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">461,072</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">101,154</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">359,918</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Indefinite-lived intangible asset:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademarks</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">700</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">700</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total intangible assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">461,772</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">101,154</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">360,618</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock', window );">Schedule of Amortization Expense for Amortized Intangible Assets</a></td>
<td class="text"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, the Company expects to record the following amortization expense (amounts in thousands): </span><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;box-sizing:content-box;"></td>
        <td style="width:1.94%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:15.823%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amortization</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Expense</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2024</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34,785</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2025</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34,350</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2026</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,995</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2027</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,892</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2028</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,160</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2029 and thereafter</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">236,075</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">406,257</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Finite Lived And Indefinite Lived Intangible Assets [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of amortization expense of assets, excluding financial assets, that lack physical substance, having a limited useful life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfGoodwillTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1A<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfGoodwillTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674431828480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Balance Sheet Detail (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Disclosure Text Block [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Inventories</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Inventories, net</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inventories, net consists of the following:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Raw materials</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">123,598</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">149,438</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Work-in-process</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,492</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,183</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Finished products</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">74,231</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">82,656</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total inventories, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">202,321</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">238,277</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock', window );">Prepaid Expenses and Other Current Assets</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Prepaid Expenses and Other Current Assets</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prepaid expenses and other current assets consist of the following:</span></p><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equipment maintenance and services</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,605</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,135</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid income taxes</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,532</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">519</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid insurance</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,087</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,909</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13,317</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,274</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total prepaid expenses and other current assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,541</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19,837</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Property, Plant and Equipment</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Property, Plant and Equipment</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property, plant and equipment consist of the following:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Land</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">992</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,003</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Buildings</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,667</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,599</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Leasehold improvements</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126,663</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">115,672</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">114,606</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">94,613</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Furniture, fixtures and office equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,077</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,307</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Computer hardware and software</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35,528</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">29,813</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Construction in progress</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">47,086</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">31,553</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">544</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">420</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total property, plant and equipment</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">336,163</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">282,980</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less - Accumulated depreciation</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">128,723</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">92,307</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total property, plant and equipment, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">207,440</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">190,673</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Accrued Liabilities</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accrued Liabilities</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accrued liabilities consist of the following:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Employee compensation</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,660</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,522</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred revenue</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,067</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19,283</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income taxes payable</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,814</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,459</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,772</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15,856</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total accrued liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">57,313</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">71,120</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amounts paid in advance for capitalized costs that will be expensed with the passage of time or the occurrence of a triggering event, and will be charged against earnings within one year or the normal operating cycle, if longer; the aggregate carrying amount of current assets, not separately presented elsewhere in the balance sheet; and other deferred costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483489/210-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674529398992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock', window );">Income Before Income Taxes</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components of income before income taxes are as follows:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.477%;box-sizing:content-box;"></td>
        <td style="width:1.399%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.776%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.399%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.776%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.399%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.776%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Domestic</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24,888</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">153,446</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81,984</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81,595</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">65,694</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">71,559</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income before income taxes</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">56,707</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">219,140</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">153,543</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Income Tax Provision (Benefit)</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components of the income tax provision are as follows:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.477%;box-sizing:content-box;"></td>
        <td style="width:1.399%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.776%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.399%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.776%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.399%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.776%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Components of the income tax provision:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Current</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19,941</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34,800</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,166</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,170</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,619</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,086</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21,111</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,181</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,252</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Jurisdictional components of the income tax provision:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Federal</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,272</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,662</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,321</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">State</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">26</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,381</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,251</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">18,865</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,138</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15,680</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21,111</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,181</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,252</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Consolidated Deferred Tax Assets (Liabilities)</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components of deferred income taxes are as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.883000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax assets:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Revised)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation expense</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,120</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,323</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating leases</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30,727</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">31,564</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Capitalized research and development</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,568</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,102</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,131</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,983</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net operating loss carryforwards</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,648</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,808</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Business tax credit carryforwards</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,531</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,639</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,063</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,061</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total deferred tax assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">83,788</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">70,480</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less: valuation allowance</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net deferred tax assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">83,768</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">70,461</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax liabilities:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Fixed assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,716</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">18,965</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquired intangible assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">58,467</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">45,170</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use assets</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">26,373</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">28,486</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Debt discount</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19,006</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total deferred tax liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">121,562</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">92,621</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total net deferred tax liabilities</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">37,794</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,160</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Reconciliation of Federal Statutory Rate to Effective Income Tax Rate</a></td>
<td class="text"><p style="margin-left:1.667%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The reconciliation of the federal statutory rate to the effective income tax rate for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021 is as follows:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:92.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:33.94%;box-sizing:content-box;"></td>
        <td style="width:1.04%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:7.54%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:8.44%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.04%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:7.54%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:8.44%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.04%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:7.54%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:8.44%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="22" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="22" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands, except percentages)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(As Restated)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income before income taxes</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">56,707</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">219,140</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">153,543</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Expected tax at statutory rate</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">11,910</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">21.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">46,020</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">21.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">32,247</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">21.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Adjustments due to:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Difference between U.S. and foreign tax</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,078</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.9</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,024</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.5</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">530</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.3</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">State income taxes</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,224</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.2</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,509</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.6</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,462</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Business tax credits</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,522</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">8.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,139</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.3</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,239</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.5</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation expense</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,461</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.3</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,638</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.6</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">9,049</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.9</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">U.S. taxation of foreign earnings</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">539</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">83</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">30</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign-derived intangible income</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,042</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.3</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,547</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.7</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Executive compensation</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,084</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.4</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,441</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.5</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,397</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.2</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,412</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">11.3</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,033</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.8</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,232</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.8</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Loss on extinguishment of debt</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,634</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.6</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Debt discount</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">16,650</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">29.4</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign exchange loss</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,288</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Uncertain tax provisions</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">165</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.3</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">234</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">443</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.3</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Change in valuation allowance</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">688</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.3</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">48</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Return to provision adjustments</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,255</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.2</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">498</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.2</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">50</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">765</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.2</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">92</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">730</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.5</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income tax provision</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">21,111</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">37.2</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">33,181</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">15.1</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">25,252</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">16.4</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SummaryOfIncomeTaxExaminationsTextBlock', window );">Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s tax returns are subject to examination by federal, state and foreign tax authorities. The Company&#8217;s two major tax jurisdictions are subject to examination for the following periods:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:78.98%;box-sizing:content-box;"></td>
        <td style="width:2.06%;box-sizing:content-box;"></td>
        <td style="width:18.96%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Jurisdiction</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fiscal Years Subject to Examination</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">United States - federal and state</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="-sec-ix-hidden:F_b3baf8b7-ef1b-4f8a-837f-4cd1d791b6a7;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2019-2023</span></span></span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Sweden</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="-sec-ix-hidden:F_4d9bd1d4-0a18-4e8f-a46b-04210d4baa9b;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2018-2023</span></span></span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock', window );">Reconciliation of Unrecognized Tax Benefits</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following is a tabular reconciliation of the total amounts of unrecognized tax benefits:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
       <tr style="visibility:collapse;">
        <td style="width:65.266%;box-sizing:content-box;"></td>
        <td style="width:1.701%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:13.665000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.701%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:13.665000000000001%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance of gross unrecognized tax benefits, beginning of period</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,996</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,786</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Gross amounts of increases in unrecognized tax benefits as a result <br/>&#160;&#160;&#160;&#160;&#160;of tax positions taken in the current period</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">178</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">146</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Gross amounts of increases in unrecognized tax benefits as a result <br/>&#160;&#160;&#160;&#160;&#160;of tax positions taken in the prior period</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">53</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">64</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Gross amounts of decreases due to release</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">88</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance of gross unrecognized tax benefits, end of period</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,139</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,996</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of income before income tax between domestic and foreign jurisdictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the change in unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 217<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-217<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SummaryOfIncomeTaxExaminationsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of income tax examinations that an enterprise is currently subject to or that have been completed in the current period typically including a description of the examination, the jurisdiction conducting the examination, the tax year(s) under examination, the likelihood of an unfavorable settlement, the range of possible losses, the liability recorded, the increase or decrease in the liability from the prior period, and any penalties and interest that have been recorded.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SummaryOfIncomeTaxExaminationsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674432927456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Stock-Based Compensation Expense</a></td>
<td class="text"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table presents stock-based compensation expense in the Company&#8217;s consolidated statements of comprehensive income: </span><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.437%;box-sizing:content-box;"></td>
        <td style="width:1.339%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.816%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.339%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.836%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.339%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:10.896%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of product revenue</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,933</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,525</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,021</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and development</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,855</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,622</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,856</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Selling, general and administrative</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,787</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,169</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,623</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total stock-based compensation</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,575</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,316</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,500</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">Estimated Weighted Average Assumptions</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The fair value of stock option awards granted during the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021 were calculated using the following estimated assumptions:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:51.27%;box-sizing:content-box;"></td>
        <td style="width:1.6%;box-sizing:content-box;"></td>
        <td style="width:14.643%;box-sizing:content-box;"></td>
        <td style="width:1.6%;box-sizing:content-box;"></td>
        <td style="width:14.643%;box-sizing:content-box;"></td>
        <td style="width:1.6%;box-sizing:content-box;"></td>
        <td style="width:14.643%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="5" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Expected term (in years)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.14</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.5</span></span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.5</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.5</span></span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.5</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.5</span></span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Expected volatility (range)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44.78</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">46.58</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41.44</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43.96</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44.57</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">45.27</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Risk-free interest rate</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.56</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.71</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1.86</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.07</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.77</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1.07</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Expected dividend yield</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Summary of Option Activity</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Information regarding option activity for the year ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, under the Plans is summarized below:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.11%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.662%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.22%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:8.942%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.662%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.22%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:9.182%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Shares</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted<br/>average<br/>exercise<br/>price</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted-<br/>Average<br/>Remaining<br/>Contractual<br/>Term<br/>(in Years)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Aggregate<br/>Intrinsic<br/>Value<br/>(in Thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options outstanding at December 31, 2022</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">609,965</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">71.74</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Granted</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">90,305</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">168.22</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Exercised</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">40,211</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">26.76</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Forfeited/expired/cancelled</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,929</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">189.46</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options outstanding at December 31, 2023</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">649,130</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">85.97</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options exercisable at December 31, 2023</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">364,443</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">65.53</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vested and expected to vest at December 31, 2023</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">635,834</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">85.49</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.59</span></span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">61,888</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="margin-left:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div class="item-list-element-wrapper" style="margin-left:6.667%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.571084182443509%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the number of vested options as of December 31, 2023 plus the number of unvested options expected to vest as of December 31, 2023, based on the unvested outstanding options at </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> adjusted for estimated forfeiture rates of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock', window );">Summary of Restricted Stock Unit Activity</a></td>
<td class="text"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Information regarding stock unit activity, which includes activity for restricted stock units and performance stock units, for the year ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 under the Plans is summarized below:</span><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:65.92%;box-sizing:content-box;"></td>
        <td style="width:1.12%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:13.12%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.6%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.64%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.6%;box-sizing:content-box;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Shares</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted Average<br/>Grant Date<br/>Fair Value</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unvested at December 31, 2022</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">531,034</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">142.57</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Awarded</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">212,338</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">170.03</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vested</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">195,672</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">124.58</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Forfeited/cancelled</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">73,380</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">177.81</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unvested at December 31, 2023</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">474,320</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">155.59</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vested and expected to vest at December 31, 2023</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">413,249</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">152.74</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="margin-left:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the number of vested stock units as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, plus the number of unvested stock units expected to vest as of December 31, 2023, based on the unvested outstanding stock units at December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> adjusted for estimated forfeiture rates of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (f)(2)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674529450224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Convertible Senior Notes (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleDebtTableTextBlock', window );">Carrying Value of Convertible Senior Notes</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The carrying value of the Company&#8217;s convertible senior notes is as follows:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:67.08%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.84%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:1.62%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
        <td style="width:12.84%;box-sizing:content-box;"></td>
        <td style="width:1%;box-sizing:content-box;"></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,<br/>2023</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,<br/>2022</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">0.375% Convertible Senior Notes due 2024:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Principal amount</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">69,700</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">287,470</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unamortized debt issuance costs</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">248</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,855</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Carrying amount - Convertible Senior Notes due 2024, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">69,452</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">284,615</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">1.00% Convertible Senior Notes due 2028:</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Principal amount</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">600,000</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unamortized debt discount</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81,457</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unamortized debt issuance costs</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,400</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Carrying amount - Convertible Senior Notes due 2028, net</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">510,143</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConvertibleDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of convertible debt instrument. Includes, but is not limited to, principal amount and amortized premium or discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleDebtTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674529504864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Restatement of Previously Issued Financial Statements - Description of restatement adjustments - Additional Information (Detail)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2023 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_CancelledPurchaseOrderPayments', window );">Cancelled purchase order payment</a></td>
<td class="nump">$ 17.3<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ProductMember', window );">Product Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenue</a></td>
<td class="nump">$ 17.3<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_CancelledPurchaseOrderPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cancelled purchase order payments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_CancelledPurchaseOrderPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674439520336">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Condensed Consolidated Balance Sheets (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 751,323<span></span>
</td>
<td class="nump">$ 523,458<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_HeldToMaturitySecuritiesCurrent', window );">Marketable securities held to maturity</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">100,299<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net of reserves of $2,122 and $1,365 at December 31, 2023 and December 31, 2022, respectively</a></td>
<td class="nump">124,161<span></span>
</td>
<td class="nump">116,247<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">202,321<span></span>
</td>
<td class="nump">238,277<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">33,541<span></span>
</td>
<td class="nump">19,837<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">1,111,346<span></span>
</td>
<td class="nump">998,118<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">207,440<span></span>
</td>
<td class="nump">190,673<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">406,957<span></span>
</td>
<td class="nump">360,618<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">987,120<span></span>
</td>
<td class="nump">855,513<span></span>
</td>
<td class="nump">$ 860,362<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets</a></td>
<td class="nump">1,530<span></span>
</td>
<td class="nump">840<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right of use assets</a></td>
<td class="nump">115,515<span></span>
</td>
<td class="nump">125,023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other noncurrent assets</a></td>
<td class="nump">1,277<span></span>
</td>
<td class="nump">815<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsNoncurrent', window );">Total noncurrent assets</a></td>
<td class="nump">1,719,839<span></span>
</td>
<td class="nump">1,533,482<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">2,831,185<span></span>
</td>
<td class="nump">2,531,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">19,563<span></span>
</td>
<td class="nump">27,554<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liability</a></td>
<td class="nump">5,631<span></span>
</td>
<td class="nump">6,957<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent', window );">Current contingent consideration</a></td>
<td class="nump">12,983<span></span>
</td>
<td class="nump">13,950<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">57,313<span></span>
</td>
<td class="nump">71,120<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleNotesPayableCurrent', window );">Convertible Senior Notes due 2024, net</a></td>
<td class="nump">69,452<span></span>
</td>
<td class="nump">284,615<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">164,942<span></span>
</td>
<td class="nump">404,196<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleDebtNoncurrent', window );">Convertible Senior Notes due 2028, net</a></td>
<td class="nump">510,143<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent', window );">Deferred tax liabilities</a></td>
<td class="nump">39,324<span></span>
</td>
<td class="nump">23,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Noncurrent operating lease liability</a></td>
<td class="nump">126,578<span></span>
</td>
<td class="nump">131,389<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent', window );">Noncurrent contingent consideration</a></td>
<td class="nump">14,070<span></span>
</td>
<td class="nump">51,559<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other noncurrent liabilities</a></td>
<td class="nump">11,283<span></span>
</td>
<td class="nump">10,756<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesNoncurrent', window );">Total noncurrent liabilities</a></td>
<td class="nump">701,398<span></span>
</td>
<td class="nump">216,704<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">866,340<span></span>
</td>
<td class="nump">620,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (Note 14)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders' equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, $0.01 par value, 5,000,000 shares authorized, no shares issued or outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $0.01 par value; 80,000,000 shares authorized; 55,766,078 shares at December 31, 2023 and 55,557,698 shares at December 31, 2022 issued and outstanding</a></td>
<td class="nump">558<span></span>
</td>
<td class="nump">556<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">1,569,227<span></span>
</td>
<td class="nump">1,547,266<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(37,808)<span></span>
</td>
<td class="num">(34,394)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated earnings</a></td>
<td class="nump">432,868<span></span>
</td>
<td class="nump">397,272<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders' equity</a></td>
<td class="nump">1,964,845<span></span>
</td>
<td class="nump">1,910,700<span></span>
</td>
<td class="nump">$ 1,750,067<span></span>
</td>
<td class="nump">$ 1,529,150<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders' equity</a></td>
<td class="nump">2,831,185<span></span>
</td>
<td class="nump">2,531,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RestatementAxis=srt_ScenarioPreviouslyReportedMember', window );">As Previously Reported</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">751,323<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_HeldToMaturitySecuritiesCurrent', window );">Marketable securities held to maturity</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net of reserves of $2,122 and $1,365 at December 31, 2023 and December 31, 2022, respectively</a></td>
<td class="nump">124,161<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">202,321<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">33,238<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">1,111,043<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">207,440<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">400,486<span></span>
</td>
<td class="nump">353,676<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">987,120<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets</a></td>
<td class="nump">1,530<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right of use assets</a></td>
<td class="nump">115,515<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other noncurrent assets</a></td>
<td class="nump">1,277<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsNoncurrent', window );">Total noncurrent assets</a></td>
<td class="nump">1,713,368<span></span>
</td>
<td class="nump">1,526,540<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">2,824,411<span></span>
</td>
<td class="nump">2,524,658<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">19,563<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liability</a></td>
<td class="nump">5,631<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent', window );">Current contingent consideration</a></td>
<td class="nump">12,983<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">50,533<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleNotesPayableCurrent', window );">Convertible Senior Notes due 2024, net</a></td>
<td class="nump">69,452<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">158,162<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleDebtNoncurrent', window );">Convertible Senior Notes due 2028, net</a></td>
<td class="nump">510,143<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent', window );">Deferred tax liabilities</a></td>
<td class="nump">40,466<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Noncurrent operating lease liability</a></td>
<td class="nump">126,578<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent', window );">Noncurrent contingent consideration</a></td>
<td class="nump">14,070<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other noncurrent liabilities</a></td>
<td class="nump">3,789<span></span>
</td>
<td class="nump">3,814<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesNoncurrent', window );">Total noncurrent liabilities</a></td>
<td class="nump">695,046<span></span>
</td>
<td class="nump">209,762<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">853,208<span></span>
</td>
<td class="nump">613,958<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (Note 14)</a></td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders' equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, $0.01 par value, 5,000,000 shares authorized, no shares issued or outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $0.01 par value; 80,000,000 shares authorized; 55,766,078 shares at December 31, 2023 and 55,557,698 shares at December 31, 2022 issued and outstanding</a></td>
<td class="nump">558<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">1,569,227<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(37,431)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated earnings</a></td>
<td class="nump">438,849<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders' equity</a></td>
<td class="nump">1,971,203<span></span>
</td>
<td class="nump">1,910,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders' equity</a></td>
<td class="nump">2,824,411<span></span>
</td>
<td class="nump">2,524,658<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RestatementAxis=srt_RestatementAdjustmentMember', window );">Revenue Adjustments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_HeldToMaturitySecuritiesCurrent', window );">Marketable securities held to maturity</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net of reserves of $2,122 and $1,365 at December 31, 2023 and December 31, 2022, respectively</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">303<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">303<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right of use assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other noncurrent assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsNoncurrent', window );">Total noncurrent assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">303<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liability</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent', window );">Current contingent consideration</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">6,780<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleNotesPayableCurrent', window );">Convertible Senior Notes due 2024, net</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">6,780<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleDebtNoncurrent', window );">Convertible Senior Notes due 2028, net</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent', window );">Deferred tax liabilities</a></td>
<td class="num">(903)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Noncurrent operating lease liability</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent', window );">Noncurrent contingent consideration</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other noncurrent liabilities</a></td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesNoncurrent', window );">Total noncurrent liabilities</a></td>
<td class="num">(903)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">5,877<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (Note 14)</a></td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders' equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, $0.01 par value, 5,000,000 shares authorized, no shares issued or outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $0.01 par value; 80,000,000 shares authorized; 55,766,078 shares at December 31, 2023 and 55,557,698 shares at December 31, 2022 issued and outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(377)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated earnings</a></td>
<td class="num">(5,197)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders' equity</a></td>
<td class="num">(5,574)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders' equity</a></td>
<td class="nump">303<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RestatementAxis=rgen_OtherAdjustmentsMember', window );">Other Adjustments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_HeldToMaturitySecuritiesCurrent', window );">Marketable securities held to maturity</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net of reserves of $2,122 and $1,365 at December 31, 2023 and December 31, 2022, respectively</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">6,471<span></span>
</td>
<td class="nump">6,942<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right of use assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other noncurrent assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsNoncurrent', window );">Total noncurrent assets</a></td>
<td class="nump">6,471<span></span>
</td>
<td class="nump">6,942<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">6,471<span></span>
</td>
<td class="nump">6,942<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liability</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent', window );">Current contingent consideration</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleNotesPayableCurrent', window );">Convertible Senior Notes due 2024, net</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleDebtNoncurrent', window );">Convertible Senior Notes due 2028, net</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent', window );">Deferred tax liabilities</a></td>
<td class="num">(239)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Noncurrent operating lease liability</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent', window );">Noncurrent contingent consideration</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other noncurrent liabilities</a></td>
<td class="nump">7,494<span></span>
</td>
<td class="nump">6,942<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesNoncurrent', window );">Total noncurrent liabilities</a></td>
<td class="nump">7,255<span></span>
</td>
<td class="nump">6,942<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">7,255<span></span>
</td>
<td class="nump">6,942<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders' equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, $0.01 par value, 5,000,000 shares authorized, no shares issued or outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $0.01 par value; 80,000,000 shares authorized; 55,766,078 shares at December 31, 2023 and 55,557,698 shares at December 31, 2022 issued and outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated earnings</a></td>
<td class="num">(784)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders' equity</a></td>
<td class="num">(784)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders' equity</a></td>
<td class="nump">$ 6,471<span></span>
</td>
<td class="nump">$ 6,942<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 12: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 30: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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 after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479613/805-30-35-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479668/805-30-25-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled beyond one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479613/805-30-35-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479668/805-30-25-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConvertibleDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount of long-term convertible debt as of the balance sheet date, net of the amount due in the next twelve months or greater than the normal operating cycle, if longer. The debt is convertible into another form of financial instrument, typically the entity's common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConvertibleNotesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of the portion of long-term debt due within one year or the operating cycle if longer identified as Convertible Notes Payable. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleNotesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences, with jurisdictional netting, and liabilities classified as noncurrent and other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-45-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HeldToMaturitySecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allowance for credit loss, of investment in debt security measured at amortized cost (held-to-maturity), classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479344/326-20-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481800/320-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481830/320-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HeldToMaturitySecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 28: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-5<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478451/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RestatementAxis=srt_ScenarioPreviouslyReportedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RestatementAxis=srt_ScenarioPreviouslyReportedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RestatementAxis=srt_RestatementAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RestatementAxis=srt_RestatementAdjustmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RestatementAxis=rgen_OtherAdjustmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RestatementAxis=rgen_OtherAdjustmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674578414976">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Condensed Consolidated Balance Sheets (Parenthetical) (Detail) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingChangesAndErrorCorrectionsAbstract', window );"><strong>Accounting Changes and Error Corrections [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Accounts receivable, reserve for doubtful accounts</a></td>
<td class="nump">$ 2,122<span></span>
</td>
<td class="nump">$ 1,365<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="nump">5,000,000<span></span>
</td>
<td class="nump">5,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">80,000,000<span></span>
</td>
<td class="nump">80,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">55,766,078<span></span>
</td>
<td class="nump">55,557,698<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">55,766,078<span></span>
</td>
<td class="nump">55,557,698<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingChangesAndErrorCorrectionsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingChangesAndErrorCorrectionsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued for nonredeemable preferred shares and preferred shares redeemable solely at option of issuer. Includes, but is not limited to, preferred shares issued, repurchased, and held as treasury shares. Excludes preferred shares classified as debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674443120336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Consolidated Statements of Comprehensive Income (Detail) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="5">12 Months Ended</th>
</tr>
<tr>
<th class="th" colspan="2"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th" colspan="2"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenues [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 632,362<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 801,536<span></span>
</td>
<td class="nump">$ 670,534<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostsAndExpensesAbstract', window );"><strong>Costs and Expenses [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of product revenue</a></td>
<td class="nump">353,922<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">345,830<span></span>
</td>
<td class="nump">279,280<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="nump">42,722<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">43,936<span></span>
</td>
<td class="nump">34,274<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general and administrative</a></td>
<td class="nump">218,584<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">215,829<span></span>
</td>
<td class="nump">183,866<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Contingent consideration</a></td>
<td class="num">(30,569)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(28,729)<span></span>
</td>
<td class="nump">5,865<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostsAndExpenses', window );">Total costs and operating expenses</a></td>
<td class="nump">584,659<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">576,866<span></span>
</td>
<td class="nump">503,285<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">47,703<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">224,670<span></span>
</td>
<td class="nump">167,249<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpenseAbstract', window );"><strong>Other income (expenses):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentIncomeNet', window );">Investment income</a></td>
<td class="nump">24,135<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">6,978<span></span>
</td>
<td class="nump">176<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpenseNonoperating', window );">Interest expense</a></td>
<td class="num">(2,503)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(1,162)<span></span>
</td>
<td class="num">(11,278)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="num">(12,676)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AmortizationOfDebtIssuanceCost', window );">Amortization of debt issuance costs</a></td>
<td class="num">(8,075)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(1,815)<span></span>
</td>
<td class="num">(1,436)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income (expenses)</a></td>
<td class="nump">8,123<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(9,531)<span></span>
</td>
<td class="num">(1,168)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Other income (expenses), net</a></td>
<td class="nump">9,004<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(5,530)<span></span>
</td>
<td class="num">(13,706)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">56,707<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">219,140<span></span>
</td>
<td class="nump">153,543<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax provision</a></td>
<td class="nump">21,111<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">33,181<span></span>
</td>
<td class="nump">25,252<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 35,596<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 185,959<span></span>
</td>
<td class="nump">$ 128,291<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings per share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic</a></td>
<td class="nump">$ 0.64<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 3.35<span></span>
</td>
<td class="nump">$ 2.33<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted</a></td>
<td class="nump">$ 0.63<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 3.24<span></span>
</td>
<td class="nump">$ 2.24<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Weighted average common shares outstanding:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic</a></td>
<td class="nump">55,720<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">55,460<span></span>
</td>
<td class="nump">55,015<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted</a></td>
<td class="nump">56,377<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">57,455<span></span>
</td>
<td class="nump">57,264<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="nump">$ 35,596<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 185,959<span></span>
</td>
<td class="nump">$ 128,291<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract', window );"><strong>Other comprehensive income (loss):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="num">(3,414)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(17,508)<span></span>
</td>
<td class="num">(18,971)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive income</a></td>
<td class="nump">32,182<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">168,451<span></span>
</td>
<td class="nump">109,320<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ProductMember', window );">Products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenues [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">631,979<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">801,183<span></span>
</td>
<td class="nump">670,319<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[2]</sup></td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_RoyaltyMember', window );">Royalty and other revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenues [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">383<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 353<span></span>
</td>
<td class="nump">$ 215<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RestatementAxis=srt_ScenarioPreviouslyReportedMember', window );">As Previously Reported</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenues [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">638,764<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostsAndExpensesAbstract', window );"><strong>Costs and Expenses [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of product revenue</a></td>
<td class="nump">353,922<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="nump">42,722<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general and administrative</a></td>
<td class="nump">218,113<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Contingent consideration</a></td>
<td class="num">(30,569)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostsAndExpenses', window );">Total costs and operating expenses</a></td>
<td class="nump">584,188<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">54,576<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpenseAbstract', window );"><strong>Other income (expenses):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentIncomeNet', window );">Investment income</a></td>
<td class="nump">24,135<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpenseNonoperating', window );">Interest expense</a></td>
<td class="num">(1,951)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="num">(12,676)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AmortizationOfDebtIssuanceCost', window );">Amortization of debt issuance costs</a></td>
<td class="num">(8,075)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income (expenses)</a></td>
<td class="nump">8,123<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Other income (expenses), net</a></td>
<td class="nump">9,556<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">64,132<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax provision</a></td>
<td class="nump">22,555<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 41,577<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings per share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic</a></td>
<td class="nump">$ 0.75<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted</a></td>
<td class="nump">$ 0.74<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Weighted average common shares outstanding:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic</a></td>
<td class="nump">55,720<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted</a></td>
<td class="nump">56,377<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="nump">$ 41,577<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract', window );"><strong>Other comprehensive income (loss):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="num">(3,037)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive income</a></td>
<td class="nump">38,540<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RestatementAxis=srt_ScenarioPreviouslyReportedMember', window );">As Previously Reported | Products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenues [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">638,381<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RestatementAxis=srt_ScenarioPreviouslyReportedMember', window );">As Previously Reported | Royalty and other revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenues [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">383<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RestatementAxis=srt_RestatementAdjustmentMember', window );">Revenue Adjustments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenues [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="num">(6,402)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostsAndExpensesAbstract', window );"><strong>Costs and Expenses [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of product revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general and administrative</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Contingent consideration</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostsAndExpenses', window );">Total costs and operating expenses</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="num">(6,402)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpenseAbstract', window );"><strong>Other income (expenses):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentIncomeNet', window );">Investment income</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpenseNonoperating', window );">Interest expense</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AmortizationOfDebtIssuanceCost', window );">Amortization of debt issuance costs</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income (expenses)</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Other income (expenses), net</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="num">(6,402)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax provision</a></td>
<td class="num">(1,205)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="num">$ (5,197)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings per share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic</a></td>
<td class="num">$ (0.09)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted</a></td>
<td class="num">$ (0.09)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Weighted average common shares outstanding:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="num">$ (5,197)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract', window );"><strong>Other comprehensive income (loss):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="num">(377)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive income</a></td>
<td class="num">(5,574)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RestatementAxis=srt_RestatementAdjustmentMember', window );">Revenue Adjustments | Products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenues [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="num">(6,402)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RestatementAxis=srt_RestatementAdjustmentMember', window );">Revenue Adjustments | Royalty and other revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenues [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RestatementAxis=rgen_OtherAdjustmentsMember', window );">Other Adjustments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenues [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostsAndExpensesAbstract', window );"><strong>Costs and Expenses [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of product revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general and administrative</a></td>
<td class="nump">471<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Contingent consideration</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostsAndExpenses', window );">Total costs and operating expenses</a></td>
<td class="nump">471<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="num">(471)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpenseAbstract', window );"><strong>Other income (expenses):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentIncomeNet', window );">Investment income</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpenseNonoperating', window );">Interest expense</a></td>
<td class="num">(552)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AmortizationOfDebtIssuanceCost', window );">Amortization of debt issuance costs</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income (expenses)</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Other income (expenses), net</a></td>
<td class="num">(552)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="num">(1,023)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax provision</a></td>
<td class="num">(239)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="num">$ (784)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings per share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic</a></td>
<td class="num">$ (0.02)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted</a></td>
<td class="num">$ (0.02)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Weighted average common shares outstanding:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="num">$ (784)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract', window );"><strong>Other comprehensive income (loss):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive income</a></td>
<td class="num">(784)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RestatementAxis=rgen_OtherAdjustmentsMember', window );">Other Adjustments | Products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenues [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RestatementAxis=rgen_OtherAdjustmentsMember', window );">Other Adjustments | Royalty and other revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenues [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr><td colspan="6"></td></tr>
<tr><td colspan="6"><table class="outerFootnotes" width="100%">
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#8220;FlexBiosys&#8221;) from April 17, 2023, as well as Metenova Holding AB (&#8220;Metenova&#8221;) from October 2, 2023.</span></td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[2]</td>
<td style="vertical-align: top;" valign="top"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2021 revenue for filtration products includes revenue related to Polymem S.A. (&#8220;Polymem&#8221;) from July 1, 2021, as well as BioFlex Solutions LLC (&#8220;BioFlex&#8221;) and Newton T&amp;M Corp. (&#8220;NTM&#8221;) from December 16, 2021 through December 31, 2021. 2021 revenue for proteins products includes revenue related to Avitide, Inc. (&#8220;Avitide&#8221;) from September 20, 2021 through December 31, 2021.</span></td>
</tr>
</table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_AmortizationOfDebtIssuanceCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortization of debt issuance cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_AmortizationOfDebtIssuanceCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostsAndExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total costs of sales and operating expenses for the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostsAndExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostsAndExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostsAndExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainsLossesOnExtinguishmentOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481303/470-50-40-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481303/470-50-40-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainsLossesOnExtinguishmentOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482659/740-20-45-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpenseNonoperating">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of interest expense classified as nonoperating.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpenseNonoperating</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentIncomeNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accretion (amortization) of discount (premium), and investment expense, of interest income and dividend income on nonoperating securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for research and development. Includes, but is not limited to, cost for computer software product to be sold, leased, or otherwise marketed and writeoff of research and development assets acquired in transaction other than business combination or joint venture formation or both. Excludes write-down of intangible asset acquired in business combination or from joint venture formation or both, used in research and development activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482916/730-10-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479532/912-730-25-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenuesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenuesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_RoyaltyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_RoyaltyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RestatementAxis=srt_ScenarioPreviouslyReportedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RestatementAxis=srt_ScenarioPreviouslyReportedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RestatementAxis=srt_RestatementAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RestatementAxis=srt_RestatementAdjustmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RestatementAxis=rgen_OtherAdjustmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RestatementAxis=rgen_OtherAdjustmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674445480496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Consolidated Statements of Stockholders' Equity (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems', window );"><strong>Error Corrections and Prior Period Adjustments Restatement [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="nump">$ 1,910,700<span></span>
</td>
<td class="nump">$ 1,750,067<span></span>
</td>
<td class="nump">$ 1,529,150<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="nump">35,596<span></span>
</td>
<td class="nump">185,959<span></span>
</td>
<td class="nump">128,291<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Translation adjustment</a></td>
<td class="num">(3,414)<span></span>
</td>
<td class="num">(17,508)<span></span>
</td>
<td class="num">(18,971)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="nump">1,964,845<span></span>
</td>
<td class="nump">1,910,700<span></span>
</td>
<td class="nump">1,750,067<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember', window );">Accumulated Other Comprehensive Income (Loss)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems', window );"><strong>Error Corrections and Prior Period Adjustments Restatement [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="num">(34,394)<span></span>
</td>
<td class="num">(16,886)<span></span>
</td>
<td class="nump">2,085<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Translation adjustment</a></td>
<td class="num">(3,414)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="num">(37,808)<span></span>
</td>
<td class="num">(34,394)<span></span>
</td>
<td class="num">(16,886)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_RetainedEarningsMember', window );">Accumulated Earnings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems', window );"><strong>Error Corrections and Prior Period Adjustments Restatement [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="nump">397,272<span></span>
</td>
<td class="nump">194,060<span></span>
</td>
<td class="nump">65,769<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="nump">35,596<span></span>
</td>
<td class="nump">185,959<span></span>
</td>
<td class="nump">128,291<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="nump">432,868<span></span>
</td>
<td class="nump">397,272<span></span>
</td>
<td class="nump">$ 194,060<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RestatementAxis=srt_ScenarioPreviouslyReportedMember', window );">As Previously Reported</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems', window );"><strong>Error Corrections and Prior Period Adjustments Restatement [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="nump">1,910,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="nump">41,577<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Translation adjustment</a></td>
<td class="num">(3,037)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="nump">1,971,203<span></span>
</td>
<td class="nump">1,910,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RestatementAxis=srt_ScenarioPreviouslyReportedMember', window );">As Previously Reported | Accumulated Other Comprehensive Income (Loss)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems', window );"><strong>Error Corrections and Prior Period Adjustments Restatement [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="num">(34,394)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Translation adjustment</a></td>
<td class="num">(3,037)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="num">(37,431)<span></span>
</td>
<td class="num">(34,394)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RestatementAxis=srt_ScenarioPreviouslyReportedMember', window );">As Previously Reported | Accumulated Earnings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems', window );"><strong>Error Corrections and Prior Period Adjustments Restatement [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="nump">397,272<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="nump">41,577<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="nump">438,849<span></span>
</td>
<td class="nump">$ 397,272<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RestatementAxis=srt_RestatementAdjustmentMember', window );">Revenue Adjustments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems', window );"><strong>Error Corrections and Prior Period Adjustments Restatement [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="num">(5,197)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Translation adjustment</a></td>
<td class="num">(377)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="num">(5,574)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RestatementAxis=srt_RestatementAdjustmentMember', window );">Revenue Adjustments | Accumulated Other Comprehensive Income (Loss)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems', window );"><strong>Error Corrections and Prior Period Adjustments Restatement [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Translation adjustment</a></td>
<td class="num">(377)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="num">(377)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RestatementAxis=srt_RestatementAdjustmentMember', window );">Revenue Adjustments | Accumulated Earnings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems', window );"><strong>Error Corrections and Prior Period Adjustments Restatement [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="num">(5,197)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="num">(5,197)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RestatementAxis=rgen_OtherAdjustmentsMember', window );">Other Adjustments [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems', window );"><strong>Error Corrections and Prior Period Adjustments Restatement [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="num">(784)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Translation adjustment</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="num">(784)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RestatementAxis=rgen_OtherAdjustmentsMember', window );">Other Adjustments [Member] | Accumulated Earnings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems', window );"><strong>Error Corrections and Prior Period Adjustments Restatement [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="num">(784)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="num">$ (784)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_RetainedEarningsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_RetainedEarningsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RestatementAxis=srt_ScenarioPreviouslyReportedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RestatementAxis=srt_ScenarioPreviouslyReportedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RestatementAxis=srt_RestatementAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RestatementAxis=srt_RestatementAdjustmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RestatementAxis=rgen_OtherAdjustmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RestatementAxis=rgen_OtherAdjustmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674445278160">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Consolidated Statements of Cash Flow (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 35,596<span></span>
</td>
<td class="nump">$ 185,959<span></span>
</td>
<td class="nump">$ 128,291<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AmortizationOfInventoryStepUp', window );">Inventory step-up charges</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,238<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,130<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationAndAmortization', window );">Depreciation and amortization</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">68,556<span></span>
</td>
<td class="nump">50,985<span></span>
</td>
<td class="nump">38,447<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfDebtDiscountPremium', window );">Amortization of debt discount and issuance costs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">2,448<span></span>
</td>
<td class="nump">1,815<span></span>
</td>
<td class="nump">11,530<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">25,575<span></span>
</td>
<td class="nump">27,316<span></span>
</td>
<td class="nump">27,500<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income taxes, net</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,175<span></span>
</td>
<td class="num">(1,352)<span></span>
</td>
<td class="nump">6,517<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Contingent consideration</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(30,569)<span></span>
</td>
<td class="num">(28,729)<span></span>
</td>
<td class="nump">5,865<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_NoncashInterestIncome', window );">Non-cash interest income</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(2,023)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">12,676<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset', window );">Operating lease right of use asset amortization</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">17,558<span></span>
</td>
<td class="nump">6,027<span></span>
</td>
<td class="nump">10,555<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNoncashIncomeExpense', window );">Other</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,783<span></span>
</td>
<td class="num">(100)<span></span>
</td>
<td class="nump">864<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities, excluding impact of acquisitions:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(3,312)<span></span>
</td>
<td class="num">(3,596)<span></span>
</td>
<td class="num">(46,523)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">40,973<span></span>
</td>
<td class="num">(57,204)<span></span>
</td>
<td class="num">(89,781)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(13,333)<span></span>
</td>
<td class="nump">2,396<span></span>
</td>
<td class="num">(10,192)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets', window );">Other assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(461)<span></span>
</td>
<td class="num">(231)<span></span>
</td>
<td class="nump">430<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(9,803)<span></span>
</td>
<td class="num">(8,197)<span></span>
</td>
<td class="nump">19,523<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued expenses</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(21,518)<span></span>
</td>
<td class="num">(2,019)<span></span>
</td>
<td class="nump">23,196<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingLeaseLiability', window );">Operating lease liability</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(12,728)<span></span>
</td>
<td class="num">(1,953)<span></span>
</td>
<td class="num">(7,912)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities', window );">Long-term liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">87<span></span>
</td>
<td class="nump">966<span></span>
</td>
<td class="num">(1,424)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Total cash provided by operating activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">113,918<span></span>
</td>
<td class="nump">172,083<span></span>
</td>
<td class="nump">119,016<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireHeldToMaturitySecurities', window );">Purchase of marketable securities held to maturity</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(100,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities', window );">Redemption of marketable securities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">102,323<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireSoftware', window );">Additions to capitalized software costs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(2,766)<span></span>
</td>
<td class="num">(3,512)<span></span>
</td>
<td class="num">(4,187)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Acquisitions, net of cash acquired</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(186,642)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(149,893)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property, plant and equipment</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(36,222)<span></span>
</td>
<td class="num">(84,834)<span></span>
</td>
<td class="num">(67,089)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireIntangibleAssets', window );">Purchase of intellectual property</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="num">(45,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForProceedsFromOtherInvestingActivities', window );">Other investing activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">32<span></span>
</td>
<td class="nump">110<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Total cash used in investing activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(123,275)<span></span>
</td>
<td class="num">(233,236)<span></span>
</td>
<td class="num">(221,169)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Repurchase of common stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(14,386)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromConvertibleDebt', window );">Proceeds from issuance of 2023 Convertible Senior Notes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">290,094<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of stock options</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,076<span></span>
</td>
<td class="nump">3,707<span></span>
</td>
<td class="nump">3,879<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDebtIssuanceCosts', window );">Payment of debt issuance costs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(7,253)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Payment of tax withholding obligation on vesting of restricted stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(13,227)<span></span>
</td>
<td class="num">(17,018)<span></span>
</td>
<td class="num">(2,897)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Payment of earnout consideration</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(7,298)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromPaymentsForOtherFinancingActivities', window );">Other financing activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(45)<span></span>
</td>
<td class="num">(26)<span></span>
</td>
<td class="num">(21)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Total cash provided by (used in) financing activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">248,961<span></span>
</td>
<td class="num">(13,337)<span></span>
</td>
<td class="nump">961<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Effect of exchange rate changes on cash and cash equivalents</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(11,739)<span></span>
</td>
<td class="num">(5,866)<span></span>
</td>
<td class="num">(12,286)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash and cash equivalents</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">227,865<span></span>
</td>
<td class="num">(80,356)<span></span>
</td>
<td class="num">(113,478)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, beginning of period</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">523,458<span></span>
</td>
<td class="nump">603,814<span></span>
</td>
<td class="nump">717,292<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, end of period</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">751,323<span></span>
</td>
<td class="nump">523,458<span></span>
</td>
<td class="nump">603,814<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental disclosure of cash flow information:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Income taxes paid</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">26,963<span></span>
</td>
<td class="nump">34,365<span></span>
</td>
<td class="nump">16,515<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest paid</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">988<span></span>
</td>
<td class="nump">1,033<span></span>
</td>
<td class="nump">1,066<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowElementsAbstract', window );"><strong>Supplemental disclosure of non-cash investing and financing activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Assets acquired under operating leases</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">4,335<span></span>
</td>
<td class="nump">29,126<span></span>
</td>
<td class="nump">85,312<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssued1', window );">Fair value of shares of common stock issued for acquisitions</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">13,569<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">82,968<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts', window );">Fair value of shares of common stock issued for contingent consideration earnouts</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">7,229<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts', window );">Acquisition date fair value of contingent consideration earnouts</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">6,640<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">88,373<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NotesIssued1', window );">Issuance of 2023 Notes in exchange of 2019 Notes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">42,179<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ExtinguishmentOfDebtAmount', window );">Extinguished 2019 Notes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">29,634<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1', window );">Acquisition of intangible assets and issuance of financing liability</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,948<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RestatementAxis=srt_ScenarioPreviouslyReportedMember', window );">As Previously Reported</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">41,577<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AmortizationOfInventoryStepUp', window );">Inventory step-up charges</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,238<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationAndAmortization', window );">Depreciation and amortization</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">68,085<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfDebtDiscountPremium', window );">Amortization of debt discount and issuance costs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">2,448<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">25,575<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income taxes, net</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">2,317<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Contingent consideration</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(30,569)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_NoncashInterestIncome', window );">Non-cash interest income</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(2,023)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">12,676<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset', window );">Operating lease right of use asset amortization</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">14,059<span></span>
</td>
<td class="num">(24,549)<span></span>
</td>
<td class="num">(4,315)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNoncashIncomeExpense', window );">Other</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,231<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities, excluding impact of acquisitions:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(3,312)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">40,973<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(13,030)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets', window );">Other assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(461)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(9,803)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued expenses</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(27,921)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingLeaseLiability', window );">Operating lease liability</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(9,229)<span></span>
</td>
<td class="nump">28,623<span></span>
</td>
<td class="nump">6,958<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities', window );">Long-term liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">87<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Total cash provided by operating activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">113,918<span></span>
</td>
<td class="nump">172,083<span></span>
</td>
<td class="nump">119,016<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities', window );">Redemption of marketable securities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">102,323<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireSoftware', window );">Additions to capitalized software costs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(2,766)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Acquisitions, net of cash acquired</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(186,642)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property, plant and equipment</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(36,222)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireIntangibleAssets', window );">Purchase of intellectual property</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForProceedsFromOtherInvestingActivities', window );">Other investing activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">32<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Total cash used in investing activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(123,275)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Repurchase of common stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(14,386)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromConvertibleDebt', window );">Proceeds from issuance of 2023 Convertible Senior Notes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">290,094<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of stock options</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,076<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDebtIssuanceCosts', window );">Payment of debt issuance costs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(7,253)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Payment of tax withholding obligation on vesting of restricted stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(13,227)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Payment of earnout consideration</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(7,298)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromPaymentsForOtherFinancingActivities', window );">Other financing activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(45)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Total cash provided by (used in) financing activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">248,961<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Effect of exchange rate changes on cash and cash equivalents</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(11,739)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash and cash equivalents</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">227,865<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, beginning of period</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">523,458<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, end of period</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">751,323<span></span>
</td>
<td class="nump">523,458<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental disclosure of cash flow information:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Income taxes paid</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">26,963<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest paid</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">988<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowElementsAbstract', window );"><strong>Supplemental disclosure of non-cash investing and financing activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Assets acquired under operating leases</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">4,335<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssued1', window );">Fair value of shares of common stock issued for acquisitions</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">13,569<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts', window );">Fair value of shares of common stock issued for contingent consideration earnouts</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">7,229<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts', window );">Acquisition date fair value of contingent consideration earnouts</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">6,640<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NotesIssued1', window );">Issuance of 2023 Notes in exchange of 2019 Notes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">42,179<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ExtinguishmentOfDebtAmount', window );">Extinguished 2019 Notes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">29,634<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RestatementAxis=srt_RestatementAdjustmentMember', window );">Revenue Adjustments</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(5,197)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AmortizationOfInventoryStepUp', window );">Inventory step-up charges</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationAndAmortization', window );">Depreciation and amortization</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfDebtDiscountPremium', window );">Amortization of debt discount and issuance costs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income taxes, net</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(903)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Contingent consideration</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_NoncashInterestIncome', window );">Non-cash interest income</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset', window );">Operating lease right of use asset amortization</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNoncashIncomeExpense', window );">Other</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities, excluding impact of acquisitions:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(303)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets', window );">Other assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued expenses</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">6,403<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingLeaseLiability', window );">Operating lease liability</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities', window );">Long-term liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Total cash provided by operating activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities', window );">Redemption of marketable securities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireSoftware', window );">Additions to capitalized software costs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Acquisitions, net of cash acquired</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property, plant and equipment</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireIntangibleAssets', window );">Purchase of intellectual property</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForProceedsFromOtherInvestingActivities', window );">Other investing activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Total cash used in investing activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Repurchase of common stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromConvertibleDebt', window );">Proceeds from issuance of 2023 Convertible Senior Notes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of stock options</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDebtIssuanceCosts', window );">Payment of debt issuance costs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Payment of tax withholding obligation on vesting of restricted stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Payment of earnout consideration</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromPaymentsForOtherFinancingActivities', window );">Other financing activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Total cash provided by (used in) financing activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Effect of exchange rate changes on cash and cash equivalents</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash and cash equivalents</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, beginning of period</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, end of period</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental disclosure of cash flow information:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Income taxes paid</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest paid</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowElementsAbstract', window );"><strong>Supplemental disclosure of non-cash investing and financing activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Assets acquired under operating leases</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssued1', window );">Fair value of shares of common stock issued for acquisitions</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts', window );">Fair value of shares of common stock issued for contingent consideration earnouts</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts', window );">Acquisition date fair value of contingent consideration earnouts</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NotesIssued1', window );">Issuance of 2023 Notes in exchange of 2019 Notes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ExtinguishmentOfDebtAmount', window );">Extinguished 2019 Notes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RestatementAxis=rgen_OtherAdjustmentsMember', window );">Other Adjustments</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(784)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AmortizationOfInventoryStepUp', window );">Inventory step-up charges</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationAndAmortization', window );">Depreciation and amortization</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">471<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfDebtDiscountPremium', window );">Amortization of debt discount and issuance costs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income taxes, net</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(239)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Contingent consideration</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_NoncashInterestIncome', window );">Non-cash interest income</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset', window );">Operating lease right of use asset amortization</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">3,499<span></span>
</td>
<td class="nump">30,576<span></span>
</td>
<td class="nump">14,870<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNoncashIncomeExpense', window );">Other</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">552<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities, excluding impact of acquisitions:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets', window );">Other assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued expenses</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingLeaseLiability', window );">Operating lease liability</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(3,499)<span></span>
</td>
<td class="num">(30,576)<span></span>
</td>
<td class="num">(14,870)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities', window );">Long-term liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Total cash provided by operating activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities', window );">Redemption of marketable securities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireSoftware', window );">Additions to capitalized software costs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Acquisitions, net of cash acquired</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property, plant and equipment</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireIntangibleAssets', window );">Purchase of intellectual property</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForProceedsFromOtherInvestingActivities', window );">Other investing activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Total cash used in investing activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Repurchase of common stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromConvertibleDebt', window );">Proceeds from issuance of 2023 Convertible Senior Notes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of stock options</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDebtIssuanceCosts', window );">Payment of debt issuance costs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Payment of tax withholding obligation on vesting of restricted stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Payment of earnout consideration</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromPaymentsForOtherFinancingActivities', window );">Other financing activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Total cash provided by (used in) financing activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Effect of exchange rate changes on cash and cash equivalents</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash and cash equivalents</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, beginning of period</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, end of period</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental disclosure of cash flow information:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Income taxes paid</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest paid</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowElementsAbstract', window );"><strong>Supplemental disclosure of non-cash investing and financing activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Assets acquired under operating leases</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssued1', window );">Fair value of shares of common stock issued for acquisitions</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts', window );">Fair value of shares of common stock issued for contingent consideration earnouts</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts', window );">Acquisition date fair value of contingent consideration earnouts</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NotesIssued1', window );">Issuance of 2023 Notes in exchange of 2019 Notes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ExtinguishmentOfDebtAmount', window );">Extinguished 2019 Notes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1', window );">Acquisition of intangible assets and issuance of financing liability</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,948<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr><td colspan="4"></td></tr>
<tr><td colspan="4"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">         *</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">Amounts reclassified in the current presentation from a component of &#8220;Changes in operating assets and liabilities&#8221; to a component of &#8220;Adjustments to reconcile net income.&#8221; The reclassification did not result in any change to total cash provided by operating activities.</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Acquisition date fair value of contingent consideration earnouts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_AmortizationOfInventoryStepUp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortization of inventory step up.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_AmortizationOfInventoryStepUp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of shares of common stock issued for contingent consideration earnouts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in operating lease right of use asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_NoncashInterestIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Noncash interest income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_NoncashInterestIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfDebtDiscountPremium">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense included in interest expense to amortize debt discount and premium associated with the related debt instruments. Excludes amortization of financing costs. Alternate captions include noncash interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfDebtDiscountPremium</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477401/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; 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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 230<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477401/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ExtinguishmentOfDebtAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross amount of debt extinguished.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ExtinguishmentOfDebtAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainsLossesOnExtinguishmentOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481303/470-50-40-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481303/470-50-40-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainsLossesOnExtinguishmentOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 23<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-23<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-22<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in noncurrent operating liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of intangibles that an Entity acquires in a noncash (or part noncash) acquisition. Noncash is defined as information about all investing and financing activities of an enterprise during a period that affect recognized assets or liabilities but that do not result in cash receipts or cash payments in the period. "Part noncash" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NotesIssued1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The fair value of notes issued in noncash investing and financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesIssued1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNoncashIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNoncashIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (f)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForProceedsFromOtherInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash (inflow) outflow from investing activities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForProceedsFromOtherInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDebtIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDebtIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireHeldToMaturitySecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow through purchase of long-term held-to-maturity securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481830/320-10-45-11<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireHeldToMaturitySecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireSoftware">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition from vendors of software programs or applications for internal use (that is, not to be sold, leased or otherwise marketed to others) that qualify for capitalization.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireSoftware</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromConvertibleDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481830/320-10-45-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromPaymentsForOtherFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromPaymentsForOtherFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssued1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The fair value of stock issued in noncash financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssued1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowElementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowElementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RestatementAxis=srt_ScenarioPreviouslyReportedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RestatementAxis=srt_ScenarioPreviouslyReportedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RestatementAxis=srt_RestatementAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RestatementAxis=srt_RestatementAdjustmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RestatementAxis=rgen_OtherAdjustmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RestatementAxis=rgen_OtherAdjustmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674529467584">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Organization and Nature of Business - Additional Information (Detail)<br></strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>Sites</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_NumberOfManufacturingSites', window );">Number of manufacturing sites</a></td>
<td class="nump">19<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_NumberOfManufacturingSites">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of manufacturing sites.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_NumberOfManufacturingSites</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674439434176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Additional Information (Detail)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Mar. 04, 2022 </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>Segment </div>
<div>ReportingUnit </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 14, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jul. 31, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jul. 19, 2019 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">56,377<span></span>
</td>
<td class="nump">57,455<span></span>
</td>
<td class="nump">57,264<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestOnConvertibleDebtNetOfTax', window );">Charges associated with convertible debt instruments, net of tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 387,000<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, beginning of period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 523,458,000<span></span>
</td>
<td class="nump">$ 603,814,000<span></span>
</td>
<td class="nump">$ 717,292,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Common stock excluded from calculation of diluted earnings per share | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">306,849<span></span>
</td>
<td class="nump">177,318<span></span>
</td>
<td class="nump">68,968<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DilutiveEffectOnSharesOfConversionPremium', window );">Dilutive effect on shares of conversion premium | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,359,957<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdvertisingExpense', window );">Advertising Expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 800,000<span></span>
</td>
<td class="nump">$ 600,000<span></span>
</td>
<td class="nump">$ 600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">632,362,000<span></span>
</td>
<td class="nump">801,536,000<span></span>
</td>
<td class="nump">670,534,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ContingentConsiderationObligationEstimated', window );">Contingent Consideration Obligation Estimated</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (30,600,000)<span></span>
</td>
<td class="num">(28,700,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfReportingUnits', window );">Number of reporting units | ReportingUnit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillImpairedFactsAndCircumstancesLeadingToImpairment', window );">Reason for change in impairment assessment date</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">The change is being made to better align the annual impairment assessment date with the Company's annual planning and budgeting process as well as long-term planning and forecasting process.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewDateOfAnnualGoodwillImpairmentTest', window );">Impairment assessment date</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">October 1, 2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillImpairmentLoss', window );">Impairment to goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetImpairmentCharges', window );">Impairment charges</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill', window );">Impairment of intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfOperatingSegments', window );">Number of operating segments | Segment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Sales Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Sales Revenue | Customer Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate202006Member', window );">Accounting Standards Update 2020-06</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted | shares</a></td>
<td class="nump">3,474,429<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestOnConvertibleDebtNetOfTax', window );">Charges associated with convertible debt instruments, net of tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember', window );">0.375% Convertible Senior Notes due 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 69,700,000<span></span>
</td>
<td class="nump">$ 287,500,000<span></span>
</td>
<td class="nump">$ 287,500,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">69,700,000<span></span>
</td>
<td class="nump">287,470,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">217,700,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember', window );">1.00% Convertible Senior Notes due 2028</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">600,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">290,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 600,000,000<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">309,900,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Cash', window );">Cash</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 290,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum | Sales Revenue | Customer Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgen_RestrictedStockAndPerformanceStockUnitsMember', window );">Restricted Stock Units and Performance Stock Units | Awards Granted to Executive Level Employees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgen_RestrictedStockAndPerformanceStockUnitsMember', window );">Restricted Stock Units and Performance Stock Units | Awards Granted to Non-Executive Level Employees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgen_NonEmployeeDirectorStockOptionMember', window );">Non-Employee Directors</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option [Member] | Awards Granted to Executive Level Employees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option [Member] | Awards Granted to Non-Executive Level Employees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=rgen_PfizerMember', window );">Pfizer</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 68,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=rgen_PfizerMember', window );">Pfizer | Sales Revenue | Customer Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=rgen_PfizerMember', window );">Pfizer | Minimum | Sales Revenue | Customer Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=rgen_CustomerNumberOneMember', window );">Customer Number One | Accounts Receivable | Customer Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=rgen_PuroliteMember', window );">Purolite | Accounts Receivable | Customer Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12.70%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ContingentConsiderationObligationEstimated">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contingent Consideration Obligation Estimated</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ContingentConsiderationObligationEstimated</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DilutiveEffectOnSharesOfConversionPremium">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Dilutive effect on shares of conversion premium.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DilutiveEffectOnSharesOfConversionPremium</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_PercentageOfSharesSubjectToForfeiture">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of shares subject to forfeiture.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_PercentageOfSharesSubjectToForfeiture</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Summary Of Significant Accounting Policies [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_SummaryOfSignificantAccountingPoliciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdvertisingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 720<br> -SubTopic 35<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483385/720-35-55-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 720<br> -SubTopic 35<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483406/720-35-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvertisingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetImpairmentCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482130/360-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetImpairmentCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477796/946-210-45-21<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 210<br> -Topic 946<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477796/946-210-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-21<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-20<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-18<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentCarryingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of debt instrument at time of issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69C<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482900/835-30-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillImpairedFactsAndCircumstancesLeadingToImpairment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of the underlying cause of impairment of goodwill, such as a significant and more than temporary reduction in sales of a business unit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillImpairedFactsAndCircumstancesLeadingToImpairment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of impairment loss from asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of impairment loss recognized in the period resulting from the write-down of the carrying amount of an intangible asset (excluding goodwill) to fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestOnConvertibleDebtNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of interest recognized on convertible debt instrument excluding interest on principal required to be paid in cash.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-16<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-40<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestOnConvertibleDebtNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewDateOfAnnualGoodwillImpairmentTest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The new date of the annual goodwill impairment test.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewDateOfAnnualGoodwillImpairmentTest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfOperatingSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfOperatingSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportingUnits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of reporting units tested for impairment of goodwill. A reporting unit is an operating segment or one level below an operating segment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportingUnits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate202006Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate202006Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=rgen_RestrictedStockAndPerformanceStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=rgen_RestrictedStockAndPerformanceStockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=rgen_NonExecutiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=rgen_NonExecutiveMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=rgen_NonEmployeeDirectorStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=rgen_NonEmployeeDirectorStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=rgen_PfizerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgen_PfizerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=rgen_CustomerNumberOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgen_CustomerNumberOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=rgen_PuroliteMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgen_PuroliteMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674445270928">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Estimated Useful Life of Assets (Detail)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember', window );">Building [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated Useful Life</a></td>
<td class="text">30 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration', window );">Property, Plant, and Equipment, Useful Life, Term, Description [Extensible Enumeration]</a></td>
<td class="text">us-gaap:UsefulLifeShorterOfTermOfLeaseOrAssetUtilityMember<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Equipment [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated Useful Life</a></td>
<td class="text">12 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Equipment [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated Useful Life</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=rgen_FurnitureFixturesAndOfficeEquipmentMemberMember', window );">Furniture Fixtures And Office Equipment Member [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated Useful Life</a></td>
<td class="text">8 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=rgen_FurnitureFixturesAndOfficeEquipmentMemberMember', window );">Furniture Fixtures And Office Equipment Member [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated Useful Life</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=rgen_ComputerHardwareAndSoftwareMemberMember', window );">Computer Hardware And Software member [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated Useful Life</a></td>
<td class="text">7 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=rgen_ComputerHardwareAndSoftwareMemberMember', window );">Computer Hardware And Software member [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated Useful Life</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember', window );">Vehicles [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated Useful Life</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates description of term of useful life for property, plant, and equipment when not stated as numeric value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482190/360-10-35-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=rgen_FurnitureFixturesAndOfficeEquipmentMemberMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=rgen_FurnitureFixturesAndOfficeEquipmentMemberMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=rgen_ComputerHardwareAndSoftwareMemberMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=rgen_ComputerHardwareAndSoftwareMemberMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674432194944">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (Detail) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract', window );"><strong>Numerator:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 35,596<span></span>
</td>
<td class="nump">$ 185,959<span></span>
</td>
<td class="nump">$ 128,291<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DilutiveSecuritiesAbstract', window );"><strong>Effect of dilutive securities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestOnConvertibleDebtNetOfTax', window );">Charges associated with convertible debt instruments, net of tax</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="nump">387<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToParentDiluted', window );">Numerator for diluted earnings per share - net income available to common stockholders after the effect of dilutive securities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 35,596<span></span>
</td>
<td class="nump">$ 186,346<span></span>
</td>
<td class="nump">$ 128,291<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicAbstract', window );"><strong>Denominator:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_NumberOfSharesBasicOutstanding', window );">Weighted average shares used in computing net income per share - basic</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">55,720<span></span>
</td>
<td class="nump">55,460<span></span>
</td>
<td class="nump">55,015<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract', window );"><strong>Effect of dilutive shares:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesRestrictedStock', window );">Options and stock units</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">457<span></span>
</td>
<td class="nump">608<span></span>
</td>
<td class="nump">915<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes', window );">Convertible Senior Notes</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">181<span></span>
</td>
<td class="nump">1,360<span></span>
</td>
<td class="nump">1,253<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration', window );">Contingent consideration</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">8<span></span>
</td>
<td class="nump">11<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits', window );">Dilutive effect of unvested performance stock units</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">11<span></span>
</td>
<td class="nump">16<span></span>
</td>
<td class="nump">81<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment', window );">Dilutive potential common shares</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">657<span></span>
</td>
<td class="nump">1,995<span></span>
</td>
<td class="nump">2,249<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">56,377<span></span>
</td>
<td class="nump">57,455<span></span>
</td>
<td class="nump">57,264<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings per share:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 0.64<span></span>
</td>
<td class="nump">$ 3.35<span></span>
</td>
<td class="nump">$ 2.33<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 0.63<span></span>
</td>
<td class="nump">$ 3.24<span></span>
</td>
<td class="nump">$ 2.24<span></span>
</td>
</tr>
<tr><td colspan="4"></td></tr>
<tr><td colspan="4"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the dilutive impact for the Company's </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.375</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% Convertible Senior Notes due 2024 (the &#8220; 2019 Notes&#8221;) and its </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.00</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% Convertible Senior Notes due 2028 (the &#8220;2023 Notes&#8221;). As of December 31, 2023, the if-converted value is less than the outstanding principal of the 2023 Notes and are therefore anti-dilutive. Refer to Note 15, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> for more information.</span></td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Dilutive securities effect on basic earnings per share contingent consideration.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Dilutive securities effect on basic earnings per share convertible senior notes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>DilutivesharesAbstract</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_NumberOfSharesBasicOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares basic outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_NumberOfSharesBasicOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average number of shares dilutive effect of unvested performance stock units.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DilutiveSecuritiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DilutiveSecuritiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasicAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasicAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestOnConvertibleDebtNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of interest recognized on convertible debt instrument excluding interest on principal required to be paid in cash.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-16<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-40<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestOnConvertibleDebtNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAttributableToParentDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent, and includes adjustments resulting from the assumption that dilutive convertible securities were converted, options or warrants were exercised, or that other shares were issued upon the satisfaction of certain conditions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAttributableToParentDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesRestrictedStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of restricted stock determined by relating the portion of time within a reporting period that restricted shares have been outstanding to the total time in that period. Restricted shares are subject to sales, contractual, regulatory or other restrictions that prevent or inhibit the holder from freely disposing of them before the restriction ends.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesRestrictedStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674433267312">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (parenthetical) (Detail)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Jul. 19, 2019</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember', window );">0.375% Convertible Senior Notes due 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Notes, interest rate</a></td>
<td class="nump">0.375%<span></span>
</td>
<td class="nump">0.375%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember', window );">1.00% Convertible Senior Notes due 2028</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Notes, interest rate</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69C<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69E<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69F<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1I<br><br>Reference 26: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br><br>Reference 27: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482900/835-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674445165264">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Summary of Product Revenues by Product Line (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="5">12 Months Ended</th>
</tr>
<tr>
<th class="th" colspan="2"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th" colspan="2"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 632,362<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 801,536<span></span>
</td>
<td class="nump">$ 670,534<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgen_FiltrationProductsMember', window );">Filtration Products [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">341,379<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">495,930<span></span>
</td>
<td class="nump">403,505<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[2]</sup></td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgen_ChromatographyProductsMember', window );">Chromatography Products [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">126,629<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">131,680<span></span>
</td>
<td class="nump">91,037<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[2]</sup></td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgen_ProcessAnalyticsProductsMember', window );">Process Analytics Products [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">56,820<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">53,512<span></span>
</td>
<td class="nump">48,019<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[2]</sup></td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgen_ProteinsProductsMember', window );">Proteins Products [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">103,463<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">114,320<span></span>
</td>
<td class="nump">123,707<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[2]</sup></td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgen_OtherProductsMember', window );">Other products [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">3,688<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">5,741<span></span>
</td>
<td class="nump">4,051<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[2]</sup></td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ProductMember', window );">Products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 631,979<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">$ 801,183<span></span>
</td>
<td class="nump">$ 670,319<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[2]</sup></td>
</tr>
<tr><td colspan="6"></td></tr>
<tr><td colspan="6"><table class="outerFootnotes" width="100%">
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#8220;FlexBiosys&#8221;) from April 17, 2023, as well as Metenova Holding AB (&#8220;Metenova&#8221;) from October 2, 2023.</span></td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[2]</td>
<td style="vertical-align: top;" valign="top"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2021 revenue for filtration products includes revenue related to Polymem S.A. (&#8220;Polymem&#8221;) from July 1, 2021, as well as BioFlex Solutions LLC (&#8220;BioFlex&#8221;) and Newton T&amp;M Corp. (&#8220;NTM&#8221;) from December 16, 2021 through December 31, 2021. 2021 revenue for proteins products includes revenue related to Avitide, Inc. (&#8220;Avitide&#8221;) from September 20, 2021 through December 31, 2021.</span></td>
</tr>
</table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgen_FiltrationProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgen_FiltrationProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgen_ChromatographyProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgen_ChromatographyProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgen_ProcessAnalyticsProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgen_ProcessAnalyticsProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgen_ProteinsProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgen_ProteinsProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgen_OtherProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgen_OtherProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674445824048">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Percentage of Revenue by Geographic Area (Detail) - Total Revenue - Geographic Concentration Risk [Member]<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=rgen_SalesRevenuesGoodsNetMember', window );">North America [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="nump">44.00%<span></span>
</td>
<td class="nump">43.00%<span></span>
</td>
<td class="nump">41.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=rgen_SalesRevenuesGoodsNetMember', window );">Europe [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="nump">36.00%<span></span>
</td>
<td class="nump">37.00%<span></span>
</td>
<td class="nump">40.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=rgen_SalesRevenuesGoodsNetMember', window );">APAC Other [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">19.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478785/954-310-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-21<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-20<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-18<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=rgen_SalesRevenuesGoodsNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=rgen_SalesRevenuesGoodsNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_GeographicConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_GeographicConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_NorthAmericaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_NorthAmericaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_EuropeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_EuropeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=rgen_APACOtherMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=rgen_APACOtherMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674449176656">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Total Assets by Geographic Area (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAssetReconcilingItemLineItems', window );"><strong>Segment Reporting, Asset Reconciling Item [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Assets</a></td>
<td class="nump">$ 2,831,185<span></span>
</td>
<td class="nump">$ 2,531,600<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_NorthAmericaMember', window );">North America</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAssetReconcilingItemLineItems', window );"><strong>Segment Reporting, Asset Reconciling Item [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Assets</a></td>
<td class="nump">2,377,868<span></span>
</td>
<td class="nump">2,216,186<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_EuropeMember', window );">Europe</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAssetReconcilingItemLineItems', window );"><strong>Segment Reporting, Asset Reconciling Item [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Assets</a></td>
<td class="nump">426,148<span></span>
</td>
<td class="nump">287,543<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=rgen_APACMember', window );">APAC</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAssetReconcilingItemLineItems', window );"><strong>Segment Reporting, Asset Reconciling Item [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Assets</a></td>
<td class="nump">$ 27,169<span></span>
</td>
<td class="nump">$ 27,871<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 12: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 30: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAssetReconcilingItemLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAssetReconcilingItemLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_NorthAmericaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_NorthAmericaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_EuropeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_EuropeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=rgen_APACMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=rgen_APACMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674449176944">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Long Lived Assets by Geographic Area (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAssetReconcilingItemLineItems', window );"><strong>Segment Reporting, Asset Reconciling Item [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AssetsNonCurrentExcludingDifferedTaxAssets', window );">Long Lived Assets</a></td>
<td class="nump">$ 324,232<span></span>
</td>
<td class="nump">$ 316,511<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_NorthAmericaMember', window );">North America</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAssetReconcilingItemLineItems', window );"><strong>Segment Reporting, Asset Reconciling Item [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AssetsNonCurrentExcludingDifferedTaxAssets', window );">Long Lived Assets</a></td>
<td class="nump">278,033<span></span>
</td>
<td class="nump">275,151<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_EuropeMember', window );">Europe</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAssetReconcilingItemLineItems', window );"><strong>Segment Reporting, Asset Reconciling Item [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AssetsNonCurrentExcludingDifferedTaxAssets', window );">Long Lived Assets</a></td>
<td class="nump">43,280<span></span>
</td>
<td class="nump">38,541<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=rgen_APACMember', window );">APAC</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAssetReconcilingItemLineItems', window );"><strong>Segment Reporting, Asset Reconciling Item [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AssetsNonCurrentExcludingDifferedTaxAssets', window );">Long Lived Assets</a></td>
<td class="nump">$ 2,919<span></span>
</td>
<td class="nump">$ 2,819<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_AssetsNonCurrentExcludingDifferedTaxAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of total non-current assets excluding deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_AssetsNonCurrentExcludingDifferedTaxAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAssetReconcilingItemLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAssetReconcilingItemLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_NorthAmericaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_NorthAmericaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_EuropeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_EuropeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=rgen_APACMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=rgen_APACMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674442066400">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value Measurements - Summary of Company's Cash, Cash Equivalents and Marketable Securities Held to Maturity (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=rgen_CashAndMoneyMarketFundsMember', window );">Cash and money market funds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts', window );">Cash and cash equivalents, Amortized Costs</a></td>
<td class="nump">$ 751,323<span></span>
</td>
<td class="nump">$ 523,458<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue', window );">Cash and cash equivalents, Estimated Fair Value</a></td>
<td class="nump">751,323<span></span>
</td>
<td class="nump">523,458<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentTypeAxis=us-gaap_CashAndCashEquivalentsMember', window );">Cash and cash equivalents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts', window );">Cash and cash equivalents, Amortized Costs</a></td>
<td class="nump">751,323<span></span>
</td>
<td class="nump">523,458<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue', window );">Cash and cash equivalents, Estimated Fair Value</a></td>
<td class="nump">$ 751,323<span></span>
</td>
<td class="nump">523,458<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentTypeAxis=us-gaap_USTreasuryBillSecuritiesMember', window );">U.S. treasury bills</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts', window );">Cash and cash equivalents, Amortized Costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100,299<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain', window );">Marketable securities, Gross Unrealized Gains</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">24<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue', window );">Marketable securities, Estimated Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100,323<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentTypeAxis=rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember', window );">Cash equivalents and marketable securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts', window );">Cash and cash equivalents, Amortized Costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">623,757<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain', window );">Marketable securities, Gross Unrealized Gains</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">24<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AvailableForSaleSecuritiesEstimatedFairValue', window );">Marketable securities, Estimated Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 623,781<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_AvailableForSaleSecuritiesEstimatedFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Available for sale securities estimated fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_AvailableForSaleSecuritiesEstimatedFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt securities held to maturity and cash and cash equivalents amortized costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt securities held to maturity and cash and cash equivalents estimated fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt securities held to maturity estimated fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt securities held to maturity gross unrealized gain.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAxis=rgen_CashAndMoneyMarketFundsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=rgen_CashAndMoneyMarketFundsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentTypeAxis=us-gaap_CashAndCashEquivalentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentTypeAxis=us-gaap_CashAndCashEquivalentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentTypeAxis=us-gaap_USTreasuryBillSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentTypeAxis=us-gaap_USTreasuryBillSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentTypeAxis=rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentTypeAxis=rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674431756320">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value Measurements - Schedule of Amortized Cost and Fair Value Held to Maturity Securities by Contractual Maturity (Detail)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost', window );">Debt securities maturity within one year amortized cost</a></td>
<td class="nump">$ 100,299<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">Maturity of one year or less, Estimated Fair Value</a></td>
<td class="nump">$ 100,323<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt securities maturity within one year amortized cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481800/320-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477268/942-320-50-3A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674438229248">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value Measurements - Schedule of Financial Assets and Financial Liabilities Measured at Fair Value on a Recurring Basis (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ShortTermContingentConsideration', window );">Short-term contingent consideration</a></td>
<td class="nump">$ 12,983<span></span>
</td>
<td class="nump">$ 13,950<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_LongTermContingentConsideration', window );">Long-term contingent consideration</a></td>
<td class="nump">14,070<span></span>
</td>
<td class="nump">51,559<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember', window );">Money Market</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Assets, fair value</a></td>
<td class="nump">658,574<span></span>
</td>
<td class="nump">343,929<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level 1 | Money Market</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Assets, fair value</a></td>
<td class="nump">658,574<span></span>
</td>
<td class="nump">343,929<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level 3</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ShortTermContingentConsideration', window );">Short-term contingent consideration</a></td>
<td class="nump">12,983<span></span>
</td>
<td class="nump">13,950<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_LongTermContingentConsideration', window );">Long-term contingent consideration</a></td>
<td class="nump">$ 14,070<span></span>
</td>
<td class="nump">$ 51,559<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_LongTermContingentConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Long-term contingent consideration.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_LongTermContingentConsideration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ShortTermContingentConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Short-term contingent consideration.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ShortTermContingentConsideration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of asset recognized for present right to economic benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674434105776">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements - Additional Information (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 14, 2023</div></th>
<th class="th"><div>Apr. 17, 2023</div></th>
<th class="th"><div>Sep. 16, 2021</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Jul. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockValueAcquiredCostMethod', window );">Purchase of treasury stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember', window );">0.375% Convertible Senior Notes due 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 287,500<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFrequencyOfPeriodicPayment', window );">Notes, frequency of periodic payment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">semi-annually<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Total convertible senior notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">284,600<span></span>
</td>
<td class="nump">$ 69,500<span></span>
</td>
<td class="nump">$ 284,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtFairValue', window );">Fair value of convertible senior notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 452,000<span></span>
</td>
<td class="nump">109,800<span></span>
</td>
<td class="nump">452,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember', window );">1.00% Convertible Senior Notes due 2028</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtInstrumentExchangedAmountCancelled', window );">Debt istrument cancelled</a></td>
<td class="nump">$ 309,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount</a></td>
<td class="nump">290,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtInstrumentIssuedForCash', window );">Notes for cash</a></td>
<td class="nump">290,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Total convertible senior notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">510,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtFairValue', window );">Fair value of convertible senior notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">596,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember', window );">1.00% Convertible Senior Notes due 2028 | Private Placement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount</a></td>
<td class="nump">600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember', window );">1.00% Convertible Senior Notes due 2028 | Subscription Transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount</a></td>
<td class="nump">290,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember', window );">1.00% Convertible Senior Notes due 2028 | Exchange Transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtInstrumentExchangedAmountCancelled', window );">Debt istrument cancelled</a></td>
<td class="nump">309,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_NotesMember', window );">Exchanged 2019 Notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtInstrumentExchangeAmount', window );">Debt Intrument Exchange Amount</a></td>
<td class="nump">$ 217,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember', window );">Avitide, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Business combination contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 88,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">125,000<span></span>
</td>
<td class="nump">$ 88,373<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember', window );">FlexBiosys, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Business combination contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">42,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember', window );">Metenova Holding AB</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Business combination contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DebtInstrumentExchangeAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt Instrument Exchange Amount</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtInstrumentExchangeAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DebtInstrumentExchangedAmountCancelled">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt instrument exchanged amount cancelled</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtInstrumentExchangedAmountCancelled</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DebtInstrumentIssuedForCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt instrument issued for cash.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtInstrumentIssuedForCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Summary Of Significant Accounting Policies [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_SummaryOfSignificantAccountingPoliciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479668/805-30-25-5<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479637/805-30-30-8<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479637/805-30-30-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of debt instrument at time of issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69C<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482900/835-30-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFrequencyOfPeriodicPayment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of the frequency of periodic payments (monthly, quarterly, annual).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 470<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477734/942-470-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFrequencyOfPeriodicPayment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69C<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The fair value amount of long-term debt whether such amount is presented as a separate caption or as a parenthetical disclosure. Additionally, this element may be used in connection with the fair value disclosures required in the footnote disclosures to the financial statements. The element may be used in both the balance sheet and disclosure in the same submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValueAcquiredCostMethod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValueAcquiredCostMethod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=us-gaap_PrivatePlacementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=us-gaap_PrivatePlacementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=rgen_SubscriptionTransactionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=rgen_SubscriptionTransactionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=rgen_ExchangeTransactionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=rgen_ExchangeTransactionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=rgen_NotesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=rgen_NotesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674437319792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements - Schedule of Reconciliation of the Change in the Fair Value of Contingent Consideration - Earnout (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Payment of contingent consideration earnouts</a></td>
<td class="num">$ (30,569)<span></span>
</td>
<td class="num">$ (28,729)<span></span>
</td>
<td class="nump">$ 5,865<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Contingent Consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Balance at December 31, 2022</a></td>
<td class="nump">65,509<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements', window );">Acquisition date fair value of contingent consideration earnouts</a></td>
<td class="nump">6,640<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Payment of contingent consideration earnouts</a></td>
<td class="num">(14,527)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Decrease in fair value of contingent consideration earnouts</a></td>
<td class="num">(30,569)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Balance at December 31, 2023</a></td>
<td class="nump">$ 27,053<span></span>
</td>
<td class="nump">$ 65,509<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479668/805-30-25-5<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479637/805-30-30-8<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479637/805-30-30-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of settlements of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of financial and nonfinancial obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674440949216">
<tr>
<th class="tl" colspan="2" rowspan="1"><div style="width: 200px;"><strong>Fair Value Measurements - Schedule of Contingent Consideration Earnout Expect to be Required to Settle include Significant unobservable Inputs (Detail) - Contingent Consideration - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Liabilities, fair value</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 27,053<span></span>
</td>
<td class="nump">$ 65,509<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Monte Carlo Simulation | Fair Value, Recurring | Avitide and Flexbiosys</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Liabilities, fair value</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 20,094<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ProbabilityOfSuccess', window );">Probability of Success</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Monte Carlo Simulation | Fair Value, Recurring | Probability of Success | Avitide and Flexbiosys</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_WeightedAverageDiscountRate', window );">Weighted Average Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Monte Carlo Simulation | Fair Value, Recurring | Earnout Discount Rate | Avitide and Flexbiosys</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_WeightedAverageDiscountRate', window );">Weighted Average Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">5.90%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Monte Carlo Simulation | Fair Value, Recurring | Revenue and Volume Based Payments</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Liabilities, fair value</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 1,454<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Monte Carlo Simulation | Fair Value, Recurring | Revenue and Volume Based Payments | Earnout Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_WeightedAverageDiscountRate', window );">Weighted Average Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">6.10%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Monte Carlo Simulation | Fair Value, Recurring | Revenue and Volume Based Payments | Volatility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_WeightedAverageDiscountRate', window );">Weighted Average Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">21.90%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Monte Carlo Simulation | Fair Value, Recurring | Revenue and Volume Based Payments | Revenue and Volume Based Payments</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_WeightedAverageDiscountRate', window );">Weighted Average Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">8.30%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Monte Carlo Simulation | Fair Value, Recurring | Minimum | Avitide and Flexbiosys</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFixedInterestRate', window );">Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">5.80%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Monte Carlo Simulation | Fair Value, Recurring | Minimum | Revenue and Volume Based Payments</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFixedInterestRate', window );">Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">5.80%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_VolatilityRateOfContingentConsideration', window );">Volatility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">12.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_RevenueAndVolumeDiscountRate', window );">Revenue and Volume Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">2.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Monte Carlo Simulation | Fair Value, Recurring | Maximum | Avitide and Flexbiosys</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFixedInterestRate', window );">Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">5.90%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Monte Carlo Simulation | Fair Value, Recurring | Maximum | Revenue and Volume Based Payments</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFixedInterestRate', window );">Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">7.20%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_VolatilityRateOfContingentConsideration', window );">Volatility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">24.60%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_RevenueAndVolumeDiscountRate', window );">Revenue and Volume Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">9.30%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Probability Weighted Present Value | Fair Value, Recurring | Probability of Success</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Liabilities, fair value</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 5,505<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Probability Weighted Present Value | Fair Value, Recurring | Manufacturing Line Expansions</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ProbabilityOfSuccess', window );">Probability of Success</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Probability Weighted Present Value | Fair Value, Recurring | Manufacturing Line Expansions | Probability of Success</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_WeightedAverageDiscountRate', window );">Weighted Average Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Probability Weighted Present Value | Fair Value, Recurring | Manufacturing Line Expansions | Earnout Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_WeightedAverageDiscountRate', window );">Weighted Average Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">6.30%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Probability Weighted Present Value | Fair Value, Recurring | Minimum | Manufacturing Line Expansions</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFixedInterestRate', window );">Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">6.10%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Probability Weighted Present Value | Fair Value, Recurring | Maximum | Manufacturing Line Expansions</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFixedInterestRate', window );">Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">6.40%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">Unobservable inputs were weighted by the relative fair value of the contingent consideration liability.</span></td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ProbabilityOfSuccess">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Probability of success.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ProbabilityOfSuccess</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_RevenueAndVolumeDiscountRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Revenue and volume discount rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_RevenueAndVolumeDiscountRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_VolatilityRateOfContingentConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Volatility rate of contingent consideration.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_VolatilityRateOfContingentConsideration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_WeightedAverageDiscountRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_WeightedAverageDiscountRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeFixedInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fixed interest rate related to the interest rate derivative.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeFixedInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of financial and nonfinancial obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationTechniqueAxis=rgen_MonteCarloSimulationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationTechniqueAxis=rgen_MonteCarloSimulationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideAndFlexbiosysMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_AvitideAndFlexbiosysMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=rgen_MeasurementInputProbabilityOfSuccessMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=rgen_MeasurementInputProbabilityOfSuccessMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=rgen_MeasurementInputEarnoutDiscountRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=rgen_MeasurementInputEarnoutDiscountRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=rgen_RevenueAndVolumeBasedPaymentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=rgen_RevenueAndVolumeBasedPaymentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputPriceVolatilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputPriceVolatilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=rgen_MeasurementInputRevenueVolumeDiscountRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=rgen_MeasurementInputRevenueVolumeDiscountRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationTechniqueAxis=rgen_ProbabilityWeightedPresentValueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationTechniqueAxis=rgen_ProbabilityWeightedPresentValueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=rgen_ManufacturingLineExpansionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=rgen_ManufacturingLineExpansionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674430935648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions - Additional Information (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 02, 2023</div></th>
<th class="th"><div>Apr. 17, 2023</div></th>
<th class="th"><div>Nov. 29, 2021</div></th>
<th class="th"><div>Sep. 16, 2021</div></th>
<th class="th"><div>Jun. 22, 2021</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash Acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 186,642<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 149,893<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 987,120<span></span>
</td>
<td class="nump">987,120<span></span>
</td>
<td class="nump">855,513<span></span>
</td>
<td class="nump">860,362<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts', window );">Transaction costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,700<span></span>
</td>
<td class="nump">300<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(30,569)<span></span>
</td>
<td class="num">(28,729)<span></span>
</td>
<td class="nump">5,865<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember', window );">Metenova Holding AB</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Cash consideration</a></td>
<td class="nump">$ 164,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued', window );">Shares of common stock issued for acquisition</a></td>
<td class="nump">52,299<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Value of common stock issued</a></td>
<td class="nump">$ 172,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities', window );">Net liabilities assumed</a></td>
<td class="nump">2,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Fair value of acquired finite lived intangible assets</a></td>
<td class="nump">58,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">115,778<span></span>
</td>
<td class="nump">115,778<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue', window );">Intangible Asset Residual Value</a></td>
<td class="nump">115,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts', window );">Transaction costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,500<span></span>
</td>
<td class="nump">3,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Business combination contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember', window );">Metenova Holding AB | Common Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Value of common stock issued</a></td>
<td class="nump">$ 8,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember', window );">FlexBiosys, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1', window );">Business combination date of acquistion</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Apr. 17,  2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Cash consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 29,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh', window );">Business Combination, Indemnification Assets, Range of Outcomes, Value, High</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued', window );">Shares of common stock issued for acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">31,415<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Value of common stock issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 41,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities', window );">Net liabilities assumed</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Fair value of acquired finite lived intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,321<span></span>
</td>
<td class="nump">14,321<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue', window );">Intangible Asset Residual Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts', window );">Transaction costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,100<span></span>
</td>
<td class="nump">1,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts', window );">Business Combination, Acquisition Related Costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Business combination contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">42,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember', window );">FlexBiosys, Inc. | Common Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Value of common stock issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember', window );">BioFlex And NTM Acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Value of common stock issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 31,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessAcquisitionWorkingCapitalAdjustments', window );">Working capital adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Fair value of acquired finite lived intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,834<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue', window );">Intangible Asset Residual Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts', window );">Transaction costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired', window );">Business acquisition, voting interest acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationConsiderationIndemnificationEscrow', window );">Business acquisition, Indemnification escrow</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets', window );">Net asset acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember', window );">Avitide, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Cash consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 75,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued', window );">Shares of common stock issued for acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">271,096<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Value of common stock issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 83,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">82,968<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessAcquisitionWorkingCapitalAdjustments', window );">Working capital adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities', window );">Net liabilities assumed</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business combination, consideration transferred</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">246,303<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Fair value of acquired finite lived intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">46,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">197,476<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue', window );">Intangible Asset Residual Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">197,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts', window );">Transaction costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts', window );">Business Combination, Acquisition Related Costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,000<span></span>
</td>
<td class="nump">2,600<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Business combination contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">88,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 125,000<span></span>
</td>
<td class="nump">88,373<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember', window );">Avitide, Inc. | Capital Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Cash consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">150,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash Acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">149,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business combination, consideration transferred</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">275,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationConsiderationIndemnificationEscrow', window );">Business acquisition, Indemnification escrow</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Business combination contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 125,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember', window );">Polymem S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Cash consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 47,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities', window );">Net liabilities assumed</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business combination, consideration transferred</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">47,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Fair value of acquired finite lived intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35,680<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue', window );">Intangible Asset Residual Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts', window );">Transaction costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts', window );">Business Combination, Acquisition Related Costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,100<span></span>
</td>
<td class="nump">$ 3,100<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationConsiderationIndemnificationEscrow', window );">Business acquisition, Indemnification escrow</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_BusinessAcquisitionWorkingCapitalAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business acquisition working capital adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_BusinessAcquisitionWorkingCapitalAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_BusinessCombinationConsiderationIndemnificationEscrow">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business Combination Consideration Indemnification Escrow</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_BusinessCombinationConsiderationIndemnificationEscrow</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of residual value of finite-lived asset acquired in business combination, asset acquisition, and from joint venture formation. Excludes financial asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of direct costs of the business combination including legal, accounting, and other costs incurred to consummate the business acquisition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Date when the acquirer obtains control of the acquiree, in YYYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 7<br> -SubTopic 10<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479405/805-10-25-7<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 6<br> -SubTopic 10<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479405/805-10-25-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of equity interests issued or issuable to acquire entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of voting equity interests acquired at the acquisition date in the business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 25<br> -Paragraph 23<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479405/805-10-25-23<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAcquisitionRelatedCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479637/805-30-30-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479637/805-30-30-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479637/805-30-30-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479637/805-30-30-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479668/805-30-25-5<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479637/805-30-30-8<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479637/805-30-30-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For indemnification assets recognized in connection with a business combination, this element represents an estimate of the high-end of the potential range (undiscounted) of the indemnification benefit which may be realized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of assets acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of intangible assets, excluding goodwill, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-45-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CapitalUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_CapitalUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674445331760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions - Consideration Transferred (Detail) - Avitide, Inc. - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 16, 2021</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_CashConsiderationExcludingRestrictedCash', window );">Cash consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 74,962<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Equity consideration</a></td>
<td class="nump">$ 83,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">82,968<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Contingent consideration - earnout</a></td>
<td class="nump">$ 88,400<span></span>
</td>
<td class="nump">$ 125,000<span></span>
</td>
<td class="nump">88,373<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Fair value of net assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 246,303<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_CashConsiderationExcludingRestrictedCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cash consideration excluding restricted cash.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_CashConsiderationExcludingRestrictedCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479637/805-30-30-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479637/805-30-30-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479637/805-30-30-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479637/805-30-30-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479668/805-30-25-5<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479637/805-30-30-8<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479637/805-30-30-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674433134144">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Acquisitions - Fair Value of Net Assets Acquired (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Oct. 02, 2023</div></th>
<th class="th"><div>Apr. 17, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Nov. 29, 2021</div></th>
<th class="th"><div>Sep. 16, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 987,120<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 855,513<span></span>
</td>
<td class="nump">$ 860,362<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember', window );">Metenova Holding AB</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash and cash equivalents</a></td>
<td class="nump">5,768<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable</a></td>
<td class="nump">3,730<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventory</a></td>
<td class="nump">4,421<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">470<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="nump">433<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset', window );">Operating lease right of use asset</a></td>
<td class="nump">615<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 58,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">115,778<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(1,432)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities', window );">Accrued liabilities</a></td>
<td class="num">(2,934)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent', window );">Operating lease liability</a></td>
<td class="num">(275)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent', window );">Operating lease liability, long-term</a></td>
<td class="num">(255)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent', window );">Deferred tax liability, long-term</a></td>
<td class="num">(12,481)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Fair value of net assets acquired</a></td>
<td class="nump">172,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember', window );">Metenova Holding AB | Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">12,659<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember', window );">Metenova Holding AB | Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">44,377<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember', window );">Metenova Holding AB | Trademark and tradename</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">939<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember', window );">Metenova Holding AB | Non-compete agreements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">787<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember', window );">FlexBiosys, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash and cash equivalents</a></td>
<td class="nump">1,090<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable</a></td>
<td class="nump">683<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventory</a></td>
<td class="nump">667<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">35<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="nump">12,034<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset', window );">Operating lease right of use asset</a></td>
<td class="nump">3,537<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets', window );">Other assets</a></td>
<td class="nump">10<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 12,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">14,321<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(136)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities', window );">Accrued liabilities</a></td>
<td class="num">(314)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent', window );">Operating lease liability</a></td>
<td class="num">(39)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent', window );">Operating lease liability, long-term</a></td>
<td class="num">(3,498)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Fair value of net assets acquired</a></td>
<td class="nump">41,030<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember', window );">FlexBiosys, Inc. | Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">2,530<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember', window );">FlexBiosys, Inc. | Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">9,860<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember', window );">FlexBiosys, Inc. | Trademark and tradename</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember', window );">FlexBiosys, Inc. | Non-compete agreements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">$ 220<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember', window );">BioFlex And NTM Acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash and cash equivalents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,870<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,408<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventory</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">741<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">126<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">34<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset', window );">Operating lease right of use asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,034<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 17,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,834<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent', window );">Long term deferred tax asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">81<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(224)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities', window );">Accrued liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(450)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent', window );">Operating lease liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,030)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent', window );">Operating lease liability, long-term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Fair value of net assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">31,571<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember', window );">BioFlex And NTM Acquisition | Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13,240<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember', window );">BioFlex And NTM Acquisition | Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,540<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember', window );">BioFlex And NTM Acquisition | Trademark and tradename</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">310<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember', window );">BioFlex And NTM Acquisition | Non-compete agreements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">60<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember', window );">Avitide, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash and cash equivalents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">572<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">228<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventory</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">332<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">114<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,862<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset', window );">Operating lease right of use asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,648<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 46,700<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">197,476<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent', window );">Long term deferred tax asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,525<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(215)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities', window );">Accrued liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,183)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent', window );">Operating lease liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(698)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent', window );">Operating lease liability, long-term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,950)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther', window );">Other long-term liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(58)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Fair value of net assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">246,303<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember', window );">Avitide, Inc. | Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">24,580<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember', window );">Avitide, Inc. | Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,650<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember', window );">Avitide, Inc. | Trademark and tradename</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,210<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember', window );">Avitide, Inc. | Non-compete agreements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">210<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember', window );">Polymem S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash and cash equivalents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">353<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_NetWorkingCapitalExcludingCashAndInventory', window );">Net working capital (excluding cash and inventory step-up)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">414<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventory</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">543<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,145<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset', window );">Operating lease right of use asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,424<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets', window );">Other assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">41<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35,680<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent', window );">Operating lease liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,253)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent', window );">Deferred tax liability, long-term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,327)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther', window );">Other long-term liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(143)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Fair value of net assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">46,973<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember', window );">Polymem S.A. | Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,274<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember', window );">Polymem S.A. | Trademark and tradename</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">510<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember', window );">Polymem S.A. | Non-compete agreements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 312<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Accrued Liabilities</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business combination recognized identifiable assets acquired and liabilities assumed deferred tax asset noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liability Noncurrent</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Non Current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Right Of Use Asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_NetWorkingCapitalExcludingCashAndInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Net working capital excluding cash and inventory</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_NetWorkingCapitalExcludingCashAndInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. 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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities incurred for goods and services received that are used in an entity's business and related party payables, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of intangible assets, excluding goodwill, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of inventory recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-37<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of other liabilities due after one year or the normal operating cycle, if longer, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of property, plant, and equipment recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-37<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-45-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksAndTradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksAndTradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674443034480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions - Estimated Useful Life and Fair Value (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember', window );">Metenova Holding AB</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 58,762<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember', window );">FlexBiosys, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 12,640<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember', window );">BioFlex And NTM Acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 17,150<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember', window );">Avitide, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">46,650<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember', window );">Polymem S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9,096<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | Metenova Holding AB</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">15 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 12,659<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | FlexBiosys, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">12 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 2,530<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | BioFlex And NTM Acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 13,240<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | Avitide, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">13 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 24,580<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Developed Technology Rights [Member] | Metenova Holding AB</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">15 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 44,377<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Developed Technology Rights [Member] | FlexBiosys, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">16 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 9,860<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Developed Technology Rights [Member] | BioFlex And NTM Acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">11 years<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,540<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Developed Technology Rights [Member] | Avitide, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">15 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 20,650<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Developed Technology Rights [Member] | Polymem S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">13 years<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 8,274<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trademark and tradename [Member] | Metenova Holding AB</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">15 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 939<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trademark and tradename [Member] | FlexBiosys, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trademark and tradename [Member] | BioFlex And NTM Acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">15 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 310<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trademark and tradename [Member] | Avitide, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">18 years<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,210<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trademark and tradename [Member] | Polymem S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">14 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 510<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | Metenova Holding AB</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 787<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | FlexBiosys, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 220<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | BioFlex And NTM Acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 60<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | Avitide, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 210<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | Polymem S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 312<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of identifiable intangible assets recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-37<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674432965088">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Restructuring Plan - Additional Information (Detail)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">$ 32,200<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_NoncashInventoryAdjustments', window );">Non cash inventory adjustment</a></td>
<td class="nump">$ 27,600<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_NoncashInventoryAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of non cash adjustments of inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_NoncashInventoryAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCostAndReserveLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4.d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479823/420-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4.b.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479823/420-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4.b.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479823/420-10-S99-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482017/420-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482017/420-10-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482017/420-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482017/420-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after cash payment, of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674439347840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Restructuring Plan - Summary of Restructuring Activities by Type of Cost (Detail)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">$ 32,200<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveAxis=us-gaap_EmployeeSeveranceMember', window );">Severance &amp; employee-related costs</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">3,725<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveAxis=rgen_InventoryAdjustmentsMember', window );">Inventory adjustments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">23,588<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveAxis=rgen_AcceleratedDepreciationMember', window );">Accelerated depreciation</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">3,816<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveAxis=rgen_FacilityAndOtherExitCostsMember', window );">Facility and Other Exit Costs</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">1,071<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of product revenue</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">30,386<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of product revenue | Severance &amp; employee-related costs</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">2,077<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of product revenue | Inventory adjustments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">23,588<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of product revenue | Accelerated depreciation</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">3,788<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of product revenue | Facility and Other Exit Costs</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">933<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research and development</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">116<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research and development | Severance &amp; employee-related costs</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">116<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research and development | Inventory adjustments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research and development | Accelerated depreciation</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research and development | Facility and Other Exit Costs</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, general and administrative</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">1,698<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, general and administrative | Severance &amp; employee-related costs</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">1,532<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, general and administrative | Inventory adjustments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, general and administrative | Accelerated depreciation</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">28<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, general and administrative | Facility and Other Exit Costs</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">$ 138<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCostAndReserveLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4.d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479823/420-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4.b.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479823/420-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4.b.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479823/420-10-S99-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482017/420-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482017/420-10-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482017/420-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482017/420-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after cash payment, of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCostAndReserveAxis=us-gaap_EmployeeSeveranceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveAxis=us-gaap_EmployeeSeveranceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCostAndReserveAxis=rgen_InventoryAdjustmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveAxis=rgen_InventoryAdjustmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCostAndReserveAxis=rgen_AcceleratedDepreciationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveAxis=rgen_AcceleratedDepreciationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCostAndReserveAxis=rgen_FacilityAndOtherExitCostsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveAxis=rgen_FacilityAndOtherExitCostsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674442038128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Restructuring Plan - Summary of Activity Related to Restructuring Plan (Detail)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">$ 32,200<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRestructuring', window );">Amounts Paid</a></td>
<td class="num">(4,105)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringReserveSettledWithoutCash2', window );">Non-Cash Restructuring Items</a></td>
<td class="num">(27,631)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringReserve', window );">Restructuring Liability</a></td>
<td class="nump">464<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveAxis=us-gaap_EmployeeSeveranceMember', window );">Severance &amp; employee-related costs</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">3,725<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRestructuring', window );">Amounts Paid</a></td>
<td class="num">(3,044)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringReserveSettledWithoutCash2', window );">Non-Cash Restructuring Items</a></td>
<td class="num">(217)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringReserve', window );">Restructuring Liability</a></td>
<td class="nump">464<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveAxis=rgen_InventoryAdjustmentsMember', window );">Inventory adjustments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">23,588<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRestructuring', window );">Amounts Paid</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringReserveSettledWithoutCash2', window );">Non-Cash Restructuring Items</a></td>
<td class="num">(23,588)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringReserve', window );">Restructuring Liability</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveAxis=rgen_AcceleratedDepreciationMember', window );">Accelerated depreciation</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">3,816<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRestructuring', window );">Amounts Paid</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringReserveSettledWithoutCash2', window );">Non-Cash Restructuring Items</a></td>
<td class="num">(3,816)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringReserve', window );">Restructuring Liability</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveAxis=rgen_FacilityExitAndOtherExitCostsMember', window );">Facility exit and other exit costs</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">1,071<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRestructuring', window );">Amounts Paid</a></td>
<td class="num">(1,061)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringReserveSettledWithoutCash2', window );">Non-Cash Restructuring Items</a></td>
<td class="num">(10)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringReserve', window );">Restructuring Liability</a></td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRestructuring">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash payments made as the result of exit or disposal activities. Excludes payments associated with a discontinued operation or an asset retirement obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482017/420-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-17<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRestructuring</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCostAndReserveLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4.d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479823/420-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4.b.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479823/420-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4.b.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479823/420-10-S99-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482017/420-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482017/420-10-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482017/420-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482017/420-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after cash payment, of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringReserve">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount (including both current and noncurrent portions of the accrual) as of the balance sheet date pertaining to a specified type of cost associated with exit from or disposal of business activities or restructuring pursuant to a duly authorized plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4.b.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479823/420-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482017/420-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringReserve</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringReserveSettledWithoutCash2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in the reserve for full or partial settlement through consideration other than cash.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4.b.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479823/420-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482017/420-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringReserveSettledWithoutCash2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCostAndReserveAxis=us-gaap_EmployeeSeveranceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveAxis=us-gaap_EmployeeSeveranceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCostAndReserveAxis=rgen_InventoryAdjustmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveAxis=rgen_InventoryAdjustmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCostAndReserveAxis=rgen_AcceleratedDepreciationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveAxis=rgen_AcceleratedDepreciationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCostAndReserveAxis=rgen_FacilityExitAndOtherExitCostsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveAxis=rgen_FacilityExitAndOtherExitCostsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674441452528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Additional Information (Detail)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>ft&#178;</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right of use assets</a></td>
<td class="nump">$ 115,515<span></span>
</td>
<td class="nump">$ 125,023<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating lease liabilities</a></td>
<td class="nump">159,037<span></span>
</td>
<td class="nump">138,300<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases', window );">Operating lease liabilities excluding control not conveyed leases</a></td>
<td class="nump">$ 132,209<span></span>
</td>
<td class="nump">$ 138,346<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AreaOfLand', window );">Expansion of existing premises | ft&#178;</a></td>
<td class="nump">43,833<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IncreaseDecreaseInOperatingLeaseAsset', window );">Increase decrease in operating lease asset</a></td>
<td class="nump">$ 4,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IncreaseDecreaseInOperatingLeaseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Increase decrease in operating lease asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IncreaseDecreaseInOperatingLeaseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Operating lease liabilities excluding control not conveyed leases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AreaOfLand">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area of land held.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AreaOfLand</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:areaItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674529486032">
<tr>
<th class="tl" colspan="2" rowspan="1"><div style="width: 200px;"><strong>Leases - Summary of Maturities of Operating Lease Liabilities (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2024</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 22,585<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2025</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">25,645<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2026</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">25,406<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2027</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">23,944<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive', window );">2028</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">24,382<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive', window );">2029 and thereafter</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">79,435<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">201,397<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_LeaseIncentives', window );">Less lease incentives</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(9,765)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less amount of lease payment representing interest</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(32,595)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating lease liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 159,037<span></span>
</td>
<td class="nump">$ 138,300<span></span>
</td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">The future minimum lease payments include obligations for leases not yet commenced of $</span><span style="font-size:9pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">26.8</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> million for manufacturing, office and warehouse facilities. These leases have terms of between </span><span style="font-size:9pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">5</span></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> and </span><span style="font-size:9pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">10</span></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> years and commence during the first quarter of 2024.</span></td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_LeaseIncentives">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lease incentives.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_LeaseIncentives</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>R70.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674431582704">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Summary of Maturities of Operating Lease Liabilities (parenthetical) (Detail)<br> $ in Millions</strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasedAssetsLineItems', window );"><strong>Operating Leased Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_LeaseObligationsNotYetCommenced', window );">Lease obligations not yet commenced</a></td>
<td class="nump">$ 26.8<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasedAssetsLineItems', window );"><strong>Operating Leased Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1', window );">Lease obligation terms</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasedAssetsLineItems', window );"><strong>Operating Leased Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1', window );">Lease obligation terms</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_LeaseObligationsNotYetCommenced">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lease obligations not yet commenced.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_LeaseObligationsNotYetCommenced</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Term of lessee's operating lease not yet commenced, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasedAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasedAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>R71.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674431848928">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Summary of Operating Lease Liability (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liability</a></td>
<td class="nump">$ 5,631<span></span>
</td>
<td class="nump">$ 6,957<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liability, long-term</a></td>
<td class="nump">126,578<span></span>
</td>
<td class="nump">131,389<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases', window );">Minimum operating lease payments</a></td>
<td class="nump">$ 132,209<span></span>
</td>
<td class="nump">$ 138,346<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Operating lease liabilities excluding control not conveyed leases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R72.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674532457008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Summary of Operating Lease Cost (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseCost', window );">Operating lease cost</a></td>
<td class="nump">$ 20,981<span></span>
</td>
<td class="nump">$ 17,833<span></span>
</td>
<td class="nump">$ 9,838<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_VariableOperatingLeaseCost', window );">Variable operating lease cost</a></td>
<td class="nump">4,075<span></span>
</td>
<td class="nump">11,317<span></span>
</td>
<td class="nump">7,118<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseCost', window );">Lease cost</a></td>
<td class="nump">$ 25,056<span></span>
</td>
<td class="nump">$ 29,150<span></span>
</td>
<td class="nump">$ 16,956<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_VariableOperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for operating leases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_VariableOperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lease cost recognized by lessee for lease contract.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>80
<FILENAME>R73.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674431671184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Schedule of Supplemental Disclosure of Cash Flows Related to Operating Leases (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasePayments', window );">Operating lease cost</a></td>
<td class="num">$ (17,862)<span></span>
</td>
<td class="num">$ (13,757)<span></span>
</td>
<td class="num">$ (8,863)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-5<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>R74.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674449115728">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Schedule of Weighted Average Discount Rate and Lease Term Used in Calculating Lease Liabilities (Detail)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average remaining lease term (years)</a></td>
<td class="text">7 years 8 months 26 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted average discount rate</a></td>
<td class="nump">4.13%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<FILENAME>R75.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674434340752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition - Summary of Disaggregation of Revenue (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="5">12 Months Ended</th>
</tr>
<tr>
<th class="th" colspan="2"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th" colspan="2"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 632,362<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 801,536<span></span>
</td>
<td class="nump">$ 670,534<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ProductMember', window );">Product Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">631,979<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">801,183<span></span>
</td>
<td class="nump">670,319<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[2]</sup></td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_RoyaltyMember', window );">Royalty and Other Income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 383<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 353<span></span>
</td>
<td class="nump">$ 215<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr><td colspan="6"></td></tr>
<tr><td colspan="6"><table class="outerFootnotes" width="100%">
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#8220;FlexBiosys&#8221;) from April 17, 2023, as well as Metenova Holding AB (&#8220;Metenova&#8221;) from October 2, 2023.</span></td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[2]</td>
<td style="vertical-align: top;" valign="top"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2021 revenue for filtration products includes revenue related to Polymem S.A. (&#8220;Polymem&#8221;) from July 1, 2021, as well as BioFlex Solutions LLC (&#8220;BioFlex&#8221;) and Newton T&amp;M Corp. (&#8220;NTM&#8221;) from December 16, 2021 through December 31, 2021. 2021 revenue for proteins products includes revenue related to Avitide, Inc. (&#8220;Avitide&#8221;) from September 20, 2021 through December 31, 2021.</span></td>
</tr>
</table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_RoyaltyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_RoyaltyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>R76.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674438688592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition - Additional Information (Detail) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 632,362,000<span></span>
</td>
<td class="nump">$ 801,536,000<span></span>
</td>
<td class="nump">$ 670,534,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Revenue Benchmark [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Revenue Benchmark [Member] | Customer Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Revenue Benchmark [Member] | Minimum [Member] | Customer Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=rgen_PfizerMember', window );">Pfizer Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 68,300,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=rgen_PfizerMember', window );">Pfizer Inc. | Revenue Benchmark [Member] | Customer Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=rgen_PfizerMember', window );">Pfizer Inc. | Revenue Benchmark [Member] | Minimum [Member] | Customer Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-21<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-20<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-18<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=rgen_PfizerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgen_PfizerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>84
<FILENAME>R77.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674437404864">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Revenue Recognition - Summary of Receivables and Deferred Revenue from Contracts with Customers (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAndLiabilityAbstract', window );"><strong>Balances from contracts with customers only:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss', window );">Accounts receivable</a></td>
<td class="nump">$ 124,161<span></span>
</td>
<td class="nump">$ 116,247<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenue', window );">Deferred revenue (included in accrued liabilities and other noncurrent liabilities in the consolidated balance sheets)</a></td>
<td class="nump">17,536<span></span>
</td>
<td class="nump">19,631<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract', window );"><strong>Revenue recognized during periods presented relating to:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">The beginning deferred revenue balance</a></td>
<td class="nump">$ 18,751<span></span>
</td>
<td class="nump">$ 13,390<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetAndLiabilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right to consideration is unconditional.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479196/954-310-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>85
<FILENAME>R78.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674442410048">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Credit Losses - Additional Information (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditLossAbstract', window );"><strong>Credit Loss [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable</a></td>
<td class="nump">$ 124,161<span></span>
</td>
<td class="nump">$ 116,247<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Accounts receivable, reserve for doubtful accounts</a></td>
<td class="nump">$ 2,122<span></span>
</td>
<td class="nump">$ 1,365<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditLossAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>86
<FILENAME>R79.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674431836080">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Credit Losses - Summary Of Allowance For Credit Losses For Accounts Receivables (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditLossAbstract', window );"><strong>Credit Loss [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivable', window );">Beginning balance</a></td>
<td class="num">$ (1,365)<span></span>
</td>
<td class="num">$ (1,417)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs', window );">Current period change for write-offs</a></td>
<td class="nump">82<span></span>
</td>
<td class="nump">126<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Current period change for expected credit losses</a></td>
<td class="num">(839)<span></span>
</td>
<td class="num">(74)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivable', window );">Ending balance</a></td>
<td class="num">$ (2,122)<span></span>
</td>
<td class="num">$ (1,365)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479344/326-20-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of direct write-downs of accounts receivable charged against the allowance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditLossAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>87
<FILENAME>R80.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674439639888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Changes in Carrying Value of Goodwill (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Goodwill [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">$ 855,513<span></span>
</td>
<td class="nump">$ 860,362<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss', window );">Cumulative translation adjustment</a></td>
<td class="nump">1,508<span></span>
</td>
<td class="num">(2,735)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">987,120<span></span>
</td>
<td class="nump">855,513<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_BioflexMember', window );">BioFlex</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Goodwill [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillPurchaseAccountingAdjustments', window );">Measurement period adjustments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(346)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember', window );">Avitide, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Goodwill [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">197,476<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillPurchaseAccountingAdjustments', window );">Measurement period adjustments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,768)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 197,476<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember', window );">FlexBiosys, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Goodwill [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill arising from Acquisition</a></td>
<td class="nump">14,321<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">14,321<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember', window );">Metenova Holding AB</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Goodwill [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill arising from Acquisition</a></td>
<td class="nump">115,778<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">$ 115,778<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-45-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAcquiredDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAcquiredDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of foreign currency translation gain (loss) which increases (decreases) asset representing future economic benefit from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillForeignCurrencyTranslationGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillPurchaseAccountingAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from measurement period adjustment of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 16<br> -SubTopic 10<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479405/805-10-25-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillPurchaseAccountingAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_BioflexMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_BioflexMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>88
<FILENAME>R81.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674441060848">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Schedule of Intangible Assets (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IntangibleAssetsLineItems', window );"><strong>Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 539,396<span></span>
</td>
<td class="nump">$ 461,072<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsGrossExcludingGoodwill', window );">Gross Carrying Value</a></td>
<td class="nump">540,096<span></span>
</td>
<td class="nump">461,772<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(133,139)<span></span>
</td>
<td class="num">(101,154)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(133,139)<span></span>
</td>
<td class="num">(101,154)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">406,257<span></span>
</td>
<td class="nump">359,918<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Net Carrying Value</a></td>
<td class="nump">$ 406,957<span></span>
</td>
<td class="nump">$ 360,618<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">15 years<span></span>
</td>
<td class="text">16 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis=rgen_TrademarkMember', window );">Trademark</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IntangibleAssetsLineItems', window );"><strong>Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill', window );">Gross Carrying Value</a></td>
<td class="nump">$ 700<span></span>
</td>
<td class="nump">$ 700<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IndefiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">700<span></span>
</td>
<td class="nump">700<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Technology&#8212;developed</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IntangibleAssetsLineItems', window );"><strong>Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">256,536<span></span>
</td>
<td class="nump">197,405<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(44,633)<span></span>
</td>
<td class="num">(30,992)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 211,903<span></span>
</td>
<td class="nump">$ 166,413<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">16 years<span></span>
</td>
<td class="text">16 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember', window );">Patents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IntangibleAssetsLineItems', window );"><strong>Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 240<span></span>
</td>
<td class="nump">$ 240<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(240)<span></span>
</td>
<td class="num">(240)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">8 years<span></span>
</td>
<td class="text">8 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IntangibleAssetsLineItems', window );"><strong>Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 269,949<span></span>
</td>
<td class="nump">$ 252,934<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(83,963)<span></span>
</td>
<td class="num">(66,559)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 185,986<span></span>
</td>
<td class="nump">$ 186,375<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">15 years<span></span>
</td>
<td class="text">15 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember', window );">Trademarks</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IntangibleAssetsLineItems', window );"><strong>Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 8,757<span></span>
</td>
<td class="nump">$ 7,682<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(1,789)<span></span>
</td>
<td class="num">(1,319)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 6,968<span></span>
</td>
<td class="nump">$ 6,363<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">19 years<span></span>
</td>
<td class="text">19 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OtherIntangibleAssetsMember', window );">Other intangibles</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IntangibleAssetsLineItems', window );"><strong>Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 3,914<span></span>
</td>
<td class="nump">$ 2,811<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(2,514)<span></span>
</td>
<td class="num">(2,044)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 1,400<span></span>
</td>
<td class="nump">$ 767<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">4 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indefinite Lived Intangible Assets Accumulated Amortization</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IndefiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indefinite Lived Intangible Assets Net</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IndefiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Intangible Assets [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 928<br> -SubTopic 340<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478859/928-340-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsGrossExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated amortization of intangible assets, excluding goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsGrossExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis=rgen_TrademarkMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis=rgen_TrademarkMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OtherIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OtherIntangibleAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<FILENAME>R82.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674438289984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Additional Information (Detail) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_FiniteLivedIntangibleLiabilitiesLineItems', window );"><strong>Finite-Lived Intangible Liabilities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of Intangible Assets</a></td>
<td class="nump">$ 31.6<span></span>
</td>
<td class="nump">$ 27.1<span></span>
</td>
<td class="nump">$ 22.1<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill', window );">Impairment of intangible assets</a></td>
<td class="nump">$ 0.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_FiniteLivedIntangibleLiabilitiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Finite-Lived Intangible Liabilities [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_FiniteLivedIntangibleLiabilitiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of impairment loss recognized in the period resulting from the write-down of the carrying amount of an intangible asset (excluding goodwill) to fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>90
<FILENAME>R83.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674449184320">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Amortization Expense for Amortized Intangible Assets (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_FiniteLivedIntangibleLiabilitiesLineItems', window );"><strong>Finite-Lived Intangible Liabilities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 34,785<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2025</a></td>
<td class="nump">34,350<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2026</a></td>
<td class="nump">33,995<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2027</a></td>
<td class="nump">33,892<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">2028</a></td>
<td class="nump">33,160<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive', window );">2029 and thereafter</a></td>
<td class="nump">236,075<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 406,257<span></span>
</td>
<td class="nump">$ 359,918<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_FiniteLivedIntangibleLiabilitiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Finite-Lived Intangible Liabilities [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_FiniteLivedIntangibleLiabilitiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>91
<FILENAME>R84.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674432967808">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheet Detail - Schedule of Inventories (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryLineItems', window );"><strong>Inventory [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterialsNetOfReserves', window );">Raw materials</a></td>
<td class="nump">$ 123,598<span></span>
</td>
<td class="nump">$ 149,438<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcessNetOfReserves', window );">Work-in-process</a></td>
<td class="nump">4,492<span></span>
</td>
<td class="nump">6,183<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoodsNetOfReserves', window );">Finished products</a></td>
<td class="nump">74,231<span></span>
</td>
<td class="nump">82,656<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Total inventories, net</a></td>
<td class="nump">$ 202,321<span></span>
</td>
<td class="nump">$ 238,277<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoodsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480581/330-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoodsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterialsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480581/330-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterialsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWorkInProcessNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480581/330-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWorkInProcessNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>92
<FILENAME>R85.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674440053392">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheet Detail - Prepaid Expenses and Other Current Assets (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems', window );"><strong>Prepaid Expenses And Other Current Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_PrepaidServicesAndProfessionalFees', window );">Equipment maintenance and services</a></td>
<td class="nump">$ 6,605<span></span>
</td>
<td class="nump">$ 7,135<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidTaxes', window );">Prepaid income taxes</a></td>
<td class="nump">10,532<span></span>
</td>
<td class="nump">519<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidInsurance', window );">Prepaid insurance</a></td>
<td class="nump">3,087<span></span>
</td>
<td class="nump">1,909<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsCurrent', window );">Other</a></td>
<td class="nump">13,317<span></span>
</td>
<td class="nump">10,274<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Total prepaid expenses and other current assets</a></td>
<td class="nump">$ 33,541<span></span>
</td>
<td class="nump">$ 19,837<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Prepaid Expenses And Other Current Assets [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_PrepaidServicesAndProfessionalFees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Prepaid Services and Professional Fees</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_PrepaidServicesAndProfessionalFees</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidInsurance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for insurance that provides economic benefits within a future period of one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483032/340-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482955/340-10-05-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidInsurance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for income and other taxes that provide economic benefits within a future period of one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483032/340-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 5<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482955/340-10-05-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>93
<FILENAME>R86.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674442071584">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheet Detail - Property, Plant and Equipment (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Land', window );">Land</a></td>
<td class="nump">$ 992<span></span>
</td>
<td class="nump">$ 1,003<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BuildingsAndImprovementsGross', window );">Buildings</a></td>
<td class="nump">1,667<span></span>
</td>
<td class="nump">1,599<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseholdImprovementsGross', window );">Leasehold improvements</a></td>
<td class="nump">126,663<span></span>
</td>
<td class="nump">115,672<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MachineryAndEquipmentGross', window );">Equipment</a></td>
<td class="nump">114,606<span></span>
</td>
<td class="nump">94,613<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FurnitureAndFixturesGross', window );">Furniture, fixtures and office equipment</a></td>
<td class="nump">9,077<span></span>
</td>
<td class="nump">8,307<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareGross', window );">Computer hardware and software</a></td>
<td class="nump">35,528<span></span>
</td>
<td class="nump">29,813<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConstructionInProgressGross', window );">Construction in progress</a></td>
<td class="nump">47,086<span></span>
</td>
<td class="nump">31,553<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentOther', window );">Other</a></td>
<td class="nump">544<span></span>
</td>
<td class="nump">420<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Total property, plant and equipment</a></td>
<td class="nump">336,163<span></span>
</td>
<td class="nump">282,980<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less - Accumulated depreciation</a></td>
<td class="num">(128,723)<span></span>
</td>
<td class="num">(92,307)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Total property, plant and equipment, net</a></td>
<td class="nump">$ 207,440<span></span>
</td>
<td class="nump">$ 190,673<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BuildingsAndImprovementsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BuildingsAndImprovementsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated amortization of capitalized costs for computer software, including but not limited to, acquired and internally developed computer software.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConstructionInProgressGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConstructionInProgressGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FurnitureAndFixturesGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of 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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FurnitureAndFixturesGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Land">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depletion of real estate held for productive use, excluding land held for sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Land</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseholdImprovementsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of additions or improvements to assets held under a lease arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseholdImprovementsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MachineryAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MachineryAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478451/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of other physical assets used in the normal conduct of business to produce goods and services and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>94
<FILENAME>R87.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674445832848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Balance Sheet Detail - Additional Information (Detail) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Disclosure Text Block [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">$ 37.0<span></span>
</td>
<td class="nump">$ 23.9<span></span>
</td>
<td class="nump">$ 16.4<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>95
<FILENAME>R88.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674529471424">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheet Detail - Schedule of Accrued Liabilities (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ScheduleOfAccruedLiabilitiesLineItems', window );"><strong>Schedule of Accrued Liabilities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Employee compensation</a></td>
<td class="nump">$ 16,660<span></span>
</td>
<td class="nump">$ 33,522<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenueCurrent', window );">Deferred revenue</a></td>
<td class="nump">17,067<span></span>
</td>
<td class="nump">19,283<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedIncomeTaxesCurrent', window );">Income taxes payable</a></td>
<td class="nump">6,814<span></span>
</td>
<td class="nump">2,459<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">Other</a></td>
<td class="nump">16,772<span></span>
</td>
<td class="nump">15,856<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Total accrued liabilities</a></td>
<td class="nump">$ 57,313<span></span>
</td>
<td class="nump">$ 71,120<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ScheduleOfAccruedLiabilitiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of Accrued Liabilities [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ScheduleOfAccruedLiabilitiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedIncomeTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedIncomeTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenueCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>96
<FILENAME>R89.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674529378352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Income Before Income Taxes (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems', window );"><strong>Schedule of Income Before Income Tax [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic', window );">Domestic</a></td>
<td class="num">$ (24,888)<span></span>
</td>
<td class="nump">$ 153,446<span></span>
</td>
<td class="nump">$ 81,984<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign', window );">Foreign</a></td>
<td class="nump">81,595<span></span>
</td>
<td class="nump">65,694<span></span>
</td>
<td class="nump">71,559<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">$ 56,707<span></span>
</td>
<td class="nump">$ 219,140<span></span>
</td>
<td class="nump">$ 153,543<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of Income Before Income Tax [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>97
<FILENAME>R90.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674529489008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Current, Deferred and Equity Income Taxes (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IncomeTaxesLineItems', window );"><strong>Income Taxes [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Current</a></td>
<td class="nump">$ 19,941<span></span>
</td>
<td class="nump">$ 34,800<span></span>
</td>
<td class="nump">$ 20,166<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ProvisionForDeferredIncomeTaxExpenseBenefit', window );">Deferred</a></td>
<td class="nump">1,170<span></span>
</td>
<td class="num">(1,619)<span></span>
</td>
<td class="nump">5,086<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total</a></td>
<td class="nump">$ 21,111<span></span>
</td>
<td class="nump">$ 33,181<span></span>
</td>
<td class="nump">$ 25,252<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IncomeTaxesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Income Taxes [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IncomeTaxesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ProvisionForDeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Provision for Deferred Income Tax Expense (Benefit)</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ProvisionForDeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482659/740-20-45-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>98
<FILENAME>R91.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674435835744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Provision for Income Taxes by Jurisdiction (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IncomeTaxesLineItems', window );"><strong>Income Taxes [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations', window );">Federal</a></td>
<td class="nump">$ 2,272<span></span>
</td>
<td class="nump">$ 17,662<span></span>
</td>
<td class="nump">$ 8,321<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations', window );">State</a></td>
<td class="num">(26)<span></span>
</td>
<td class="nump">1,381<span></span>
</td>
<td class="nump">1,251<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations', window );">Foreign</a></td>
<td class="nump">18,865<span></span>
</td>
<td class="nump">14,138<span></span>
</td>
<td class="nump">15,680<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total</a></td>
<td class="nump">$ 21,111<span></span>
</td>
<td class="nump">$ 33,181<span></span>
</td>
<td class="nump">$ 25,252<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IncomeTaxesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Income Taxes [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IncomeTaxesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current and deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current and deferred national tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10B<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current and deferred foreign income tax expense (benefit) attributable to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10B<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482659/740-20-45-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current and deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current and deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10B<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>99
<FILENAME>R92.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674434339232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Additional Information (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IncomeTaxesLineItems', window );"><strong>Income Taxes [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Net operating loss carry forwards</a></td>
<td class="nump">$ 4,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherInformationPertainingToIncomeTaxes', window );">Net operating loss and business tax credit carry forwards expiration date</a></td>
<td class="text">at various dates through 2043<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount', window );">Valuation allowance increase (decrease)</a></td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="nump">$ 700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate', window );">Impact of unrecognized tax benefits on effective tax rate</a></td>
<td class="nump">3,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense', window );">Interest and penalties related to income taxes</a></td>
<td class="nump">15,000<span></span>
</td>
<td class="nump">24,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued', window );">Interest and penalties accrued</a></td>
<td class="nump">67,000<span></span>
</td>
<td class="nump">52,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions', window );">Unrecognized tax benefits decreases resulting from current period tax positions</a></td>
<td class="nump">1,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained Earnings (Accumulated Deficit)</a></td>
<td class="nump">432,868<span></span>
</td>
<td class="nump">$ 397,272<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UndistributedEarningsOfForeignSubsidiaries', window );">Undistributed earnings of foreign subsidiaries</a></td>
<td class="nump">212,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ForeignEarningsSubjectToOneTimeTransitionTax', window );">Foreign earnings subject to one time transition tax</a></td>
<td class="nump">5,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember', window );">State</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IncomeTaxesLineItems', window );"><strong>Income Taxes [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Net operating loss carry forwards</a></td>
<td class="nump">4,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember', window );">State | Tax Year 2043 Member</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IncomeTaxesLineItems', window );"><strong>Income Taxes [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardAmount', window );">Business tax credits carry forwards</a></td>
<td class="nump">5,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=rgen_FederalAndStateMember', window );">Federal and State</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IncomeTaxesLineItems', window );"><strong>Income Taxes [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Net operating loss carry forwards</a></td>
<td class="nump">$ 31,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=rgen_InflationReductionActOfTwoThousandTwentyTwoMember', window );">nflation Reduction Act Of Two Thousand Twenty Two</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IncomeTaxesLineItems', window );"><strong>Income Taxes [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_PercentageOfCurrentFederalTaxExpenseBenefit', window );">Percentage of alternative minimum tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ForeignEarningsSubjectToOneTimeTransitionTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Foreign Earnings Subject To One Time Transition Tax</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ForeignEarningsSubjectToOneTimeTransitionTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IncomeTaxesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Income Taxes [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IncomeTaxesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_PercentageOfCurrentFederalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage Of Current Federal Tax Expense Benefit</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_PercentageOfCurrentFederalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherInformationPertainingToIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of events or transactions pertaining to income taxes classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherInformationPertainingToIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxCreditCarryforwardAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxCreditCarryforwardAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UndistributedEarningsOfForeignSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of undistributed earnings of foreign subsidiaries intended to be permanently reinvested outside the country of domicile.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482603/740-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482620/740-10-25-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 740<br> -Topic 942<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477617/942-740-50-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 740<br> -Topic 944<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478822/944-740-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UndistributedEarningsOfForeignSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 217<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-217<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 217<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-217<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 217<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-217<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxPeriodAxis=rgen_TaxYear2043Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxPeriodAxis=rgen_TaxYear2043Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=rgen_FederalAndStateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=rgen_FederalAndStateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=rgen_InflationReductionActOfTwoThousandTwentyTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=rgen_InflationReductionActOfTwoThousandTwentyTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>100
<FILENAME>R93.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674440010160">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Income Taxes - Consolidated Deferred Tax Assets (Liabilities) (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNetAbstract', window );"><strong>Deferred tax assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 5,120<span></span>
</td>
<td class="nump">$ 5,323<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DeferredTaxAssetsOperatingLeases', window );">Operating leases</a></td>
<td class="nump">30,727<span></span>
</td>
<td class="nump">31,564<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch', window );">Capitalized research and development</a></td>
<td class="nump">17,568<span></span>
</td>
<td class="nump">9,102<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsInventory', window );">Inventory</a></td>
<td class="nump">10,131<span></span>
</td>
<td class="nump">5,983<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards', window );">Net operating loss carryforwards</a></td>
<td class="nump">7,648<span></span>
</td>
<td class="nump">9,808<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards', window );">Business tax credit carryforwards</a></td>
<td class="nump">5,531<span></span>
</td>
<td class="nump">2,639<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther', window );">Other</a></td>
<td class="nump">7,063<span></span>
</td>
<td class="nump">6,061<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGross', window );">Total deferred tax assets</a></td>
<td class="nump">83,788<span></span>
</td>
<td class="nump">70,480<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Less: valuation allowance</a></td>
<td class="num">(20)<span></span>
</td>
<td class="num">(19)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNet', window );">Net deferred tax assets</a></td>
<td class="nump">83,768<span></span>
</td>
<td class="nump">70,461<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesAbstract', window );"><strong>Deferred tax liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DeferredIncomeTaxLiabilitiesFixedAssets', window );">Fixed assets</a></td>
<td class="num">(17,716)<span></span>
</td>
<td class="num">(18,965)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets', window );">Acquired intangible assets</a></td>
<td class="num">(58,467)<span></span>
</td>
<td class="num">(45,170)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets', window );">Operating lease right of use assets</a></td>
<td class="num">(26,373)<span></span>
</td>
<td class="num">(28,486)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DeferredTaxLiabilitiesDebtDiscount', window );">Debt discount</a></td>
<td class="num">(19,006)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilities', window );">Total deferred tax liabilities</a></td>
<td class="num">(121,562)<span></span>
</td>
<td class="num">(92,621)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilities', window );">Total net deferred tax liabilities</a></td>
<td class="num">$ (37,794)<span></span>
</td>
<td class="num">$ (22,160)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DeferredIncomeTaxLiabilitiesFixedAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred income tax liabilities, fixed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DeferredIncomeTaxLiabilitiesFixedAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DeferredTaxAssetsOperatingLeases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred Tax Assets Operating Leases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DeferredTaxAssetsOperatingLeases</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DeferredTaxLiabilitiesDebtDiscount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred tax liabilities, debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DeferredTaxLiabilitiesDebtDiscount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred tax liabilities, operating lease right of use assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of a valuation allowances, of deferred tax assets attributable to deductible tax credit carryforwards including, but not limited to, research, foreign, general business, alternative minimum tax, and other deductible tax credit carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxCreditCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences from provisions, reserves, allowances, and accruals, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>101
<FILENAME>R94.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674438664784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Reconciliation of Federal Statutory Rate to Effective Income Tax Rate (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IncomeTaxRateReconciliationLineItems', window );"><strong>Income Tax Rate Reconciliation [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">$ 56,707<span></span>
</td>
<td class="nump">$ 219,140<span></span>
</td>
<td class="nump">$ 153,543<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate', window );">Expected tax at statutory rate</a></td>
<td class="nump">11,910<span></span>
</td>
<td class="nump">46,020<span></span>
</td>
<td class="nump">32,247<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract', window );"><strong>Adjustments due to:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential', window );">Difference between U.S. and foreign tax</a></td>
<td class="nump">1,078<span></span>
</td>
<td class="nump">1,024<span></span>
</td>
<td class="nump">530<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes', window );">State income tax</a></td>
<td class="nump">1,224<span></span>
</td>
<td class="nump">3,509<span></span>
</td>
<td class="nump">1,462<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationTaxCredits', window );">Business tax credits</a></td>
<td class="num">(4,522)<span></span>
</td>
<td class="num">(5,139)<span></span>
</td>
<td class="num">(2,239)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost', window );">Stock-based compensation expense</a></td>
<td class="num">(2,461)<span></span>
</td>
<td class="num">(5,638)<span></span>
</td>
<td class="num">(9,049)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings', window );">U.S. taxation of foreign earnings</a></td>
<td class="nump">539<span></span>
</td>
<td class="nump">83<span></span>
</td>
<td class="nump">30<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount', window );">Foreign-derived intangible income</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(5,042)<span></span>
</td>
<td class="num">(2,547)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation', window );">Executive compensation</a></td>
<td class="nump">3,084<span></span>
</td>
<td class="nump">5,441<span></span>
</td>
<td class="nump">3,397<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount', window );">Contingent consideration</a></td>
<td class="num">(6,412)<span></span>
</td>
<td class="num">(6,033)<span></span>
</td>
<td class="nump">1,232<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange', window );">Loss on extinguishment of debt</a></td>
<td class="nump">2,634<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount', window );">Debt discount</a></td>
<td class="nump">16,650<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss', window );">Foreign exchange loss</a></td>
<td class="num">(2,288)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationTaxContingencies', window );">Uncertain tax provisions</a></td>
<td class="nump">165<span></span>
</td>
<td class="nump">234<span></span>
</td>
<td class="num">(443)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Change in valuation allowance</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(688)<span></span>
</td>
<td class="num">(48)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IncomeTaxReconciliationReturnToProvisionAdjustments', window );">Return to provision adjustments</a></td>
<td class="num">(1,255)<span></span>
</td>
<td class="num">(498)<span></span>
</td>
<td class="num">(50)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationOtherReconcilingItems', window );">Other</a></td>
<td class="nump">765<span></span>
</td>
<td class="num">(92)<span></span>
</td>
<td class="nump">730<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total</a></td>
<td class="nump">$ 21,111<span></span>
</td>
<td class="nump">$ 33,181<span></span>
</td>
<td class="nump">$ 25,252<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Expected tax at statutory rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract', window );"><strong>Adjustments due to:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential', window );">Difference between U.S. and foreign tax</a></td>
<td class="nump">1.90%<span></span>
</td>
<td class="nump">0.50%<span></span>
</td>
<td class="nump">0.30%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State income and franchise tax</a></td>
<td class="nump">2.20%<span></span>
</td>
<td class="nump">1.60%<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits', window );">Business tax credits</a></td>
<td class="num">(8.00%)<span></span>
</td>
<td class="num">(2.30%)<span></span>
</td>
<td class="num">(1.50%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost', window );">Stock-based compensation expense</a></td>
<td class="num">(4.30%)<span></span>
</td>
<td class="num">(2.60%)<span></span>
</td>
<td class="num">(5.90%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings', window );">U.S. taxation of foreign earnings</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent', window );">Foreign-derived intangible income</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="num">(2.30%)<span></span>
</td>
<td class="num">(1.70%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation', window );">Executive compensation</a></td>
<td class="nump">5.40%<span></span>
</td>
<td class="nump">2.50%<span></span>
</td>
<td class="nump">2.20%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent', window );">Contingent consideration</a></td>
<td class="num">(11.30%)<span></span>
</td>
<td class="num">(2.80%)<span></span>
</td>
<td class="nump">0.80%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent', window );">Loss on extinguishment of debt</a></td>
<td class="nump">4.60%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage', window );">Debt discount</a></td>
<td class="nump">29.40%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent', window );">Foreign exchange loss</a></td>
<td class="num">(4.00%)<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies', window );">Uncertain tax provisions</a></td>
<td class="nump">0.30%<span></span>
</td>
<td class="nump">0.10%<span></span>
</td>
<td class="num">(0.30%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Change in valuation allowance</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="num">(0.30%)<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments', window );">Return to provision adjustments</a></td>
<td class="num">(2.20%)<span></span>
</td>
<td class="num">(0.20%)<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Other</a></td>
<td class="nump">1.20%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.50%<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Income tax provision</a></td>
<td class="nump">37.20%<span></span>
</td>
<td class="nump">15.10%<span></span>
</td>
<td class="nump">16.40%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective income tax ratereconciliation debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective income tax rate reconciliation debt discount percentage.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective income tax rate reconciliation, foreign exchange loss.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective Income Tax Rate Reconciliation, Foreign Exchange Loss, Percent</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective income tax rate reconciliation, loss on debt exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective income tax rate reconciliation, loss on debt exchange, percent</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective income tax rate reconciliation, nondeductible expense, contingent consideration,amount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective income tax rate reconciliation, nondeductible expense,contingent consideration , percent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective Income Tax Rate Reconciliation, Nondeductible Expense, Executive Compensation</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective Income Tax Rate Reconciliation, Return to Provision Adjustments</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IncomeTaxRateReconciliationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Income Tax Rate Reconciliation [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IncomeTaxRateReconciliationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Income Tax Reconciliation, Nondeductible Expense, Executive Compensation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IncomeTaxReconciliationReturnToProvisionAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Income Tax Reconciliation Return to Provision Adjustments</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IncomeTaxReconciliationReturnToProvisionAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.1.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (a)(6)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of reported income tax benefit from difference to expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to foreign-derived intangible income (FDII).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of reported income tax benefit from difference to income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to foreign-derived intangible income (FDII).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to the repatriation of foreign earnings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to income tax contingencies. Includes, but not limited to, domestic tax contingency, foreign tax contingency, state and local tax contingency, and other contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (a)(8)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (a)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482659/740-20-45-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (a)(6)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to foreign income tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of reported income tax expense (benefit) in excess of (less than) expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for award under share-based payment arrangement. Includes, but is not limited to, expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationOtherReconcilingItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying statutory federal (national) tax rate to pretax income (loss) from continuing operation attributable to other reconciling item. Excludes state and local income tax expense (benefit), federal tax expense (benefit), statutory income tax expense (benefit) outside of country of domicile, tax credit, nondeductible expense, deduction, income tax settlement, income tax contingency, and cross-border tax law.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationOtherReconcilingItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to repatriation of foreign earnings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationTaxContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in income tax contingencies. Including, but not limited to, domestic tax contingency, foreign tax contingency, state and local tax contingency, and other contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (a)(8)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationTaxContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (a)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationTaxCredits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>102
<FILENAME>R95.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674431830048">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities (Detail)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">United States</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExaminationLineItems', window );"><strong>Income Tax Examination [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OpenTaxYear', window );">Fiscal year subject to examination</a></td>
<td class="text">2019 2020 2021 2022 2023<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_SE', window );">Sweden</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExaminationLineItems', window );"><strong>Income Tax Examination [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OpenTaxYear', window );">Fiscal year subject to examination</a></td>
<td class="text">2018 2019 2020 2021 2022 2023<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExaminationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExaminationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OpenTaxYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tax year that remains open to examination under enacted tax laws, in YYYY format.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OpenTaxYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:gYearListItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_SE">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_SE</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>103
<FILENAME>R96.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674445734656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Reconciliation of Unrecognized Tax Benefits (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems', window );"><strong>Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Balance of gross unrecognized tax benefits, beginning of period</a></td>
<td class="nump">$ 2,996<span></span>
</td>
<td class="nump">$ 2,786<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions', window );">Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period</a></td>
<td class="nump">178<span></span>
</td>
<td class="nump">146<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions', window );">Gross amounts of decreases in unrecognized tax benefits as a result of tax positions taken in the prior period</a></td>
<td class="nump">53<span></span>
</td>
<td class="nump">64<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease', window );">Gross amounts of decrease due to release</a></td>
<td class="num">(88)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Balance of gross unrecognized tax benefits, end of period</a></td>
<td class="nump">$ 3,139<span></span>
</td>
<td class="nump">$ 2,996<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Unrecognized Tax Benefits, Period Gross Decreases Release</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 217<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-217<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-15A<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-10B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 217<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-217<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 217<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-217<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>104
<FILENAME>R97.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674445653024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Additional Information (Detail) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 29, 2023</div></th>
<th class="th"><div>Dec. 14, 2023</div></th>
<th class="th"><div>Dec. 06, 2023</div></th>
<th class="th"><div>May 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_StockholdersEquityNoteDisclosureLineItems', window );"><strong>Stockholders Equity Note Disclosure [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">55,766,078<span></span>
</td>
<td class="nump">55,766,078<span></span>
</td>
<td class="nump">55,557,698<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 25,575<span></span>
</td>
<td class="nump">$ 27,316<span></span>
</td>
<td class="nump">$ 27,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Aggregate intrinsic value of stock options exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,800<span></span>
</td>
<td class="nump">$ 14,100<span></span>
</td>
<td class="nump">$ 20,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value of share-based awards granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 84.37<span></span>
</td>
<td class="nump">$ 87.40<span></span>
</td>
<td class="nump">$ 88.01<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1', window );">Total fair value of stock options vested</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,700<span></span>
</td>
<td class="nump">$ 3,100<span></span>
</td>
<td class="nump">$ 3,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Total unrecognized compensation cost</a></td>
<td class="nump">$ 63,800<span></span>
</td>
<td class="nump">$ 63,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Unrecognized compensation cost, weighted average remaining requisite service period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years 10 months 2 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares', window );">Number of unvested options and restricted stock units</a></td>
<td class="nump">2,185,873<span></span>
</td>
<td class="nump">2,185,873<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideLlcMember', window );">Avitide</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_StockholdersEquityNoteDisclosureLineItems', window );"><strong>Stockholders Equity Note Disclosure [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">42,621<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_EarnoutConsiderationEarned', window );">Earnout consideration earned</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=rgen_StockOptionAndIncentivePlanMember', window );">2018 Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_StockholdersEquityNoteDisclosureLineItems', window );"><strong>Stockholders Equity Note Disclosure [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance', window );">Common stock shares reserved for Issuance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,778,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Incentive options, vesting period</a></td>
<td class="nump">1,671,408<span></span>
</td>
<td class="nump">1,671,408<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_StockholdersEquityNoteDisclosureLineItems', window );"><strong>Stockholders Equity Note Disclosure [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Closing price of common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 179.80<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgen_UnvestedOptionsMember', window );">Unvested Options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_StockholdersEquityNoteDisclosureLineItems', window );"><strong>Stockholders Equity Note Disclosure [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Incentive options, vesting period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgen_RestrictedStockAndPerformanceStockUnitsMember', window );">Restricted Stock Units and Performance Stock Units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_StockholdersEquityNoteDisclosureLineItems', window );"><strong>Stockholders Equity Note Disclosure [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested', window );">Aggregate intrinsic value of restricted stock units vested</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 35,700<span></span>
</td>
<td class="nump">43,900<span></span>
</td>
<td class="nump">46,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue', window );">Total grant date fair value of restricted stock units vested</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 26,200<span></span>
</td>
<td class="nump">$ 22,700<span></span>
</td>
<td class="nump">$ 13,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember', window );">1.00% Convertible Senior Notes due 2028</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_StockholdersEquityNoteDisclosureLineItems', window );"><strong>Stockholders Equity Note Disclosure [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Net proceeds from public offering</a></td>
<td class="nump">$ 14,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock (in shares)</a></td>
<td class="nump">92,090<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Closing price of common stock</a></td>
<td class="nump">$ 156.22<span></span>
</td>
<td class="nump">$ 156.22<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 156.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StockRepurchaseProgramAuthorizedAmount1', window );">Share repurchase amount</a></td>
<td class="nump">$ 25,000<span></span>
</td>
<td class="nump">$ 25,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Aggregate principal amount</a></td>
<td class="nump">$ 600,000<span></span>
</td>
<td class="nump">$ 600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 290,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_EarnoutConsiderationEarned">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Earnout consideration earned.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EarnoutConsiderationEarned</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share-based Compensation Arrangement by Share-based Payment Award, Options and Equity Instruments Other Than Options, Nonvested, Number of Shares</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_StockholdersEquityNoteDisclosureLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stockholders Equity Note Disclosure [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_StockholdersEquityNoteDisclosureLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StockRepurchaseProgramAuthorizedAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount authorized for purchase of share under share repurchase plan. Includes, but is not limited to, repurchase of stock and unit of ownership.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 505<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481520/505-30-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StockRepurchaseProgramAuthorizedAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate number of common shares reserved for future issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockCapitalSharesReservedForFutureIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of debt instrument at time of issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69C<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482900/835-30-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional capital contribution to the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Price of a single share of a number of saleable stocks of a company.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Intrinsic value of vested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of options vested. Excludes equity instruments other than options, for example, but not limited to, share units, stock appreciation rights, restricted stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_AvitideLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=rgen_StockOptionAndIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=rgen_StockOptionAndIncentivePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=rgen_UnvestedOptionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=rgen_UnvestedOptionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=rgen_RestrictedStockAndPerformanceStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=rgen_RestrictedStockAndPerformanceStockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>105
<FILENAME>R98.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674445677520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Stock-Based Compensation Expense (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">$ 25,575<span></span>
</td>
<td class="nump">$ 27,316<span></span>
</td>
<td class="nump">$ 27,500<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of product revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">1,933<span></span>
</td>
<td class="nump">2,525<span></span>
</td>
<td class="nump">2,021<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research and development</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">2,855<span></span>
</td>
<td class="nump">2,622<span></span>
</td>
<td class="nump">2,856<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, general and administrative</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">$ 20,787<span></span>
</td>
<td class="nump">$ 22,169<span></span>
</td>
<td class="nump">$ 22,623<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>106
<FILENAME>R99.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674437364496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Estimated Weighted Average Assumptions (Detail)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum', window );">Expected volatility (range), minimum</a></td>
<td class="nump">44.78%<span></span>
</td>
<td class="nump">41.44%<span></span>
</td>
<td class="nump">44.57%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum', window );">Expected volatility (range), maximum</a></td>
<td class="nump">46.58%<span></span>
</td>
<td class="nump">43.96%<span></span>
</td>
<td class="nump">45.27%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum', window );">Risk-free interest rate, minimum</a></td>
<td class="nump">3.56%<span></span>
</td>
<td class="nump">1.86%<span></span>
</td>
<td class="nump">0.77%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum', window );">Risk-free interest rate, maximum</a></td>
<td class="nump">4.71%<span></span>
</td>
<td class="nump">4.07%<span></span>
</td>
<td class="nump">1.07%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Expected dividend yield</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term (in years)</a></td>
<td class="text">5 years 1 month 20 days<span></span>
</td>
<td class="text">5 years 6 months<span></span>
</td>
<td class="text">5 years 6 months<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term (in years)</a></td>
<td class="text">6 years 6 months<span></span>
</td>
<td class="text">6 years 6 months<span></span>
</td>
<td class="text">6 days 12 hours<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the maximum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the minimum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The minimum risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>107
<FILENAME>R100.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674528247072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Summary of Option Activity (Detail)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr><th class="th" colspan="2">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>$ / shares </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward', window );"><strong>Options Outstanding</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Options outstanding at December 31, 2022 | shares | shares</a></td>
<td class="nump">609,965<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod', window );">Granted | shares | shares</a></td>
<td class="nump">90,305<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercised | shares | shares</a></td>
<td class="num">(40,211)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod', window );">Forfeited/expired/cancelled | Shares | shares</a></td>
<td class="num">(10,929)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Options outstanding at December 31, 2023 | shares | shares</a></td>
<td class="nump">649,130<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Options exercisable at December 31, 2023 | shares | shares</a></td>
<td class="nump">364,443<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Vested and expected to vest at December 31, 2023 | shares | shares</a></td>
<td class="nump">635,834<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward', window );"><strong>Weighted-Average Exercise Price Per Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Options outstanding at December 31, 2022 | $ / shares</a></td>
<td class="nump">$ 71.74<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Granted | $ / shares</a></td>
<td class="nump">168.22<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Exercised | $ / shares</a></td>
<td class="nump">26.76<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice', window );">Forfeited/expired/cancelled | $ / shares</a></td>
<td class="nump">189.46<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Options outstanding at December 31, 2023 | $ / shares</a></td>
<td class="nump">85.97<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Options exercisable at December 31, 2023 | $ / shares</a></td>
<td class="nump">65.53<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice', window );">Vested and expected to vest at December 31, 2023 | $ / shares</a></td>
<td class="nump">$ 85.49<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract', window );"><strong>Weighted-Average Remaining Contractual Term (in years)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Vested and expected to vest at December 31, 2023</a></td>
<td class="text">5 years 7 months 2 days<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract', window );"><strong>Aggregate Intrinsic Value</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Vested and expectd to vest at December 31, 2023 | $</a></td>
<td class="nump">$ 61,888<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the number of vested options as of December 31, 2023 plus the number of unvested options expected to vest as of December 31, 2023, based on the unvested outstanding options at </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> adjusted for estimated forfeiture rates of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees.</span></td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share-based Compensation Arrangement by Share-based Payment Award, Options, Aggregate Intrinsic Value [Abstract]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price of options that were either forfeited or expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Net number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>108
<FILENAME>R101.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674431858544">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Stockholders' Equity - Summary of Option Activity (Parenthetical) (Detail) - Employee Stock Option<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Awards Granted to Non-Executive Level Employees</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="nump">8.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Awards Granted to Executive Level Employees</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="nump">3.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_PercentageOfSharesSubjectToForfeiture">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of shares subject to forfeiture.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_PercentageOfSharesSubjectToForfeiture</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=rgen_NonExecutiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=rgen_NonExecutiveMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>109
<FILENAME>R102.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674437273456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Summary of Restricted Stock Unit Activity (Detail)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr><th class="th" colspan="2">
<div>Dec. 31, 2023 </div>
<div>$ / shares </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Options Outstanding</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Shares, Unvested at December 31, 2022 | shares</a></td>
<td class="nump">531,034<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Shares Awarded | shares</a></td>
<td class="nump">212,338<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Shares, Vested | shares</a></td>
<td class="num">(195,672)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Shares, Forfeited/cancelled | shares</a></td>
<td class="num">(73,380)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Shares, Unvested at December 31, 2023 | shares</a></td>
<td class="nump">474,320<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber', window );">Shares, Vested and expected to vest at December 31, 2023 | shares</a></td>
<td class="nump">413,249<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract', window );"><strong>Weighted-Average Remaining Contractual Term (in years)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted Average, Unvested at December 31,2022 | $ / shares</a></td>
<td class="nump">$ 142.57<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted Average, Awarded | $ / shares</a></td>
<td class="nump">170.03<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Weighted Average, Vested | $ / shares</a></td>
<td class="nump">124.58<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Weighted Average, Forfeited/Cancelled | $ / shares</a></td>
<td class="nump">177.81<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted Average, Unvested at December 31, 2023 | $ / shares</a></td>
<td class="nump">155.59<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue', window );">Weighted Average, Vested and expected to vest at December 31, 2023 | $ / shares</a></td>
<td class="nump">$ 152.74<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the number of vested stock units as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, plus the number of unvested stock units expected to vest as of December 31, 2023, based on the unvested outstanding stock units at December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> adjusted for estimated forfeiture rates of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees.</span></td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Vested And Expected To Vest Number</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share based compensation arrangement by share based payment award equity instruments other than options vested and expected to vest outstanding weighted average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>110
<FILENAME>R103.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674431856992">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Stockholders' Equity - Summary of Restricted Stock Unit Activity (Parenthetical) (Detail) - Restricted Stock Units and Performance Stock Units<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgen_RestrictedStockAndPerformanceStockUnitsMember', window );">Awards Granted to Non-Executive Level Employees</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="nump">8.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgen_RestrictedStockAndPerformanceStockUnitsMember', window );">Awards Granted to Executive Level Employees</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="nump">3.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_PercentageOfSharesSubjectToForfeiture">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of shares subject to forfeiture.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_PercentageOfSharesSubjectToForfeiture</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=rgen_RestrictedStockAndPerformanceStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=rgen_RestrictedStockAndPerformanceStockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=rgen_NonExecutiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=rgen_NonExecutiveMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>111
<FILENAME>R104.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674441756944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies - Additional Information (Detail) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_CommitmentsAndContingenciesLineItems', window );"><strong>Commitments and Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractualObligationDueInNextTwelveMonths', window );">Outstanding obligation</a></td>
<td class="nump">$ 34.3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgen_NGLImpactAMember', window );">NGL Impact A [Member] | Research and Development Arrangement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_CommitmentsAndContingenciesLineItems', window );"><strong>Commitments and Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RoyaltyExpense', window );">Royalty payments</a></td>
<td class="nump">$ 3.8<span></span>
</td>
<td class="nump">$ 2.6<span></span>
</td>
<td class="nump">$ 2.3<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_CommitmentsAndContingenciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commitments and Contingencies [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_CommitmentsAndContingenciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractualObligationDueInNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of contractual obligation 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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractualObligationDueInNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RoyaltyExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense related to royalty payments under a contractual arrangement such as payment for mineral and drilling rights and use of technology or intellectual property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RoyaltyExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgen_NGLImpactAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgen_NGLImpactAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis=us-gaap_ResearchAndDevelopmentArrangementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis=us-gaap_ResearchAndDevelopmentArrangementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>112
<FILENAME>R105.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674434111424">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Convertible Senior Notes - Carrying Value of Convertible Senior Notes (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 14, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleNotesPayableCurrent', window );">Total convertible senior notes</a></td>
<td class="nump">$ 69,452<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 284,615<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember', window );">0.375% Convertible Senior Notes due 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Principal amount</a></td>
<td class="nump">69,700<span></span>
</td>
<td class="nump">$ 217,700<span></span>
</td>
<td class="nump">287,470<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsNet', window );">Unamortized debt issuance costs</a></td>
<td class="num">(248)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,855)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleNotesPayableCurrent', window );">Total convertible senior notes</a></td>
<td class="nump">69,452<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">284,615<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember', window );">1.00% Convertible Senior Notes due 2028</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Principal amount</a></td>
<td class="nump">600,000<span></span>
</td>
<td class="nump">$ 309,900<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentUnamortizedDiscount', window );">Unamortized debt discount</a></td>
<td class="num">(81,457)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsNet', window );">Unamortized debt issuance costs</a></td>
<td class="num">(8,400)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ConvertibleSeniorNotes', window );">Total convertible senior notes</a></td>
<td class="nump">$ 510,143<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ConvertibleSeniorNotes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Convertible senior notes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ConvertibleSeniorNotes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConvertibleNotesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of the portion of long-term debt due within one year or the operating cycle if longer identified as Convertible Notes Payable. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleNotesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentCarryingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69C<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69E<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69F<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1I<br><br>Reference 26: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br><br>Reference 27: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482900/835-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentUnamortizedDiscount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-1A<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482900/835-30-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentUnamortizedDiscount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFinanceCostsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-1A<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482900/835-30-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFinanceCostsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>113
<FILENAME>R106.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674439926192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Convertible Senior Notes - Additional Information (Detail)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 14, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jul. 19, 2019 </div>
<div>USD ($) </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>Days </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 06, 2023 </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Jul. 31, 2019 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromConvertibleDebt', window );">Proceeds from issuance of 2023 Convertible Senior Notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 290,094<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDebtIssuanceCosts', window );">Payment of debt issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,253<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Gain (Loss) on Extinguishment of Debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(12,676)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtInstrumentConvertibleIntoEquitySettled', window );">Debt instrument convertible in to equity settled</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentage', window );">Notes redemption price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfDebtDiscountPremium', window );">Amortization of debt discount and issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,448<span></span>
</td>
<td class="nump">1,815<span></span>
</td>
<td class="nump">11,530<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AmortizationOfDebtIssuanceCost', window );">Amortization of debt issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,075<span></span>
</td>
<td class="nump">1,815<span></span>
</td>
<td class="nump">1,436<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,569,227<span></span>
</td>
<td class="nump">$ 1,569,227<span></span>
</td>
<td class="nump">1,569,227<span></span>
</td>
<td class="nump">1,547,266<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilities', window );">Deferred Tax Liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">37,794<span></span>
</td>
<td class="nump">37,794<span></span>
</td>
<td class="nump">37,794<span></span>
</td>
<td class="nump">22,160<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Current liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">164,942<span></span>
</td>
<td class="nump">164,942<span></span>
</td>
<td class="nump">164,942<span></span>
</td>
<td class="nump">404,196<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities', window );">Conversion of Convertible Securities Stock Issued | value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,791<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(12,676)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AdditionalPaidInCapitalMember', window );">Additional Paid-in Capital</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities', window );">Conversion of Convertible Securities Stock Issued | value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,791<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember', window );">1.00% Convertible Senior Notes due 2028</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Aggregate principal amount</a></td>
<td class="nump">$ 290,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 600,000<span></span>
</td>
<td class="nump">$ 600,000<span></span>
</td>
<td class="nump">$ 600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtInstrumentExchangedAmountCancelled', window );">Debt istrument cancelled</a></td>
<td class="nump">309,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtInstrumentIssuedForCash', window );">Notes for cash</a></td>
<td class="nump">290,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Notes, interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDebtIssuanceCosts', window );">Payment of debt issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsNet', window );">Unamortized debt issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (8,400)<span></span>
</td>
<td class="num">$ (8,400)<span></span>
</td>
<td class="num">(8,400)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentUnamortizedDiscount', window );">Aggregate debt discount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 81,457<span></span>
</td>
<td class="nump">$ 81,457<span></span>
</td>
<td class="nump">$ 81,457<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateTerms', window );">Interest repayment terms</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Interest is payable semi-annually in arrears on each June 15 and December 15, commencing on June 15, 2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentMaturityDate', window );">Notes, due date</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Dec. 15,  2028<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleConversionRatio1', window );">Notes conversion ratio per $1,000 principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,924.7000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleConversionPrice1', window );">Notes initial conversion price | $ / shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 203.06<span></span>
</td>
<td class="nump">$ 203.06<span></span>
</td>
<td class="nump">$ 203.06<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateDuringPeriod', window );">Premium over sale price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Share Price | $ / shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 156.22<span></span>
</td>
<td class="nump">$ 156.22<span></span>
</td>
<td class="nump">$ 156.22<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 156.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentage', window );">Notes redemption price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpenseDebtExcludingAmortization', window );">Contractual coupon interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfFinancingCosts', window );">Amortization of debt discount and issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AmortizationOfDebtIssuanceCost', window );">Amortization of debt issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage', window );">Effective interest rate on the Notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.39%<span></span>
</td>
<td class="nump">4.39%<span></span>
</td>
<td class="nump">4.39%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Notes, carrying value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 510,100<span></span>
</td>
<td class="nump">$ 510,100<span></span>
</td>
<td class="nump">$ 510,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Proceeds from issuance of common stock, net of issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtFairValue', window );">Fair value of the note</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">596,000<span></span>
</td>
<td class="nump">596,000<span></span>
</td>
<td class="nump">596,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember', window );">1.00% Convertible Senior Notes due 2028 | Common Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Aggregate principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember', window );">0.375% Convertible Senior Notes due 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Aggregate principal amount</a></td>
<td class="nump">69,700<span></span>
</td>
<td class="nump">$ 287,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 287,500<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Notes, interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.375%<span></span>
</td>
<td class="nump">0.375%<span></span>
</td>
<td class="nump">0.375%<span></span>
</td>
<td class="nump">0.375%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromConvertibleDebt', window );">Proceeds from issuance of 2023 Convertible Senior Notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 278,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsNet', window );">Unamortized debt issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (248)<span></span>
</td>
<td class="num">$ (248)<span></span>
</td>
<td class="num">$ (248)<span></span>
</td>
<td class="num">$ (2,855)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateTerms', window );">Interest repayment terms</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Interest is payable semi-annually in arrears on January 15 and July 15 of each year, beginning on January 15, 2020<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentMaturityDate', window );">Notes, due date</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Jul. 15,  2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger', window );">Notes threshold percentage of stock price trigger</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">130.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleThresholdTradingDays', window );">Notes threshold trading days | Days</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtInstrumentConvertibleIntoEquity', window );">Debt instrument amount convertible into equity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200<span></span>
</td>
<td class="nump">$ 200<span></span>
</td>
<td class="nump">$ 200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1', window );">Notes threshold consecutive trading days | Days</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleConversionRatio1', window );">Notes conversion ratio per $1,000 principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.6749<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleConversionPrice1', window );">Notes initial conversion price | $ / shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 115.28<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentage', window );">Notes redemption price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpenseDebtExcludingAmortization', window );">Contractual coupon interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfDebtDiscountPremium', window );">Amortization of debt discount and issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfFinancingCosts', window );">Amortization of debt discount and issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage', window );">Effective interest rate on the Notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.02%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Notes, carrying value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">69,500<span></span>
</td>
<td class="nump">$ 69,500<span></span>
</td>
<td class="nump">69,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtFairValue', window );">Fair value of the note</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">109,800<span></span>
</td>
<td class="nump">109,800<span></span>
</td>
<td class="nump">$ 109,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_OptionToPurchaseAdditionalDebtFaceAmount', window );">Additional Notes issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 37,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DiscountRate', window );">Discount rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">52,100<span></span>
</td>
<td class="nump">52,100<span></span>
</td>
<td class="nump">$ 52,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent', window );">Transaction costs attributable to liability component</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ConvertibleNotesTransactionCostsOfEquityComponent', window );">Transaction costs attributable to equity component</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,600<span></span>
</td>
<td class="nump">1,600<span></span>
</td>
<td class="nump">1,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilities', window );">Deferred Tax Liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,400<span></span>
</td>
<td class="nump">11,400<span></span>
</td>
<td class="nump">11,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt', window );">Net adjustment for the initial</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Current liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">69,500<span></span>
</td>
<td class="nump">69,500<span></span>
</td>
<td class="nump">69,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember', window );">0.375% Convertible Senior Notes due 2024 | Common Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Aggregate principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=rgen_ExchangeAndSubscriptionAgreementsMember', window );">Exchange and Subscription Agreements | 1.00% Convertible Senior Notes due 2028</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Aggregate principal amount</a></td>
<td class="nump">600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=rgen_ExchangedTwoZeroOneNineNotesMember', window );">Exchanged 2019 Notes | 1.00% Convertible Senior Notes due 2028</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtInstrumentExchangedAmount', window );">Debt instrument exchanged amount</a></td>
<td class="nump">217,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ModificationOfDebt', window );">Modification of debt</a></td>
<td class="nump">188,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Gain (Loss) on Extinguishment of Debt</a></td>
<td class="nump">29,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsNet', window );">Unamortized debt issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(100)<span></span>
</td>
<td class="num">(100)<span></span>
</td>
<td class="num">(100)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="nump">29,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=rgen_ModifiedTwoZeroOneNineNotesMember', window );">Modified 2019 Notes | 1.00% Convertible Senior Notes due 2028</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Aggregate principal amount</a></td>
<td class="nump">79,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDebtIssuanceCosts', window );">Payment of debt issuance costs</a></td>
<td class="nump">6,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsNet', window );">Unamortized debt issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7,800)<span></span>
</td>
<td class="num">(7,800)<span></span>
</td>
<td class="num">(7,800)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentUnamortizedDiscount', window );">Aggregate debt discount</a></td>
<td class="nump">82,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AmortizationOfDebtIssuanceCost', window );">Amortization of debt issuance costs</a></td>
<td class="nump">7,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=rgen_ModifiedTwoZeroOneNineNotesMember', window );">Modified 2019 Notes | 1.00% Convertible Senior Notes due 2028 | Additional Paid-in Capital</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities', window );">Conversion of Convertible Securities Stock Issued | value</a></td>
<td class="nump">2,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=rgen_ModifiedTwoZeroOneNineNotesMember', window );">Modified 2019 Notes | 1.00% Convertible Senior Notes due 2028 | Fair value of embedded conversion option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities', window );">Conversion of Convertible Securities Stock Issued | value</a></td>
<td class="nump">2,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=rgen_SubscriptionTransactionsMember', window );">Subscription Transactions | 1.00% Convertible Senior Notes due 2028</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Aggregate principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">290,100<span></span>
</td>
<td class="nump">290,100<span></span>
</td>
<td class="nump">$ 290,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtInstrumentIssuedForCash', window );">Notes for cash</a></td>
<td class="nump">290,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromConvertibleDebt', window );">Proceeds from issuance of 2023 Convertible Senior Notes</a></td>
<td class="nump">276,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDebtIssuanceCosts', window );">Payment of debt issuance costs</a></td>
<td class="nump">14,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Proceeds from issuance of common stock, net of issuance costs</a></td>
<td class="nump">$ 14,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=rgen_TwoZeroTwoThreeNotesMember', window );">2023 Notes | 1.00% Convertible Senior Notes due 2028</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentage', window );">Notes redemption price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AmortizationOfDebtIssuanceCost', window );">Amortization of debt issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Notes, carrying value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">510,100<span></span>
</td>
<td class="nump">510,100<span></span>
</td>
<td class="nump">510,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtFairValue', window );">Fair value of the note</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 596,000<span></span>
</td>
<td class="nump">$ 596,000<span></span>
</td>
<td class="nump">$ 596,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=rgen_OutstandingTwoZeroTwoThreeNotesMember', window );">Outstanding 2023 Notes | 1.00% Convertible Senior Notes due 2028</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentage', window );">Notes redemption price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=rgen_ExchangeTransactionMember', window );">Exchange Transaction | 0.375% Convertible Senior Notes due 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Aggregate principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 69,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum | 1.00% Convertible Senior Notes due 2028</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentage', window );">Notes redemption price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_AmortizationOfDebtIssuanceCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortization of debt issuance cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_AmortizationOfDebtIssuanceCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ConvertibleNotesTransactionCostsOfEquityComponent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Convertible notes transaction costs of equity component.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ConvertibleNotesTransactionCostsOfEquityComponent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Convertible notes transaction costs of liability component.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DebtInstrumentConvertibleIntoEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt instrument convertible into equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtInstrumentConvertibleIntoEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DebtInstrumentConvertibleIntoEquitySettled">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt instrument convertible in to equity settled</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtInstrumentConvertibleIntoEquitySettled</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DebtInstrumentExchangedAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt Instrument Exchanged Amount</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtInstrumentExchangedAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DebtInstrumentExchangedAmountCancelled">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt instrument exchanged amount cancelled</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtInstrumentExchangedAmountCancelled</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DebtInstrumentIssuedForCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt instrument issued for cash.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtInstrumentIssuedForCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DiscountRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Discount rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DiscountRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ModificationOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Modification of debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ModificationOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_OptionToPurchaseAdditionalDebtFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Option to purchase additional debt face amount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_OptionToPurchaseAdditionalDebtFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Adjustment to additional paid in capital resulting from the recognition of convertible debt instruments as two separate components - a debt component and an equity component. This bifurcation may result in a basis difference associated with the liability component that represents a temporary difference for purposes of applying accounting for income taxes. The initial recognition of deferred taxes for the tax effect of that temporary difference is as an adjustment to additional paid in capital.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 25<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481284/470-20-25-22<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfDebtDiscountPremium">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense included in interest expense to amortize debt discount and premium associated with the related debt instruments. Excludes amortization of financing costs. Alternate captions include noncash interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfDebtDiscountPremium</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense attributable to debt issuance costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfFinancingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleConversionPrice1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The price per share of the conversion feature embedded in the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleConversionPrice1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleConversionRatio1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Ratio applied to the conversion of debt instrument into equity with equity shares divided by debt principal amount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-3<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-7<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleConversionRatio1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Threshold period of specified consecutive trading days within which common stock price to conversion price of convertible debt instrument must exceed threshold percentage for specified number of trading days to trigger conversion feature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Minimum percentage of common stock price to conversion price of convertible debt instruments to determine eligibility of conversion.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleThresholdTradingDays">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Threshold number of specified trading days that common stock price to conversion price of convertible debt instruments must exceed threshold percentage within a specified consecutive trading period to trigger conversion feature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleThresholdTradingDays</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of debt instrument at time of issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69C<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482900/835-30-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average effective interest rate during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482900/835-30-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateEffectivePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateTerms">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of the interest rate as being fixed or variable, and, if variable, identification of the index or rate on which the interest rate is based and the number of points or percentage added to that index or rate to set the rate, and other pertinent information, such as frequency of rate resets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateTerms</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69C<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69E<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69F<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1I<br><br>Reference 26: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br><br>Reference 27: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482900/835-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentMaturityDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Date when the debt instrument is scheduled to be fully repaid, in YYYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentMaturityDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentRedemptionPricePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage price of original principal amount of debt at which debt can be redeemed by the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 470<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477734/942-470-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentRedemptionPricePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentUnamortizedDiscount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-1A<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482900/835-30-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentUnamortizedDiscount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFinanceCostsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-1A<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482900/835-30-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFinanceCostsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainsLossesOnExtinguishmentOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481303/470-50-40-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481303/470-50-40-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainsLossesOnExtinguishmentOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpenseDebtExcludingAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the portion of interest incurred in the period on debt arrangements that was charged against earnings, excluding amortization of debt discount (premium) and financing costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69E<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69F<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpenseDebtExcludingAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-5<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69C<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The fair value amount of long-term debt whether such amount is presented as a separate caption or as a parenthetical disclosure. Additionally, this element may be used in connection with the fair value disclosures required in the footnote disclosures to the financial statements. The element may be used in both the balance sheet and disclosure in the same submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDebtIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDebtIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromConvertibleDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional capital contribution to the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Price of a single share of a number of saleable stocks of a company.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The gross value of stock issued during the period upon the conversion of convertible securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AdditionalPaidInCapitalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AdditionalPaidInCapitalMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtTypeAxis=rgen_ExchangeAndSubscriptionAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=rgen_ExchangeAndSubscriptionAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtTypeAxis=rgen_ExchangedTwoZeroOneNineNotesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=rgen_ExchangedTwoZeroOneNineNotesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtTypeAxis=rgen_ModifiedTwoZeroOneNineNotesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=rgen_ModifiedTwoZeroOneNineNotesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=rgen_FairValueOfEmbeddedConversionOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=rgen_FairValueOfEmbeddedConversionOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtTypeAxis=rgen_SubscriptionTransactionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=rgen_SubscriptionTransactionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtTypeAxis=rgen_TwoZeroTwoThreeNotesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=rgen_TwoZeroTwoThreeNotesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtTypeAxis=rgen_OutstandingTwoZeroTwoThreeNotesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=rgen_OutstandingTwoZeroTwoThreeNotesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtTypeAxis=rgen_ExchangeTransactionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=rgen_ExchangeTransactionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>114
<FILENAME>R107.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674574258448">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Accumulated Other Comprehensive Income (Loss) - Changes in Accumulated Other Comprehensive Income (Loss) (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Accumulated Other Comprehensive Income (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="nump">$ 1,910,700<span></span>
</td>
<td class="nump">$ 1,750,067<span></span>
</td>
<td class="nump">$ 1,529,150<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="nump">$ 1,964,845<span></span>
</td>
<td class="nump">$ 1,910,700<span></span>
</td>
<td class="nump">$ 1,750,067<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481674/830-30-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-17<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>115
<FILENAME>R108.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674439234336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Employee Benefit Plans - Additional Information (Detail) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetirementPlanTypeAxis=us-gaap_PensionPlansDefinedBenefitMember', window );">Pension Plans, Defined Benefit | Sweden</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Postretirement Benefits [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanContributionsByEmployer', window );">Defined contribution plan, company contribution</a></td>
<td class="nump">$ 3.0<span></span>
</td>
<td class="nump">$ 2.7<span></span>
</td>
<td class="nump">$ 1.8<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Postretirement Benefits [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DefinedContributionPlanEmployeeEligibilityAge', window );">Defined contribution plan, eligible age of employees</a></td>
<td class="text">21 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis=rgen_DefinedContribution401KPlanMember', window );">Defined Contribution 401 K Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Postretirement Benefits [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanContributionsByEmployer', window );">Defined contribution plan, company contribution</a></td>
<td class="nump">$ 1.0<span></span>
</td>
<td class="nump">$ 1.1<span></span>
</td>
<td class="nump">$ 0.0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DefinedContributionPlanEmployeeEligibilityAge">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Defined Contribution Plan Employee Eligibility Age</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DefinedContributionPlanEmployeeEligibilityAge</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanContributionsByEmployer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of contribution received by defined benefit plan from employer which increases plan assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanContributionsByEmployer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetirementPlanTypeAxis=us-gaap_PensionPlansDefinedBenefitMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetirementPlanTypeAxis=us-gaap_PensionPlansDefinedBenefitMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetirementPlanSponsorLocationAxis=us-gaap_ForeignPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetirementPlanSponsorLocationAxis=us-gaap_ForeignPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis=rgen_DefinedContribution401KPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis=rgen_DefinedContribution401KPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>116
<FILENAME>R109.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45674432897456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Party Transactions - Additional Information (Detail) - Principal Owner - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRent', window );">Rental expense</a></td>
<td class="nump">$ 0.7<span></span>
</td>
<td class="nump">$ 0.7<span></span>
</td>
<td class="nump">$ 0.7<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_PrincipalOwnerMember', window );">Minimum | Spectrum Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners', window );">Non controlling ownership interest minimum</a></td>
<td class="nump">5.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The equity interest of noncontrolling shareholders, partners or other equity holders in consolidated entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cash payments to lessor's for use of assets under operating leases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (g)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c)(2)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c)(2)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(g)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_PrincipalOwnerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_PrincipalOwnerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_OwnershipAxis=rgen_SpectrumIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_OwnershipAxis=rgen_SpectrumIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>117
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( +Q@<ED'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 #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    " "\8')98./MZ^\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+/
M3L,P#(=?!>7>NFGY&W6Y@#B!A,0D$+<H\;:(IHD2HW9O3UJV3@@>8,?8OWS^
M++G506@?\27Z@)$LIHO1=7T2.JS8CB@(@*1WZ%0J<Z+/S8V/3E%^QBT$I3_5
M%J&NJFMP2,HH4C !B[ 0F6R-%CJB(A\/>*,7?/B*W0PS&K!#ASTEX"4')J>)
M83]V+9P $XPPNO130+,0Y^J_V+D#[) <DUU2PS"40S/G\@X<WI^?7N=U"]LG
M4KW&_"M90?N *W:<_-;</ZP?F:RK^K+@O."W:WXCJBO1W'U,KK_\3L+.&[NQ
M9VQ\%)0M_+D+^0U02P,$%     @ O&!R69E<G",0!@  G"<  !,   !X;"]T
M:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M
M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R
M>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2P]R"BPA+>!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 <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_KFVB<"HU;3]-K
M=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K>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>"(<7<K_WUE[O)I#-ZG7TZSFN4
M?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R.AQG0GS/]O:1
MI24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG LR+7E$8D19_(
M+;KD$3BU20TR$S\(G8:8:E < J0),9:AAOBTQJP1X!-]M[X(R-^-B/>K;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_BNEVOZ<TT#PE"\D^DJ1CVFS(Z=T)LWH
M,QK!1J\;=8=HTCQZ_@7YG#4*')$;'0)G&[-&(81IN_ >KR2.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/:'2MS<C?6?!TXM;WD9N6\3[KC':US0N*&-7<LW(QU2ODRG8
M.9_ [/UH/I[Q[?K9)(2OFEDM(Q:02X&S022X_(O*\"K$">AD6R4)RU3393>*
M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W<DOJMI2^M28X
M2O2QS'!.'LL,.V<\DAVV=Z =-?OV77;D(Z4P4Y=#N!I"O@-MNIW<.CB>F)&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>W5YYN<KGHB=OJ7
M=\%@\OUPR4</Y3OG7_1=0ZY^]MWC^FZ3.TA,G'G%$0%T10(CE1P&%A<RY%#N
MDI &$P'-E,E$\ *"9*8<@)CZ"[WR#+DI%<ZM/CE_12R#ADY>TB42%(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.'<YMZN,)%K/]8UA[Y,M\Y<-LZW@->
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<D05>,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04
M" "\8')9@A?14X,,  #D0   &    'AL+W=O<FMS:&5E=',O<VAE970Q+GAM
M;,U<?V_;.!+]*H3W4+2 8UN2G:1M$L!QDEUWF]1-TA:]Q?U!2[1-5!)=DHKC
M^_0WI'ZG%&,7"G +[,:6-4_DX\QP'BGNR8;Q'V)%B$2/41B+T\Y*RO6[?E_X
M*Q)AT6-K$L,O"\8C+.$K7_;%FA,<:*,H[+N#P6$_PC3NG)WH:S-^=L(2&=*8
MS#@2211AOCTG(=N<=IQ.?N&6+E=27>B?G:SQDMP1^64]X_"M7Z $-"*QH"Q&
MG"Q..V/GW<7050;ZCJ^4;$3E,U)=F3/V0WV9!J>=@6H1"8DO%02&/P]D0L)0
M(4$[?F:@G>*9RK#Z.4>_TIV'SLRQ(!,6?J.!7)UVCCLH( N<A/*6;?XB68=&
M"L]GH=#_19OTWI'707XB)(LR8VA!1./T+W[,B*@8' \:#-S,P'UBX P;#+S,
MP'MJ,&HP&&8&0\U,VA7-PP66^.R$LPWBZFY 4Q\TF=H:ND]C->YWDL.O%.SD
MV80]$(YF,,3H 'VYNT"O__7FI"\!6?W>]S.4\Q3%;4!Q7'3-8KD2Z#(.2% '
MZ$.3BG:Y>;O.72OB!?%[R'.ZR!VXGJ%!$[OY%9GWD'.HS8<&\PN[^8<DAJ</
M3$^O]<8K6/8TGF=E^9_Q7$@.GOX?$\,IPM",H,+_G5ACGYQV(+X%X0^D<_;J
M#^=P\-[$3IM@%RV!U9@;%LP-;>AG8\@Q ?PKT56(ER;>[/:2)\1$D-5J7X):
M JL1-"H(&ED[>,'\1/-SOUV;>GIN-W<&!W_WQR:&K';[,M026(VAPX*AP]T8
MNJ+"QR'Z3C!'5W!1F.BR8S5E(ZO5OF2U!%8CZZ@@ZV@OLF:$4Q8TTV5'N_IN
M(LMJLR]9+8'5R#HNR#JV=N\REE1NT03XXL#5%.:^1_0WV9J(LB,-X)\C;^ >
MN2;"K+;[$M826(VPMP5A;ZW=G"2</XU$J!@0E"[&W&5'.SAPW //,3%F-=R7
ML9; :HPY@[) &^P6D5DHVOAZ#BHOJAJK*CO OL2UA59GKE+:.CN%9^9TMV3-
MN*3Q$MU)+,WIS(YH;O%W(I"1R]_ LG#9$EJ=2[?DTMV%RVDL"4^UFG)"G)-K
MY-*."+096;-:[<U:2VAUULJRW['6QF=WQ$\XE10\9.RKM!<2=)-$<\*-A-G!
M8(HX<(:'HT,C;:U6_&VAU6DK:W['7K1GSG9+EE0))HC=&QR9$YX=Z/9R]G'Z
MY^4-FGRZG1EI:U4'M(56IZU4 HZ]EL]H4U[&T02FB"7CQEKD&9R/F"\).*Q/
M  A@@A32R%^K*J$MM#I_I4YP[,7]/<>!GAZVT9R%1N+L +?@:D:66I4';:'5
M62H%@F.OZ>^IA"S&%LAQ7\_?H"S%F?W,CC1A4<1BF(V9_\-(6ZM"H2VT.FVE
M5'#L%7[.$[I\]%<XA@!KS&EVH)OQW<7XLY&O5G5"6VAUODJEX-B+^Z+@\!F'
MN@VK5>*NKMS ^2"]L01$%Q1W+#"3:$>_N#02V*IL: NMOGY:Z@;77NQG!-[C
M1S0-H$2C"^IK%BT5R#.0@^$!*-2WWK&Q!+$;[\M>6VAU]DKMX.ZD'<9! .BB
MFW] '^$^]"DV^MPSD$,'DN56)SQ.B.RB\S!8]A#(L;N$@E<[@X&1UE9E1%MH
M=5I+&>'N)",*6B?J&X3S/=O$1DKM<-]P*%<X,M+6JHYH"ZU.6ZDC7'OI_Y2V
M(@W..'N@L6]V1SOFM7'5UVZT-VTOH2/<4D>X.^F(@K89$Q*'Z-]TW3AO/(,X
M<(<C\W94JT*B+;0Z;Z60<.T"0$?EF!/<3),=X.C8N"IGM]J;I)=0"VZI%EQ[
ML9\YU]V*A"'P%*UQ;"R"GX%9X% 8=ZCL=GN3]1*BP2U%@VLO]>\B'"I5RHLU
M.-_"F!VKF;%6]4);:'7&2KW@/K.W$!&^5$0MP52NK'S9D9KY:E4OM(56YZO4
M"ZZ]HO_(]';5BL6V)38[B+F1R!T-#@:.XQA7>7\'T4+B2V@&K]0,WHY[#>,X
M3H#.=,G<^+:"':AIV]UNMO>+"2^A$;Q2(WCV@K[<>N<X%E1K*PMC=K#&*+7;
M[4W92]3_7EG_>SO5_U]9"/(=\VRQTK@58T=J"-4;9J2P52W0%EJ=PLJK1#MI
M@6]0=AS\B$$W@:K$ M)>@*9").:\9\=L(+-I8^MWP"QTOH1&\$J-X.VD$6;)
M/*0^N@H9-D=OF_7]I%6TBPQMI-'4BYX/9X=O/>=X>#1PCT_Z#R9^2BW@[;2I
M4%VK!?VYPM N]"F1(*ABM6ANY*S-<G^2H1U6>CD:'1TY@Z-1T<>,CY<0!EXI
M##Q[13^=7-VB<1)0"0)]+"4!CO3<T/0&VS-XC7-IJP*A+;0Z::5 \'9[[TA4
M5GPAH\W5+N""<-*PQF%'-;>ZX5'GE4>!9W,T4TJ%Q4+M=<@546LMC]MTZ47/
M^@L87G5=O4N1%TS7A&AU R8Z1E8L#&!^0_ 1T2<=X\73:"P9FF$NT70Z31]'
M159*],PIN%6ITQ9:?>Q+J>/9!4H>*U>41V@:&,?9CC TOC9E-]J;I)?0-UZI
M;SR[OJF1U+1U] S&)8^%1*]PM'Z/OK,$_/3C1^.VN!UG;^9>0M0,2U$SM&N1
M&G-*)JJH-K'W#,XY$U+M05UC(;"_2@214G31EYBJ@-9YP?A&BQUV[W>-7T+S
M#$O-,]Q1\US1&,<^A9Q79L1+SO76'.?9J8Y_U)1G?-O]F<<TJB&[W=YDOH0:
M&I9J:&A70^7+[1=$^)RN&SWS-R0'3!\A79)8C4>^@8I>O_KCV'4'[S>DJS\Y
M[U%V)1%/K["$%Y>RJ2[[)5OMS'Y\@V"R6M!0S7MZXBJ[=<-ZR$&J]&$0>^F[
MYNAU!:FXM<""F1"KBPCJ2I@BA=[I\ F7F,8((BT2,%TB:%M]C:+VD&)J7J3O
MF6[5>Z9$G4P!HGVB%H>*LR5=Z!M=@C.'X5;U N[94+G2YE]Z=SU4>8=+-:G8
MOE<5,17Z_%.U1W>7DZ(OJDUDSA,E=%TW/8Q2N_E3]NBL$[EA%V&!0BI47H'.
M9C=/=><U8^EU3?:5)CX?I[DZR-6#PL8\(%VT(;H628G5E0HP"4[S0%DB@ &J
M)&2 ?*A[6$@#7:LLBE 7>:@+U4(H5!0C.=ER0\('@J+T(% #W6I\_31!:".@
M$*_!4;.M:07I^VIO7[5MS:%FHNL0J$\ CJ<#\N=X/(,.A+IM *>?3:.L[(*N
MD#A1/?39,DX793"G0OV\X"Q"&(DU\=5N.)I\^CJ].,BA?.@DB.JT(6N\30D#
M'$(?4L*!E3C+;-I'L+JB3_1 KX-R@_VUST)]L.V!A-NN;F#G&IC-V>ND([Q(
M./S$4:"#?YX^XX:IK>"\7\^/ P 0&O?0O1KH+%YT[*5N*GZAIZ2E9*NKBM,P
M"5*/(142E5OFW@9E<=U?NVB>2* B#%',\B>F#V1JHRV'@<[,BQ'Y+\E=!AI<
MT!S#E14&]X&\@BBD%U^'M,*J9!OGZ+VH>FO1/A^+E79&_8'\3.@##A4+<QRJ
M814]E#+TQ-\"&NBF W%)*#,'@1:H\UJ<!OH])SW&+(2I'HSA2Y#X4F4-N!LG
M01H%6_2#QH$.O*=.DO)9C$NWVB<8>DDXC(WRY!66D.#0!CP#FL@9>+_*?4">
MZK @OSI$UCF4GA!-(_)IQ+F:EE],*QZDNJA86T#J$$4TK_7;YDUQG*+"!T=[
M\D;M@<'?=.#T #,9*T\.@+*0B008Z)8YJS(;5/(!T]&0Q'E TBB"OUPY/%&5
MA1I$(!@' 4W?!H)DIGTF3=LXSW(BCYXDQJKV2_-90&+Q-+/]A-0,3]"9/X\M
M&J>G:746,+A:-OM\+DS36!#5&>BSIK%$KY-YC;F_*HX7VB8@F$P4[#6&^2._
M^T,2DWV,Q\DR@:J_L%<#=T?6,AO/W8$^^9)54WD/?4LG$ZC56#[?_-\-0J4,
MR![T9!C2W@QW'(;B;D5C=2AV ?B0P$_Y_:99HEH5@?TOW2OJ,1W3;$ETQ&2/
MJ4_T!K@,)*\RLFR5%NM9XJ_.4D6XULN'-$NK(<^R6I %KF%Z0JI2U54;.(::
MU45EHE%SA\J](4Q.V50.64]EUWSBT"G#9Q&D/ORH?H0TJ ,_)C+[I:L&F= E
M]$2?1/"W2+TQ+L+LA<% +;)P$E0@P9_6&/(^>5PK;Q25F^ Q69D'%6,,C10'
M$+H'0BWEF!=B?J<RM^B15K<6^I5CX6HW61^O%TB75^D)\>)J<81_K ^N]\O;
MT_/_$"O@VE"4D@68#GI'HP[BZ9'Z](MD:WW(?,ZD9)'^N"(8:C9U _RN)H3\
MBWI \3\V./L?4$L#!!0    ( +Q@<EGQL"E:P @  /$V   8    >&PO=V]R
M:W-H965T<R]S:&5E=#(N>&ULM9MM;]NV%L>_"N$%=QO@UB(IZJ%-#*26=UM@
M:X.EVWW-R$PL5!(]B7::^^E'RHYED31M%?*+-K)]>'3TY]/YD=3U,Z^^U4O&
M!/A>Y&5],UH*L7HWF=3IDA6T?LM7K)2_//*JH$)^K)XF]:IB=-$4*O()\KQ@
M4M"L'$VOF^_NJNDU7XL\*]E=!>IU4=#JY0/+^?/-"(Y>O_@S>UH*]<5D>KVB
M3^R>B;]6=Y7\--E[660%*^N,EZ!BCS>C6_ANCF-5H+'X.V//]<$U4(_RP/DW
M]>'3XF;DJ8A8SE*A7%#Y9\-F+,^5)QG'/SNGH_T]5<'#ZU?OOS4/+Q_F@=9L
MQO/_90NQO!E%([!@CW2=BS_Y\T>V>R"B_*4\KYO_P?/.UAN!=%T+7NP*RPB*
MK-S^I=]W0AP4@/Z1 FA7 )U; .\*X',+^+L"_KD%R*Y \^B3[;,WPB54T.EU
MQ9]!I:RE-W71J-^4EGIEI6HH]Z*2OV:RG)C.OGR^__+[I^3VZSP!'VY_O_T\
MFX/[C_/YUWOP!OQUGX!?KGX%5R KP=<E7]>T7-37$R'OK,I/TMU=/FSO@H[<
M)6'I6X#A&" /84OQV?G%D:5X<GYQ:"D^/[^XURT^D6KO)4=[R5'C#Q^3?%U5
MK!2 UC43]3N;FEL'OMV!&CO>U2N:LIN1'!QJ5FW8:/J?GV#@O;=I.Z2S9$AG
M\X&<=6H![VL!N[Q/9[1> MF:0:HNV#_K;$-S62W6UKUU11I7:NC=3$,"L6K*
MFT.E33."L$^BKEGB#*ROA@,YZVCH[S7TG1K^0:MO3-"'G(&:I>LJ$QFKP9+E
M"R"X'*6$^NK%)NC6;W"@E*=I:5I ST-QK&GI#+"OE@,YZVA)]EH2IY:W:<K7
MLOG)V3=ELBU*4<>@E)D"?P2[N]7J^@J-(4)-R[V"8QP00 600Q0K'EBU'V.;
MW_5OT5AY6K%F;LZM]4),U9$/ ZA5CL4,!L@/M<IQ/G'?RAG(6:=R@GWE!,[*
M^51NY-# *]F\FTJQ21<8FJB*0+IT%C,<H5"7SAE/7^D&<M:1+MQ+%SJENZO8
MBF8+P+[+W+:6;5BU3"Z6LEFFG8G0IFEHB(4Q\75)32L81UA7U!EF7T4'<M91
M--HK&CD5_<H%S<\0+[)T4@BQ'VCRF79Q'$&HSUK.H/KJ-Y"SCG[Q7K_X1(N4
MF%6)ES%8Y50I*!NDFO]7DG_$T>X=6[IWZ/OZM&6:P=@+0BU32)P1]A5S(&<=
M,:'7 H1W8FP4M'S*5!*P;8M')=PY.A3']X*8:#UU9K'#@1<8+=(=6%\5A_+6
ME?& PZ!3QO]ROGC.\MPJ'#2[:!1"I#<^BUU$B,Q4=>&@D:A&@8<#U+6;NT/^
M44E:3H). )#@]<CD(">32?K=,<[MO'3Z',&&-J95I/?>Q!U0[Q9U";Z!+>!
M-^%\D:,<%5GY!')&:P8JM6:B4LAUS5QR8LN\(1L1T06UV"'BZ5"4N*/LK>DE
M> >VP /=Q/.E25Q*7IZ>?J&%8(P\;V:QBG2I$W=0O26\!.; EG.@&W2VZ<MY
M$EHX(U2Y7:RK:#$D&/L1TI4<%$F&\M95LH42Z*:2K9(.^2RL$6&9V1E=V6)(
ML(S3&!\'Q9*AO'7E:\$$AF>MP^49?<CR9NW"NA@'AR2'V:#>DD&]S8?RUJV0
MEFN@&VSV2R K^J+6/ZR58:&:F 3Z2IS%#(6$^'I['A1JAO+6E:_%&NCF&GV^
M?VW7UH4>:(**5%$G:XN5F:\G[KAZJW@)G$$MSB WSKR."BDOE9:[RSI;-.+R
MTKI<;P(+1'*:TM2TF>&8Z(.L.\#>:^R7P!K48@UR8XWLT]5:IO '@ZQ509-<
M2(AU<)E9S$)H<%#BCJFW@I>@('2P6^2FH!DO-ZP2#6#?LS+C%?C,!:O!8LW4
MJJY_E+>1B3Q![!.DBVJ:H<@/C"S4'6=O52\!1ZB%(^2&H^XBVJG6:4&=P(]]
M0TG3SO=\& >ZDH,BT5#>NDJV2(3<2'2J?4;'VZ?)/@1ZT#=Z_<G=HL0=8V]%
M+T%(J"4DY":DSKK'J:9ID@^.,?)U"4TSA#TCOW<'UEO&2^ 1:O$(N?'H<XN8
MO$]JA$P:@B@@8:1K:K&34U:D;U&ZP^PMZB6@";70A-S;.0>B]LJ0+'LTOA?J
MBW06,P(),10=E'J&\M95M*4>Y*8>8TGI5(^W[>L@,]FTF'DA,::B00EH*&]=
M*5L"0FX",I:63DEIXDWHR93<Z.F6S1\8A)Z.D^[P>HMY"1#"+0AA-PAMQ3RA
M(#:1)@H";&R+6>P"Y,7&!.2.J??9F$NP#V[9![O99\:+(A-J5W&[Z[T?,%-U
M3.87E24!Z/]JU?4'F /8EIN&<I3\B"-'S5R"J7#+5-A]!.]>\/3;DN=RRJI_
M;C9_Q8MU[0\/>A)O4&_)H-[F0WGKULC!:3PWC]U5KTEOK>IF#*Z\MQX$*UJ!
M#<W7; S(6.:KZA^HE[12!TG68LFK[/]L(0F#OWZ;U;5:;Y 4PM>B%K+?R2YG
MK5H3UHQ1ZZ1)XGZLWI5P"93#+<KA4RA7%+P\4@/O0>0=KX+W@)!Q& 1C+XSV
MOQX[F"9-"0G'0>PR1:]5V1P8.E&7%I+4CUW.K$9Z/N16J'=]7@(D<0N2^,29
MPL4B4QFYG,?5&:PW60E2NLKDO&X5T;:)%L0(Z7N65D,_1($AYJ X.92WKI@M
M3F(W3MZFZ;I8YU2P_?DU7L@[+=5;$QO)E+RVIT@F)K[!8>09S=-FY^-83S+=
M8?86]1(XB5N<Q&Z</!25T:J4_=LNH@F&/D918(AH.3$8ARC4]X'=8?46\1($
MB5N"Q.<<"*PM.8U52ML.6N!'OKXK;#64#&DF[5O#P^-$,"2>%V@#Q]QF2% ,
M#[9 NA*TY(?/(;\#6&EFC;,EB8VX[!OE-D/K1KD[W-[M:U 2G!R\+:1>!ON#
M5D]968.</4KWWMM0/EZU?;]J^T'P5?,"T0,7@A?-Y9)1*:HRD+\_<DDRNP_J
MG:3]6V[3?P%02P,$%     @ O&!R61%9P_+B @  G0D  !@   !X;"]W;W)K
M<VAE971S+W-H965T,RYX;6R=EEUOVC 4AO^*%?6BE3KR 0E0 1(%IE;J6E3:
M[=HD!V+5B9GM0+=?/SL)&8$ H5PD=O*^Q\\QQ[%[&\8_1 @@T6=$8]$W0BE7
M=Z8I_! B+!IL!;%ZLV \PE)U^=(4*PXX2$T1-1W+\LP(D]@8]-)G4S[HL412
M$L.4(Y%$$>9_[H&R3=^PC>V#5[(,I7Y@#GHKO(09R/?5E*N>640)2 2Q("Q&
M'!9]8VC?C6Q+&U+%3P(;L=-&.I4Y8Q^Z\QCT#4L3 05?ZA!8W=8P DIU),7Q
M.P]J%&-JXVY[&_U[FKQ*9HX%C!C]10(9]HV.@0)8X(3*5[9Y@#PA5\?S&17I
M%6TRK=<UD)\(R:+<K @B$F=W_)E/Q([!;ATQ.+G!J6MHYH9FFFA&EJ8UQA(/
M>IQM$-=J%4TWTKE)W2H;$NN_<2:Y>DN43PY&+\^SEZ?'\?!M,D;WPZ?A\VB"
M9@^3R=L,74\QAUB&((F/Z0WZAMYG8W1]=8.N$(G16\@2@>- ]$RI2'0\T\]'
MO<]&=8Z,.@:_@9KV+7(LIUEA']6W.V6[J?(O)L$I)L%)X[6.Q!OZ/DMB*51=
M^D#6>$[A5K4%\#4@M510P)*Y7"1455VFK$HY&\--Q]"K9SUP;(VWWDWL4&0W
M/;<0E?";!7[S)/Y453YP#@%2Y>)_W*(5YFB-:0)5F%FL]@Z!U;#L/<PSHA)F
MJ\!L788I0E5? N%$AHR3OQ!4X68QO1T2UTI_>\3G=25HMX!VOP1-A$BJ@=T#
MD'W44XH2I%= >E^"5)]M(=4*)?&RBM0[2WI*42)M%Z3MDZ0C%D7JXUVG3MMU
MZO2,J,38*1@[%S#6*M+.P3QUK,HJK2$L,7<+YN[ES,=KM'NX6-RVYUGMSAYO
ME5!+NYUJ7MOZO^]8EQ.?*=@\9 WN2F4EN+FS=^J#RP_,ER06B,)"6:U&6ZU6
MGIT%LHYDJW0[G3.I-N>T&:KS$W M4.\7C,EM1^_0Q8EL\ ]02P,$%     @
MO&!R6;F$Z/F+"   *2D  !@   !X;"]W;W)K<VAE971S+W-H965T-"YX;6RU
M6FMOX[82_2N$6RQV@<0623VSB8'$5K"YV#P0I^V'HA\4F[9U*XFN2#O)_?6E
M'K8LDF*RK>X&6-O2F1'/<,@Y%'G^0O,_V9H0#E[3)&,7@S7GF[/1B,W7)(W8
MD&Y()NXL:9Y&7/S,5R.VR4FT*(W29(0LRQVE49P-QN?EM8=\?$ZW/(DS\I #
MMDW3*'^[(@E]N1C P?["8[Q:\^+":'R^B59D1O@OFX=<_!H=O"SBE&0LIAG(
MR?)B< G/KG%0&)2(7V/RPHZ^@X+*,Z5_%C]N%A<#JV@12<B<%RXB\;$C$Y(D
MA2?1CK]JIX/#,PO#X^][[]<E>4'F.6)D0I/?X@5?7PS\ 5B09;1-^"-]^49J
M0D[A;TX35OX/7FJL-0#S+>,TK8U%"](XJSZCUSH01P;0[3! M0&2#7"' :X-
ML&Q@=QC8M8']40.G-G ^VB2W-G#+V%?!*B,]C7@T/L_I"\@+M/!6?"F[J[06
M 8ZS(K-F/!=W8V''QY/[N]G]]YOIY5,X!;,G\7$;WCW-P/TUF-S?/CR&W\*[
MV<VO(;BY$[]#< I^F4W!YY^_@)]!G(&G-=VR*%NP\Q$7K2E\CN;UDZ^J)Z..
M)T,$;FG&UPR$V8(LV@Y&@L:!"]ISN4)&CU,R'P(,3P"R$-8T:/IQ<Z0Q#S]N
M#@UL\*%G<.D/=_A[)#N2;<F9+K*5I:VW+":C,[:)YN1B(&8;1O(=&8P__01=
MZZLN*GTZ"WMRUHJ8?8B8;?*^CY@N8)6A4QH6D^UN[&*$7='-N^-0J##?@@YV
MV[!0X\VS'&P?8*WF.X?F.\8.GU#&&1"#"8BZD4<\SE: O(H2P@C39H'39Q;T
MZ2SLR5DKC.XAC*XQ"XHP KH$FYPNMG,NRE]G5E2.W*-^Q X.D)P5&ICM^-B2
MLD*%(2] OJ7/"N] QWLGJ1F)\OFZ3(R%X)+0C:CL7,?'4UI@(T^AHT'A0,EQ
M%86%LXX4]P]D?".9F5 0(JU/P(ID(L63DE2T$'4M9KQ(^9VVGWPULM!W?%LB
MIH,Y/@HD9BH,^MAW73VUX$ M>"?MLF+$BIX!<RJ$UZ(<PC33\0F4%IQBRW&E
MADXU,.1["A\5YOBNHV<#K4876$8^3Y2+_ID;YB1MR;<TC;%=1Z:FPWGN<2=4
MW'0X"R._B]Z1[(%&>C?9G*8$+'.:[JF)7M-2@NIX\3P+RXQ4&$*VJ LR(Q4'
M70_900<CU#!"QO)QS]<D%YJLY/5YWTE?M)6C=M53Z>C56]B7MW88&]4%C1)%
M),:.,%[,L'4LM?'#:F?;$#MR3J@P-_!\.2-4%/0Z9B/8:"%H%D,W&2<B/GP_
M7+4T;,T,XZBIK8%!*(NG4 ]#1WS;5!I=!(UZ8?R=,@;$*I2\%O//-F;KLGM$
MC5^09VTAK!VVFX)<SY69J3AEO)H@;4*-0H%FB7*9TIS'_ROGG#T-$#.VC;(Y
MJ>9<+2M589SZEJ=DG08&?>C(Q'0P&W<E7J-7H%FP=,Q#6D*JR/ A4M)/19T&
M#H8R'PU,9&E7]C62!9HU2P>?$Y 1?>ZI^B*P+%FK:%"GCJ-H2AT,8L_JZJ5&
MK4"S7*GKWS-9TISLV?'HM:.L:S2&*&V>3$J%(1A 6V&EXL0JR[&QGA5J1 LR
MBY:; X]"_N]BUB' D"HK$!3_)#X:&,9B*$ET=-X<\=?!IM$HR*Q1[HBI!M7&
MQZM0[#B!/,5I8$([![(B"W4X),0S[&#1Z!)DUB5AE&=BVF9 J"S UE&N?Z6!
M>I4DO7H+^_+6CF C29!9DEQ%+)YK8U;9><>U:>C*4XT&A8>R5@DU*#3$72.R
MD2'(+$.F<;+E\MN]NO6VKO7R[*]!X2&RY=:K*'2,:K>^41[(_$KFM_+%-!%K
MU)U8(JR*VIRFHF:7:2PTR98S+A9'(KWU.=WK&YI>O85]>6M'MI% R"R!NG-:
ME26.XR%+3@L=S';E2J.%6;!C^8@:D8/,(L>4UJH.<5SLR;52!_-L1QF6.AAR
MNS*[437(K&J*VE)7R\^%OM;JL]K'NR5&A>E+C 9G*C&-F$'!!Y:^@HQ(U76Q
MZ[4[2)K/24%./SJ-"NF'1V>?WL*^O+5W'AH=A<TZZEJ(PGB5@?DVSTDV?P,\
MCS*65 N6:/'?;;5"UFY-J&+H%-M0+DHZ&/0<2UX<:W%^X'7D#&[$%3:+JXDF
M6[1\U/<U&$%??JFJ@8FUA^W(6E&'LP*,.M:4N)%9V"A"Q@_5ZVZM?#>;_O!^
M4:_:JB]O[; =;;+]BUVV?K?9^MUG^W]LM.%&UN%_O-6&U== +H:!)U6#R3M/
M^!W^H8VBZMVW(/2Q/,XTK? LT8XV[OJ]5J _3/%JA"0VO\)ZI&]1PM_*-^E5
MM3)%L%?9V*NWL"]O[3@VLA&[_WRX&A7G#X>M3V]A7][:86OD*GYO$[$[V3Q5
MX\FC::H#.<J04T&H2VGC0JBVKS1J#YM?78F9H3SAL=_9!4N:@V6<\&H39[_Q
MRXJBGFP78IVV!^9$2!BQFN,47"?D]2JF[(V=%#IX"#Y_^LE'R/K:W"@OP*]?
MJDVBRTT>)P!ZU>F2$Q Q\$*2I/B\)9QD=!>!;S0IUH+@\NK@;G^O[>Q^SNFS
MF 10Y6U8GAGY5WP>:/*6DA3,AI<-E_IB^]G_V29OH#ZFTJ(A6!?DP8R*M4VQ
M&P:^?Y\<?-5W#[Z*F>R.O'#1P*=/4;KY>@LF--\T#[][NFT_>$KF)"U80[=Z
M.N#KG&Y7Z^;._OB,)B B"IS$HE$?"L?E+N;Q@DA]6U]M-VM&-KQZ.K+>;9=N
M-(Z.3E^E)%^5Y^286(YL,UX=6SA</9S%NRQ/H$G7K^#9-=1=1V<3'3Y$9]>Z
MZY?8/[L6(TQW)]@? QPU3:T.$=Y&^:J(;T*6HMG6T!,#.:_.Y54_.-V4Y\B>
M*><T+;^N2;0@>0$0]Y=4]%#]HWC X73D^&]02P,$%     @ O&!R6=CW^%Q^
M$   W^X  !@   !X;"]W;W)K<VAE971S+W-H965T-2YX;6RUW6MSFUBZAN&_
M0GFF9G=7Q;$XZ-0[254B >(,G61V[8]$PK&F)>$6V$G_^P%9-N:@9>&YIS^T
M3^)Z$2P]64B\\.Y'NO\CNTF27/JYW>RR]Q<W>7[[V]55MKQ)MG'V-KU-=L5?
MKM/]-LZ+'_??K[+;?1*O#@MM-U?*8#"ZVL;KW<6'=X??A?L/[]*[?+/>)>%>
MRNZVVWC_UZ=DD_YX?R%?//[B]_7WF[S\Q=6'=[?Q]^1SDG^]#??%3U=/RFJ]
M37;9.MU)^^3Z_<5'^;=(&Y<+'![QSW7R(WOVO50^E6]I^D?Y@[5Z?S$HURC9
M),N\).+BRWTR2S:;4BK6X\\C>O%4LUSP^?>/NG%X\L63^19GR2S=_-]ZE=^\
MOYA<2*OD.K[;Y+^G/Q;)\0D-2V^9;K+#_Z4?Q\<.+J3E79:GV^/"Q1ILU[N'
MK_'/XX9XMH"LGEA .2Z@-!90)B<64(\+J,T*VHD%M.,"VKFK-#PN,&RNTJDG
M/3HN,#JWPOBXP+A987QB@<EQ@4ES@5-/>GI<8-I80#VU2O+@<<\-SETI^6EG
M-_?V<'AJD<?=+3?WMR:?6N1QA\O-/:Z>&B+RXRZ7F_M<._E<'G>ZW-SKVNC4
M(H^[76[N=^7D<WG<\?)ASU\]O*X.+\IYG,<?WNW3']*^?'SAE=\<7MF'Y8O7
MXGI7AM#G?%_\=5TLEW^8!?[GP+7F'[_H<^GSE^*+I_M?/DN!4?P4S)Q%X,[U
MWS__CZ1'7ZTO_R]=2E\_SZ5?_OZK]'=IO9.^W*1W6;Q;9>^N\F)M2O-J>:S\
MZ:&R<J+RES2/-QV+S5Y8;'^72%]OI5F:Y9DT3Y;)]ENREY2!,NC YF+LX_TZ
M7Z^2-Y*U6[[M6%P7+VYLDI^?UFGV5]?3-\3+>DF>[-+[6%JDF]5Z]UWZ^*D#
M,<7(+-UNBR3_G*?+/SJ67IR_M/32IK!Z6,+M8O> SMM(S@L[>;5:E__@Q1LI
MC->KRV+8SN+;=??H<U]K2?T&IO?J.B_M*/_5LG"W!:]FS]N)X0O^<GFWO=O$
M>;*2@ORFV+#%0"FF73?E?.@^*3=&NDVD7]PTRW[MX*/S>3W>[XK5;&R$JR)8
MG])5>4I7Y<!J)]A/\2;>+1,ISLL!\592Y3>G!L2G!VEXD,JIX_T'>:A,Y6'Q
MX/OG\2BL6,Y9?\MNXV7R_J+8.EFROT\N/OSC;_)H\+]=\4AB.HD9)&:VM^U0
MF]2WZX(L:)&836).QS#31H-Q<W.X9%&/Q'P2"T@L;&];93 9UC=LU'[0:#@>
M39\>50L:]2EHU+."YI<B=[.;N%C77\\*':':\^G/2&Q.8CJ)&21F/F"C6C*-
M1X.).F[$$UG5(C&;Q!P2<TG,(S&?Q (2"TDL@K!:)&I/D:@)(]%/\N((M9P5
M=@6?UGK=R<JDF&XU)EO"$GTCC<1T$C-(S"2Q!8E9)&:3F$-B+HEY).:36$!B
M(8E%+X9++="&3X$V% ::E65WATE>>BTM']XER0[ODERG>VF5?,N+W^[NDWWY
M^4!7Y U;:Z4TTDY8OV_:D9A.8@:)F22V(#&+Q&P2<UX<B2Y9SB,QG\0"$@M)
M+(*P6M"-GH)NA 7=\R/>KM 35NI[@$MB<Q+32<P@,7/4>JTWCVS)<A:)V23F
MD)A+8AZ)^206D%A(8A&$U?)Q_)2/8V$^ZC^3_7*='?+Q(1C3V_*SETR*=ROI
M/LGR\E.6IS_>[=9YY^>SX]9+4YV,IXTYH7!5^F8>B>DD9I"8.6Z]Q:LV,H\L
M9Y&836).YP@;->9Z9$6/Q'P2"T@L)+$(PFI9-GG*L@F>92_-^805^\[Y2&Q.
M8CJ)&21F3MHO^\%@K#3>7%V0-2T2LTG,(3&7Q#P2\TDL(+&0Q"((JX7E]"DL
MIST/C+-C+M[>[<L_Y5*>2OE-(L7+/^_6V>&,G*Z$%);IFY#3CC,*&A]ZS]N/
MF2C34>.< YU<+8/$3!);M#=&X^TOBRQGDYA#8NX9(\?K'CF-.:1/KE9 8B&)
M11!6"Q]Y\)0^Y1G<=/R\>6FV)B[:-XQ0;8YJ.JH9J&:BVN*HU=[A'\N#:>-E
M:Z%5;51S4,U%-0_5?%0+4"U$M8C2Z@'ZK-="%@;HE_BG]&.=W]P<3X1.=\^/
M<(N*^7Z]+$]!SDZ<T/_I6.#Y"^M2F4P;;ZG/Q.O1.P5)34<U ]5,5%N@FH5J
M-JHYYPU+%RWJH9J/:@&JA:@645H]!)4J!,4]$?U"\,79(WD"]PS5YJBFHYJ!
M:N91J[W^95D9:(UW_-"J%JK9J.:@FHMJ'JKYJ!:@6HAJ$:75@[-J\9#%/1Z'
MELC+LN-^51Y^WR:[+#XT\B<_R^\[3W.6V_T%RG@X:/:4B2OWSCVT=P/5#%0S
M46V!:A:JV:CFG#<L7;2HAVH^J@6H%J):1&GUV*O:.,IK+0AB[T0/K=P9=UIK
M7,GEN!JU#I"%-7L''JGIJ&:@FGG4:IVTP^;)+6A)"]5L5'.ZQMMPK*A:*\G(
MLAZJ^:@6H%K8L8$OY=%DTG@C.>K:$5-M,!ITMUS(5<^%+&ZZ.*.QMCN)R+.Q
M9Z@V1S4=U0Q4,^5VIT$15XJL#9LG(:-U+52S4<U!-1?5/%3S42U M1#5(DJK
MAV35KR&+&S:^[.-=MGDX&(U7_[K+\FVRRSMCL=T.<"E/IN-FWZVX8._ 0WLM
M4,U -1/5%JAFH9J-:@ZJN:CFH9J/:@&JA6>F0T15K<==U7XAB_LOQ%<6D-LG
MO<N3X738;*P0%^D=<6AK!:H9J&:BV@+5+%2S4<U!-1?5/%3S42U M1#5HI>S
MIAYQ55>&+&[+^$^O-2"W6P N1\T 1%LK4$U'-0/5S*-6.VVV>32+ME:@FHUJ
M3M= :YUV@C9-H)J/:@&JA:@645H]T:K6";EO[\3K+RH@+M7[S3U2FZ.:CFH&
MJIE'K?8A8BL(R8H6JMFHYJ":BVH>JOFH%J!:B&H1I=6O75SU>RCB?@_J.@-*
MNQM '0^:'\F*5Z9O#**:CFH&JIE'372U ;2@A6HVJCG=0ZUQ&J*+UO10S4>U
M -5"5(LHK9YN53.&(F[&^&]<>4!<LN_$$-7FJ*:CFH%JIM+N1E"5D3Q5FK&(
M]F>@FHUJ#JJYJ.:AFH]J :J%J!916CT^E2H^R3:.SK#L:AH8#^1)<V+(WO&"
MO>4%>\\+]J87[3L-7#:/C]&*%JK9J.:<&FW--PO1JAZJ^:@6H%J(:A&EU<.M
M:K50Q*T6;(^:N%CO62':JX%J.JH9J&8J[9Z#R\ET.F[-"M$N#%2S4<U!-1?5
M/%3S42U M1#5(DJK!V?5K%'>+E00G*_I43N2]68@56Y^7"RNW#OW2$U'-0/5
M3%1;H)J%:C:J.><-2Q<MZJ&:CVH!JH6H%E%:/?:J+A'EO"Z11F>(TAEW[9X$
M>2H/QJVF7''-WH&'-GV@FH%JYE&K]ZB-FK,\M-\#U6Q4<[K&VU ;*\UKZ+EH
M60_5?%0+4"WLV,"7JJ9.&Y\Z11V/4XO#CV<'(/7TJ=HO%''[Q5./VL?E,KW;
M'0Y3/^?Q;A7O5YGT]785Y\GA#I"7@U&K>ZT[HSI.Q%;D2?/-DIEXQ7I'%-JF
M@6H&JIFHMD U"]5L5'.ZQJ4Z+?[M;$89VH"!:CZJ!:@6HEK4L;?DL?*L7;R>
M=U7_A2+NOSBC)[<[U<ASKV>H-D<U'=4,5#.5]CGKP^*_\6C:NB,WVIN!:C:J
M.:CFHIJ':CZJ!:@6HEI$:?60K#HX%'$'Q_D]N4K'*?3E55-:G\.B_1JHIJ.:
M@6HFJBU0S4(U&]4<5'-1S4,U']4"5 O/3(>(JEJ/NZJ]0Q&W=XA[<I5VJX Z
M'#8O1SX3U^B=<&@G!JH9J&:BV@+5+%2S4<U!-1?5/%3S42U M1#5HA>CIA9P
M:M6,H?:]^4:_CERU?6;\I=QH%)B)UZ%O **:CFH&JIFHMD U"]5L5'/.&90N
M6M)#-1_5 E0+42VBM'K\5=T:JKA;@VS?%9?J^SX@JLU134<U ]5,M=VET7P#
M$"UHH9J-:@ZJN:CFH9J/:@&JA:@645H],94J,<4-&E3WKMH^<5X>-&_B/!.O
M3.\41)LT4,U -5-M-VDTNW?1@A:JV:CF= ^UUGP0[=! -1_5 E0+42VBM'JZ
M51T:JKA#X[_1O2LNV7M>B/9IH)J.:@:JF6K'O2&&<NN2WPNTJH5J-JHYJ.:B
MFH=J/JH%J!:B6D1I]?BL^C2*;T7Q^7MR>[=?WL19ZX"Z,QBUCK=I-+7YDIR)
MB_:./%+34<U -?.H"3MUT8H6JMFHYIP:;</F/)"LZJ&:CVH!JH6H%E%:/<BJ
MS@M5W'EQ.LA>G.VA=^A M3FJZ:AFH)JI=IP\/U4&TT$S_M!^#52S4<U!-1?5
M/%3S42U M1#5(DJKAV35(***&T3:'YYDQXPLPK/\4R[EJ93?)%*\_/-NG:WS
M4Q\BD^>'SU!MCFKZ4:LUD6FCQA3$Z'C41&Y>;LY$UVR!:A:JV1W;HS&/==""
M+JIYJ.:?-82"[B'4>,\S1-<LHK1Z'%7]&ZJX?^-5<?3FQ?D<VMV!:G-4TU'-
M0#43U1:H9JGMSA-5UN3&*]+N>-A04:;39I"A/1NHYJ&:CVH!JH6H%E%:/1BK
MG@WUA9Z-__B:>FK7V=JJHC0;=\4KTCO>T%X.5#-0S53;]]YHOU.'=FB@FHUJ
MSJG1UKRR %K50S4?U0)4"U$MHK1ZN%4=&JJX0X.]IIZX6._9'MKX@6HZJAFH
M9JKMD]TOQ^-Q\UYW"[2JA6HVJCFHYJ*:AVH^J@6H%J):1&FUX-2JS@_ME9T?
MS:/EC_?%D?(J>2-9N^7;\GSH,ER3W>'4Z*SXP_YX*;YXOTOO<NDV_NM42[#6
M/B]_7!P"-2:1XO7NFYJHIJ.:@6HFJBU0S4(U&]6<LT:EB];T4,U'M0#50E2+
M**V>F56[B/;*=A%A9IX;F2]-3L4KUW=RBFIS5--1S4 U4VLWF&C*J'6+.+2H
MA6HVJCFHYJ*:AVH^J@6H%J):1&GUG%6JG!4WF;SF>L]:^RQ_93@<#YNS2[2C
M!-5T5#-0S42U!:I9J&:CFG/>L'31HAZJ^:@6H%J(:A&EU6.OZC[1Q-TGLT.O
M<;[^MDFD79HGTC9=K:_7R_C4B3-:1U/#>"HW(P]M&4$U'=4,5#-1;8%J%JK9
MJ.:<-2I=M*:':CZJ!:@6HEI$:?7$JQI&BF]%B3=/KI/]OICEY?%/:;TM*N7E
M)SC/+KIPG<3YW;Y[QJ>U/R88#5OI)UR#WNE':CJJ&:AFHMH"U2Q4LU'-.6M4
MNFA-#]5\5 M0+42UB-+JZ5=UF6BONK^'VAEV7??W&&D3K76 B[:,H)J.:@:J
MF5K7_3V:EXY!2UJH9J.:T[$YY.%HVCKGRT7+>JCFHUJ :F''"_I2'4]:5T#M
MV!&:JDQ&U>/JZ5.U;VAGWM_C]/7NNY,([=9 M3FJZ:AFH)JIM>^"4%[M?C08
MMS(+[>Q -1O5'%1S4<U#-1_5 E0+42VBM'I(5DTEFKBIY/SKW1^AVCF\JB9K
MS>D9V@&":CJJ&:AFHMH"U2Q4LU'-0347U3Q4\U$M0+7PO'"(J*(/87>5W21)
M/H_S^,.[V_A[XL7[[^M=)FV2ZX(?O!T7J[-??[]Y^B%/;]]?R!?2MS3/T^WA
MVYLD7B7[\@'%WZ_3-'_\X:KP?Z3[/PXU/OP;4$L#!!0    ( +Q@<ED$N39#
M^ L  &DZ   8    >&PO=V]R:W-H965T<R]S:&5E=#8N>&ULK9MM;]NV&H;_
M"N$-0W=0UR(IZB5- Z2QB@5HFZ+)SCX,^Z#(=*Q36?(D.2_[]8>49%,B']'.
MX'U8;><FK9LO#R\^I,^?BO)'M>*\1L_K+*\^3%9UO3F;S:IDQ==Q]:[8\%S\
M95F4Z[@6;\N'6;4I>;QH"JVS&7$<;[:.TWQR<=Y\]JV\."^V=9;F_%N)JNUZ
M'9<O'WE6/'V8X,GN@^_IPZJ6'\PNSC?Q [_E]>^;;Z5X-]O7LDC7/*_2(D<E
M7WZ87.*SR'-D@4;QWY0_5;W72%JY+XH?\LWUXL/$D4_$,Y[4LHI8_//(KWB6
MR9K$<_S=53K9?Z<LV'^]J_U38UZ8N8\K?E5D?Z2+>O5A$DS0@B_C;59_+YY^
MXYTA)NM+BJQJ_H^>.JTS0<FVJHMU5U@\P3K-VW_CYZXA>@4P'2E N@)$+^"-
M%*!= :H7<$<*N%T!]]@"K"O06)^UWIN&F\=U?'%>%D^HE&I1FWS1M'Y36K17
MFLN!<EN7XJ^I*%=?7-U\O;WY?#V_O(OFZ/9._/,E^GIWBVX^H:O+V]_0I\\W
M?]RB*?K]=H[>_/PK^AFE.;I;%=LJSA?5^:P6SR!KFB7=]UVUWT=&O@\3]*7(
MZU6%HGS!%\,*9N+A]P[(SL$5L=8XY\D[1/%;1!Q"@0>:'U^< ,6CXXMCBQNZ
M[P_:U$?'^B.N5F@IIF^%EF6Q1B(BE'&=Y@_ME$KKE%=G4+.WU;IPM3+<G%6;
M..$?)B*>5+Q\Y).+7W["GO,>:K)35A:=J+)!<[K[YG1MM5]\%:$VS9-BS:$V
M:\NRIJR,J(\7E+'0.Y\]]AO#5.& A2P<RB) 1@(2XKUL8(#M#3#K>+A<_$\$
M 1&9ZPK5A0C-29$G:<91OG<F/Y?O$CET-F7QF(J)A>Y?CA\[[)1CYY2512>J
M;-#TWK[I/>O8N<X?1;,7Y0NJ:KZ9;C<H6<7E P>C7EN5-^A]&F@CR10YVB R
M%013!QY"_MZ';_4QYZ)QDC1N%^9\@>)U4=;I/\T'D!??> @O8$R?%J:*.6'
M-$.FB@:NZ\..@KVCP.KHLF< %4L!!O<U6J154FSSNK&85M4VSA..DJ*JP0X+
MS)9V7;W#3!$.L&X1$&$VUFGAWF)HM7A;%\F/J42@A?"P%EQ8C?97:%IAS-<>
M<PZH?(JU7HT@%7-&S&!'489S8 PN>5D*+[N0%3_SZJT,6R!".$"3&H8 U113
M1C1'@,QC>&0$XAXW8:NC*T$Q(K2*""'Z1W#SHHFU< =U50V>E#K,"W5'@(X$
M/M&7&D#' H^-6"+*$K$OED4^;1:1-*^YB*>VI;.K:OBH#8 -'9DR/>19)4,G
M"J*P%2HN/A=5A41LX,^RC[9IM9(KZ"Y4@'XH$, ]7P]Z@,SP8Y,,_2B*P7:,
MN=FOY!D7(0&5<OLC[6S%F[BJQ.I_(*A_// -?^*_P&9QS6;Q&=/C)"#S'.+K
M+0-4YC V-FX5(F$K!ES<U"M>@D_/@*</C#%JJJ;8,;K55 6>._+H"C&P9\?]
M52QB2"4W53U:DQU:->M8EL;W:=:0VULQFI-LNY"*="VHIQD <?*W&-ZI['68
M[; 5<EX+=R>M+3I5;</&5UR$[6!TF33 4$FJYNEC?)_!H<YDF"FEF.C#")(9
MNXD(DKD>ZT7.H1O%1-@.13M<36% Q2:FN$[H&Y/!E$V93QQ7MP'H@M /1K8[
M6'$/MH//MY)OXG0A!KMD'MY.@T+.\&Y>@.9,;!$H(/[3W0%X0\TN@FIS<$A@
M;T11$+%3T,T!&P0@&M?#F@E(1:BFB@"5.P:E1%$/L5//?LILXI>Q^4( B@D#
M1^\+2!;@4%\T !D.1Z<+4;!#[+ CG)1;KL89Z 2"',RPOOR!.C%@="NF3/1;
M;_@-K2C:(7;:T>E@MVB\@)Y,/)EBXA/#$Z0+&=4] 3(_Q&-311$/L?/(YR)_
MF H*7?>70-"/"16!KWLQ-:&GSWI -,4N&5GBB:(38J>3NZ*.L^.2,Z _@&$P
M#<TQ"+$.<73:B<#Z0@>/C4*%,N0 RFB9RU2L1]4QV2=R4D(Y:6W1J6H;MJDB
M%&(GE&_;,EG)*2U(;QV7/W@M@RZJ>+(MFP9%*YXM9 )P'=?R(WC*6[_DU0T,
M (S 9<<@9D XMOXHR"%VR/G.%WR]V>5]P"8!6P#(T8C-JK%=!72&*YMDZ$HQ
M#[$SS^5BT1*\[,DDWJ0B8J3_B#A1%<OZ*2XM:2P"L KQ]> VAV24Z0P;03(7
M!R/)$JK A]K!Y[*W2VFR/K+WFI#8[%]*_2"H.]* $CR!Y[DZ>@-"O=O NMPP
M"$= @BHDHG8DVLW12GH2$5[$]?KE+=ID<9>+Y,+A1N8?0(]0:L@CQ+ (T9(;
M4)W+(9WG.T$X8E/Q$K7S4C\4R?Q0)H]ZMV)EVUD&W1U,_\P!R=1E9C2Q5C7T
MU#MK.P!.#8]#"Q5HQD0=:G03D$;"AI6C,T14\1*U\U*/,K95DV<]WA<$/B(X
M&@E72$BHB*(Z2H%"@K$W-@H53%'[<9@.&<LTC_/DF./1DYYQG;2VZ%2U#=M4
M@1NUGW-]YYO>W$Z*]5JLKI4\?P ;TCRB$H&4!OJ* ^B,>6"3#,TH8J('B*DL
M$LX7.P;='0,)8S([C:X*,2G*.I7(<,OSM"C1UZ(>F1<FOY#0<4)7=VKCG,[I
MT2A$%0I1.PH-G?)G7B9IVX5-WXD-1K/<@LX@'#)RW8"*^HZ^/X=4@3\VT142
MT0-IH/BEG[(_XD"/ NSB$WW#.@=D1F_9),-K"(J 7#L!]?S4\3-Z2NO5JLB:
M9&YQGZ4/W5EFCG8Q6PCE$4R9)K4$P;'IZ(*'8$3/O<]!G>_HV\@(TI$@'"%
M5U&2>X"2E'\>EWFQ/>+8S 58QB>AOO,%9'J/6B5#1PJ(7#L0M?  +4"@%Q!S
M="=0'DE?7$'12-K552CDVE%H)$OQIH.)7X\W:L(-<8/0R&("NB9EJ\<70->O
M;&BW=RW(CDO1<LG; Q3^G#1G,$B,0XZ2[CQ&3,1V>R+XO7DA(?XQSN0]'- U
MQ%#8I_H)+Z1C@9&+ JLC)!A)TKB*GUQ[,JJ[#U4V><(W"]Z^^E7BXNO\FEDD
M$7/Z9]"=7^!L+7"H?IDD@G084]</1APKNG'M=',U9NLMNN</:9YWP5;L8=("
MW(:Z)J8P0EWC$!30>0X-L+Y% W0^%G%M)&?J*O9Q[>QCL<KE(8K5I$DH/L-F
MA@3008T1 3JM,88F%?:X@74'<+O=;#(NUQ(1K^2=GZRHMB7?)Q3DYD ,Y_8*
MM5A8P-V :T6KU^X&3EI;=*K:ANVKP,NU@]=U[X(.DB=Q8/L!YVA>Z!F#Q911
ME^I!(@)DV&-XY%X 4\S%[,QUO;O&,F:#F; 3!OJT!D38T4\6(U#EC<1KIK")
MX7\[VG-U6V>_SQ>S_.@=,;,"VZMO?9ZRMNA4M0U;7:$=.W VV%W Z'*3:)L+
M3.V=V#3';."ZR$PX<RG55T5 14)LD!X@"Q@=.UMCBO68G?4^Q6F)Q-*P;7>+
MJ[ALDY?]K7^SX1+611P=W#$!30-)+VK>;@-D.J<#DH"$W@@$,(5[S(Y[KW6<
MC%SNV^U=X&8PH<TG^MV].: R6L$F&;9 [QJY'?QZ&7BTD*2['#3)OS-L0IOG
MN7J"%U 9AH&[50'U1U+S3+$?L[-?WW2;MA9TW^1^>E>L^CDB%3RM9^CL8&YK
M#DB\4+]?'%DK&II6%,CL%'BMY[R:!)<D_/U6I_D+#L=37\RD-Y=@WQC+AS-?
M5LG0H4) 9L]\1?M;G6*Z'C#2UL0&D=;33TWF@,PP8I,,C4C6&O[B0"&+9T46
M>&7[$_^%_H,NU_O+:ID8ONDR;=/\]4IL6[=E*>=N4T:,\F;$-WG!N+D]7N1=
M[N67GP)"G/>ON';8E,#OY<DD7-<1OU!YMZOD3CRK>OZD?<Y%NA P4\MTUS:3
M1<0CO'0[<5EC??P%BG<(6O]GO9_'K7GYT/PNL4+-3:;VIT3[3_>_??S8_.)/
M^_P*GT48^/R2A6=ST>W 7SSG;-[^C'*FOKK]$>:7N!3[STK0Q%(\AO/.%V.K
M;'_7V+ZIBTWSP[W[HJZ+=?-RQ6,1FJ5 _'U9B&'?O9%?L/]UZ<7_ 5!+ P04
M    " "\8')97ZCWZF4"  "'!@  &    'AL+W=O<FMS:&5E=',O<VAE970W
M+GAM;*U586_:,!#]*U963:VTU20A#%B(5,BJ55HG5-;MLTD.8C6Q,]N!]M_/
M=D(&74!HZA?BL^^]NWL.+^&6BR>9 2CT7.1,3IQ,J7*,L4PR*(B\YB4P?;+B
MHB!*AV*-92F I!94Y-CK]0:X()0Y46CWYB(*>:5RRF ND*R*@HB7*>1\.W%<
M9[?Q0->9,ALX"DNRA@6HQW(N=(1;EI06P"3E# E839P;=QSW3;Y-^$EA*_?6
MR$RRY/S)!'?IQ.F9AB"'1!D&HA\;F$&>&R+=QN^&TVE+&N#^>L=^:V?7LRR)
MA!G/?]%491-GZ* 45J3*U0/??H5FGL#P)3R7]A=MZ]P@<%!22<6+!JP[*"BK
MG^2YT6$/X Z. +P&X+T&](\ _ ;@GPOH-P K-:Y'L3K$1)$H%'R+A,G6;&9A
MQ;1H/3YEYMH72NA3JG$JFI,7M)%H#L*^0BP!%%.9Y%Q6 M!']+B(T>7%%;I
ME*$?&:\D8:D,L=*U#0-.FCK3NHYWI([KH7O.5";1%Y9">DB ==-MY]ZN\ZEW
MDC&&Y!KY[@?D]3R_HZ'9^7"O QZ?#W=/3..W]^!;/O]_[J%+[IJNWTUGS&(L
M2Y+ Q-%N($%LP(G>OW,'O<]=4KTE6?Q&9 <R]EL9^Z?8H^_:*.]8P@M E]^X
ME%==TM44@:4PMKB)_" 8#4*\V=?DWRQW&(R"T6%:W)'F#;V1VZ;5<^"]OV@!
M8FVM3J*$5TS5[WR[V[KIC3615_M3[;*U*?ZEJ2WZGH@U91+EL-*4O>M/NBE1
MVUX=*%Y:(UARI6W%+C/]I0!A$O3YBG.U"TR!]ML3_0%02P,$%     @ O&!R
M660ZHFM# @  B@8  !@   !X;"]W;W)K<VAE971S+W-H965T."YX;6R=E5MO
MFS 4@/^*Q:0]M>&6RY8!4M)N6AXZ16FW/3MP *O&9K8)[;^O;0C+IH1*>0';
MG//Y.T8<HI:+9UD"*/12429CIU2J7KJN3$NHL)SP&IA^DG-18:6GHG!E+0!G
M-JFB;N!Y<[?"A#E)9->V(HEXHRAAL!5(-E6%Q>L:*&]CQW>."SM2E,HLN$E4
MXP(>0?VLMT+/W(&2D0J8))PA 7GLK/SE>F'B;< O JT\&2-3R9[S9S/99+'C
M&2&@D"I#P/IV@#N@U("TQI^>Z0Q;FL33\9'^S=:N:]EC"7><_B:9*F/GDX,R
MR'%#U8ZWWZ&O9V9X*:?27E';Q8:?'90V4O&J3]8&%6'=';_TYW"2H#GG$X(^
M(;#>W4;6\AXKG$2"MTB8:$TS UNJS=9RA)F7\JB$?DITGDHV^G@S$.A)X(RP
M JV$P*P ?>Q*1J[2.Y@X-^UIZXX67*"%Z($S54KTE660_9OO:K-!+SCJK8-1
MX#VD$Q3Z-RCP@G"$%P[EAI877N"=*_,&[5_1AF7D0+(&TW-5=]#I>:CY;I:R
MQBG$COXP)(@#.,G'#_[<^S*B/!V4IV/T9-=00+ZWG]WZI]IHE?%:_7_(G>XX
M,,=4PHC8;!";C7)^<'9[A=PX]#VY^2 WO^K4GD#HKPA?<!MGON>V&-P65Q_<
MN-\X]Z*?>](?*A"%[8(2I;QAJFL5P^K0:%==?_D;WG7I!RP*PB2BD.M4;[+0
MKU-TG:^;*%[;;K/G2O<N.RSUSP*$"=#/<\[5<6(V&'X_R1M02P,$%     @
MO&!R66MWT,IM$@  :SP  !@   !X;"]W;W)K<VAE971S+W-H965T.2YX;6S=
M6VEOW$B2_5Z_(J$1IF6 DG@?O@!95N]HI]O62.YI#!;[@46F5-QFD=4\+&M^
M_;[(@T>1+*L]QF"QZ*-*>41&QODR,NOU8UG]5F\X;]B7;5[4;XXV3;-[>7Y>
M)QN^C>NS<L<+]-R7U39N\&?U<%[O*AZG8M(V/[=-TS_?QEEQ]/:U:+NIWKXN
MVR;/"GY3L;K=;N/JZ1W/R\<W1]:1;KC-'C8--9R_?;V+'_@=;W[9W53XZ[RC
MDF9;7M196;"*W[\YNK!>OG-IO!CP]XP_UH/OC':R+LO?Z(_K],V120SQG"<-
M48CQ\9E?\CPG0F#C=T7SJ%N2)@Z_:^H_BKUC+^NXYI=E_FN6-ILW1^$12_E]
MW.;-;?GX%Z[VXQ&]I,QK\7_V*,=Z[A%+VKHIMVHR.-AFA?R,OR@Y#":$YL($
M6TVP!=]R(<'E^[B)W[ZNRD=6T6A0HR]BJV(VF,L*4LI=4Z$WP[SF[2VOF[CA
M$'/#RGMV4_'/6=G6^1.[KNN6I^S'K(B+)(MS=J<'OCYOL#+-/T_4*N_D*O;"
M*I;-?BZ+9E.SJR+EZ9C .5CN^+8UW^_L@Q3?\^2,.9;!;--V#M!S.CDX@IZS
M0.\B2<JV:++B@5UNXN*!URPN4G95567%+LNJDE94L_^Z6-=-!6/Z[SDQR$7<
M^47(P5[6NSCA;X[@036O/O.CMW_^D^6;KPYLP>VVX!ZB_DVJK.<V<7"9^4U8
M9^R;EF=W[;KFO[<TJ2E9L^$LPVB,XT2$_KXHBA9S;OFNK$"Y8.2-S#)/_\H0
MD\20^ZQ.,.2)QQ7C9& ,YL&W:UYU)F*PLLH>P$$.ANZS'&,>LV8CIO]R=G?&
M[GC25EF3:<5_28090/?;+5BB"')"@__\I]"VS5=W5Y?BF_7JA>")KZL608W9
MMEC/'0W^J)96F] 3#;$Z%MC%Q1/+4@@AN\_ 60P/;WA%HHI[N^3"%BN>HR_5
MTFJR+?5!5I W+UJ.SZ1\*#(1\TX0XC!-#H]KS0]-_!F;TFKH=O*XR9(-R\!0
M MT,N*,15O"J9@E\H,RS5/!PWVFT[C6*9< -R5"K9X>ME.F29L[8KU!$5F!H
M5H-[DM!8,IN8VL42D$V>*P9'#&2%3% BTHNURZ8H&\Y2V$9>UBT(]//63VQ?
M!F?L M&\3JIL)X@HZY-")XI9HPF0PL6^>A//I(G/"@2[RHHD;VGW:\J"9^RZ
M($$6*C-UAECU+C260,IA#E T*7(3-^"%/4(H\6Y7E3O8"?8)!1,[-1<31VI:
MQ[EP*)GEI7[VU6"+/4ZFCEPZB>L-N\<&ZCW5U@NZE43Q!7]BV4?D7OKLU3>C
M)(-I4^C\_/R"=I?((,Q*K%NQMM".D&T[9Q'*JL_ QTB/O6?TVXG3_T%RE0IZ
M#\>'#\E(4M4-^QVN#)(T5\:.6*5BM"4DRISB1_-8LLN/?[]^?ZI8,5A1%J=J
M0+S.R4+*M 7/N[9".(%NRBKE5<U.E"->=L1N/FH7ZYP1<N Z"I&\8W;,K.#,
M 0S(<[&U@I_"_[E4S"Y^$CL;!IX;V=8''.G@C\*A$@X\E-(R%["A7#GC1:/C
M"I<ZE[LA6=+^NBVU!3G$)B:;Y@4L- <UBC0M3$$:Q]SN.C/KG5M*4JIU7U#W
M5;D5P^N8]JF5H,U/M&J.M% _ K#.R/.,?1HL.\@&*L3R/F#-,XY_60U#R86/
M" P@=J,"[C^YW-B>DK1:8HJ=VQUT)IU)<ZV-,RN6#?#L&6ER+\>,XP?@>EUS
M_"M9'"25!EV-=G#JN]'\8F?8IHI;(NH<U.F>U"F0$SH0<HUIZVL1OCK)U6VR
MZ<GV^1/;!5-Q4<<R.-:;LLU3F,EG+BTMQB:?2-BTZEAW0D7="MLR13I-E.E*
MRZ\@Q*Q28M!;A437G*"\3)5[.@71L<T_PLQG[7U/!/ EQ#O5.$?COB7SZRDI
MS796CBSUGVW!F6-*3"$M..G J%;9,(VQ^/Z>4_).>-7@3#:7DAA!.N00OJV5
MV=7\&8E=)C$RFG7;(!00G6VFL,B>.8LP#J4CD,1?J!.92:@!:L)!">FOQ2Z*
MY$GJ6L>73@<]&5C1+LZ 'KY D#6U=(- 6J$U +\"C-6GR$>G]2:N^!EL?["A
M6>QY.L*LMYS,/<LS"2(^40"OA<3ORQQ)3WB+;%26+?U008)[Y;Y3:0]3C4(.
MRB]_J(<80D(?Z2.'52$-X6@ L6_5W",6;\DAZBZ>[/,.V71C8+@B!711=B^(
MR'7V*.+$V6YQ$$*&XQ0'CFY5!+OH]WG4N[]$4<(H!2X<" ,#<'8FWCH&IL9=
MPC=&*$2;!ARS+I-,"*E#4,/HU2%E6*#4TO/V\U%DHF?M1B:MX9Y$1),KDUOL
M@Q6)4&CI@>+E<636YP0Y$2S(WS30(>=*L\]9VHH$ALBG]A(_/%3\ :,,&4S*
MFA^@+L7!5<# =M;E%(AV27%&S5TR%\A3'(_UZ $JF\AS$,R5OB4,&4%[;:X#
M+$_BJ,KV 1FA>6[4.EL-0>F*TLOJHF8SKC.[P2GOF*RB1KJZN+N[^G2WNA2Q
MC%)\S9OZY>J2X)C(G_2%,L[G.!>3CUG@68:#%'<L()IEOQI]4[VKG^/J-RXD
MP.K^7+KAN8BUD"PU/743%SY7JJBAP1[1 X;CRHW$T5WH_9C9AJ70.N"+X?@>
M@]U9MFM8OC4AK]I7UP4$U@!)450FLI NV)].4.VKF[U8+A:4+I*,9,@<Q["=
M$)G/Z8B@R7.MU:>R@8+WAEN&95F&Z3JC&;+5<?W5!T3V/27=X.2$%/F$#(/3
MD8P8I*J=/'W)[02&ZYHSVQ'MV'\#<)Z1EB15.<TU3<,-_6ZX;[B!A5;?B+Q@
M]1]EF3X"&[(H#"#T*775#KOMTUR_3\^9SA"M*P"-*A;1-.>$H"NJ1Y)VVYIW
M\RW/\"QO2D&VKZ2Y%_O2P@IV$,RLBU:ED+DY@>7 E,(]05![9(1.I&:JX62#
M(0S+M2Q\)S4>JPFB!\YKA=[JI^N+=]<_77^ZOKIC%Q_>L[M/'R__^I>//[V_
MNKW[@5W][9?K3__H_!&I?(U\3K[SLO<% '+A6##TR/#\)5>4G1.I:II/S#-\
M9VKJHK7C@+ HYJJO=98*8DANEFU$H3/C6=1,O%943AAL@'DFM.Q )$'86X 7
M&([EK !UD"4;88EWO,@0@S^(>)DBG!%RE(;I1X;KV9-%9?.>8PV7MKP0_F[O
MK6WYKA&Y]M"W1@+_&E.A9,JS3,-RIZ)0[6,W&'+EPLM\GYVP"+;R I^V$^'3
MB1!JW"%7Y:(*+=LWO""<48-H'Q)9UJ1KF,&,3XKFJ4,-=^! GE$W S$E<N&)
MA@T+F#C5<)X?>8AU_=8#P_8\%IB(=5&HI@['AQZBJ1G"-D-XL1P=^CXBH[D2
MY<U!-N_VF=#,$](8]O)B==>4R6^;,J=3^0\B4#9/%$2U=FKJ-^ WYIEIP<<J
MAIS7(MV 5<1#_,<$+L<J+7!)14<K44]0K:J !B-!<D=Z+<1!XVL)CKBG,^+\
MXJ]8:"ZO#A/SC !B,&$!NK>9UB>%6##4@[/YT:&AMMZ%2&N#;7C>U,;0MKI(
M4U&GA;XH+YX" R7Q+B/](:;#+VU[+NJJ'@H3[;:5P%)E49PK*KZA.S,@K+RL
MH4+FP+(0J5Z(KP$^-271%<(P7HQ(Z<,4<YW0"-T(XSS#B@)!(0A=?+H.0K*O
M;:T>V(8Z_"H+ ;-1 (N&F1(1+W '1-"'$!*ZWHS)D@0/D'U>LMA'?O82\EM
M>51-[4#>0K+'ZO N/_ %!XB'U.*;AF^%!S*C1P$&R$+.H/SM #+8TXSH89,^
MK*<GCC9LQS?-Y^7"@P$(K!JAY0ZH(^@&GG\X_-AF!+^QU1S;0EHPW1D=^DC_
M$7B7XWS;-")P_4VZ/B2&?]"MS]7\W<+W@_IJAL"-5.@@X?GP#R<DFSLAZS-M
M&/400@ )P/RCU6WY%.?828]V=='/F<$ 3A?^]2A:)_#=P2I=ZH8?.KZ-.%BK
M^-TG.PVR7PZB93U;>B0+CNPI,%#MV'L-&2?R3)-B4EX*E,Q<VPAFYLGFU1W/
M<S!B,&03,)7+@EVZS8J,;E#I-A[6 VAA]4(@%Z8V+W0)0,RGW!.JB"$(#@0Q
M"&FJ2^.9 Y)A6 6!(ARM3FV^%\'?1?E*5";45#K?>BZBF#]0Q8F8A9 8P T<
MY6^J]G6B5WKQ4AR6I&'I7CI%.5,L+ILIWG ZAFMNL1"LR;-&\=OS) OP!D("
MJY\HXI=T;T ;;;-ZHZLF*5\W1,(6L6I.<+IK=;&%DV3_C'451DSMRLU2H"<L
M1-[T9@FIGB51H-^RIV8O6I?FR%@+1.[YD]U'2.^N5M>:4X%Q4'ND.$0"M4<J
MPUG1)N3D4>P*].11J9)N<CT )1ILF]X 8=KB7+GZP#M-'C,7,1RY]7B0*X^[
M1$<YPO B?W6E,ROL2>*(WCG?Q766" @#X=%<8)E(D<%7&5O,,]]=O<_REH*8
M!&>.; _<0Y.<U:_B>0IA$X#R^('T**&31#,#M/)2L4+H:.9X*ING3$"4SLP9
M439_B[ ^SB :;1B$;.!3/QXH)@^J<A05#-,)YB$00 36)2@Y70C,A")1'P_P
MRXA7&P'$'L$GR?>8G/#+X:#.$F24&J/K*Y'XOEON8O_G"*V.V>P_L#QY4ST+
MKJ$K%R<<=S[LZRXGP@$GF$EFJAU!E$"..5=&43U#:_W*"43;\A0B2RO^6O_J
MTS=;[%=9>X[5'Q"X\[RCP]=/"<\\!/Q[<-SEX W#(+4#%8CW@:IV\0WA:KB@
M>(LA;Y.XR%PZ'Y7B+WE=3XDFE6]1YIG0Y=4GH&.^.VUW+$&PII=IEBB.SI3C
MG!"''L2=).M?PL3#=.XC.8<]YB#H@B:DU?FL3^\RJ&HF'\",(8!MN.Z4"=$J
MJP6G]%HR%1$<85 2MDG_,YA'-/>UGF'^5K58P[&"2;$'F1C3_D6@^$$\VH!*
M,@VY=)K!JA(G3&>KGJ\A+@6J9NI\:'Y&R7:L/2HJ>7W%"$X<1<P*#*HE2+,G
M&^B+D@20+"/ @4*_:<R*H;')<R;I=G >,^C5B;KH[2\WXP1)J1;5BF$QM;]8
M$$'%L>QY6<N>X8T!U>^B8(H#9?.AJP+%-H 9Q3=31B?3&44GJCP[3@="NRFN
M;\TR*-JG-6+8&Z+<O 6HGJY8VW$*XPAP;J*%"'$Z0ZM!*+&HWK)<5B;"MAWM
M1^LHDL"5CE:AL+OBX90>A8TK?5, %NH*_;.B#K/HT&[-!!?9/HF?F3C6[(>N
M6Y[R;??^:CM[FV6)2Z&9&KAL[XIC(IRJLIAXD%&7]\TC76/KHXA-9;P%+Q4]
MT%%OO=T-F!"(L&L*.9!MZ!N^.V_ 7=_J1KU0JM5)>OD2B13G0Y<++J&Z.H)$
MCR)03@_6Z<6K)O[5*J@^-$TU 7PZ!4+VT"#:6MZ]SLXF>W. FN;/>5W?Q"C4
M1>S$*':#K2:#TBT1 WX+%PZFJHM*+PGGJ;:\P0,H 5<6+QSLR#1,@,-)UI'M
M>W3Y%UXEF612<E?NI!WBU#@7RZEUI1\>+)Z7J>P^'TA4SY $G43I30,="<3S
MWG6>/:C47#"M*7F+VU19TN@*O Q]5#:>E:3J&BY%U5ZZ3]_/G. J"I?XC<(N
MM,[IF@+JO,U0\U(\.E&V^&*>INV&P(HSE\NR?775O<KH7DU6] HC4:FO+)3'
MSUW,G]#%2^#,(P7=I6%A)4+V2<KE-_%2<YDT) X4/(-Y9/OR:P&#K?E#5A1*
MU>H5M0>O<^?N$V3[(7*<4FA'Z+EO$>[:W2X7CRF@M/ZA[NA!\/#Y]<M!.87>
M2E$6/V:V#R4M+24[^Y*7FA.%X<($]!SBJ^@171?5BG0^+,VM@..&1$8Z.<@W
M?GL7B50"1FARO 4F1=_JQSA3UU$BH*ARRU[\T\_'Z0WC(%510=X1*'7ACEIT
M_N$E%N\R52P0[U0$"%FP#.H;YE1&[V_8_8B-YRQ".=5<6$3TK:[W@[R,Z,.G
MT:+'BE3/,56?K6")==FYNNK0.D_'L^W(\!UWR4Y%YZ&3ZK==,3WO4/K]3YA_
M]/Q!QU[;-3Q7UACI!*4NODP[^-YGC&6(#$6$AB\"UXEF0I[)J4+N+&>86<1+
M[[5QF@O'P4FU?:\H,_(6"?3&MXGC$S9&]&2&&Q_Z1^3J"['PD$E:_^]-$H'6
M\H0% "J&@2GO,3W/^W>:I"_N.H\E7B4F5)4(IR;[CUND%1FFY8\M4K7-_5+P
M?/ #T"VO'L3/7.D'!SC-RM^"=JW=+VDOY ](^^'R9[@_QQ5 1XT=WF,JW48<
M227H/YIR)WY.NBZ;IMR*KQL>([S3 /33:TW]!RW0_;[X[?\"4$L#!!0    (
M +Q@<EE?[+4'=P4  -<+   9    >&PO=V]R:W-H965T<R]S:&5E=#$P+GAM
M;*U6VW+;-A#]E1UUIDUF5,F2FTL3VS.^)7%G?*F5M--'B%R1J$&  4#+RM?W
M+$#)<JJD+WV1"'+W[.7L+O9@Z?Q=J)DC/33&AL-!'6/[9CP.1<V-"B/7LL67
MA?.-BCCZ:AQ:SZI,2HT93_?V7HX;I>W@Z""]N_%'!ZZ+1EN^\12ZIE%^=<+&
M+0\'D\'ZQ:VNZB@OQD<'K:IXQO%3>^-Q&F]02MVP#=I9\KPX'!Q/WISLBWP2
M^$/S,FP]DT0R=^Y.#A?EX6!/'&+#110$A;][/F5C! AN?.XQ!QN3HKC]O$9_
MEV)'+',5^-29/W49Z\/!ZP&5O%"=B;=N^8'[>%X(7N%,2+^TS++[+P=4="&Z
MIE>&!XVV^5\]]'G84GB]]PV%::\P37YG0\G+,Q75T8%W2_(B#31Y2*$F;3BG
MK9 RBQY?-?3BT;6OE-5?5$Z1+>E*Q<XSN06== '"(1R,(PR)^+CH04\RZ/0;
MH),I73H;ZT#GMN3R*< 8'F[<G*[=/)E^%_&,BQ'M3X8TW9ON?P=O?Q/V?L+[
MY?\-^_N@TQ']-RX%NN76Z(HMG3K?.I^%GUT=S\Z.?W]#M^_/KYZ3#J2H,FZN
M#!F]8 J%9EM OW!-J^R*8JTBZN\>?=6&9 M?&O:%5D9_@6"-@C0KTM:Z>R6U
M3W/M6N\  D\JBES4UAE7:<[Z814B-R$C:UN@R0,3+Q8ZV5Z++0P_Z+DV.@HX
MI)EZ5 FS4;9;H-<Z+S9@40P4B*+T715&]!'BISF$'W]X/9V\>AMHX94M:AU@
M &9-5S(MM(DY,T,J:N_0?Z[RJJU7PXTU995915UDM_ VLK8P,6.F&^4C70SI
M A'19$1B:[KW=L,N_4S7G:<;[\JNB"%]GKP=2@01GF#>@)E(F'JDRE*+(XA!
MVSP&\T0R*G))T:44]#']%,21A+D[UJ<<K&5)H4B",PFN47_#["[60<$P(=0*
M;A3<Q9S:7 68E?%1L"\)BS06\2M:W%:9!IF;IL38X2<>$P8_& !0AR;VY"SW
M65%S \^X$GN[@P29O.@!Q%[)A4YCO%%W@'K6LW%Z?7;99_[YD#32<)H4SQ^X
MZ%+%7DOQ;6N<7S\J>+Z7(8U:L:@?_14_N*,"' 1#THJ2">17EXDSS'%P+.2V
M'5I0"@_$*V-<D1V&KNM\T6>1[Y7I\H='6P@N&0,]N>2N4'^T/UR7VBQ?<P(\
MTY75"$2!G^.B<)U-6#?P)W55RMOD+5!23F5 (,T0&?;!)E<;AQK9CM#9[<K;
M)'_#S'&N).E3.(%X:/+K5X40M! LQ9="1VKZCOYDM9QF,57 LU/,%!BV6@WI
M4H6@BKH+'"/*\0HW[P?5M*'6GO/Q-_:!5_GY+US**8D?^4&%YQB170RHM7];
M&=*2J59@?9>/\.L<MV'RX)W,"]AZSY)_&+J09K3E,(%>,7Z]G#-[LR67;)_6
M-M@/W?QOK ;2<(ILU\REQA?D=;C#"%RUTED8GPC6@6]Q<ZECO=5??:;0CIM)
M*@.QQ*7M5\D<IF>&:Q%(H=L$N)YPNZ@K&<M6*1TOY-[QJE\!D,_ADRZ?K[;U
MT<^I>\0WCCHZG^K9(OV/0[Y(_9'O O3"<(<QE'1PUK(9YFF:%R<@X800.$H]
M/P8[3 :-%C)R<A*GH]F(WCE7IN2?8>K3<9_#]:7HA""JW#U[*^' ,\]59_IY
M)"*JA<W[].%SA\(2,?BL,*VPP<F_V%+]-00.*]D =N5TOI[XR?(\8E'%2 <J
M.*4%9ENZ"UW?V9S'OZ#%>K1KTQAO+5L@IDHKI>0>79WWKLW;S=9ZG)>U1_&\
M\EXJ7^'&(L,+J.Z-7KT8H&#2&ID/T;5I=9N[B"I(CS4V;_8B@.\+!Y;Z@QC8
M[/)'_P!02P,$%     @ O&!R6?"]]R%U*@  _(8  !D   !X;"]W;W)K<VAE
M971S+W-H965T,3$N>&ULU3UK<]M&DM_U*U"Z[,:N@FB^]'(<5RFRO>L].U9%
M=G)75_<!!(;DK$& BX=H[J^_?LT+ "EE=Z_J[D,<BAS,]/3TNWL:KW9E];5>
M*]5$WS9Y4?]XNFZ:[<L7+^ITK39)/2JWJH!?EF6U21KXLUJ]J+>52C)Z:)._
MF(['%R\VB2Y.7[^B[^ZJUZ_*MLEUH>ZJJ&XWFZ3:_Z3R<O?CZ>34?/&+7JT;
M_.+%ZU?;9*7N5?-E>U?!7R_L+)G>J*+691%5:OGCZ<WDY4]S'$\#?M5J5WN?
M(]S)HBR_XA_OLQ]/QPB0RE7:X P)_.]!W:H\QXD C+_)G*=V27S0_VQF?T=[
MA[TLDEK=EOEO.FO6/YY>G4:96B9MWOQ2[OZL9#_G.%]:YC7]&^UX['QV&J5M
MW90;>1@@V.B"_Y]\$SQX#UR-#SPPE0>F!#<O1%"^29KD]:NJW$45CH;9\ -M
ME9X&X'2!AW+?5/"KAN>:U_=\&%&YC.[UJM!+G29%$]VD:=D6C2Y6T5V9ZU2K
M^M6+!M;#IUZD,O=///?TP-R3:?2Q+)IU';TM,I6%$[P 0"VT4P/M3].C,[Y1
MZ2B:3>)H.I[.CLPWL[N?T7RS _,-;#/ZKYM%W51 +?\]M&.>;SX\'W+0RWJ;
MI.K'4V"16E4/ZO3U'_]M<C'^X0BT<POM_-CL_^19'9][-HJ>/GWTI58X[&W=
M:& ,^.+S6D6PXVU2)<1L\.-2%TF1ZB2/Z@;& ",W=:2+*"T+E"6ZV0.I-VO@
M2SO_MM+PQ#:'"5>J4%62YWO\76T;E>&S#2SSI=#XUWU#"U?J;ZT&5 -/%"!$
M<)6H*>&OKRI2%KRDR**D!L&S1>AJF"=IHF2Y!-% <P+D986S)AN$I4;X8;QJ
M^-%<)PN=ZT;+5)FNT[RLVXJP !M"Z''E0\_P*AG @@_@YT'LX'.'P*G4@RI:
M 4!] Z%<PQ]96R'BW$.$1E7I,JM'P3$>1L9B[R//P\IMN=DFQ?Z/_W8UG5S^
M4!L0X/]I"1/30<-11AN0@'AJ$<A:GJ.JDH+GJ^,(3K'<P685#4XKE>DF O0!
M_#&M4X#N 862Z[\G"YCE(<E;PI,N8+VFK/8Q?9<PN C^MJW2-<ABI!B8%U=(
MY>=*Y0FB#HA@T=9 Y74-)[19 +YI0.R?%WRL=::8:&.+HRQ:)KIB0&J&I($-
M:83..^)5668[G><QGA.@_N],^QO5K ']#"@?11SM""= \R(6$ Y5-: UD<"K
M5KE#C;VS\G9#5&/!,G0$.WA0%:G(I4J:MF* W4\-05V4.!OB'U"W+6ME2;RN
MD61V:P!:5:#/%D JWQ _K:[7=)IXPF5&="2*U#)LLMWF2. "7I=@9#8X*D!W
M#)1>IE_/4(=F>"2X6T%\DWRSB"&\(8D!\,Q">[.C[OQ(.*"!554ABF .[W ,
MYBSE.#H<13<Y'%&[6ONSPA.K-D\J%#F$%]S7&H!RQQ&C$=$"SP*L0/-(6&V.
MX@!X!I $0RI-,FM9E9ONPZ/HEO! 0M#CQHH9JLJ<B&.JP;]V:YT2E/MH 8,V
M*OI:E+MB1 +7 (X8A5D!'C<M['>M >' 'P ODE:E%?(@XN8A@?E;&$1GWA.,
MP)X+!>?ZP">[0 "3NBR(.UM0Y173EZ[2=@/B"Z:%W?V4U)JHZ@Y/$AB&D/Z9
M";$&S9$Q9PVKA31O,T73"GG5G4,GP'&/NW4)*#X#+,!L=;L !M:P'P3A)H=9
M/9D';*NJU#QOYB4I"\Q8)REO>IT\*-BE@F/)]08%!1^%@QN&P?$)OX+, 9;8
MJP3MP9QVSU,PG1.S@FF)=B=8<$";  F-WGJ(&45@5(+)6$2W-"3=!T=*\.5T
MDH238;V"DJDAMJ:9+#+VJ'$J>AIIC26Z*"$%<PAFNQIC%/TRJ&201"U &4Z4
M(&^N5&^-(^H(2%:F(%[,_@JV;7CX_G<=N==E?$/ P0'G)<S/-D4/(T0>[_NC
M,P5?P9&+PB#6 V7(2@PWL0'*;RO>M4J %X4W$8U$D0P\T0M06 NZD !GUL+%
M*K5&'P;H W4>,F;3Y0DAHXC,^&% #VZKOP4TP_;$J[]_"PPV?(.BYIFA@.>#
M4'O\2U:0OU6>P1(4_-^9##Z=LYG'FHY'&M$9U4E.6FZARVU5IJ*HX&/6IFA6
MH.&W)065J0>P E Z>W(?06TWB(8Z:E'C$ 9%)G<?1<RQLP6ZU$CA7"\!BI3$
M)G,$@K).@$!2U38D6'61P6-,7E](,GKF,IBH1994&>S64Y\_EZ/H&5+R=/S#
MS?TM?9K\\#RZ&%_$D7QO\4;8N 6#!1T2H8); V@LSUK<Z=K89G_'#<-AQ*B]
M$T!-N<CU2DPD)\*1<M@2(*L(%R&B0;U<+[7*8M% )9!V5=.4/!(<59$B<"(;
MC0@V1X-+HBHGQ )()#J,DO;P[*@#!CDB%8E'EJ^8U\Y&"S0"DB>N1_(V54QW
MUMX@:\>N[=-. " \G%B8[,%X^H%M3'-,(,98)(&11+[&6D6]P8:E6% 1*W8L
MS6 ;5FF'&Q]^EE5TO2;+8Z$"[AT&!D@53&LCEQEI8A@I,581(_CCIJS!--=?
M%1I!# @/B(%30!9D.(N<PI(H$MDB, 28 ?$L1'8;PAI%OPYO2-=/V(1>QN;'
MKC+X:YNMD)EC-%Q@,CCF!2W#7EY@$2Q;-)&)82H0,$1?++,18L-'GHUCN +M
M?+2BF1-&GNM[^*3(513I;-UB8VD#=HSB<VZ'\?<.H@&9DPUHL%17>$RTCEBL
M;*X/V\JP>_#=M[0,*  *YQE[$&Q66)(C?+C6,V<ZQM:$P8&H@-*DACF>BZE8
M.]L02.8AT3DB EQ/D-YU+$269!D+9U8O8*DKM)WSG"D15ERH=9(O&78-$G.;
M5.PY5TBQ0APD#.6,1M%O*(L,>@UU]S$6"+>8<&7M#!(\28;4!2ONZ2M:Q),(
M(OF4)M ]6LK1)$>$D#@)OD^6 )6/Y5@\!@03#860)MDBAI]0AY9H?( I"Y[5
MWNQJB[!;0S[3!'J!2$I65;)=H^XXFXS/9M.SR54H7+(2L(ATRQ1BR>]1$& I
M(((:4>.Y) O5[-!0)D7@KR.;93=D6-DX#5-D;@*+:#@ 4A>P.IO+@%:@(5 3
M/^-7!\@ZM;H1/R5D!CV^MX38]@THC<T"EC81Q5%7U3J;8)/LS0HNWN'SD;=G
MLNW!2 .]&49"#HBVV@0P6$$:&VU@:N%]D<!.;EB96Y/)D2/":I7G$E1+75#@
MN+:FPV*Z.P)%Z'U:^[,^LGH MXBRQGFWA[8+J %[$TQ-CBR"O /CF#=R:"U\
MAN3T G<E>J B9W\+DBOP_([IX8/S-\E79F.T'-C8<X(O$*-, 4@[U5=%P:9,
MNQ@6^2X%ASBW<!H/="B:*'75@A;)":<=3^@@R?E'8HW VASS@&JSMA^=M&5#
MD"B*HWCM%L]+#"@3Z$3#SRAV>:1C(Y+.W9::912@%+7!6F^W%#""C8-UEA$^
MEZH;_P!D)1Z;PIH=^&-KQJ- *U,MMG[=U,=FP0$#LX$%JNNO?!Q?"HG'D=[Q
ML:DXA"0AEG(KZKT6F8AR&<X0D&(Y 84FG8.=O0UF)]'*"I0C2!I62ION_&(%
M%"@,<>8.WQG)+K$:G@^%.YL).,:7@PP,#:)H!2F%'!-Y>PY^2%3;66&/QFU
M38E3N[31S+JEF&!E@F,P=%M68" !CF"%JMTVWAXQ.BRA./B _-  OY5M)2*+
M9ML+PI9LI8(#IV'6#LVOD=& O5;,+32,M[S84V:0- #N+Y?$PU>U=]""\9C!
MEO22A%\?%K;E'E1>;EF52 PY!=4'SCM&]Y)Z'=._T5OP+X%H;$S_%X4^(MDZ
M]#O]0Y8S?E#>:&,2T@\8PTO$22_1UMF6M0;;X,]ZM89-Y!H>S"A*[D(I8,(7
M:F]$SJ:E<.42N%XT&M@_8-BMX#!S#%BVE0VO MOCPYBN$\U+9)3FP&@:?4'D
MJR[ ''/K;8,>!-VG.>J [&>D!,FZ;R)H73Q[Y".)YJN4Q,MD56=OVG$)N6^X
MKZQ*=FC.5^#K)RM%I $P[!)D$?L(F>##3@0M8>(P!\P#.@CX, TH+Y@B'L %
M!27"O35E ] FM0D).IX;L&\.1EQPIF5>[FK#&60WU1C8@<$]\.G?J=G$A)#S
M771Y/AG-@'- Q:%C^EUT#G;0N?F"1G\']N5L=.4& =#H1(+!@0KYULLSO"]@
MHRV#."Q#R7 !N+*,@S2=[ 6=)N!"LT5G)Z94@O9F;P]%6^HPW#(4:KF:G$NH
M9?+#&Q#B#V0\\5']667 ':N1B:V$>G6)@@UH#F;#6<XFY_20^7,^[NF!X20-
MN-48T*6LH +1JHU[F,#?!B"<.L8YZC+V_<:%7H)00NET8'(2&F*:(&GHAG6B
M,:/\-4P\>4\1?&>D]?W')-_7&@5E4P=G?J\*#(C_3"FFK"3%0AH&9,VQD^;4
M+1Z=V1#^*N<:XK=9MRQ49%>*7%'9%,Q >0E-*EY&@&)Q6_,FG5^.O:-?-/:<
MWULQ"AM*42ZBIO[-"D"0DFWE"5M IAV%@5/CHJ 8Q;-9E1@5?!FM59YQ1IJ%
M;8PF%<91.#1G#4?<#X8\1]&G<!T,HR]!!)0H2;M,/>600TUN-!H=_I, UI?1
M_0@6I. :J'E@X+HCT;OPB9A&X="-R@A)?-^12F'T6G#-"HAVYB&JNQ@)4E#4
MPZ-I%"__EQ;P:V6P,W) N%.<O!+CVZG"@RZ>=[JD4G:*J96L:U2P'$=L3,S#
MT!" O2X[N.HKR!XZ<0J2VYPXX42QV*R#AE8W&?#1Y>8]5XLL8%2EX#(@1QLH
M4AMH\A IJ1^TQ<D*-MES]LK(SG<5 -_79O=D,%1J14(5]D3^C$=?K-F<:*??
M,X5&IP3 G'\1[(HJ(0(E2HMZ))_K=.]J.TQ6LBS [.%QB+HUV$%G%6M&;[.4
M)-MH-J?5MRT7:J"W1A8Q2HNS%IQ#:R0H)B0N05 4#&T+^]<*K%HVB:AD >6C
M3V>^US%$<!VM&QJMEG;J RP D]9K()DS/'@;--DSQ58*J^Z,.5I);EHH3_*#
MW6B*RZ\\<B*A=V,SXHC305!C<7IBUC@PAZY,^4!0\S&*WJ'5]RM%!C]RV)\&
MON^'\\)Z!TUL/90)#1WYME8N1>CE_Y%=@!95QW, !R4O]ZA*UN )), ;>]Y#
ML6T;21ZA84V@DM_JH"+*W"1@SY*WC5"T7!OEQ1]D(H09]]8;VA;]P8N]IQ]I
ME8$Q2C);2!9>[/53?^G*?A2(R3V@*"L&A9&0=^2N(4B<XT[-(1#*B7ZL/K7A
M')D(J"<! "7^1B1F'"==<.:@'YK&C-D ECJ@FDSZH$WB52XDB[+E4?_*C9("
MJ)1Q_4@\>T;2@B61"_GX@:"A(HG/(5$[@@/'9E&57]$-+W<%1Y?8F,AQZ4X$
MC9'+E4F,-?0!L+ZE?GGR 1^()F3E3,"R^=753ME)VH*CX/#7W]JRD= 3FS)<
M*"NH8]^"?>.4?!;B/P])5I'Z++@V:3RG/+&.KZY' M[T*'@A3&0: =OD275@
M_1[4\< 4;A./S6> G!T%TJ<SI)& C4GM>]$7B9E141-XS!X-;)P(9/H0&K*5
M3WT>@1E1OE&.3FC7B+MFOV7![^(UPR*SG\B4(W0"4WN;W9094J$3BW;;I%4\
M&$E[!C!S:I$.)A:7IY,4\]#A"CHQM6)R>U@384-,:6)+!WT9C587XS) ;P+2
MG!-<Z)I1J1;N5]C*E&,.\"2M23:-+(A$-! &\\M!374=0T=K& 0,LKUXNRX0
M/DP8>!3&J4";1'?D 3 ^2B*SWK9M;+CD'R#"F\,%F^@0P4IPL)I"6,>*.VW<
M/<%X*Q;HDU5*BU/VN*2P&SD9*(*]>C7)#2)UN-(U+Q6)'CH=0.NJ'6T 6^J\
M..-H'G'G9L/PQ%O@:WD%"1\8<#+KUYA@!>E/]A^SAMML/WWERLLJU:_):0NS
M)=+0[Z6R%667_YF#_8>JGL)*&%/=&AHS4K-J2V=-^ W8DBPTI!3X-%1R&T=M
M;0TO7=7-F2YB^82ZE2L!NID&/%@V"[6WD02)$=,M?VM!]2HJJI2R3G0F$HS$
M/^C:5!"K;RG%&S'0N0!7"-#G;<%)W+#$<>F*&=!S!ENOS-L-[$/"_#A[FFR3
MU&AR&*XE-Y^9*:ID9RLWL4ZWK+["OL\$T9SU!J,-K&27,PMQL ,#F"(?N\(#
M6@+MM:G;-/N*A\8D?$8+*J'D&A95V_H^N\OA4^-DDIDS>-H^*5*5718LPCF4
M$ %OLT7>9$NW5WYE48&USY2NS=##@!G1":K8.U>U"=# Z9,6PW"A=4YKJ:!$
MCW+-=5B82)"J'=W-;398DKFB8(DMC<G \^%RA$%&L;E-3D%P[IV,A(Q9'\2
M)<#:IT"'1P =K 5VHS@.#T!V4BI@17E5%:DK[Q7X2!7:,S#( +&;4YTV0\>A
MLK!NE=-!(MS[]?#"2W))0+(I@",I2QY%;_CX4,A+!7H_THP"B] F#N3Q5$\L
M01=7*UN4EF\.E6ZRX$?F-<<9;L-5]8^BWY[">(&,D<@73FD B2,PG%#2@;S"
M0IS((UU.$I(3%M(X**2U2N!X/R@,BG@A99_+DZRD6RB#$><O6[K;$9;V?;'Q
MYNEX<G$VGMKR/EJHCIY]+K<ZC:[FT^<F).F'J_$'.P5'%_X"D*/=1[&%R;6M
M.>3!G<H/%RRRL6,\=E>18 H:4/[DM/?$>%!XY<9$I O_&<J_F^$HK#AKIJ4"
M-A@;PN,EI8$N\++<6;G$0(SX7;Y]NC?2_EB@T2^OZFR2P7-%<F&,+A$*)UO5
M<0\]="#':H$_X( L*;Q"ITI1,P; IMC)1@9I7T23J239*'=*HT@N+"7:XV 3
M%',FV9BIY.,1-:/2 9(G<V.CFL&CLZAX&3W3SX6#L=PD2.MC)7V%DCAX))-C
M"6T1C$LT816YVVH,J_ RS@\L<[H) VCFXL7211_[2TF8+RPJ,U8_5L9\4U4*
M\H06DI7<\O@<906 P?^*-UW \G"E[B94!@=9E!M@.RKO'=@Q3O[P7 I52&:&
M-V[J=L-'2O>/N&JLQHQ?POX1:A*5U52DW:!^X !:G@_X&H/+PQS/!("",R5#
MYX*F/6I5B5*:\A"JN_ 0:;4/8AY57F807]>P$ AQD^M&[[EU,F#PA#G=RU5\
M0N[=^HT./V&X3PB:-&+XZ\$+<Y6*O$IF 8D? :VU07> 72\4NYWBHH$SZQP6
MBOPN\3C;%]TY,C0H50:Z&"\]VEB]2 FI0NH,,<(BR:C<P;BY8*QU(I14DJN,
MW9RR90:*%)17Q0Q.,Q_?^"CZ= "=Z *W%1V3C?/0Y2^\&Z#),#&WSD+4]*>T
M2.-23+H0D'G8PKNR),RQ7,F4$R?"\V8J>6X(\8X^>EMPR1)*J@+P6.]CG$*<
M[Q$P['(40V=I)W'799L'$L!8+38&>!S* "LV'YMQD %E;4)Y.UNOK<-$ 5!,
M*\,5U@;8#2$CD!#M/ ]^=9M*U-@J"!>E=*50MCSJF#:S>6!!.2Q:E,69)3,N
MG))R?S\FSW&*#@J\2F83]$SRM,UM= >)_!B[>Y7AQVB.,Y+HSV>A%6**[0,U
M0V$M+FR76).G<;J6"868&;LR@\_MHEV6AW63E@)QHZ"\F3J4T[_PASD\F&8?
M4R$1VT'V@@IYZK&Y322QC.YUY+PL5IP@"FV'[KBN:.Z!TI7.9*51AL*>7=P;
M% ;+#_X:>V >JL$YE@8UM^\.U 'W]K8C8\<_9EU;S:>4589T@1FS,J#6DZ+
M#)JC;&)=%,])(+RZEL,HNB\WYJO:GK3A"K\<&M5PPODE/E13>QO;<E&O I"]
M%4K'\L75=\[.9.]=2,??IXU$N7JY<*F! LF.Q$A6*\S[ LL<0DW F28K$<A@
M#F8LU$H7(CLZ)>--\A4+5$N^A.PL5K,K"=DTYMK)@U>XVA7;PM4NF B,HJ@B
M3-)#=G7+HC*#X?=!OF8]9DU&V"Y82WN**?/5&Y)&ILS'385"UBS4B9B!E5BZ
M(Y)*IQ!S>#*MW)\U(0ZY8%FR.R!.8L5&PYJ89E_;6I8#9H&MJ!OD(&9VH$]B
M]L*O!6>EN.QI198^/5ES?!VOO-LT:NA)?<W!)I.J%LH\9.W\ZXQ'%W4:-".7
M^EO/8HI%-V?H&N58V@SBE-RP@HO*V$9).F:E758244!TE$O'>8P-6'OIQ- -
M&T4?)8!GMV9+KXQ@\PQ7,3(JV_Z!/$&ZNW(@8M"W@X,@[&&3E8G]B$E[*&9G
M9&9PH=4NVJ&YU-R9#G(G \8#WNX98<R&;-T/'I7X/.G=QC=6L3<2SM6O#;92
M5$KQ#Y?,\:4FV\[!F*J<I:%<",WD3>2'-+RLM%_G[J3.TEPR,?,\4F[SCIS3
M!,BB8_]P0IRW+FY"N629C+&]0B[3\O4E*MJW,'"P(]EAFF"#*9<6\S]>_:&'
M,4.95>W?!</K7F?HJN_-*DDA$?;:JIA>5@7.1&YD860;$4S8*C'JTUL-K4$3
M?VP++(*CBB&C#.56M+NPGADZ=;=8S7[Y2FGZU044[4^+_<#27 S'<@,P%]P'
MZM>O2[228\A@#:8J@)VHP:OY,K<%^?XKBIVE[]CYY3',)-)?AP(2NG@H\P<[
M*8@*DC- BZ $"Y5+:L?Z5Y;J>6\994=)9CX$Z>.>LV%XQZ5O"6_N(@*8"&TA
M>;( T;[#3'A$HPFL@+/PIDZ7GP+.-%?/ZD;N$SA^D22MC:-;6F,1!>#)I3=1
M]TU98OJ,YH2/6'W&1\A]?8PDLA<A##1&Y\2/0XO%^>9681*M0']PIBJVK8%,
MXB;8"'P!5I))\O3,')=$]PEN0^87VX=F1.V7!'*L:OB2+W4A&>IK](0[(^^Y
MN\!GN@7ZQFO?,L#FOG(VN?M4V6N(3UJ1<9=\$XOT<&LGUM1@XW' #'O2=/I;
MB%?(9?:![G' .=O8Q-WXMK$:N2H2ETGFT8:I8KKGW#F#G3)NF#,'% XGFF*?
ME(HEY.(VQ9F1\_BF.'DFE1^ '&J98^\W<[<7"BIV#%??K;#WF6@.+INEVYYB
M[(B!BF"=,5AG"-89K&",5*QNJJFB%B<T!INY) :_@7C"OPXLQ< I5ZU"A73#
M4/GE$E)XX%P%P'?;T-:I:I2.+/:3>3@7J#AF7[\H ]$9K(,>3<$Q8'?Z"R7?
MRU25:MK*W#UDNJ*;FZII<CLO2+<&]4?=+OY*U6\EJU:,!^R,EL4'C=_MP<L\
MB]48_7OY)B_GPSTZ>%,#/69O(-TU]S+ZQ$_#WDW5BAS=EEA=I*E5AIBAW!<+
M/2D=@H5%M]9L)X8%)VZIQ4UBJ8%?BZ .5]8ALM!6K#1F"F%I?*C>UR /O/N/
M('^B6U.7^9=R48.9V%CNAQ5M*>]T/+F,0W;W5A6I&T3828/ _("P/^4E&&/8
MTL5T$/M0[LY0^&5&$IJ<WY_>?_C\WF;\0,:(I6.(>KBK3=>(,(G*).C4)275
M71C7 4;]PR!@?(%G!VO/Z*%(@NDG8X[ESH8E[BBB]4>P.7^@2W'<=.6N$_'B
MWUU3EB!8*N4K?!_-24V$W@\)C^"XO  QU4MQ$/+Q:+6-+#CW;R!"+%E*K]#R
M-JRY?VN?_L)/?X"G3WYJ=9Z1,_<93%W@5E(>)Y0")ND'?AI>_F55=1\&JOU0
M!WLW*%R&H#QQZ/U,9:/H,.X46GB\X#L0.AJS25C2\XT;Q9$9OERBR:KZC[/:
MX:=O*20!@*V3*MLE<L>H!KN#_K#/8'E7(?KQ(*B_*N CK-=YIPUXT1?4=N!Q
M@JSAMAS=L&B'2.+ &O+.1^PDOQ=3D#J0GDATW=H&&,+>8&04&G]G14%'KOYG
MREQ*VPK\OJUL+SC,I-K('7A;;4XI(%G:I!9JN;;2' $"63;'K_B"R7:]KZ4,
MGQ&$BFSI(J(LV6I3HRR9_;K?1<MD7N-@*)</@9;(7<0^-<=M3]@50*,1;BN]
MJ1Z4[[%SW(@N?FYU(VE)=F@=#I[&:@9NH $4Z'C%,'"U;/T06S-N+[ +;#0(
M3 JDG_/=>QL]I9M7YKY$;0H$I=$H^ZP9^MTH(T@E!\[G<!KB+0AI8NX[V-?]
MFGG!SRR@;U&3+*=A6\0I#3-"_^W=O17YW$,,!!_7&*)OC:4=TXMQ')WVEXI/
M12/9BDS;@P&+4J@@DP[2&%42U,(_85ENV9?B1Y*7I22E%DAGH")P&%:<B>8-
M8E'HTV#P"L% *8:VBI0&L+F*B)(F<45+6I3)RCY54XT. DLNMVL<9]K%O=$Y
M@?._!-[98^!QHU>  4G!_RFXW?O()NZL^7-P!J^,R;LF3+TRHV1')_G,Q;7]
M_@\\!B\^UL^MY/)#;^&&=%VWW,+1>!:^D\B3F7 YM6CAEJ6VLQDI)'.5D(>;
MYE!8Y2;1;F/ZZP(L?G5&U]&-R=]9HU)\@\/:R6X2\2Q=]L#D!MC40'^FX0VQ
M$[2,4&)4DKV022F<@J48"3O%A:T3MS4HG2.7,E^A#'-YA-I^#!SN^\)6U_62
M&US5B?2)BB,.S[/?U6@@:SH@,_A2A:[8>:&<R<ZK(2RHR9.E6?8ML,X(K2GP
MBG-M)U\0YUL2QTA>EVUY29^^=7C/Y)T8D/])"OQM[]+Y"=W7I-MO>//MY-F-
MW]VJ;&N8%OOX?<.*)6^7>)GH^<G/<(0@A\OJ9?3LIJ;N *@3X ?'\]]%L_/X
M_/H"/DRNSN/K\VO\-+V*I]>3D[<V8V(QXFZK@?%&]=UU+W=^[-(YUTV+VT=A
MWND/T>SJTGQV0+-]*J@=.,FS1T47THL17=Q/*DP##6PJQ,=%/)M?>/AXHS")
M51!*3WX;/&UWV<WI#0].!/_\/+Z<CO%_\POZWWAR/HAJFN_ER2=/H'CR*IJ?
M7T87XZOH&A[W+Y/7?)F<^Q4_FSR'C4RB23R#Q2;Q]'R&@P>[-T=7T61B#^)-
MR 0<''C@PN0#(A0?GUQ$5Q/W\'90>M?1!0 _B:^OSZ-I/)U?^ZA]_.!M0<XP
MQSWA#,Q,9IES..K+R^C\,IZ?G^/_IA?SD[>]M5^>L+[_+AJ/+N9(+*/9.?QO
M.IK-3HRVI1]G].-T3C].YR=X#K^X=AP<[Q(<2:UR)ZWS?0WSS"[/HS\<:170
MTI7N>?0,'S2=+[&NE0>XVE?I_#L9C<=/F/ JF)"$4# ?2,1#5W5)@2[/1 8H
MTR11UUX%)V5Z/:EH@^I&1[D5[?5!EV]#"7UFD(=-3Y;<TP''1[8M!>#AT"YM
MTT\J7"BKH.44)WE<B/)IG4#B:#:^B*_FUT*!<32YO(QGDRO?%+JXBJ\OKNP(
MOP5(?+@YFY-E?,WZ4:UWA'46*DU:KJW9^WIOG61&]YUUE!\AB5%AZ]]);_^E
M!6\*22W,A*%%04PPO;KTFZ#8<@AWV.XR I*FHUJB+A//-4:G+01F"PTS(FVE
M_!0[$XZ9)'8NSD>\*!;-^<ABOX^&)3?SE'^A@$KT.:;(PH2:TQC+^PG'186T
MJ6N<SS1<+N,H&<[KFQ>MC*)/11?J'=:38O@O,S=;D:CQ)E9TCQV8C,'ZWJ+&
MR!,?)^SL:/"\'LJ4ZC14;L.LO%>3$3B,(Q.A]K=FFNF0DAI"T?<A<F)>S=J#
M2:>>UUM.4,^2@'K6IOQ& @LB$.9&MQL<R6L3 BW/3N:^<'*M;Z79.,4E\3H5
M]G/!Z'^A5F7#]HSKO _B?'P]NK8$/43&GMA"Y ,/3"Y'EX\\8O=),MIRS_5X
M-'DB]_27#1X6_*%@,Z7O=,38R,N@^ZWI^/O9]?;#/5]<>_#KQP&QF^%J\="Y
MX\)*XN.V$.0_SNO'B?P(_P=2Z7=1O"NOZ?,0$\L_0_KH87&[YJ(.BP@P@>2!
M]"]GBAM<M4"@6:+]?HWI@VNO\]Q_01(<GXTOO&1,<,\&^WV9>S9V<%=O!&D
MOV=!5R.Y/*EG\UH+?K$WR7C_#H=QJ3W+Q.S)>. L&]VQ9)Y):MCD[C[0MJQ"
M_5<O<%LR%Q QZA_]Z3Z1DN(E/;.D6*>SFHY[[Y@@&%9NH0,M">]UJ5/U>R2\
MTW;#BLS$UG>E=(!!PRQFBZ1S\&Q)9J;XX@CQ/']D.[:7TBR>7\[C^?3:AF6*
M)QY83*1AI85>>A@W=W/OVT6-!3%\V;L#CW,CCXLE-+0V7F[R_ZXTXA NG1SO
M]5S.#1;#4$O,+8,XUD4RQ@@6$E<+94TD$N]&U+AX5^ ,F'31TIT*1OU"E[=3
M6H5A(,R)^N)!C.#PK4%TJW7A@EK>?46;.4U-S,+5Z[@FZV'4PMK7A0U)F.R_
M@;<K#\P!28QMD!\&B,JVB+9@ED4?'NK$B'40?FEFI]"&9'PB"96>O6-:D75P
M ;M"GW5N%?TS%Z-Y/H2&X)47DWAV?AU?@S\?<N-C7DG2\8*'A'N@R/P.C0?<
MLFFW(977V<PUAG<MV<AR*BMI*W7GYT1(0 GL!Y46O[R)I:QW&YH>D:2#4:T#
MN0<;TT6)PW?M)^.S^?G9'$@C:()H$74DYN%;6DA133=WY:&4WS[IW1 -WW)%
MY9YEA5/E4AE_S!;A%J%-@-DC% !,PP4CO^_X<143KGK*&E[*>C#D+H5GG2#,
M\.Z>4D35<P7EJHG( GM:!(+T[[85:=YNI>-^5R05QJD54[EQ-U$%0T# ;862
M3VZ<ZCJH()6DEKF%+GU=>?\HNKP<:J6D[T\W*N,\]'M%U6X8TY*23U=:7JN5
M*Q_V[D+Q36CR8F'N6EI_J6*5<-,"^[(Y*<LQMX+9,,-::@3,*U#SVT9IO]2;
MRY_,N\BX#-.Y%[>?WGSD%@,IY\#6Y8XJ7J2%/%5.N9[%TO;?BWER@\G;MY^D
M.P56)KE+W%A#C#_#*IW&(K;/A]^]F8L($186'MPM\'&PN-T@S^<PQ\W_.6DJ
M[>56-D?M?N*J,.R$W-,7P^AUG:V1>G3A]Q;VZN)L.X/A68;?224]O9QW2H![
M"W1:;)"-;[[#*I2G)E(P"&N3*=&SZ?/AA I^[:=+WNF\D0BY[:+P732;@^:[
MQ'3)_/H\OIZ-\=-X%I^/ST]NU\!-H"KIU1)[]]1D>A%?@-TZ 9 NKL;1]20>
MSRY/[FS#AB3?-SKUVF^<7\17F"R >2?3:'X5 P_B^$;IPALV@87G%[-H,IG'
M,Q@_F<[BR_'ER2=D=C"8+ZZNP+"[G$_ ZAB?3TX^DYO2[6P/_CX =DV;NAI/
MXLD5AK$O+L?Q#%85[,W<>Z:HF5,?-_8VH7O;I3WV=[GZ]I,NZSU0_OLB=<T>
MW \V:$TBZ09$11YA]1B'<+S"A(\@#8KR(8G^7%)]4'3SDYW._!9.]BEM2BI'
M,YU,@0:8&/Z9/=V5^7ZC-M']Z,;M1[X,UZ>8*9LJDV KL'-$0'1?LCBNHP\?
M;NU<\FL0S?]9[1H \#,5]7P$5JJV;O&?/W\,%W:QL M>/3*=I;HF%-A!/81L
M>_1V#!TW*+HSU3E?^38$ZQY?2RL%@H_#%;S1Z^@AH2CX#WQ/=73S^1V88)/+
M^0^VR,?>QI!7FWG'@,_]>U76[_+2/(6C[]]_N3=_#ZS;@2P]P/P!=)_NW)2]
M!]09V")?%8*9MQMZX6HX! 2CEHS@VP_O[V^H85#T5?=@V1Z6+ $X0'?EKW=O
M#40Q\&FY\[[XY>ZCCQ#^]3_,5_(*N/[:2#4'5A09%MW@ZW*Q>S=VXU^A^.4#
MPA,!RXZ\Z555[O#=?5QW#-JWX6LKO!@(B V_'$'J0/R7_?9?AN?U^BD92H:.
MFA/75'<5T,2RXBH^V]_I$64U9 MR5,B M.!&V&2:\<NB,[P;J6$>"I8$KV=^
M[MWTX2>TO9J+LW"CCN!UAE0!(#-F'9_4[V+TK-, +XR8F;9LS_^1,@5???[B
MMFW[Q'T?K103,[81,6\>?GGR,]@FZ^@&AH!S'LWGT1^B^0S_F41_.'G;8D%C
M-+N +V:7^.T8OKVYN[E]P10QQ=PF_0.&ZA]$R1FL3RCSZ?_[#Q^DE"'^'SG'
MER?#9_$DXT8J0ZC%U'/!F-O>4P[I.]"FL\O+^.KBBCY/0<5,KB[,:<W!Y)G,
MKS =&)_/9W1<T?0RGEQ<X_^N+B=/695FOIJA24+Y]O@<+2@XQ7_@#.D2?:X?
M7#WI_].#_#"TD2<>V258DK,9?3J/)V 1FN.:Q5,P3&=7<%@3.:SX&M@)T \V
M(!_5( :'3VTVG<?3V10_ 5V<3R:88\"+O>9^/B#[EEM>XHN$6-UZ?=SLFSJE
M!P1[%.X=%GQ!Q]Q:\)PMC*=Z\Z2]5:71)K[@IJ]"@C!J]WTD\:%.X^[.)I7?
M*_W W:3OU/"%W5Z_]@/O/CFP7&7:]7,X9#F(((K*XD4[NV%2?K )U^%=?NDV
M>D=WD1*25?3,-D7A6C/1$^&[$;PF#5),N=]*NSH##]6!\!TA<#W[+V.8]3,8
M11F%+R4(B\W,C0[[SE+[.KO8EDFZ-]S9GA'FL36_JZ1SJS2@T2ZQ2$]_*MZ(
MFG+HR+UMAN_%Q7?MK,4@\6X1OGK1O'[U0M?P3PK_@;D#_]+%XS=)D[Q^!<^N
M%-JS-8N<'T\GI]ZWF"W[\?1F\O)F>OH"GG3#7[_:)BOU,:E6:"_F:@F/CD>7
MYZ?<J\#\T91;G#):E T 2A^QGY^J< #\OBS!6),_< %L\4G@O?X?4$L#!!0
M   ( +Q@<ED-HU=L0 L  . A   9    >&PO=V]R:W-H965T<R]S:&5E=#$R
M+GAM;+5:;7/;-A+^KE^!47,]9T:6)>K%EI-X1G:2:SMUF[&3]L/-?8 H2.*5
M)!0 M*+^^GMV05*D0RI.>IWQ4!0)[/L^NPOYY4Z;/^Q&*2<^)7%J7W4WSFTO
MS\YLN%&)M'V]52G>K+1)I,-7LSZS6Z/DDC<E\5DP&$S/$AFEW:N7_.R=N7JI
M,Q='J7IGA,V21)K]M8KU[E5WV"T>W$7KC:,'9U<OMW*M[I7[L'UG\.VLI+*,
M$I7:2*?"J-6K[GQX>3VF];S@MTCM;.5>D"8+K?^@+S\N7W4'))"*5>B(@L3'
M@[I1<4R$(,;'G&:W9$D;J_<%];>L.W192*MN=/Q[M'2;5]V+KEBJE<QB=Z=W
M/ZA<GPG1"W5L^2IV?NUHW!5A9IU.\LV0((E2_RD_Y7:H;+@8M&P(\@T!R^T9
ML92OI9-7+XW>"4.K08UN6%7>#>&BE)QR[PS>1MCGKM[*R(C?9)PI<:NDS8R"
MQ9U]>>9 G):<A3FA:T\H:"$T#,2M3MW&BC?I4BWK!,X@52E:4(AV'1RE^%J%
M?3$:]D0P"$9'Z(U*54=,;_1E55]'-HPU:6O%O^<+ZPRBXS]-2GN2XV:2E#&7
M=BM#]:J+E+#*/*CNU???#:>#%T<$'I<"CX]1_QK?'"74+.:X+UH8B!MI-SV^
MBC<?L^A!QOQ8IDMQ*\T?RLE%K,2]"C,3N0@V_$'%2^$TWCIZM!?O-TJL=(R4
MC]*U\.M]WD=_8KW#ZQN=;&6Z_Z<5(;.CJU"/V"4'=O; ;I.S2PIVT@J]$@@8
ME2R4*8/FLC-O?M&9)]HXB+(4_S+:VOSZQKH(--6RP[J3 (^ENCR\2G2J]KF$
M8I6E2RN>B?/)L#<*1KC[_KN+8!B\J-WE;SOOM9.QI]W$Y,ETFM4+_C[U)L&H
M-YY<M(B5O_VB>@658F?Q6>R_?9+7+SL?^O=]X0R'[EXLHCBVXE38#90_=<HD
M8C@8](+93 3CD@<]JKO@JT+OF9A"R//).>Y M:H]O[@8=EYC+04]IT!FW$9\
MS*2!/.0K<D^O&O]BFYEP@[JR! D(UQ\ YN.8*A:63T\3 E71I.DNP@NBM-4V
MHMHFHM1!?)9>8@UE!NRUT60W%'.1I2Z*2_OU*4M1 [51=8G"6%H;K2)%VR(+
ML@_*NH1)-R4?V%E'<24BK,!?&7VAMDY $Z(>ZM3J.%KRPH6,91K"LE2X;"Z)
M *]48R'$,&SX.N>F3.:MCSF21"O"M@?&-NRK \YG*E0<O-B3I%P0,AE7M'2?
MYYF0I@)KT(IZG$*9'5W:U+'MD'4LFP\97"(MB"!1Q5Y)Q)<1L;+6!Q('_K-'
M\=[PIJ$*+,EG4MR153B6KZ6%;]Y&*9P6@0SB0^5ILBH?QI$/.K)B4A""V:J>
M(+*F)+M@LA08$<7)*L^9HFRTF(C9DF':X?UG]:!B,13^,\@_1X*-@%TD_67G
MMHIP,@QUYK%W.KGH3<['+2"7O^W\?%#WLG-_P!R*'DA/,<N:+961W( VDQL&
MO=G%J+SI_*S3];<1&O<&YX/RIK4V_#7;C,:CWBR8M<B0O_V_V0;4)H/RYMMM
M@W(YF<P.-S>'[3>U[;QE^$*\D2;%""-: LSC)=KP*,D20A]8AQ:N,F2E:I?N
M!&44K2<M5\OG((+TJ"&OSF*"$>0(JA'E#U!J*_= #J*4YJ,,([^2X:;(&<*8
M6!&PRA ;J1R +_#41]BD6E0>H(?$+J/4*:.&RG7=*A-I)#109/X "DN4A=TF
M I<=,I$)DT00Y5YMG3<(C#'T,(!=?C')4R=IA<E2L3(Z$3_)%+5P+PH A1@Z
M6V\^L_"8!!\'#7+O=*O4;V/UZ3K2=F_;!)]O#0I@"2+?)/3HF-!<>K=;HS\Q
M3L=[QMG'2B"W6I6XA1M3_2#;5/@U=#JW_)>5(!ULDQ+C=B7Z<*\2OVBGQ*3'
M"1$,7HAY):[X&9($L<G]@5%;9#@+@DI%9<X?%K#&9?%OSHA<7K0 >=ODTTM]
MVB+6H3'&%<S7OM2@30(),D*.2U&ZQ5:169\HH8S#+(;9F661: *<$,F>D+>A
MQ-P>4C/%Q'SZ%FI0#K74G;Z84_'2*'>H=2YOT5B]4K)ZV]&J=H$SA;NXRPKC
M;.D%= WCTTDA)[_7F85)[//+SG7>2C4V*%2N>I/!K%/QGZ 6[*F"%OX1T]YT
M/.B\DWONQIZTY81*T20X%\^IJ2GM_;6<3\1HT)M,9R!S1%<JH<%Y;S 9<4=X
M:#**^E9AFQR&7>Z?,O-T3S%F[U0>H11VC^ :]=/!7434QS*G6]ZS3-H9Z44<
MK?UM#8(/J.8'\!P?BGAY%"LV6J=HW4,)^EFJ%S3LY[TGYTIC%%&^A<!T0HV0
M)$.$2(16:YDLRF.E=?1)0_=^R7L5;M+H(]Y\J(KQ(XDA[CA=?N<C,UAM#EB4
M>' R?-YY9_2B&%[TJG.?A2&UM&A6Q3_\%6(E"01%SQG]R<Q.%SP_;7UP4IL2
M#'J#V9A/I%!=I8EU*?/K A?N* TF_0OQCU-\S$">KYW?-##$"S ,^A-Z#52<
MXGTPY 5WB*B45(8[L#A+U"G!/$;7.L=BW?<RV;[(5XJ<XJP_ L$+NG:.2G;>
M#[!PVA]B8=TV-9O< MY7-+-PS-,!$$6HY,-3'MR! A-1(7"Z*ZS/1T+@ZG.C
M61CF?XJ/,0M#LL-9==?F$;;SPT].'..4XW0DFSX\AIVCI:&8)_R@6O9(*I^!
M_"G25] K 26S/%W4?&71R<6\KB]N&,UM <2HYO_UQ0CIP96-("CG5I;F!5&E
M2/4]G"\WOMAL8 OEIS,-ZSP) HHBP UETTE=/J/]HE/S:$RK%5)7FT6-.DVJ
M!WV J[H!5TTC7G6P8_BCL??8A)=6A>(AKT\ @BQWD3\Y3"-8@WH,"T00/V5H
ME(+!<%8_AXBLS?A8)+@X1]84391<KXU:4U2BFX.P6Y*V;,&) )'RU/L@CX$!
M,4,E%@"1G^<DT:E,T1#%,??6TJ Z&4O2EWW2A'5GT7 /RMQP4]OFX_' !/UX
MG)\4L 'R/1[Y>X!A'LJQ,8Z\]\D0Y$!#/4=Y_$-R8- R2XZOXG0'EJ6)!YK,
MFXI>,0OWA,V0BL#;U/G&#+&YU-NB2YG??Z!U@]/!U!LYA,Y[\D\M>:I*29Z%
M9U7+I]X;A(;Y,VZLJ!(BN>-]3Z2*O9"EAR.9I5HX]B7K10<T/JR:T_<S"8:#
M&9"P+L)X4AD-ZB)XYQREBTB0HAB#'\J*1:2)Y5*1P9',2^'K2M[#)G2TA+AF
M"QNY5/XGI1R,'_'XTMG%9S%$.44M:V;S6.!6&K)(3"SXR@WY\-"1M^53K]:=
M ]GK!V^'!.<C.X:!OO@U/8B*GJTRXWZ6B]/:$>7Q7(S@:=8ZMSMA ]8]\/I8
MAKX#0P90;#C?/-%9&?7K^3ID4JK6VD4L/=H4WVGSF2,"/C21#W$).7)0.R&Y
M<RN]J6ZXKVZ8EQMR@SWW*2<!=TE$S-*,[0$]Z 15&5NH1$7$@:!'V8,':42!
M2R3TU(2[=.X;^W/4*$75<AEQAH46V9[(516_R^#'X7@\1^J %]N^\@/+/&2#
M#F<C^(4F0DA.L\))KF=]::%17[RKL""23[%'W?&%R3GSA^?]\^KQM'=P:0'J
M6Y^A6Y^A3?H:M"XCI-%U[PW:&,DG'Z6K2/Q#>9@-T)[\988U<U28'@+$ZU=G
M1R<STFZ:X?DXU)92>*";#"MTGXJDO:-0^IC#;'K(W7:@/"3LWP>4)8^CY_K5
M=5^)CZT-QS<!9-.ON6>57]TQCZSY?PNX_TN=_P&^?%K^^\+<_VI_6.[_]^%6
MFC4@0L1JA:V#_OFD*XS_?P+_Q>DM_X:_T,[IA&\W"I8UM #O5QJJY5^(0?E/
M'5?_ U!+ P04    " "\8')93.JKA8T6  !,8P  &0   'AL+W=O<FMS:&5E
M=',O<VAE970Q,RYX;6SM75USV\:2?=>OF-+-WG6J((KXX(<2VU6R$\=)Q8XK
M<K(/6_LP!(8D$A!@,(!DWE^_I^<#&% @1-FQK:3R8DO$8*:GI_MT]T&#>GQ3
ME+_+M1 5>[?)<OGD=%U5VZ_.SV6\%ALN1\56Y+BR+,H-K_!KN3J7VU+P1-VT
MR<Z#\7AZON%I?OKTL?KL3?GT<5%769J+-R63]6;#R]TSD14W3T[]4_O!S^EJ
M7=$'YT\?;_E*7(GJE^V;$K^=-[,DZ4;D,BUR5HKED]-+_ZMG$8U7 WY-Q8UT
M?F:TDT51_$Z_?)\\.1V30"(3<44S</QW+9Z++*.)(,8?9L[39DFZT?W9SOY"
M[1U[67 IGA?9_Z1)M7YR.C]EB5CR.JM^+FY>"K.?"<T7%YE4_[(;,W9\RN):
M5L7&W P)-FFN_^?OC!Z.N2$P-P1*;KV0DO(;7O&GC\OBAI4T&K/1#VJKZFX(
ME^9T*%=5B:LI[JN>7L9_U*E,24/R\7F%&>GS\]C<_4S?'1RXVP_8JR*OUI)]
MFR<BZ4YP#E$:>0(KS[-@<,9O1#QBH>^Q8!R$ _.%S?Y"-5]X8+YGM<0G4K+G
MQ6:1YIPVZK%+*6'OSMX]QO.$_5"D><5^%7E5EX+I4R?3^=_+A:Q*&-#_]:E(
M"Q#U"T!.]97<\E@\.8772%%>B].G__Z7/QU_/;"]J-E>-#3[G<<W>'>_;).1
MJQBI#J+[R2M1B;RXYNQED25IOF*7S]A/.?LIKHJ%*%F@#\]CU5J0VK<\W_VW
MA-LO9)JD\'R/_2RV6;H2.;NZ$0G^PP2<5BA%TLZ^+(N-FH.@!_/*-2_%&DN*
M4K)BV0Y\1(/^_:]Y$(R_;CZ\@J.+4GWJ?_TEV]:EK#E.MRH8+M)4[(IG0IW[
MF[J,UW!M=KDJA0#D5)TY]>C;@^SD'DMX!<FY$NM*;"NQ48H(M2;8(UG':[U#
M:VY](CM*;J=>[)2(?%- T;?UIF?:V[6V9D?]'DMSEE:2Q1S'G58[DG55\Q(:
M*4J2F@87"TS.]1GCHYY#JN'EI1I[2">C1A:/W:Q3;#N5;(UH\0=6JP0=,$1Y
M561YPC//3.UAN26=ZH:O<E&E,9#N'1D6;2,I =L,[H?[*A&O\R(K5JF0$(-7
MC*0 8HILQVJ)R:&N558L>,86:;&%D!N8=XTI\4FLE$&WTKPQ@(M\&AA^C=BT
M5<=.%S8\KY>X4)<D N(=[OF/5LN(O76U[1P86]8E] (KK4J1K_ C*;$NV3*K
M4S4G0IQ:8EN4U;+(T@)R5VM2)O2W+8NDCA%><6((>-"R1IZW."$)U9#>WK;G
M"5N*BSHGHX-S=$W %0JGS,GT]2'A3!<6#O5)7EX]9_/QQ+.FR/K@4GK&&O>M
MBF&CV!6,$Y^F97*VQ1'OV#7/:BW],BTWRN&D3&75[-<9X;CQB/URIW7!L+,,
M:JUD!5GH> 0VBS6!V[ M676!X0:?M<!"FHH[VE4"<24.+*RH>$93?L'\63":
MP@8SG%(^<.8WT.^2-$EJ*8MZM69;OE.G##$PSS0:3>P\9/<QEVOML:DD.(K5
MH4P"+[BXP)&48@4]*2=18">M9[8H"AL&$L#*BOAW5^3YR&\6LM:-*R1*WYXA
M#9(P+)7"+Y8\+;42W#-PX(IM1+4N$I+&&!ZFUOO@%$EEJV1:.TOY(LUP)WD:
M]KD1R>UC*45<E$F#FOLK$J+BM"NZ .F@BZU0"9PCK?3L5B7\26.PL;%"F[NC
M.WV,[<WV,O"F*[#="7 +!I5NU+0PXH6 FH/1V*I9[__VA#!%GJ_2179;.;U3
M3N:C>>?H:!+L-TUJG,VJ*)(;7.R_U_<G[<UZA^V@[KG3S CR68HD$C&X185M
MF<8D];))=_ QI@?B8SQ<&E,1*JP(2IP)&B?NY MG&&%6)V\D-\Z+"M/'66U.
MFRL@+G+C)ETQ*P?P%K7&=_$.)8C4D8.4LX79%HFD7W6(:=?".C7=.^J@)6W(
M7H'60L<IZ=!H21XW6B(L61EQS,Q2%G'JVM>A(&!3%C)&[2[M11P:LEN=&M@,
M5\OI2M#9B]89]HDBC"0BP-/*D%89'>L'+%8***76[ 8'1I&(_ ;3%1OZSRS\
M@BSW5VNYKRD?UN9Z:<V51'-/'-A;Q UN[QN05-41/#WO<8QC8>(P&,#*U+5;
M*M1^V$C3 I0)C:GLS+7FB;)(9>!+;"Q+_T/V@MEYDJ@Q<#O7'1:"%(?+USS-
M./RZD]DBM.^:X%^*ZQ0R4*8UX&N.'A.=9&B7IQJ:T-=H8".X1!VBDP9E\B/V
MC'"!<A_^#@B._"QN\[6.&O97,FA%^W77)^&!-2AA57A: [EH]H(5:C_VV+JG
MI8VV<6)]O<6=KIGT2*4\7E;V*I*AK+@A-3Q"EEO3A,JVBUIB8OGE5R?/$38U
MU-,/%/)A6&IEP*<WF\Y/+O6I2PHK E<)?4-O%HY/OL^O!26Y.Q9Y4>"?O"%,
M0T;6^!'-JW>K (*20+WK:#;&:/*\2N?@M+!.$Z,P//FI<<E,T-Y*JO]I3[4T
MR,^F_N3DN:KAE6UD^JS6Z58R/_"FDXN3;W3N29!N4UL(&GGA;':"W"^!392_
MZZA O^4<'GP17IR\!M+2 2!9UKAE,R3)9O/9R7<V:B! >+.9HQ_D)THYCYCO
M16' OJ1+92VZ[O@(1=Q%&.'J_B[MJ!V-F4TPXAMAX)ILLKGLL0P%RQDRC VM
M%7C1W!^:KCL^F-#,+SH00H%Z'T94JN9-Q^.3!K2:K9.--M%3IV-NM,1YJ)J7
ME+*L5<$//\^+#:J/A<C%DIR8C"0V 9>7Y-H*X5$UI7&ZU9"[RT6IZI$&_-T
MXN8]^+RXE9)@SG8* _DNW"^76$KDL2U;B(C ]*Z4*!Y^:\1<$ 2N4]B5";;&
MO8VS]86M$;M";5[1KN"[.YUCZ^&- IMT+>UJ94'QG3)@5"\JYR'0-:&&# *N
MOT4R!LSXOLV+3*!YVW'^2MFENH Y3)1U0,:F5_""*EVF*B[>RK2.#=0FSX)]
MM;@%OUW6&4SR6LBO3GZQORV%$RI/'EWV0=1!+Y^PG> EX=20PS?#[O#\9MP=
M$!"8800%E& "(@/V(A/OGJ6%W"%M_CZ/1T397 *0 1(SPU-T QM-G@G23%IU
M8R@%]-9&!LLQJ,E=N$/#Y.Q;/;R'?U''Y][Y]NKRC26<I-[ (U.UOOYAC^WQ
MV'=\!ZMXR\M20_<5!,S$3G_B,94/)NFURK$!=S&L4)<7,'^U=#-GAZII!3)7
M9;MDSS+8/*4?+NFB([U!'JX*&J/&VW-W2"CG<@]/-.KHZC#Q\@R99KQ>U"7*
MM]?BAOV 9<2NX5_(LTMB1&2Z,G6D,NQ]3F3)J"#(Q!G%.B):RB(64A4)ELG0
MK-5>#EI2?J&21SM*D3@6]KHS+?@*>UD459794J^J%ZH0@;=O%IE-11S^A"FP
MTI;;$#K8E0KRPVP,I%):(/O:IV&J/1JF_S 4']!E9FX1,/PA4C#M=EP"@&)Q
M [O?OKD\CGQQ5/.^]$ODMU7VZ"Y]#_$OP44[44N_&._0-D?0/!V%S:A$(%RE
ME?86(6/BXTERDR*8Z>5M$@?E2 1\_B 29S**[D'B[%586_C .Q7*@&&T*8?!
M^HBLSOYY/R1>YRC^Q8]:ZNS/XG1\AS^\-Z<3M>;X#Z5S)*7C._3G>U,Z!U#F
MWJ2.GO$+-AX%':'VF)Y^P9I-.=0 P$T(MM%/6H7"NW^8I'^8I ]@DFP4A#%)
MTG.G$(@,IO[]R"+?&U^,>\FBZ3QTJ*+I='8/HBB<'.*)4/2-P^@8JBCT)N'L
M4!D9X.*XOW2\\.;3\<&"$7<-E8G!V&&*4'H&_LE/:H,M%V.VZ(][*:1P>I!
M"OV[Z*/PXGA"*/2BB_F1E%"$4R9U:8>XU8K@9"B=IV T&740T4VHV-**C#_Y
M#2>BCM(&04/A],<*I_1R,;<-^!K1--7!%\6U&+&CF"LG)_ATQ)6SQX= 7?6K
M_ /)JX?,7!W(1SX5=Q4TW-4 _OA32TD- E%D1@T#DJ6W")@T8Q:-R8'];O\1
M=$*J85=%5NM/?OSQN5KPM;BIJ&OBWWRS_?H5C+7<*I[K-3Q-M^1<J CG=Q%!
MY)8@.8J6LNM;_LG^CAJYI8->OWVE@P%,6G73\&R[9J]$D7'=:\8E)'V=2LTQ
M%1;! +5C]E]]W)H4B#L:7G'5+JJVC;4Z'%:'M**KO931K80Q*TS:U:1&_E3K
M:T1K#!%+6O-=4BG5=!?5&ZJ"U<K>DWU9Q#5%5Y5?[)%,EM51"\-7S'U$1,CB
M.!FHU!8E/(N2,R26V"X!0<L_%<0ZD4$;J@OW:<WLJ<TAE:3#*IDFGS2K&MS4
M'!*V3=FZH?R0CF%V9!:;E !6ITT.A[8$E)@[9&/5!$A(^@N<B\K$@!Z+(MDU
M=K>Y7+3V=HUT-<UU/ULLLDS]L +.TOHEW[:W/5?>\=W;IC>.;]L'B9YE9=2Y
MT*ETI-QCSUJ0\TP 4(;:WA%G6(OJ^81O<4[X2:C,;*MUJ.KY/3;OEN*IHXIO
MJ'=1FIHI+BE7D+J%JP#>7\-4-Y:S-JA+M0Z.QA%&UMCHCA+7ILQ$>+&4B00B
M9K;=K*2P0#D-;.P,0X0^C:8EKK&5MGC:T-85?MW5Q+6_P2-H0TL:BD.T82]K
M^%%)0_J@X3)M^G60/W0P\C:/V/)D-O'2U)@#%>_+)89^R\3T4'^A0Q"ZU)^.
M X;_XRL8#.E!W;U?L6WX[\K.TXTT*00B8(XX'QLJY2.2;QWM/'#F#8FY>Q3O
M0[31X]Z64_&&F;4OV(7;&_70":U.?]+XP\FL?9"Y+XL5>);&"D:S^XG3;$4S
M1($:1G18Z)#QG2'^[63DP$X_&IME^VCMP?73;'HO6N+C:*_/2G5Y>],K1L=A
M>?<9U0WR=?TD ?*1G;0%L+25[U$4U"#CY.K5))C!@Z*) F\^ZZ>)?"\:SQVB
M:!;=IZ/(#Z:'F*+C6")?T4F'"K;0"Z(#95KH3:(!FL@?+,NF#DV$,@\2_$@O
M(RAJ)G&[?[20<[^/*PJ"Z"!7%$W&=W!%BM*Y!UUT)%4$KY[,?-921<$!JFB8
M'))]#^#&'<JF(8^ /&>NFSJ:L"ZR#W)-5%./U'LT^+ZTTL7G:(?:+UR/IY9B
M^ WO@OZ?3#'M!<V_,;>TGQY\*E)IW#9$#<"5[UN^:!"WFGZH.P L-,.FBE::
M>3[PYO(:PQ+1]D*U[VU9TF.8)&I)(?4*6<9-LU^YHF<A^.AGX;X[U)3?9F$[
M\M;;9/J,+H%<N,D,@AEJ09'S(G9F_(8P H:W+9QGP1SX49"=%C<Y/4"$^\>5
M\][=7O[NW5Z$B+3.$O3@J7+09M?0..^YH%%Z_RY,$U7[GA\5W&ZKU)4HKQ'M
MI97S.<P%UE <EM,C/H4 N><%N-N]6)AS94^45XCPN=B=I?D9L5*T&2,_O<VH
MR;B=?1^1D+VA"_6H(8+->4EP;(U-I0VY4SI3,-5.;P#^D.F,6L4>9NA^% N>
M6WKL)=$RJ/U%T_J58/NEBJB+$MAN\)3X#P5#K6]B*@[8S4F)]+X@O:*7RI@X
M&&T5[OMT&EYIAI0>?\J*M(EB6<J[[VVY%ZU)-VJN"),Z[LD1HV_8%F!#SULU
MBV+%I/HP=^=VV2I+A^D#X,DU=?1T*3YG'?)2?_:U"BN52'/S+N$:P8Y7!<+<
M=KU#Z*,NNU1JFH\G24D<"<U2Y^D?M4I>&X( <HM$ ;G#UJ6=-!*'C$@(63=%
MPNUCU6&.R9K*G]V>]M!YID,N<B_2R4ZB:)68["'+3/V%G C&VI!$"D)4GHY?
M=)U Q8]:^QB"JM[2C5]0*[W[9IFE#%1-HZF>>HN$BJHITX&F_'"%[:U,/8_(
M-AD[S,$C>FQXT7:4>2J)5=N5ZT:17ZI=:3$0P9S&!7H ,W'G@T&0KRKK^5)U
M !QJ3T.PS:%J1]9ED[PA=U,-$=0V5W$HRE3U-BV#KY-R]F94!99B_9O$F#+L
M^1'DG3;X#R7QAGQJJ 71/=?#;X &,^I,F![1/=C@S\$705WVZ$.;".?SUGX^
M*I'9\;@'3V0&;L?@_4G,:-HR:G>2F/[%K'U=<; ';N+T'+XW;=AGX^]/'=Z;
MR3Q ';KME <9PX?'$)JV-X2]3C1KPULIC%VHW$ ;)K7>*^#1O%&]V>JG@2XA
M1N&?'@73MQHTGS7;]A0KK5R)>&V;&U>%UY3VME!5L8 >/G8>X+4E<PE(SNLV
M'5(*;&W6/#DD2[>Q@95:/EW$M\(I<1HVTMV8>@7 !>2%R"@42%-&T\,^1"0L
M,F(OBQM<H2^XB"OR%9U?2H7A24J9;&.M[NK]0<7E\5/UJ%;7W7*8-.Q. HB/
MO(MI<&*:!KI7YP&NS4^>'\+@LR96SN=>. N/8JV":.J%8S/VKTQ .\C_&;GH
MOG+L8?'1DUG0RT8'@<M%AV%P'R[:CPYV+7ISV/-138O3:'ZP:3'R)O,#_ ZT
M/)T,\#I>,$SHT.6V<_%BYD6SZ3 I[7N38-++2_N3@9=@_7EX!S,]57V)Q[[7
MZEUHJEN=2'>QR;']C<;]CVL<=+.'3\?QNDX]2.52S&:27]-+5]X0L:MM^ /I
MW9[DYM.\^WKW X8]<-L[Q0Y/WSQ*X*8'6[^JU+Q'@I4;[?2E>*H,;.VUD,2*
ME>4.TM_P,J%FIA:QK<KV'UO0*J6 #9F<M%@NI;"*EEVPWNN&S8;\M.]1QN?B
MR/MRX4_%DX=M\^4 CC8$^%V .C?C[D16NRX-HTJ%IF5OB@PE[89=C2X55?Y#
MG5/PN9LE9U>J/#W42&GF]4R[A>H.U)0Y:;6I-C-^HU\M)%I-F*_J$SP_>X4@
M+C+V+0K G.NS46/8%:_?J1Q1F4>Q$@H]?J.O]\MTM).41FJ/[R."&Z.1YE5<
M]\5EG3PTO6!M>M3_3G2G4L=UJTU""ZAX=IL@&&*.?Z@ALRXU_,X+PG9:%]S:
M7L]&U0<)8@\Y<IW!,*%AJVG*BIVV3/U&R5HY'F""\B7[5./EB^;Y!9:A-DNJ
M$^R/1%S6F7U&MY-(MAJ>A?HB4ZX?;G9? ';[$IL='/6J;R]AZ[[I^_)%(X;E
M">H-P4@/URP[ :+M/K0&T*S0[):FU#O>ZVEMGS[H;!(KIG)->J&GRUEBJ/%8
M>1')*=XI[C%7K_.Q;VM*V/8Y91YCC(5S\^5WA )Y\^5P]")13M^!H%B2#_^N
MN1Y3.YY*_J0L\1O#Q5G)79\BZ@[X2(V;W+SP2PJ6JGI.*=%>9CK6KX4B%=@O
MHZL12V#^A) T90L9Q%&:<.]4N3D=H([1I>%.QJ-Y%,Y,R>0ZLW>(8AE@1&D+
M70C9ZW%4[\,<>+WY8]"D'Y$BM$;W5Z$(@P_M=;QP6<8[6,)PTE**?ZE>Q_G>
M.[+O15KVX='[DY83YUWB WQDV#?DOBO^)2C,OP7'9.SC\W),#M;WLTNWWK?]
M!,Q2. E/7O?TMCU"W#)D<&QO3]MO4O,CAW="&K4]J[=L$AWSI6A4@T3!0>XI
M]/QH8O@1^SUL?G_Q,_>"672HY)%LTBET1*?(\8.6/@HGWA3UU7#W83 A'N@
MP]3Y3C0O#&8MP]-P/UVNQX^.[5!$!78Q.X[K<6/ IZ-Z7-_Z3%U[?97/W_HK
MS7KS[S^9F.CG&UI:8M#[8.!FX&28;F@;^((39#SJ(7C?U^*?.W_A0+57T-]Q
MH(?@D%S_L8/FT^9/15SJOY#0#M=_9^(5IUX:"3=?XM;Q:#8YU3!E?ZF*K?I[
M"?3-4\5&_4BULBAI *XOBZ*RO] "S1_0>/K_4$L#!!0    ( +Q@<EFC5(.2
M'@@  $44   9    >&PO=V]R:W-H965T<R]S:&5E=#$T+GAM;*U8:V_;.!;]
M[E]!> ;=%'#\D!W'S0M(T@XVNSO;H)G.8+'8#[1$6YQ*I$I2<3R_?L\E15EN
MXJ"#7:"-*?+>R_LX]R%=;+3Y8G,A''LJ"V4O^[ESU=EH9--<E-P.=2443E;:
ME-SAT:Q'MC*"9YZI+$;)>#P?E5RJ_M6%W[LW5Q>Z=H54XMXP6Y<E-]L;4>C-
M97_2CQN?Y#IWM#&ZNJCX6CP(][FZ-W@:M5(R60IEI5;,B-5E_WIR=C,C>D_P
MJQ0;VUDSLF2I]1=ZN,LN^V-22!0B=22!X^=1W(JB($%0XVLCL]]>28S==93^
MD[<=MBRY%;>Z^$UF+K_L+_HL$RM>%^Z3WOQ5-/:<D+Q4%];_99M .P-Q6ENG
MRX89&I12A5_^U/BAP[ 8'V!(&H;$ZQTN\EJ^YXY?71B]88:H(8T6WE3/#>6D
MHJ \.(-3"3YW]4E89^K4U4:J-;LON+H8.<BETU':R+@),I(#,B8)^UDKEUOV
M064BVQ<P@D*M5DG4ZB9Y5>)[D0[9=#)@R3B9OB)OVEHY]?*FWV4E5QG[) KN
M1,:N"17226'9OZ^7H ),_O.2"\(%LY<OH-0YLQ5/Q64?N6&%>13]JS<_3.;C
M\U?4G[7JSUZ3_IU!>EW&?,B>BV%WBOVM+K;>SP/F<L%N-#<9X[7+M9%_P$.T
M>:O+BJOM7RR@IY"KR$K'G. E<YK5"+IQ_(M DNZY>>=:4%E95H5<;;WW009F
M4I'IVC#4%*[D'SSD:7.NUKA9^>OUHS"\*)A8K83/8B6L97H5F"L<$J<=DCD\
MRZ27@SN)5RH\\F)W942 $<=+#A^DM ')VCC+4N!80%&/#1F<,^BZ@$G;&DR,
MJ]K@U!PV_0@96@2MHZ@W/RR29'S^/!S^8'+^EFURF>:X/RWJ3)!25A<R@Y4D
MFU50E2QL'("0U"L>Y>S<P9;";01<F)*V,.;S\&'("IV&XP'+I"5[I:J)D32S
MO! D-G)41F?0D#W\_3/HR6OBD1=U4(085EP:1EN>;07OHA1E;*UU9H.7^08*
M.F$0 X@HM76 FQ5I;4"7!9U)$A X/L:?A-U^_/7N_?'D'8._,U'*E,$DJ3-V
MU'%>2W3OSUK/(>HE]3+X#O&V)!TR2)/F+L[2'%@"O.C)UE4%?; %:X5ZE$8K
M#VZI&O1DJ,%F.V2_=#!@1*H-*AW\(XX=?T*$K/. _)%-DV&"0ET4%"%(H<P"
M0T!4@\D7$M'[]JD"4.PA$C O"0R IR!ARZVG%.#$S;1TN43N?JVY@<-I$Y?/
MANQC.'VNV[[ZC;(#$":GP_F.T#*EU7'*;3X(EI!*E9'HXA+.@UY2(2>=-LCN
M['<XC%SHLSYXJGONF$)X$)L"";\$W )ZR'Z>INC6QGLJ$U NE:$DX)_X6LO*
M1^8;7]J\=IG>^&S8SP2L9!&2D*0W6"9Y5'ALR$4C:'(A\N $;N!B6.J#H2R1
M[2SM7&T%U225!LVI9.BM$,>1P@L+H%DA__7&P]S;&\8?E-80:$#/K+'NR#Y8
M2RCBVRID*"XXZV$P\4+^);@)S9>A=8IRB?#']ME[:%5]P\OJG'V(RL8>>.LM
MOVMC=-V)X74G)N^[,?DI>#?4\X^^!GYXDJX1]HMVO.@=79>Z5@%:Z">U!:U]
MVR,2LB%6%P,%54T 30;CTU/ZG0Y.%@M"[.#4_[Z;3NEI/)@NYCWD!NQ%@?1I
M#>9"!VA,)G-?'R;)^;-?G,$30+1:#]@:'00=): N*ZEL.:J:CX)-!B?3I.5*
M%FPRQ?_!_-VBY]5)3O;U6^#.'T$P/IWX#!M@'.ZX_# Z0ALY6 ^ 0VZM)G>#
M8R-=3DBHH72.V3LEO\)Q#:(!M=LFAU%8C>]=3>\@+.^#-2;S;GO0D/O^X4.)
M^@&OA$@OX:R5)#COFW60$H4[_<()U&0%S<R93V%+"1 :1*3D!O+"/('Z:7QW
MHE[-7>VA:"CO37-.EVZ$KREKU<XFU,),XQHJCEH1%$)%M*+5'CT5K;#B6X^4
M#;<$OZ7/2)(+AQ:D%E4FJQ7VMZ2PI-Z5A41^N<A%1_MN@?:0QKO;;O'GVJS7
M9E]8SA]#Q=6\F2/:!MJVUFXK_:8WMCUQO[[^/YKB;T" B+)R;@,B13;XCE%@
MDVL;J[]X2H7(FH#"SM_1!T6V'_W0_FKKT8-IS8<JS1NC,8:@8LLP^C",2@#U
MAI3;&.D<(N][1.@9TCSK/R'"+^5A876,<5.P"^W'BC_?;_:FNFY3=#G:8D"@
MTBZ@L*I-!0<!>_^,^1I;!8P_W"N]T9T4H>NU6A\7 $Y&)47X"0,7>DJ:V]$[
M:P\T>F^1J8C^W9\NX#5%[\%%2Y8A<O][%P:H@F-@H]BW)2:@C58]2AM;Y(J&
M:G\W(!%3KC&/WA<:E2U>8Q!^<(%L51>X==5$^]LVFQHJ(=)V(Q2VL2PD7T8[
MM(J%)Z,1(>L,Z 1._U)!+A&D"_=SX;.NW*9Y)*?L60I?HF36</DPD=1A?$_=
M?L<H2?#P5U"1X[890/ FPE_JQF>]?1&AC\3&?4_*Q"F6@'A+0-SGN,,;D_UF
M[Q^-N[;/IH\#S7#76X^P&L]F[*U?)Y-3OYK-9[V[%PMPTXMCQSZ*&V_C5N_Z
M4*Z$[KWC#,\[QG;&$339['J>?PQZA\9_1+_S"5BQ&G<D^#FHG0N\1;/!9'P2
MK3L=S*>3:.!+7PI&G4\[I4#ZTP<L>D]%>,)7GG:W_49V'3X-[<C#![:?43TD
M7@L+L0+K>'AZTF<F?+0*#TY7_D/14CNG2[^D64,8(L#Y2FL7'^B"]LOAU7\!
M4$L#!!0    ( +Q@<EG?&>7"(0D  /H6   9    >&PO=V]R:W-H965T<R]S
M:&5E=#$U+GAM;*58;6_;.!+^[E]!>'N+!%#])K]FDP!I=XL]8(,KMKTM#H?[
M0$NTS:LDJB05Q_OK[YFA9,N)[2UP7VR)(H?/S#SS<*3;K;%?W48I+Y[SK'!W
MW8WWY4V_[Y*-RJ7KF5(5>+(R-I<>MW;==Z55,N5%>=8?#0;3?BYUT;V_Y;&/
M]O[65#[3A?IHA:OR7-K=.Y69[5UWV&T&?M?KC:>!_OUM*=?JD_+_+#]:W/7W
M5E*=J\)I4PBK5G?=A^'-NS'-YPE_:+5UK6M!GBR-^4HW?T_ON@,"I#*5>+(@
M\?>DWJLL(T. \:VVV=UO20O;UXWU#^P[?%E*I]Z;[(M._>:N.^^*5*UDE?G?
MS?975?LS(7N)R1S_BFV8.\3DI'+>Y/5B(,AU$?[E<QV'UH+YX,R"4;U@Q+C#
M1HSR9^GE_:TU6V%I-JS1!;O*JP%.%Y243][BJ<8Z?_^;@DONMN]ABT;Z2;WN
M75@W.K-N.!*/IO ;)WXI4I4>&^@#Q![)J$'R;G31XL\JZ8EX&(G18!1?L!?O
M/8O97GS1,_'OAZ7S%LG_SRDG@XGQ:1-4$#>NE(FZZX+Q3MDGU;W_\8?A=/#3
M!8#C/<#Q)>L70G]YW:PG:M\^;Y1X;_)2%CNAG9 B4\XI)2JDQ.*&)YD5^%)4
M*X2@LKI8"USI3'NM7(2'*YTHP4[B-I?)!KO9720293UJNIFAOE6Z1#%Z(8M4
M/*F-3K!93SQ@S7^-U7Y'&_D#H!]_F(^&LY]< T-:)2 E5GK"4 ]NM=^@M$D\
M]J/"*YL[L51^JQ3V+Y3(B6F\\3 6.R4M-OZ@"UD 6,N\AJY@L9:9\.8DEL04
MSF0ZQ;14K-@"S78> ^0<[+9CFBK"@H XH5?8'[M86:QYJOA6R4RO-.T=0D_8
M">-V([WPNU)11,*P]IP?_ )R27)TO!&+%" 19J3B*^20%I?$6YT H7HN5:H)
MH2@)DJ?9(<VT!@2'3++,K2NX1X&AV")_]+B . 8@\+1(I4TCH-0)8HK0KH7!
M)#*$'( $,H-2PSQ (XP(&3)6*;J626(JN(ZS (BT:Z>2I#%%MGC##9Z!%(0\
M[)MDTCE$*Y&OG9>9,\<1..4V0\F72$8KU(4IWM8;P!BH0C/I 6:KYR2K4B4L
MZ3)%LZ)%J(]Z2EB7:;FLJX'=:A,3"0<O/?,)02<;D+T\R![/=5AD3<ZHES+C
MN+,6]\0GDZNF)&K :ZL"R]K<%!A0%@0K@!GT8,S-,\-<8>>5YB2I9Z\ '@[T
M*0G29CL12 H*'S:+^#(QSK, U,FF&@D[(+O%R0IY4:)'\:F+BB& &T1S5\%N
M@Y+LHS%PII!+P#HH"(J9+*IG91,-FNP%K*Y_\!,QWILA_AV%B+/)?A^BR1E!
ME1%/L%DC%T/.[22H!-5*;382KDZ(]GM-VL@GB O.;UUFZBC8O%M/?-G 9*,"
MY +)P O 5-G?Y75TY!-)D4XI\TX](>8@.X9,KA,2:%0/*C$DBXPL*P^R>Z0#
MM4]E8H(UI]<%EQ4QKY&;C<F0W[RTYJGF&PQ5UA[J$X\0&K\C&5!U\=?%0>ZD
MFD0?<:%86%5F.!VB(#?9CN"0*%"15A2%9:;77-9TGJ#?*U5"D$2RD30'@@RA
M2!S6ZV]!1Y@ZI;2>-I&VR2B-;DT%\+G\RJ)Y(JX\JQW(L**)\A$C<3PQ_=%:
MJ'P)+YOV@DF"BU'TBO"GY&)+A2?>B.%PTIN(7.@LXXX21C XFO0&:,UX+ )D
M"@"UF@!-,RY5% RSW7C4&S4F&K/QO!>?-AOD4Z9I4'Q@_9"IYW?:N%V0MD<P
MMC!/DHH\N)M2R8_C:![':'PKJM05M?Q(AJGJ!*0-+?A,(Y%Q3'9'1& ED^'T
M#R)0RM"98X_/2(&I2'4^6&)BX.;!\=<QW:LEF&G#YF_$^!#'!GE$($C;I676
M<])ZXE<<4"B:1N5:A_JI]#5[I:K9*VUXB+.1>ON,#D(X_J=L(OKR>$M#[T28
M0OC1:F"(8W6F\;F4>'F.EY90XR0B#73B"K"J4,#8 B%&^-WU3><<K1]X>@?7
M8\03])[,)W0W$:-)-!WS]92NQX,I7<\$0KP8C^EZ+D;C*)Z/Z'K1Y!GQ6J&"
MQ6P1C>-)Y[/QB-6J@NN*WD9T7N6U=Z7<!:VY&EX#S#"*%[/.;W1"UBT0,E 0
M?S%#+*+9="*NP_/@XZ%9JBV1\%#377 (-9V2RGDLCN'6@E8'-)?"C#*:+*)!
M/&-4E+;+V)OSMZ5I[:Z %'@'\H*0F)^0GJXHSM/>?$]<FG[4;^^;;.X-D6#*
MHVIUX<PGIXX.I= #\QD2SK5):'\']<%&-PV*AIO$P96VCEM32UG#>J("-OC+
M2.W[ G.Z+S@JLJ-6QWTO:=MT[3!=J9@[_SB#:H?(@K3Q$/_3:#&9G9\9B0QM
M[%MN"8:C:329S:&?H.!\T7FL,_W2^7W.67ZCT6 11#>*Q],.MR?<?1:4*L/G
MXR%%?.(G!D?OGR%B4M [)DG/6WI;HV88<W#\VA<=2Q1:GB>)MY1EIEYB:5FM
M^S.@UH9*T;3GU9T<G^EX%0KX:FHH>A]_K0W\.VH./@QZYD33/3L^^$EIK7:!
MV,PGSBFB=M-I=OD7[_++JUWJH+TG4_OL\EZ=JX=3C'B53T:!<AI$BSEE?3CC
M\^H-Y&(>SSM_-$%[F4I>-XX&LPE.Z"@>SL0L&@[G-:#&ZB0:3*9TL8B&DP&9
M)U9-.Y_;;@)A^- 5OCG5 H0>K2K1(E+P$;-4NR0SCG2DIL9Q>1Q>)RF,B70;
ML>+*L"J3H7M[_2I\KFK^,NPO8GTFJ%<<S>E(7(>;.)I-9O7-' ]B7#_2U/8K
M"XX]PZ)'K22:56HJ,YW0VVPCQ]BK[A;XM$ \U%%WUGJ%IF$*':L]K3N\,^J@
MO;:)\-)8&_)!\\*!>_[Y/@MG/CU01]O 2 ^;MMXC6$ZIFHID1PD([TN'TCTJ
MO%RF-:0M?_.#-4D=_%J=_)2Q;YE>S3X.1N4",W*LK(ZC^/^T%!$WF3>=+]^%
M]8HUY%K,>K/QZR7'@,>]82S^=NI#6+_U/3)7=LU?74E=L#9\FMR/[C_L/H3O
MF8?IX:OPH[1K75 J5U@ZZ,TFW=#C-3?>E/QU<VF\-SE?;A0R9&D"GJ^,\<T-
M;;#_W'W_/U!+ P04    " "\8')9E^SS\/P0  #_,0  &0   'AL+W=O<FMS
M:&5E=',O<VAE970Q-BYX;6R]6VMO&SFR_>Y?07AW9QU EBW)=MX!G$R\$^S-
MQ+ ]C\7%?J"Z*8F;[F8/R;:C_?7W5)'LAQY.[F)V@""1U,UBO>M4D7GU8.QG
MMU+*BR]E4;G7AROOZQ<G)RY;J5*ZL:E5A2<+8TOI\=4N3UQME<QY45F<3$]/
M+TY*J:O#-Z_XMVO[YI5I?*$K=6V%:\I2VO5;59B'UX>3P_3#C5ZN//UP\N95
M+9?J5OF?ZFN+;R<ME5R7JG+:5,*JQ>O#R\F+MV?T/K_PLU8/KO=9D"1S8S[3
MEP_YZ\-38D@5*O-$0>*?>_5.%041 AN_19J'[9:TL/\Y4;]BV2'+7#KUSA2_
MZ-RO7A\^.Q2Y6LBF\#?FX0<5Y3DG>IDI'/\M'L*[,^R8-<Z;,B[&]U)7X5_Y
M)>JAM^#9Z9X%T[A@RGR'C9C+[Z67;UY9\R LO0UJ](%%Y=5@3E=DE%MO\51C
MG7]SH^Y5U2AQHS*SK#1IZM6)!V%Z?))%(F\#D>D>(I.I^&@JOW+B?96K?$C@
M!!RU;$T36V^GCU+\7F5C,9N,Q/1T.GN$WJP5<\;T9GOH76:9:2JOJZ6X-H7.
MM'+B?R_GSENXQ3]W21SHG>VF1Z'RPM4R4Z\/$0M.V7MU^.:[/TTN3E\^PNU9
MR^W98]2_U2B/$WDV%COHB+N5$N],6<MJ+9:J4E9ZZ,+&-Q?6E,+C%2<+)<Q"
MS+6IK<F4<Z0[?,R;S+N14+\UND9P>H3 O<;SD9!5#CH%Z.4B,Q7"7,X+T&X<
M?GC0?D6$G=I>*KR)KJZL$[IB!@J] !<P5)4I)DV<K"0",5.-UYDL\&:.51:V
M'(N?X'A67-Z^$Q>G%R/QW9^>3:>G+V_Z8KV#BY*Y76#F7=IQQ"]/7K9*T*0/
MUMB_B?.5JD;"6"$AHYD7>BE)D9"+MR1>O;*E(VU)$IPW$=*2$KUV"ZWR$:CH
M;"5,EC40D4B&-Q'O6$8TH-I2DZ:2CFE+<BS6$%@"V<HME+5XIZ^PL?A>.[E<
M6A48(X))[J-+A\_.DTV>M+\BE?.6:R7!C**0%0@X5<XA3PHZ_GO*FL>'B7B0
M#AK V@)YW+TXN(I$_L%$WF\1.2 B@0:M/SBZ+"D"HWU-XT#9/3D8<'AP'61O
M+?%G<0%2SY\^QZ=GIY/1Y-F,?GMZ.II-GA_<F+4L_)IY-.#%@G8&G8@97IN=
M8_?)^<&=\7"5/L'I:'8QC03/9Q>1X/GL3/Q"=LE[VH3+QY4C%C8%#KFWAO4A
MLRQ:$\)G*A@Q$PLX@(%6_$IZ)&MPN%B@"@GMVTB#V=ZJ3"(V!K^RV["W#@.O
MM3;S@7?HO<J 65"V%"-MX%32-Y;XU26M).4T>&X]*C24%7F-DI#K3YZ^[#.
M]S/I5F)!=@Z\D,A81XQ&[Q24;2###^8!"^U(+%%;JR#PX^3!=TH[.;&<)/#X
MV2RMK!$H>'U)(39J->D:1(\D.LL&&<;88'4LJ9'.0SI([U)T!R>#<B,E6*PI
ML!^XROSOKZ9!#*I\F$ZS8=[I,MU\O2TSB%9B3C&*]$+Z^=%X.'2;T6X#>"+^
M;C4RU *B0W>[ZALSC;1VJY:<;6]4;2R]TB8\.3?W:DPE 5:A (='#5EO>67+
M6L7%KB(1)Z?B+Y2B2F/5AK;^2AF]'W7]A+,OWZ1,,^W*%K-PO4 6MN)#!4!
M+"):GXUG@$)% 75Q8B961K\##Y.QN-(%;,5I]#KEX;L=?K#HWFOS=7+K=DN_
MLJ99K@;U]._6N*O"L+27-W?J]A\_"B\KK/6:?!C>U"=^%,U^=W45C?9$N+7S
MJD1PW/&Z7V'HR=.SEU@+$P4DGY9=W1X^(3=URGLJT;<UTI!MRK3DARO>C/-*
M"5V@Q$3?+B%404M^)<0L+N^NTK[[ZOQ8W#9U]#!A&MOQ^8!T53B#:@9*4"L*
M<:6^)!ZN2.1KZ2F^'7@H= HO=C[A-/S95.J8P#<J*>7#0AU3YF1MU;N6PEQ8
M0N6&G>BC\JHR]W*$W=27M]J MY' O_1U1"&SAOBCUB+TABF:4.=_,$6./9WX
M0%*#^O\@97ABY<>/M[S=^X]WX(NLCBX#Z,9I'Y-.61>*] 2F 6/@8Z?CG?ZT
MRRU:?2/ &$/%!-^YQPBXP!3Q8]U8S@:AV6$E8,\J>5+ <H59ZBSH*-=R61F'
MW-FZ,'B[NB*L(062DL[Y/;584#Y! BD5<FK.D>14+6VWU6#OL%-IT'B1"X74
MH2G[Y:I8MZ(4R#Z64_E(Q$I'@!!M8@"'3#?^[C(*'UG71=R$J]TV(BQEU5 9
M #O5$@XI:7_P4TB[5,>!2E)K"-<"',$V19.KOM=$_;48%HGG@;Q7,@[352H9
MN@)T*8().K06BZ %T@6T29DI)=.N\M.OFG Y6$\)XA$FH,-*D3ZH *1\AO:\
MLS!G&I9O%$JF;CT(=.>HV1T2[_R+[!VB2H 8-_KDK1W6A5]\7>C<H'P@ 755
M":I%&M&+-27I(#UR>>P"^MF$(<V""DE;8< 2@!AR"<KU7J9V!%+*B5>W7=X3
M1[<??KI%]L/?XF\2!33E'MK\^N;3DPBGO%BAB6>/0$[,54UU KR0<BOJ0@+*
MI%6TH&.[AP<[KE-=&);.%#K[=(T@W$3!6TW93B%UWZ5[_8LD7=8&(G$"T<#'
M#3RL[2>"TPUZD<Y3=ZDX*&&[ F(UR'&F_(HZ%W^H.A.<,%5TO9;4[Z$RM&)[
M58;5]R9TN+U7VM =Q!''08JRKN^C!T)RZQ0DSS48I=#*#%I!![9RU\7TO2P(
M> QYV@=F^QK#DAQ:?-E98=3Z7T\ST!B7X:C,Q-D<:(QRU-;.Q#^@J<UYDY;-
MFO P9VSUI58Y5Y>FW\$?3TZ/S\^/)\^&^F08 ?S[6<%Z'3*)MB@8QX1.FQU*
M9:LJE#RVL,SOB8V\[[MI!)&J4E,[;Y4L4^F)TPE#V+I!U\J.4@(VBPR[HQ>Q
M5!91RE"9")_ZGGOE7(:"0@"(G HC C@0%;BPOVU0NA=6*7ISI=#/KM9,NK]O
MHIFHI4(N<MLLN3.C $.I&>]62M#&NHYZ &:(9:!?78[T6(W1#S7SX(&>,2%!
M:'@I]>J_<Q&\8[7T>-PLN5]+!/LJQ]<SPI6VX(CC&L@E6\&CK6LY[/'4Z2R]
MET8\_$(+;=Q*UW6_MG9:/"+%$:#N5(F?@OC?H,7_3U7=9_S_O,)V!.N-FI0:
M@.BD^XSX7\FP[]!7E4".W#FO'V_4LN&[7>J/F$^*JN$>$!NV#_MH.S</54H)
MFPC[MT86VJ_[Y3.%)FQ-P>F"H4OY+V-U&"ML<#14J$O2?KH&5H&ECFN9?:9&
M:[@J0W=25H-IS#BL"4]"^.2*_"98::[(W+5QG*?#&(]=+Q$)PP=H#TO&XKU$
M$NT1)$L"ONM[#L;$F%SVG3Y9J*=\JGX[A0;>3*D:E)5F) !.[C5UYO/U8-R6
M"F97T"RM:K^ZACH#E6^YQJ;7_A?<,;;#,:B^ 4I?QY[FLI+%VE,W-G#@U/+(
M]O$"3&0K[=2.>7UM-<JA+M8[APWT^1;^^//U>V:36NV?KW\5#CT6WN)A@'&9
MJ===LSY(P5@3,Q'[<1\[A=ZV[=1<Z/UWX@SUA?/,<M"Y;GA$[/8\ZF!/8FY.
M0)(J/_7Z )#4^%L.DU)^)@QU3,Z?UFXTO:62KK',)6.IKS" Q\7Q BG9K0;-
MYF@028$5\DEDA>(XE)%H-9@;,4'[=8;N+/D'N"-ORYIX-"TF=?WGOI6VN:3A
M-C6Q:T$^3FB4)[/6/" MQ)GLN/=Z^Q9-L2M!&"O,OMK.=TA^5^H 6BD!&^63
M0:K>G$+<:^N;@/Q0Q<K+>1@AA<2<$&Q DYQ1JO[\80@\N\$"%%0VA=<U9]%X
M[K,M74"SA:F6QW0Z%%(4&%D"Z@5WY+3)A6%PUA4B2U9:,98U+%QCJS ] \?:
M[E<.*X5<0M$XFP/EZ+$I"5YXLA-A]Z0=6C),?\@'OE'".%+?)V,?5!+IT-[P
M#ASD=.;0.^KBLI2<-X43E8(=0'$/[N$4_3A$[-SU#XG8#Q5/GS>/F-+LD'Z]
MO-<>\HG+;KP8^N:<RB4I*:?2[.C<=&ZE38/00LF<NX;4"JVY)1M&+*DL0TL3
M#U7Z0[AH@>W,'+RF-^WD$R W$ '82CV(&KB&=,SF;7?F,.YO-8J0C+A]]QUP
MR,N_W8VBC-RV!8'0+W)\[>QG$Y>,0H>1T2LIE,+SW%)J)BI-I7]K-I)'I53.
M@4W&9B>2=5)I&%K Q>V2> 46)Q#(A]"?^-&CB=<DH#.$H7&*1^>-QI3=<V[5
MP/#*N%JC/6@W^4,<\XY>DED\#B$H=XG:ER7@?]50AA#7O1CZU#L?OU%E;&_V
M-&*]7L2';JC=K;8).+:'9^0^ 3#2/1^QXN,J#URKJK0!S24L/PF_2DN%A;JW
M]'SW1&L1!-G/9L&YHJN'YBOS&V(\YKUX;IK&G<F@O9P6@=6>S>/L-N:">+9)
MXS,^R )U&%OIVH?90MNF&DO9F2>'&RGTDN<QA%'7PXQ#>N/;4L&ZI%Q*#(6)
MD^HP6PJPTE'<M-<;]C/O.DR_/=\Y/9Z<C=MK&>*M+$*</WI;@PW8M2^>VYFX
M"<53N*?&%IF;Q@?UW'=X-E?Q#L6WG=%*3@/;IY5'<M=UAA<'@S=WWX<X& JZ
M=VM3%>L7PRL<!_&<U_7$$G\6D^G9:'(QH4^3B]'T["G8V)#R*&::/([D;(./
MA99S'9(7ZP;KG\8K$9/GHXO9Y.!F>P08IUHPN38YV3>="'.8L$W,BP.RTEPA
M0W(\;"E]'E1 &ST;/3UGUF>CV?/3,!<)9_+LW(/] W*G:6,8,Z=#^(S&#UF*
M5@=\UEZ'D#LTMM,/YLDJ$1AN31) W!0ZY^R7^.?C5@JJWL4?&L@S)D%[X.,%
MHD&@I;@A)+([<K@!3O=]VBX]W ]:&I/OF(D,MG=\ZZ1+KV N9^4!_2%#-E7_
M!TL7%].XD5%4[WR%'T:$U:X(+2^E$:HP;G#M*4@_&#@#,#N/YHJ&;D'V=3O\
MWR-_-%Y+=AY G&96J%_P1<A2M5PS4&G/2/:KA(>@PTM4Y$GL EV.,#P-;R6?
M*[I1Y(8J V1;;*7.@"6V%$O;!/IJJ-]MED=#F5M'BBZLPM$KZWN+\=A IUA,
M +=8AVV"LH>DV6U;^PY9AP')0!R%O-2O9&RRL!8M+M<!0A-\60XHD#0:K91L
MPJ5"^@VQ:9#4 #_^$B_!#1]%5>5\L8./,+=>&7 * 7.ZG17N*753&11K&AJ9
M81A1[ POUFU.<QZ]U#?J>WI*GNMT7Y"BH>=U@^1J!RE4=DVV7/ADF,%=P&^Y
M K@UAJ(V=T?&1";2V 6=X4K>JX"-2N6)5Q<"_],\8!4+3%?0% 2"IHK;2;0+
M.H5&#3&"Y,07M9VW#7>.@[,BM&U:W??NTZ%PVR7[8#@'2.OCX-+R=;)Y-QZ%
M5<@MAM>2-N".ZYW]N!5/HZ@QA6#ALA?\G5K4=(JRZQ!*,VJ4W#2(V=GI,?Y,
MSX_/ADBI-:6+.# +,R8>8I!*Z8235<IW]]H"3Z%;\6X5>.:Z@+4-VS.F3, *
M@-9_QX-5KK')*V(:V[QC%P+T@68X#WS)C8T\/+/K\"(Z=C0^"70&;DE??7A
MDP:Z)I8ZBM2&E309X_D9-HA2<)VEVSZ#\LAP)0P!XI4&JU9TD_]>Q3N:,?[Y
MX"2=@"#%Y$706(^MH)X0)[T #_IU^T)G:+ 6!,1),IWCN+@-W'\1G=YW]W"9
M(8+ \EOF!;ON?)_T+N53L\C_]8 O(E8^W,]O?VW_=\-EN-3?O1[^:\1'2;VF
M@^D66'HZ?GI^&!)W^N)-S5?\Y\9#._QQA<Y?67H!SQ<&G7'\0ANT_^?CS?\!
M4$L#!!0    ( +Q@<EFHP2M]K 4  #0-   9    >&PO=V]R:W-H965T<R]S
M:&5E=#$W+GAM;(U7;6_;-A#^GE]Q<(<M 5P[EMTD39, 3=IA!5:@:/>"8=@'
M6CI91"12)2F[WJ_?<]1+[,)U]R61R+N'S]T]=Z)O-M8]^H(YT)>J-/YV5(10
M7T^G/BVX4GYB:S;8R:VK5,"K6TU][5AET:DJI\GY^<6T4MJ,[F[BV@=W=V.;
M4&K#'QSYIJJ4V]YS:3>WH]FH7_BH5T60A>G=3:U6_(G#[_4'A[?I@)+IBHW7
MUI#C_';T>G9]OQ#[:/"'YHW?>2:)9&GMH[R\RVY'YT*(2TZ#("C\6_,#EZ4
M@<;G#G,T'"F.N\\]^L\Q=L2R5)X?;/FGSD)Q.[H:4<:Y:LKPT6Y^X2Z>%X*7
MVM+'O[1I;9/YB-+&!UMUSF!0:=/^5U^Z/.PX7)U_PR'I')+(NSTHLGRC@KJ[
M<79#3JR!)@\QU.@-<MI(43X%AUT-OW#WX#C3@7ZUWK._F09 RL8T[=SO6_?D
M&^ZSA-Y;$PI/;TW&V3[ %%P&0DE/Z#XYBOB&TPG-9V-*SI/Y$;SY$. \XLV_
M'R#]_7KI@X,0_CD4:8NS.(PCS7'M:Y7R[0CJ]^S6/+K[\=GLXOS5$9:+@>7B
M&/KWRW#<_>6$]A#HMX+IP5:U,EO2GOA+;3UG%"REK5W9VM5.HQ=UN:50.-NL
M"O*JQ+K-L66S)@V>E,E(XM4I^\DN\H_/KI+9Y:L(CR8#OJ"2*M'IRJ1,%8?"
M9K:TJRUA?J %4]L80#I.6:_5LF1AE_$:PZ&&?^.U65&A(7NG4U42Y-WWKQSB
M- -WC,9PCDV(U/(F-(Z)4VMLI=.XAI@>,="PA%CAW :A<.Y:!@6B"PBC1_%!
MA2;&W#8<._\302<9'V*,5/=6I'!P;6T)ZC(:,@)/7R"AB,(C)SH'(:?](^50
MG75^3-JD99.)P8KMRJFZ@$EI4R4\)_2F8:F2T/.%=>%Y8%>143%&,/1-6NR0
M :"8L@^HHU3@4(I#H0)2LB5C RVY3RJLD?R!MUH)J2XUAV"6JI2J^J\3H$1)
M B(E[N2%41P*B!1R:.K<840, E.]35N,,6V0@:++"Z37PE52F(%;." Z952Y
M]=IWE+6C7!L0U)"-5)0%P@.=S<Z92#.BA)?D0JV5+MN:[C8,KU79 ,"+@.*\
M(*E"*Z(G34&&DB.WC>NU+;$LFI5ZCSL9;A'EYT:+3!S7:AO#0GTKV*YP1"L.
M1""=,Z%/O6:>>DA5;2$DTR@SV&I,^]C*J(UU65NO&NV*9A9(/*UU_&C&@@RU
MBC(HU!K6:+%5P4Y,EVJIP7PK)+JOV7XV*FNT2)?20ID5DM+)<T>$O32BC A2
M9 P4%$_[-@^]<F(0&Z=#0$ULGJ/6 K6-ZQE+DJ&9&!MDVIB^^T5]*L>VY&5O
M)N0($<F)42V994H4"A%S-J&W75.TT\SBS"#:V!^ <G+3C<:!09O2O@03>A?V
M.^5)H4!6@$UU';NOKW"<-J!J@V3Y:9X=G%S:M'<K'86NXEFX7WEKD-SMUR(]
MTIG?ZA1(UD.=6:38V\8K@W2;Q("/+E=+4.T_O+3!Q@\T2Q:3!&(M2Y ;D\%,
MM91C(YG,^N68@SY7W0<BM[(@G18BP2C)V-SDL/4< 6\4I-M/FT'M.R.D*Y V
M+2%)&!Z2(46X;C1QB&&\5"U,!3'H?UF:U(=6@)'=H9EH*7[&XV#B&%G;:4\?
MLU:%3\/RM&]%+6FVC0<E?W9]@MMAQ/B+E>ON07L)/8G\A?O)?5^H_%C,8YR+
M86RZ>2R?/9LAZ:<T&\\O7M!9][R87=+9R4.GJ,ZL[=((*IW&S]%GGJX2U/+B
MB.T0]7[V3^EJ_A('GM+E F?]7_YLLJ^8)^,9:G>V&\6A:]-TYR:+H;6*]W7?
M#MKV4CNL#C\)7K<WX2?S]O?$>^601$\EYW ]GUR^&&':QCMZ^Q)L'>_%2QLP
M(>-C@9\U[,0 ^[G%S.A>Y(#AA]+=?U!+ P04    " "\8')9(V1ZLM0(   :
M%P  &0   'AL+W=O<FMS:&5E=',O<VAE970Q."YX;6RU6%MOVS@6?O>O(#Q!
MD0!JHHLEV[D!3B\S\]#=HNW,8+'8!T:B;6XET24IN]E?O]\A)=FQG:0[BWFQ
M)>KPW/B=[QSI>J/T5[,4PK+O55F;F^'2VM7EQ87)EZ+BYERM1(TG<Z4K;G&K
M%Q=FI04OW*:JO(C#,+NHN*R'M]=N[:.^O5:-+64M/FIFFJKB^N%.E&IS,XR&
MW<(GN5A:6KBXO5[QA?@L[&^KCQIW%[V60E:B-E+53(OYS7 67=Z-2-X)_"[%
MQNQ<,XKD7JFO=/-K<3,,R2%1BMR2!HZ_M7@CRI(4P8UOK<YA;Y(V[EYWVM^[
MV!'+/3?BC2K_D(5=W@PG0U:(.6]*^TEM?A%M/"GIRU5IW"_;>-DT&;*\,595
M[69X4,G:__/O;1YV-DS")S;$[8;8^>T-.2_?<LMOK[7:,$W2T$87+E2W&\[)
MF@[EL]5X*K'/WOZL5+&19<EX7;!?:\OKA;PO!9L9(ZRYOK"P09(7>:OOSNN+
MG] 7Q>R#JNW2L'=U(8K'"B[@7.]AW'EX%S^K\:W(SUD2!2P.X^09?4D?<>+T
M)7\J8O96FKQ4IM&"_7-V;ZP&;OYU+ _>RNBX%:JE2[/BN;@9HEB,T&LQO'WU
M4Y2%5\_$,.IC&#VG_4^<VK/ZCGL;A>?LA63UC_L++9R"&@_M4K!"SN="BSH7
M[%[8C1"U6UXU.E^BEMA*2SPBY;0LC)4H-%&P.9>:K7G9"*;F3!90*.>2DVGN
M3?/\6R,U1&ESB4>RE%8*0\^;2A2[OG>B$BS [AN#Z(UAN:KN9<T].4!)(:S0
M*#$(6L66?$V.80]J7-;2"M88,6]*&)L+)@VKE66\4MK*_X@B@%X+86/!C/34
M(A@*1&DFJQ7" 9-!WK)2<(.+NFYX63XXG_)<Z8)3DC;2+MGL\QN6I,C^%^1D
MKDH0IZP7S+KP]Q*,--8+1"U]8G.N]0,)][E;=%D@3TCD07!MF*#J9*@M4=T+
MW=>72P0N8G:*T!JRXC2KQN").;L<W/'2><H-:=]7$+$3-LG"(,GBP0<$BC)R
M<:^$E@IG5?P;E.967K,[J=Z7XCL[9<DH8V<ORL_6..!"0#X*QMD$.]XT55-R
MHG6&.JU-V1[F=M<IBX-QDD+V>;]C\CM-@S1*!C."BY%.%43)1[AJ'DR "@ 7
M1:,@B:-]L0] 3ZW6G/VBRH).8';'HB@-QN/)#_@9!6DX><''!#Y.)^,@BD/V
MMM%D0_!\2:+6 :71 ,^WAFO@V&F@36UX[;E"$\F^48!D_4 EL"H%X51223E,
M/H(K:LV8RJ&--.2JSLN&D&.7@'*/K0WWY>"WMI4&_<XU95K0G1]AD-.989]0
M*E3U9[O/VS)W!<%96X.405=^'/3<UQY3:^&P#<[H:W2-HJ!*7[B B<>I/[\F
MYF.5@%<HV8YW6DW^5,1W##S&5;@65)@P0%Y(&D(,XD#*/5VL,=*L/,Q>_32)
MX_#JTRM>K:[>NKOHZLS)80*!T47 %J(6FGLJY06(1I)7+J;>9KU[/*0F&E\1
M4]5&E;)PU.ARY8\$Z:43U&))4]*:]N->G!_)8QLJ,J1%Z?0\RA3E4XLU9AYB
MU .2 A_V[,CDW)TM+Y!U^ SG"E<%()7OTI&> \=&-24!H9 Y[#W!3E@UO8\5
M?W HNA<N\U!/C'>.@0+>S;7XUE"NGX*G]JXTN8,S,B.TQ5!ZX%] 60*(R0_>
M\F=/G\BFL"W.B/!ROA*!"U?6B+_&\14BE\:I0U;0R PBJ3%]@EZ[;F?!_OFR
M5J5:/#CH6;% :X(BAM'"G1MG1BYJ]+2<0]P/>D('I&7OT2,',3A_%795HE7O
MQK'7!5Q7-0QY*GK:W\?42BO*E2&+>]L-BJIC%6_P12V W'SW9-IC5]H?3-NR
M'I-/CRA4^1(5Z6N8->A,NG0PD7LP[FJR10;$M6H6R]VYH;$TN4$'QCCJ7UC+
MN5FR.9JH]](5?*>-X ;BK%W+?XP[Y->);+2TH'96J$U-4L\-*EO=]*8 8FH3
MVE0]2WL'C[KG:,#!%V:0,;Q8 /:J\FDQ?D["SI7:MIW>8A];YYM#67V0P_[H
MT&E1'I3FO;G&HZ'PA[65ZHO7#P:=\6-GM&5FX,-03"@HT$C'TXYJ*#]'??!S
MS[9%8?2K&V'\"9524!<E@J&6U<UFKXG&B@-G.F+;0@;[#OHJ\>4/*?K!F<X%
M '%,N/ 8T*G5KCP2AU9]Q$179'[X,5W5T"Q[0.@!.,>ZQN IMQ\"NFGQ6*"7
M@X.EP<^:&&F6YWY&@:J_0?$?[FU6%(/3V;$Q</#^V61=[K7U9^X&7[9,^;KK
MJ=!YPN(T"](DP]4I&XV"+$G8&2U'43 -$Q9E@X_00*[%HY &/?R>,0?O^(K1
MT.4YU3<\(NRE7$$XFP;3T10;)DDPS4AI-$F#Z21C43KXHGDAB/,,FP3C=.R'
MS<D44AFD)RR:#O[NJ&H;M&%0%(W<K)GB'PJ#41BR9/!%632,%X"5)M,@F69D
M*4F"*"%;HS +8EB'1R]"\W+7Z3'L=BG8N6X].31^PM)1&(13G^:M R?.A2E<
M.!PE_C?0Q8>@B_]2T#EF.7MT\S3(HND89Y6ZZ),PF$YC%WR49<$H^C] EL;!
M-"%(0%&:3AW(LB 9IWL@&P?9)'8@2R(/L@20/ JR.)A$D0-9."*0C;,Q&_T8
MQ$99%(1C9R>,@BBE[4F*.H@F%.)?#3$R/Q[''F*] R<LP8MB!A=FQ\9O(L,7
MPJ*W#FB)SC-6X2T$NP,BB/%YU-V[CHFE>&?IA]Z#]]Z:6$#]N&]DYWA[.?J&
M]GC \>W<^&Y.;Q+[U7(L[J?>N]]U(\=@-UV#=W[;X'T;U3]<5.\.HWK,NG!V
M1+D;@=Q2NDOI.DE#NLX8>& Z=>MCNIY,8[J>T'64.9EI]T:A!9]CCF-QD@%C
M:0N#DY["CGWMNMCY7HGB6;BOLD0L"-Q_NNQ7^P^_,_^]<RONOQI_X'HA,8N7
M8HZMX?DX'3+MO\3Z&ZM6[NOGO;*H5'>Y% "S)@$\GRMENQLRT'\.O_TO4$L#
M!!0    ( +Q@<EF.BIGOY 0  #P+   9    >&PO=V]R:W-H965T<R]S:&5E
M=#$Y+GAM;+5666_<-A!^WU\QV!I%##"[$G6[M@%?00,DJ.&DS4/1!ZXTZR5"
MB0I)>>U_WR&UEK>MXP8]7B0>,Q]GOCG(XZTVG^T&T<%]JSI[,M\XUQ\ME[;>
M8"OL0O?8T<Y:FU8XFIK;I>T-BB8HM6K)HRA?MD)V\]/CL'9M3H_UX)3L\-J
M'=I6F(=S5'I[,H_GCPLW\G;C_,+R]+@7M_@!W<_]M:'9<D)I9(N=E;H#@^N3
M^5E\=)YZ^2#PB\2MW1N#]V2E]6<_>=N<S"-O$"JLG4<0]+O#"U3* Y$97W:8
M\^E(K[@_?D1_$WPG7U;"XH56GV3C-B?S<@X-KL6@W(W>_H@[?S*/5VMEPQ>V
MHVR2SJ$>K-/M3IDL:&4W_L7]CH<]A3+ZB@+?*?!@]WA0L/)2.'%Z;/06C)<F
M-#\(K@9M,DYV/B@?G*%=27KN]$)W5BO9"(<-G LENAKA0TB'2W1"JN.EHV.\
M\++>09Z/D/PKD#&'][IS&PM778/-'P&69-]D)'\T\IR_B'B)]0*2F &/>/("
M7C(YG02\Y&MXTM9*V\$@?,1[!^=*UY_AU[.5=8;2Y+?G?!X1T^<1?>D<V5[4
M>#*GVK!H[G!^^OUW<1[]\(*]Z61O^A+Z/PO2BY#/&QS'"_C;L^!M=X>=TT:B
M9=#1^E\6:L*0UEG0:W ;A+565/RRNSV:42BQ7:'QX9SY</J8\MFKLU8/'6G(
MCC3T8$77V,/9C=A2LCLT4B@+!Q#SA&55Z4=IQ=*DG'VBFG\MN]>]T35:"RE+
M*PXYB\MD]D9VDBJC =ILAIK0BY3Q)(:2LSS+9Q^U$XI._)/U!]XDEO#8CY*2
M\:*871OLA6S@ZIZZH44+9!_\1+X9N!B,(0 XLQ;IB$=)W)?40;+>28I1<L?2
MOR;IU9F%&[3.1^QP=O5ED'WKC_$MV6$7 NB-\$&61!*YE;,\RNA?L#C))N=D
M5^L6P8E[$HHCEB4<LKC:VZ>2"7 )B\H"8E9%U6QD(4Y8$A=>BQ?ICMG^FZDX
M@(0"FWK&XXJ5B2><[AWC'AA<4PJZH/KDVM-N/^WBM/M?$?O.PQY 10E%=K$H
M2F;G@U0-01$_+,\]!5E5S=XAW0L;K8BBEG+M#KT9),*)YSR!.,Y87O"]T,1Q
M2A'(H:)?3(DZF$XZ:D<,UO+>#W9<K=<4L#W/*A85!90LB8K9A6[[@4H#-L(T
M6V%V0=9K%R9)QC)> B<ZZ01?U<X,XTU(7I*5MR;42T&AS#T?69;L8IFE*:0\
MFJ+X$M=)0K5&/G*JJ:J,B H"?0UG=3VT@PI-I$%*A%J*</8K8J5D!3%_2..*
M>U?@\%N.>BK.@J5I%%(E(EX3ZDM[!^R2#9Q'1!^_I%A$='4J1=LLU/2B>IS#
M&.(X7Z334D@"2ANZ),BF!Q3& OJ;#/;3)]Q%X<L#" UHD3CM,3PTU,/"LV &
MTGLGQ4HJZ:C%3&MJ;^U_Z@1MK_0#(L&WGI.1'^\L966TJSD"N\0U4C4V9#QU
MP@$AIISPN5TQ3EWT[7Y7Z,6#6"FD!E+&*7"69E,#R%E1<*!4+Z?6*I[Q]0"R
M@EI%XKM/S&(>P7,7Y'+O1=.BN0WO-D\4>3T^;J;5Z6EX-KZ(GL3'=^5[86ZI
M<X'"-:E&BR*;@QG?:N/$Z3Z\CU;:T6LK##?TO$7C!6A_K;5[G/@#I@?SZ>]0
M2P,$%     @ O&!R6<'@W[!8#   ,2$  !D   !X;"]W;W)K<VAE971S+W-H
M965T,C N>&ULO5K;<MPV$GV?KT!IDRVKBA[Q/AS'=I5D.UFGDHW+<C:UCQ@2
MHX'#RX0@-5*^?D\W0,Y%,[*<W=H'2;R@&]V-[M,'H%YNFO9WLU*J$W=569M7
M9ZNN6[^XN##Y2E723)NUJO%FV;25['#;WER8=:MDP4)5>1'Z?GI125V?O7[)
MSSZTKU\V?5?J6GUHA>FK2K;W5ZIL-J_.@K/AP4=]L^KHP<7KEVMYHZY5]^OZ
M0XN[BU%+H2M5&]W4HE7+5V>7P8NKB,;S@']IM3$[UX(\633-[W3SOGAUYI-!
MJE1Y1QHD_MRJ-ZHL21',^,/I/!NG),'=ZT'[]^P[?%E(H]XTY6^ZZ%:OSK(S
M4:BE[,ON8[/YAW+^)*0O;TK#O\7&C@VB,Y'WIFLJ)PP+*EW;O_+.Q6%'(/-/
M"(1.(&2[[41LY5O9R=<OVV8C6AH-;73!KK(TC-,U+<IUU^*MAESW^GV=-Y42
MG^2=,B\O.FBDYQ>YD[ZRTN$)Z2 4/S=UMS+B75VH8E_!!4P9[0D'>Z["1S6^
M5?E41($G0C^,'M$7C?Y%K"_^B_X]+AV$4[&K03R[-.*C,IWL5'$N/JV4P,MU
M4ZNZ,Z)9"FT'+Q3*10UW'8M*/)!&+)L2A6!>3)!4HH."?RO9NO@)>*^JA6HI
M A.* (4AI%_!Y-EEU?0TC:XAU_1&UH4YG^Q9-'F+^4RG<_&->";"V,NR3)SC
M)D@B+XY37&6!-\]BFAT)6]-M,D]$FGCI/!8SW"7SR?O37GPCDM2;^3-<A,'<
M"V+?:4_B:/(P'N3@5EZLV^96<SW_7Z+QYDFVO)B\Z=L6H\B3N3>/ UQ$B)U/
MOH6^%Z3IY*U:*@PJ1. %,Q_!#;PTF".VB>=GZ>13T\F28^(% <M'7I#119AX
M81).?NQ;;0K-4(213XL2PJ(*U5K-7C@+R<*9EZ9TD7D1XG!-KM):I[ E\"+,
M&6#"8%S@(/.R-!%![ 51AI7RTLS_LKF7W5[TN1J%QX924&5]+U:R$$MG7HWN
M@3[1RD[7-Z)LC!&Y;-M[Y,]&M@4[B4F":0 ,*TNXY@E>I"=*QM-L*XB5%DOG
MW5/%YX/XE(OVB7-O("/4W5I3LG;B5K8:F28*"!O$HFWZFQ5"$U-H-BM=*@[0
M$)2OLG,E;Y7H 4"51NKNO120TPW&D,*B$773.:.FXBO7B318WQ>] =;!#$JX
M'(FMNZ.A2[:1%_)6ZE(NR,T&#;GH<SC;=WVKCDRPBQHVZ$>F_*OQM@J/!)7F
M__(\!#ZF7WP&,["NW!)](-DUE&CR4!:?T7PK0H7%/<?S?=VIEFKWH[I5=:_$
MM6IO-4) <I6\!UR*8?D8E)2@@1W%,5=M!X(D\I6L;Y09WC>;6K5FI==X .7
M+1ILD#!ZJ7,)6;."K:NF1'1=%/>1HQA@Z=%6<QQ(3V'H"'44/VF,ZLR+@\9G
M[P!2A++779/__IRH4<'6@;%)9EQ825PKRB(O"'W^&X71Y)?MFBE(&1'YWBR<
MD75)&D_>R+4&/.D_H0\Q04/(5S;W$<^R6?.B  :3-!/H0'Z(?D6!;MI[$0"M
MHP#SS+-H\L\O%1V@-"8=F9]-KKZ8-8F70'7HI=%\\@N6KX6\GT8BQ>_ 06KQ
M,'8BB[P9VO#,]V) [T^8XP52N^QMD"2MD:QS!G$?(([6@K["QI_2EEIMF'5O
MK4HM%[K4G5;44/4='CNA9Q2O69!:]9DW1T<XGUSF?_3:)D^'O+1Y/P@D&2:8
ML4"<<,\[/UPXT1+EI33LS8YDF'K1+&+)$$HRS H[%W!'FYP2CEWTL&O F+__
M+0N#\+MCX=MQAR1"RHZ0U<ZQ"&$ M5:J/@S5KB01H0C.@]V<6U84HJ%3H <(
ML44YU&3'*H^MS])1E'MDI% /&(K%7LI39BD;26A$==ERK! EN49GO]/82JCR
MGEHY8N"SA(3]I\?YT]FV^Z$BUHJW,N6]1816Y4V=PU]KL.,3 R)3R?9<&RW!
M,N".D6FYM$IV>0</V/72G'+3LSXZ9P.AS7]%YBP.B6_%@XOC&.4!6G*U[J@S
MYJA\[!X/N=\^8/UE1OONCH(]5&!W&,T 9#KP(3?U870,) C'NPB,+9ZYN\GE
MV$_0SWI:!\"RQBJ >.9D6+=1JA:_3J^G>\2!YD6>S$#=0&*^I>LP1D8DN$XB
M'U<1M%\_:+G$ C$PG(9DBI?X<RA(64&,*K)&'<$\*K782T);:!D-HPL@0#2W
M)4T3\H47ND<!6?.$/D R "V+*8,:$-(H<YI3^PC8$%O-"?E\/N&HP,8QP8?H
M(+]JP!&P.9I;GX"/B G'W[<7 Q-^CGI PN^AG8N8 R$G2#;Y<7CH;1+/G+<S
MLNG=G<I[KJ ]7R-L!V+8'=/Z8,N%AL%K%7G1?&:7 ]N2FD"4VA@JU^B"417"
MS]!+XL#.' 3#U,BJR,$IR-BW1//#*(2QN)G\1%V-8TPJ>VU6E>,<!4$N=:L8
MP::5W_=R[^X GX/42Q,D\IS=>$QNV&6@'BV*<I?EY,@RM]"<0H\I^;4>^-'>
M[@<YC#;%"2["B)(^X-6)8QL-?H--W@C?QT#[<&E39Y8_1#<>[LG,R4<%.EL3
M2NYL57=*]QGOKA*W&J%3,1]TN >)OZO3<07:A'$U4O_:>2]FG*E(D@&E]G?*
MXRXMFK'XN%D+$@[(L&=#M'BY/FVY/SL_^\[6=\NN/2"_ZDY6NK9A ]-U;6/8
MGAU"D>P!PBUWUNGQF38-R/!G:@ 8_GEGU_OHS$/7L2V$&(;;]+S8VSF+[Y&B
M:&JVL5QO=;W;ZD(Z,0=G3#3B^9&]2>@'\^?4@R;7&[RLZ4'&#]BGK1'4U^#(
MHB_1\H_W6<L7I.M2Q(5J&@@*_Z=K&PM5JR60]6OZXBEN?B5+3FO,<]-2J9V<
MS</5C:X)'FFT#2>?(\SG*?^=9>GD!U:R8_W 5WCBD\JIVTNB(GU)5!S-*?[?
MZ$I I^.'F@9V-/1.#+<,%"TJVV&17Q,>4)N]P$3<XER J!3+OMANY19;S8]Z
M@O?'-N24^IAB>_[!Z;,KVZUDYPF]%%OEGM@T?0EVR&3M@+<-A&VO#$5>@H9C
M\\@Q=UM*WM<J[%R9#R-RD@E-<[!G-(='F9Q\#P&)3D0="93,GX?V?HSA)DQQ
M/6;#Y%A;V*E/G@ONF7?4 7O0HMF&\ DVA#';L&N!C9G-+YNH)T+E#'8Y(//<
MAIEJBCIW4^J"K1VR@\_AC>7^!V:DLY'M@W&&]N9$OHR;B$.Z_]X:4J/; VE5
MB3RH^/P=F=,16E&5-+5<8,KQ*&/W,(A/6-S1#2WPEZODCNJ L7 ($KI$OZ8%
MPOKN)+2K3#Z^H?&6*BMVD<]%&#;-D#Z!/:7ZI;V1F'>$U'>(:U/I'!8_=WMW
M:L$U >5V]R_K&FN7TP:W%ERJAFKB^U96BKX"$2.Z(GQX!_\&!1_:!CZ)ZY5D
M^S:Z6[$)-PT G!(G7VEU.ZPMTJFGEH5Y"NI:< >LC8YNW1G.D*&VZ^ %)S)2
M(D?N>)3=+G"<Z]6Z5&3ZZ*BDKSFZZBMQ4S;(GR.E3<,"\(*I^(U8)I%&%V/+
M=-2@6N:V9)&YO%DI@?RFW(8.*5W87?OV^;#=?="E\0(EEJ_$1KG3$V#,;UQT
MPX$<L\262H2/+4?G*'N@<V]Z-NQ'6?>2CF<XP6./=&]/,@G<A@Y 9E+-M-M0
MD\=-WQ['BX$XD%JQM.R MJY3<7D2C/=/1PW5=5_U%G>PVMK MT5/=^/^ F2=
M(U%0]E/A#*2(,D,76G(TCJ%/$(*5C8?/5RJ7O3T2VV[J^="O1\3'Z3BL:SJ7
M1+A+.EI4]2YUXL/#6CWO- 6DE=A$<+0I-C8H^]NC5KF3'G>6^0GCWO2=/2_]
ML5D8<0G%0_H@ \:P@1G-Z,C]'C2XT-M,=ZV8B\AA%!FV[X9;&]JLF_%#AX-=
M6K@E*!L8E21(6C<M+WYSJ]HQ,[&9U"Q(ZS]XI>M;-?!QVR#MZI3EWADLK!DD
MMLS/'4<_Z=C<<'YRJE$36%I.JWB[U2!X>.H,+,:-_-@YC^8'5%J8MHKIBW3.
MY^EDX.'D'"L^QKKG]P0V=6=AIP Z$\N%QYB&X\'C3V3O(S9YP]QT9(R?&E6I
M5,&##U;3(<8^O2;:XE:!$*J5A",\VQHM\:2UTV.?=B]V/F-7JKWAC_4.;>P7
M[?'I^/\ E_8S^':X_6>"GV4+\FL 14N(^M-9<F9/*X>;KEGS1_%%TW5-Q9<K
M);%1H %XOVR:;KBA"<;_DGC]'U!+ P04    " "\8')9EO&-."8,  #Z(P
M&0   'AL+W=O<FMS:&5E=',O<VAE970R,2YX;6S=6EESVT82?M>OF%*<1*J"
M(%PD01^JDAUGUP_>=5EQ4JFM?0"!(3EK' P&(,W\^OVZ!R</V4F\+_L@"<=,
M3W=/]]=?C_!\5Y0?]5K*2GS*TER_N%Q7U>;I[:V.US*+M%UL9(XWRZ+,H@JW
MY>I6;TH9)3PI2V\]QYG>9I'*+^^>\[-WY=WSHJY2E<MWI=!UED7E_J5,B]V+
M2_>R??!>K=85/;B]>[Z)5O)!5A\V[TK<W792$I7)7*LB%Z5<OKB\=Y^^#&@\
M#_A9R9T>7 NR9%$4'^GF3?+BTB&%9"KCBB1$^+.5KV2:DB"H\5LC\[);DB8.
MKUOI/[+ML&41:?FJ2']12;5^<1E>BD0NHSJMWA>[O\O&G@G)BXM4\V^Q,V,]
MK!C7NBJR9C+N,Y6;O]&GQ@^#":%S9H+73/!8;[,0:_E#5$5WS\MB)TH:#6ET
MP:;R;"BG<MJ4AZK$6X5YU=U#5<0?UT6:R%)_+U[_5JMJ__RV@F1Z?QLW4EX:
M*=X9*:XGWA9YM=;B=9[(9"S@%BIU>GFM7B^]1R7^(&-;^*XE/,?S'Y'G=W;Z
M+,\_(\]8)OYUO]!5B5#X]RDCC8C@M A*CZ=Z$\7RQ27B7\MR*R_OOOO&G3K/
M'E$PZ!0,'I/^Q1OQJ)33.KJ^+8;BO_LF]-S9LV81\;".2BG>RTU=QFL$N!9O
M<@'_RVPA2_:_):JU%"^+J$Q$5%?KHE2_2USF^-ELRF)+-T+3$DC45HXHEJ+>
MB*H03X0WL1V$;YI2)N(YR7M59)LHWW^O15QD&9X; 7&1QW59RKQ"*E1K'JJT
MKJ,\9I%/Q-1Q!M*BU:J4JZB28E.J/%:;*!515M28C]&JTFR"^$=120T_2,F7
MPIU8@ASA.<^@2;Z59:46J<2 7!6E&6[Q />9 /B)K("75&YPD,W(1[K9XJ?>
M*%%K^.2)< ,[.+0;#HNE3+18ED5V9![=]PJ3]P8>G7N6,W>$IAW3(JK@=1C=
M^L6=3&W/$Q:TC-,Z4?E*(-9S'1D C M=:8LD%LNE!M[STE W9D\E*JUYW$FU
M!BK1MDL3.M@X5 =M_ &[5F6488 6.\ L_67UDQHR:"-0%'2%Z:09VP !V*>Q
MYV"H8-"& WEZI3"0]&G,[OW! Q)LO8WPI6%).V8AH1I<'955Y_8"X(KK00 O
MZDK4.9G9S32Z= [OO$L2RO$:*A?R4RRUIO=826RCM):?\;XB_>.B3"AEX"I4
MD!C%%$O!E"A)% U&!&\BE=Q@A3C:J KW*C_*F5P7J2+K84B4\D9Q'> -@$I=
M"K<PVJ" ^.?&%$3LXQO,RJDNBG>0H,5]-5RF 0K*(#<4]WE>0Y.W6(*,PPI#
M4!%KF2:4$V^CO7"G%L^Q3DIC_[73.@ Q@8]U/J.DN**13>KR!'K:9.JU+3Z@
M I6]-)Y"=WG-SH#:S?Z-8:C3;@1&U9J2K*2]9S!M0&\;J30BM"!@Z-($<A'U
M"RQLS6:AY3B.V*2U/KOZ:*4S,NO.FD,][T&-DD:A]Q)Y18$ D[T_ZD#OP($_
M]:EVJ"1KD^YI^RE5HQTJ@A[HV'N<ENUD]VZ$;4NIH*F%R(96*72&N04FESM%
M62!+L!RVY8J?TMQ<+/;(-5G&&'+=^QGYPL%/&U4,(8+<_&5>[32V*?:/4L82
MKC6=N5;@A*WLG80=8[G+NJKQ$.B75R?=T6;>&P,U-.=U5.; 0_$NVF=4Z]Z8
MS.G+;8N'#3P%GC7UW(&!!*CC6"U(<(:UM40%!3ZW.8;1]UL@2\(H0W"MEWM>
M!"A"R4P*$*!@1-D4MT6J5N:28@MWP)9D8-L]JJYDS6FK>9>QS%M9KC# Q"1:
MA2A7OQLIPZ!KE>EDM,$G=FL5KT?FXZTDT%4Y :0>07HG)T8YT@R=@PH_*/"#
M ;JMZ=$"L,-;,8#=$_7]Q")LWV/N&R41ZA6A!\9,'/%MJ[ML]G_L=GK*QO*8
M'U6IJRY2?L5+<047H.E0@U%'WKQNPNWF)=?(5\,B/:RT72'B^+E9\.A129>?
MZ+JA%^!PTY;+6'0_L_V>A>6)>33I'I%K2;\]]$9)9[ ZD6#X[35P@?BV"&DW
MDGNU=&^Q$/9CHUX#.9QJHWCD^F7\OBQ2])I<@#E%&_?KS]LYKK*#DC"HM8RT
M&<LS\ CQ:^I2MS2?:,?3BQ\;TW]ETU\?F7[!=(HM)ZLOKNZ9L&JC0%%K^$-?
M7[P"9V!R41;@4!5<LY5Y+8GJ67/?)X=;$V_"?TD,R@ 61 *1.Q,,3HL-IZAG
MA9.)( 3Q^'IZ\0""!@]9 L&+X$M-74N O8H:)"X6GF/-PIGP/,N=SNG/U/,O
M?BJ(CISU)(6)-9FQ3C/+=Z?F8H):."Q+^I LFRKY,@66WSS$ "X"N4W#*U5,
MFYD5B4P)P.(HC>N4&#_-64:JH5X][#<SFV!I$IECANFBQ=9FH%TU)>A98YBS
M'4IEWCV6)\S<9AW@I<HX5,:JT3O6R#[*PA5@$HITZ=:ISAT0,0_0T$;#+<DG
M_K5M(E]FF[382]F%:RD-4LEVIMC(4A6L(+5I941'%3?4.Y+F2I]5Z+,)0^G9
MNJ4K\G5J')#N>5S+Y$EQX_DH)N"!$93AND; GA1.G<!"2BB=_*?655,X!^XU
M9*+N:/OG0Z'%C03UD?#AC\(3%_\N_H _NA73@TZO8(32G1GO_'%,>-VY#I1(
M7 $96--K,;'=0-R(*:!V@I^#JW[>MH".*J4^[0IFK\"<@L">A1@78&"(6A2X
M=D"R M^>3^D^L"<SNI_8WDQ\>_%>Z8\W2Y05*K\P'7!44KS[]F1*P^R9BUFN
M'9H[!W.$8\](A,MWO3:)VJ)(P8][18T"5<+VY\V@Z%(KSZ'1;1R5 K)A6$[.
M;]=!0:!^RYPWFH:/#B&?7CR8POP+']GA<7MQ@QK:'"9<M#@U[%FC8X;HB:DS
MM^93 KR9:\^"B[\U(39W+-^AQ^XT1%L.3QC^"F(K L?R7%=<$SA.[=F4@L/P
MXEL$/S69MX8>ISS<=:RY-^?A;CBW@^F7:N>+:3"W7-_!S'!BSV?=Q(9-<WT\
M.=&?!E804(V9(K;\BY\E9R W_P=)?5K E7LMIO[$"OW K![,*4KG)-&UPC#D
M$>]E5YW';=+6K-=A[NF6]E2#5><'<X_U/2W,&N-X+V?@Y$$-.%;FLSC%V<.+
M4_8Q]QSC$C3,B_P&NQ/77(-3JN(=Q)O#%__LW+/S##[V1V5(9P"@5G$#EPWQ
M,7S),.-RO#,5UWT\NJFB3T?SF=TG:KD$2%"#M9#5CI";27):,$J.SE)&G4LQ
M/&^<6X,F*(VP70M"63IG2= @-6=15G/D-9O;H4/UK3E0:IEYVRWVJ\H(=4;E
M-WA[@Z7EOMG+:U.X=D4-6%I'6VEJ#JJ@5-3P+TRGU,!1=]H1(1?0A1X\EEV2
M8X[J:^/0POXXYO$].>(=O? _7;X0^4^0A>&0Q[N![1[R>*>G]F-&;I3>M<@)
M=Y71:L2%QD6XU?TO%U[6/ QL?R9(Z7!F!TZC;1C:SF'G8/0T07N>%C2DI<GS
MOZ8;BN'0J_Z14_W^T/I05T.-/^34TY\C,C6_13T[23].)MFC1UL-RO&>83QO
MT/^(F7[_-3GI0!6(8.:0QP?M8:=!JU*SV C?T54MHH4A2!P&_+ 7B08!"1F3
MJ<UQ4[Q6@%7P]].,I=^GCK58S8F&.1,F_![2&2)46*%J6_!FCRE<AGH,WEE?
M1(/^' NZ-[E\\:&M>R?IS@17#I=T-_# %B_NR>5T].AZEN^'#,J.[72, ?1E
M/K&F,\_P%P\4,QSPG2'/F?F6#S3G<;.9';J/ZN*+8!98ON?POSZ(6OPYDA*X
MON4%<Y;B@<%]$2\9[=<Y.O$8.1D*^)H$9:38_Q=).8#"KX+:_F0,V]0)'> V
M-4N/%</S1<;H^?5*#'H%;W0"Y_7*-\JZ _T/E;T_%U5TSBZ;-:9^SPZXCK!U
M==XA\(DS$JQCZA%VMP_PHU,[<A?5+YJAQE&_D&*P ,-W=,PR2DF?F9 #SY<3
MT$,[#(QWQS7$K*>%9[DAVI*9?]PID ]'6]?D8U=/<OFI$DN*7;-]MCCUK__;
MP?<8&9V(TU<GVORSTWR:T3WM/FRY-]]S],/-5S%OHW*%'$"J+#$5O?7D4I3F
M2Q-S4Q4;_KIC4515D?'E6D: ?QJ ]\NBJ-H;6J#[W.?NOU!+ P04    " "\
M8')9PU$,U<L)   6&   &0   'AL+W=O<FMS:&5E=',O<VAE970R,BYX;6RM
M6=MRVS@2_1649BN5J9(E2W8N$U^J%'MSF4K&67LF^["U#R#9E# !"08 Y2A?
M/Z<!D*)LV379VI>)20&-[M.G3S<XI[?&?G$K(B^^5;IV9Z.5]\VKZ=3E*ZJD
MFYB&:OQ2&EM)CT>[G+K&DBS"IDI/YX>'SZ>55/7H_#2\^V3/3TWKM:KIDQ6N
MK2II-Z])F]NST6S4O;A6RY7G%]/STT8NZ8;\'\TGBZ=I;Z50%=5.F5I8*L]&
MB]FKU\>\/BSXK.C6#?X6'$EFS!=^>%^<C0[9(=*4>[8@\<^:+DAK-@0WOB:;
MH_Y(WCC\N[/^)L2.6#+IZ,+H?ZO"K\Y&+T>BH%*VVE^;VW>4XGG&]G*C7?BO
MN(UKG\U'(F^=-U7:# \J5<=_Y;>$PV##R\,'-LS3AGGP.QX4O+R47IZ?6G,K
M+*^&-?XCA!IVPSE5<U)NO,6O"OO\^86I*N6!LG="UH6X,+57]9+J7)$[G7H<
MP0NG>3+W.IJ;/V!N-A<?86'EQ#_K@HI= U/XUCLX[QQ\/7_4XB7E$W$T&XOY
MX?SH$7M'?<!'P=[1_Q*PN%0NU\:UEL1_%IGS%JSY[SX8XB''^P_A2GKE&IG3
MV0BEXLBN:73^Y*?9\\.31T(X[D,X?LSZC^?L<7.SXXEX')4/*D<9DE@L+1$O
M$E>UN*'&4Y61%;-?0G;F8^%7Q*8:66\$EI&E0JC:&R'%[-G!AJ05]"W7K4,E
M[K'ZE/<_^>GE?'YX<BDWFBMJ^W/X87;R,RK$K\3E]8WHU]P8W7*1N[%X7X,O
M3^\8Z;:.Q5*M$=>NH[U'.GG$".1 A&RNI%;?91 0RY:<0#0MUN1D/31/>,I7
MM=%FN0G;$"T4!I+32BT:"_&T?@/)R_[$.]Z;F[I0P5?AH+F0503#=N#1_9@G
MXO>!IY)?%VRED9OMZJ?J9YP-([ K]5B8F@X\E',L:E,?0.7:NI"93L\YDJ(\
M/XNV*2T2+7+I5FPR)(&C>*I@LHOP:RLM4JDWPIJ-U @G+743\:FUKI5UB&Q_
M!+ND,!F;=.%=CWOT"[56NY*LC:X&M(,S7582\*ZA7)4JEQH>)>!*1;H0IA29
M,@ ])^>0Y?&N2_M3PW: Z46K&S(@W^S%\8GXU\6'@_?78.C75A5B44N]^0ZB
M=[2*B[>DNEVI'$E$Z3!M4/>(.IZFE@PIN^RMJ0@PPB?I.9 (0F-N\0Z>?V48
MVXISD<L"7$2KL8%M,AX?Z57 GBKA-IHS8X <_ &EM7\+?>G0>W$P)*D! 56F
MM ($X&!8=I_R?*238 H<C$%S8$(6D<)=UF4RA$=5Y\8VQDI/X:?]H =-, U(
MJKX#?+POVARU9=8I$@!5\:$/547_[E9IS34%M6H#1=#P=42V,YHXDGB#XP);
M')M?D#5!IT.DEU0RT5@-M989!\%!]L>ZG6),M'3WE4"%W"++TH+( +="M68T
M'H*3=%&QH&P5I VI= 08 )?<'LSN(=E&K*3;5=9N<0Y99T)P<J&SX.-@>_#&
M$MAL:8<1,,#JT,?0;P9ZK%B@UUNJ^0"]B5SJ-7)K_0'#K%&RKCGQ/!UZJF4-
MI$NB&$]4$P8+(*=L!;;Q"TY)_Y*#SHAJ08Z%2V'<*5!"G9 /@9^(ZR>R:DXN
M(2]-S ]8;T!JQCQTCCT1H 9!58RE %8Q\I5I^7U7&=RY&'>,-&!)'MM>-Y3$
MYA="PA^S"5J0^+6M"4^SE[L%Z"AO.7-0Z_[TZ-1O<JV61GRRQA,+Y-LJ>]?K
M3?RQ[W^=5]O&E9N# CS0I@D6P>P*4ZEJ4+FR++DQ,%^7<#'&% 7KFIH@4&)E
MN!X>ZGB[/0@J5\FZ+2%RK>4,!(UHFT9ONGR4RCJ?JM=1=_!8_/86JAKDL=/9
M\38&'3B#?F(@)<2::OBL1BI[IV$S#K,7)TZLX-X!!"5<39@Q\:0(:&>I7RV7
M$L5.XD_R/-J$61ZLDL5. ;I05WR<LN)7+,7SXMEAEQBQX!)1/5_O]&>N4*>6
M-:=8:%,O#X*017CNIKSS,&1D@ V'8." 17/P+/=,R*2X_.?=A(;B9HF1Q3I6
M&%K-7L 2R?*AO 6Z;F<Y,/CP3M. .VFC:W-NK67+K9<[G2;&YS[[F-^[;@HO
M[9)\E\J;Q?7-P87Y?#"'+JLO0:T9WS&3(,-DXM%1OO>Y$ VXQCT_T!('K&6>
M8XS=5NC%U>?WEP>S7T 85"E:8U!;W19\(D"W2_YC+5'>7-BIM0S<@#(#WK6R
M[1W"L_B$F8**3D'0H36;:YN SFX]^!5HFX(.@</6$!Y^M\;^H@^&5UC20:%Z
MV/(5LBB]65K9K#:1=8-) S?H+P'\;#/,UOULSOX/V<1\AA?W4QIZ7%' MZ"S
M2_![&:-2F#3V2&_S#A*(P8-OXG#%J\P4*K6#-_E!V8:[?N+"CPI/#_L^I7FG
MFG?CH<)$XPD*-M67X[#MHBWP$1C2V>.4J[MEQ==$3\M-'#]8X6-_0PR@9TY[
M-W5!BHP;&1#<C;;B&?#NO,T')(_ARC_$T>2EJ#   ;0Q'N>3Y]UC<(#?'/5O
M4B7]2"L;ATF1PH<3[O\P@5&K3A]40D8#[(@%-*TZ>C)JEE!01;RL;"<2V!UR
MJV_1R;>[&.$P9T*EP!!:OT]I0?#,5TLK)M.:PF!54;B.Y"O6]2N<;=%R;J+R
M+G8GJ:N@KGS'Y?L]#RA7&5,G7LO>1V=J[BH\6^**$U+?)6JWH.X-9$WG@PD^
M#.1\.' P=ELZ!U\+!2*IK/5FN N\N&H]@J^#E)F!HZB^>QE,Q#@>))[3P4CG
M/J8CHT&ULR- 'U?&P(R)^( 2UMSN6/!PHA-O0CO!?3*,^^%>J1Z B,=9'O%E
MNHS[W?H=7(-1:2D.P( NFT+.M525BVH8JMI O!MM-I0D,MKM4@'F\6>]/$E(
M([E?PKN2!2)=%3YL3\K1ES)*M(L25##LMFU"?>.T%%)_P#::B?AH+/$-99P4
MVV'&ZLFHZ9O0 ;MF@!UC7RCH9HZU82CFVS??#[O6<)?S:_Z2V<].'3;<WL$J
M!-5?>5L?A,:EJ;P/D@VCQN)@'IL*\XCX^@P]TL6NT/0U&)V/TSE7)'0,ONXN
MCE7MXFB^5D&MN0/GW><BCZDG-(-;E";HP%G/C _WB2Q\<XA- PYWE\9^N.^.
M[*&)4WBGNFRXRZ EZ="M,Y0VK@2*YW9XNJ@Y0KDVX1.",*UG58A7Z$V*+P(*
M!I>BF_;'3&!=P)' "!ZCB/E,9<ED-?NU:4L,ON$Q\=$<,7ZI> 5C:DSV?>N;
M#K[5\E@2ODBSU"'4^-FV?]M_]%[$;[W;Y?&+^4?)4PUGKL36P\F+9Z,XLG</
MWC3ARR\RX$T5_EQAX"7+"_![:="#T@,?T/^O@/._ %!+ P04    " "\8')9
M+0""-M03   Z2P  &0   'AL+W=O<FMS:&5E=',O<VAE970R,RYX;6SM7%N/
M&[FQ?O>O(":[B0WT:"2--*/Q#1A[-\@&V!-C9WW.0Y 'JIN2&+>ZM21[9.77
MGZKBI=DWC60["1#DQ=:E62S6O3Z6YO6^5)_T1@C#/F_S0K^YV!BS>WEUI=.-
MV'(]*G>B@&]6I=IR V_5^DKOE. 9+=KF5]/Q^.9JRV5Q\?8U??9!O7U=5B:7
MA?B@F*ZV6ZX.[T1>[M]<3"[\![_(]<;@!U=O7^_X6CP(\W'W0<&[JT EDUM1
M:%D63(G5FXO[R<MW,WR>'OA?*?8Z>LWP),NR_(1O?LK>7(R1(9&+U" %#O\]
MBO<BSY$0L/&;HWD1ML2%\6M/_8]T=CC+DFOQOLS_3V9F\^9B<<$RL>)5;GXI
M]W\2[CQSI)>6N:9_V=X^.[V]8&FE3;EUBX&#K2SL__RSDT.T8#$>6#!U"Z;$
MM]V(N/R!&_[VM2KW3.'30 U?T%%I-3 G"U3*@U'PK81UYNW[LG@4RLAE+MB#
M*&2IV/^41NC75P:HXS-7J:/TSE*:#E":3-G/96$VFOU89")K$K@"M@)O4\_;
MN^E1BC^(=,2N)PF;CJ?71^A=A[->$[WK07I+PWZ0.LU+72G!_GJ_U$:!7?RM
M[[26UJR?%OK*2[WCJ7AS <Z@A7H4%V]__[O)S?C5$4YG@=/9,>IG:>4HI7X^
M)_,1&]J"_;H1+.5*'62Q9H\\KP0K5\S I^_+[8X7A]__;C&=W+[2+(U(:$NB
M(!)2,Z[9JLS!Y?7+9Z!'L5T*1;J,WSQ[?K\MJ\+ B@)V*"O-BTR_>#8>7=_.
MOQ]F,0.>P"9F+Y]]4+)(Y8[GC!,E]AV[N4MNQV-X,5W<)K/;\;./!7P'9/XA
M,O!7, &I=<6+%(Y9:MC[.9O.%NP%_I\LYG/VXME[?WQ']/)I5A)6"+?[;#ZE
MW6?)S63^;#(:CY\^RJ+_*.-Q,J:SD,RGK[IGR<"<Z>GG;#&!K6_A((,/=PZ^
M2&9 OEYQ_L$7_N#SR3B9S*YK7MF))V=_*6JCF,RLMR>QP1'?< 82R&@,83#/
M*:*OUTJLN1%LUY8=6*R$$R(IMQU9F& _?DXWO%@+!I;&'JJE3I7<47ZX!V("
MT@TLVTNS89SE<BL-[%M4Q!O0W)1Y)I3VY"'):0.$4&+3\>3.;86D4S@SI$16
MPJ:*_5;Q7*XDT)*%-M)4N"-PNZP.2&Y7*52,8:9DOU0@J,EL=L\J"*.*F'X0
M::6DD4#[/C4C]B%Z_M1#-24JW H4*CCSZ#8(-4C.'R=A^XU,-VPO% 8&,)\\
MAW75#A[V9!)P=@6DKL=WH[L3]8/L1/IYCN_1=*;C5^$\ORI>:$[YF[Z:O'I!
M9PP&,;T;CR9?MB$HA^-SC_1\#B$2Y80BY6FJ1$:J[U57S&I#VA&[.O!K)=-D
M%/9.N=Z,*-@&G6"PY;AK0Z<143I[)HQ04 G <WRW4^5G";6)R ^TR>@F5B32
M:>NWEHQ[H#:%R(0U!.,\8TN!PD !PM=X$ CKXK,!>Z^DWEAG 3(47)"W-D.3
MQ2(Z]1&BVS(#_TBY<9PCQ1&[!U^"RD]#A056*.!E6JX+BF<<J4^C<T%.!UZ*
M%GN!.W3%2F'*TF4N,Q(S^*X1X1 IJ$&)#=:;CP*>A_>"V$,A'0173&!=TTA@
M+E;!PWE%RX#.=RS6-'Q0'0_#(_:1'+TA B<@.(GUV[05F)WN[)JFZO8@3C#?
M*H6/EV05HX5G)_&A+2T5R!5<F&(7\ \%O19D_!E8OC7W'9?9)9GJ3AJ>)\XW
MB $OF+#4Q=<5EZI9-:"P,A2<+1>HFB_)7Q+@DXH2.BAPU<QHPV>T?E-[>V?=
M=VPQK9606-U*#43HR]N[T77DB_4).L[1)V R]*9<OU(,MEZ"\TNP<&.U1V:P
M4N6VJ?\&S;@ (QF4/5:^Y#D9&_4()#K<SIK1'MAW_JB$C7>@8_@'8KTVX$O0
M^]6'.M=YP"6 8SK\:B6H_:II;P44?*"/1Y?C,*AUHS3D.E6F0F2ZEL5@R+4I
M"A1S>Q,K'^N3$ ::%1!9PV16UQ36LGICKXU#)".L1$;3=J3MVT")W$;T<LB<
M&NG5"3Q#<P A5N"DM!]ZG<J(+CGP8*Q VP3[CBR33KX21.D$#FO1-QC#R*LR
MRUBPTRS8J5O<;Z51SBV+H4;BF+W6*9+LU4=3E]XZA^U5<R?Y8RRSA!I)I[U4
MGL#Q":X0S%P)1$K(+P8,?KC_B@6YLB5W7%-HFX<R:S)Y6:PO:0\?&:)S_.&H
MS%')L$$GT35U46FJP,![9FU/V)WALZ 'R *5 H_3R !7(M37(+HMU@VF3#]9
M6KZL]@M4CW)'4"\+>LDFD)Q]H89$7/WNU,A^_*V2Y@!=S@-NRWX)?/CJS98G
M=4:4A87!;#R('$?JZ!1]-IOK$B6&)2<:78^L@,Y*%J0&/"!7QJ9^+8S);6U*
M-7></U0L.T>PMK X9QE\&-(;INV2P1&PH3A83NV*S+8X#9Y\?B!=HRP08D/2
MKB2@>+,6A5#P&B($G(VJZ0I>:0PAUB+)W.%XT-' \;6FA,53D+Z6U@K*58(,
M2CB:-M:5I,O;]NQ<':#\AH0B-!$&%C'XP"O$-&3J\K(1Z:8H\W(MO2M%3H,Z
MMCA% D69QJ8**X)E+M?<LQ%[B0VG2RS]0MH"04))BH>$9['#9=^S'4@."\01
M^\D_!O:PXP=ND9&MO.1% 2T@U,08S"$6<V6+50X!]L]5 98ZI\WJ1GA.IX>C
MIR@]>-8]1JXX8YW#D:I(KP*?;A"B-AO/G(/T8%.52X&FDV%OF"61$66H!5=6
MB,QN L9D).DW&!X)P)> <5C5;#:ZF\YN(T=NAYW(I5%P$$$(X^CKV+K)"#80
M8#80%GVO5O3Q!\125XQ/Q]>C\0UM13R1F$/=B=GLFG0(3B"K;1VH<ZZQ$D-O
MQ1 /&\94)W,H ,81U5CD-S&&D9&M%([_EKPHMQ+9#"L=YYV42J&?H;V\T?L(
M'MYG'*P)#"23MMN"$P 9-)8'L3--Y2>=C9UCQQ4DF#8^98O2H+H(\F@D<MB1
MPA&%*' ?O7)U$CRH=R*U=4Z*'8:E1[TK1!V,'CZ*"SARYK(Q-L1 T@E JHY%
M6'<,SR:GV1@&</QD";'5UBH;$#K&&W?>>IV_*DB":4<F93,Q7X*!N!C9YDZN
M@$$;4L'!5Q )&)9E^7%]0A@"&3&\;<DJ!%:,XJ3%8?U2)>DB.-G7^>H]KET,
M<I"YC-QB<EASE5'@L&NTB+3:3'5;8-E&%9*@U1*$/:N$5N*+G1LV)#S-]4,V
MM5D1UH%L0;9\0U:PBWUE.@%7_2H!NK .K&^M>(*K3RC"A[SX)*H$+"U%%%IW
M>:6IO4*\"CFO"FRKZX1BR@1L GNMD"DW(F;%*AB,RWM-[%,0/J"1:K4(3BR8
MT@O*!VN,:H6G/0"Z11__Y%=Z$ LR6\/)+#:Y+M%6_'K,[IQ2-81B:I]\$?4<
MZDGH00BR<O5TWV8ODK9)MIZTY@7A7XD&,\T2TEN>-SRLI!PQ""HM*P^%I-.X
M0*06"7ZIWD,B?5KU/F(D-NJUS, *HRO4^*AH&EATA!*U82=.+UO^25SN0:I]
MU/2 CGKUP\H42B;F8J.7?@IRUB=X.2FFMNLF'HT!*R%8U!NY5&FU170]=76D
M0ZB:43D4(D@DVBN4,,PZ3.$N@:E[UA5DXJ-B83T4.<'>S4, .VA%2D0;NAQG
MO=BV"'%@H90758H>8XFPS;+C(UXC>\XT 8PU^& [_G$$_$;)BVXW*ZJ-*%G7
M92QB6 3ZM $,#Z-A58AY'%&;'++:_0G-<D )/+^#X *AE(BB6!R.66S2EGBV
MB=6NO6\!+4>WK8X!J0PU#!^A,U(6]Y*+[@]..F/C2*X1(KVU3-^AN[_VXU_*
MU85]%?3U'?N^)8[,A72WNKN0--KBOZ/4<'D2P\_W_=U^"W@>0B*L(IM0!'5B
MO2AH'4G=NKN;-OC67=3:+;H 6=J6I7#@&E7L*74&4 ,(._*!.;Y+Z"C$T1?]
MR)T@,FDWE8$-*?)A)2\>Z[L0F@BAC G-"7T1?<Z>VQM!"!QUL*M7+WGQ254[
MDQXPYNDRAV_2@VWT2[7FA=<N=,KPI0\T+HRZ"*V=FHEE650AFT2I%<)6+K#%
MF<XAS\E3[LZ:MYV-K)R)-,<H.) UJ=I&^X20>JP6PB! B60@O>*5,55_MK4>
ML8^^ Z%S*U'8HNU;RS49/EB(I$\F>?2+WK.Y8IUPPM8)&:_0U(S$[ -!&!9@
M!@MJ("<K06]ET'%$>*?*1YD)2E*)#UCBLR$'B9(O]3W6:#!WV![L^F:.%;2[
M-]:8)Q66M >7;KN639'103U> ^#,>85-VO+0+MD(VSG8C.P?M_TVM8@0H0M>
M& M42NTJ(TW9*$!=.')ER[]48'1M0'5#H;+9LX";%"4$QCUU\:2KKC?;/+^G
MZTN.4RW!E6!S;_S_(IL_=3B&_<HV/2,4T\7M:'[6C7D $0F$ NE/[A+[,5VA
MF^B.I"=E44[>0Z<5X:[BLU"IM!=+JRIW?N1;4SAWJ'!Y$>OT.W9].O,1XW&;
M8S_Y"R1D+-/J!@=M F^* O;ISM]\/G%=J;OZ $,-YZ.6T^59-P-2;K<@]X!^
MV,CO"XC2D?058(T8-GTEL2A1YZ[_=E&+ K)-U.C:P2L?'Q!Y( C1GJ?W;JM5
M&B4TR!1=KI^4'R*!6T0YSA@^L=:(]+<&8\DOO@J-_3.'CR&M.RS6VOH<:1-.
MBT2A21-K610>DPTKJ'P8LQA0;T'P+8#647=P;@\XVP_)]MT&VLZ6BI%3$=O
M%8AF,;JYG=WUHVG1A==9N&WM>E^&VW8&22;ST711XZTOOB%<>@^[YD$525M"
M7X:E14'S&R*E_SYP<=BDST>1XUNIDW'&H.Z?.?@%LW."TZ1Q'=:)0REE[ V'
MTF I1.'NTC(_?S4 (?<;_:E <ECMX>013CBVN&Z47Q2F'+*-7SQ8K3U4.W_Y
ME4=]2->)0ZL(H>RQ3"'.N9K.MJGVT&WDI"LL.Z[1/",6TX2EN8[NF(02NY,W
MHAWOM'%UU"EJLFX<$17?B 3V/D863D>]"00K-XNU]B3.ONO./_7:X6G H@<0
M:X'U=Q^\#U#J\.(AYR\#((/MG8\OQ]=2J\:M]4]=J*S&G/W=KJV-^] [B[Y\
M*8#7'R'VF]*:LNT8*,QT%3&$\;6Y'K$?:G!N558*'@1Y*V.OOJGV3AI%4TA(
M3X8'-&&!1>_D.E)<7VYK^0(>?EN2Y7&$S>(8'2(3W48"86R&H%0B**GO.7>:
MUNBDZ7K..=FLM3P".%=2 5]-$;H,ZC^4@X6I?V*_$7V7&@EB-#1:$VX-+-[2
MX8A"0R-=1"$?KT>H?//;@5Y3:X9F(U76XG[<$AT/^WF/H6&/E:0XU[F*.JVZ
MCGW'M:X9!2"!"&-DZ2VH]YP2G$(KIN?*=$=2;49W^W73XU%PK*X$8D H4%N%
M:M4V/E0CN!3DAR/[K,8-/D4KXX$[ C\];DDQMBBW$GO">CC_C%SNM(6_5O&&
M/F+O1,HK%Z$:R8'2+D85;&D*-PP<I(B(150HA6L1<%F-I9T^BJ/6=>+*-EU1
M>XM0(Z85PW+)EV!Q] N \R:Y3)\:&Z4SSVK'OW_X2$YP.;YIGJ8YL-TV-4T_
MEK L'BP>:B>K$.,!B>&D*2:L(Y*HET=K@# ]% &]'/P7!,25'^O61E7H8/8>
MK$;[PX!R9#7MLBD^H190L(3I^T9R 4$=/]W1J;VADZ4\3RL+!7#MLCS-I-3+
M:08.ZZ05_I J%&@!S?>M[VR$C6^0$>Z#9\$D$<=Y$\_=H7R\*&E!(8]/'W94
MVAC>;E>7UJ3:</TA DY,+];?)ZTP17BLI"0CI/L\=^5B2\HG;G#[MJ,1("OZ
MAAS\G(?RX[38QEK-M6[.\-CUS'_?1'7?H/8Y8Z0K^/"2XE!SC+0Y(=_U0JY=
MS7RYA6J,(!?X"&=%:>38^"L#R_86?Q7L-.LS*]J-I^M"G+UJ&]BR<P48@41^
MICBZ9'/70HWI?3>'S)L7C,,_5#@K1 [%C1C6[+WY.S6P(%Z<AL!B2FH*W&RQ
MF_!V%)\(,H,MFP46MC2WZ>X@M;?, +(\D7]&C8JE]\"]@<Q.W-]&,\!4>"CQ
MA .<]=N $ZR]PSPW1DDH?J@Q]'<?'7^P[$^BVW//?@$E"_#N ;;NVMZN5D=3
MQG_P:WH&U(Z8XWVPZ_S0*16=PQ!2'<;Z#?\<*<?.)TYJC8S8CT'$ ;#L R*H
M$@!Z414 [!#6Y(N$YH*BW'O7T;VXA._O.S]4<=<1=&^%*_=<98F-X6@8>6QM
M=:0RD5&AEJE6[U4.W>I07",LE5K[S-VHZ!V0=;\ "&F_7GM4YCS[>V4'E*-?
M0%D/@Z@UCMS WAAQ'?O_L5]7N7&$Z33Z 26H,I<K<6G*2^H^.E[4^%E&W_""
MSTE]9G7$A@+=GFK/QF%,]'Y ^.GDVDVI[DGY9*(\/08\A,:NW>OZ4CSKM[#$
MPBG.:)H#$RW;J9FU(RY3^B']X)A-K:>A)&CSW23Z5;.?G6E!;K5.\/%%&)NA
M;FAH[N.IW_K$U=->Y/F)TRKQ[0&P/CUY6J79G9[&]1<.J+0DW.RL3IY/F8SO
MZI\7#<^G-#;[FOF46"'#+?CP9&>$?/]W6J7OM_G_S&F5L,E_X+1*^\[GFTVK
M!,)?.:TR_@^;5FEV<F=-JR0!-_)?*;![]4F8N)'[EXRT/.T4?7\MYRKZ>T9;
MH=;T5YOH-J\P]D\;A4_#'X:ZMW\/J7[<_E6IG[E:8QC,Q0J6CD>W\PNK"/_&
ME#OZZTC+TH#QTLN-@."L\ 'X?E4"]^X-;A#^7-;;_P=02P,$%     @ O&!R
M69C"):4O!   PPD  !D   !X;"]W;W)K<VAE971S+W-H965T,C0N>&ULI591
M;]LX#/XKA&\X;$!JQ\ZV%FL:H.UV6!\&%,VZ/2LV$PN5)4^2F^;?'RG93G)K
MBSO<2V+)Y,>/Y$?)\ZVQ#ZY&]/#4*.TNDMK[]E.6N;+&1KC4M*CIS=K81GA:
MVDWF6HNB"DZ-RHKI]&/6"*F3Q3SLW=K%W'1>28VW%ES7-,+NKE"9[462)\/&
MG=S4GC>RQ;P5&URBOV]O+:VR$:62#6HGC0:+ZXOD,O]T-6/[8/!#XM8=/ -G
MLC+F@1<WU44R94*HL/2,(.CO$:]1*08B&K]ZS&0,R8Z'SP/Z7R%WRF4E'%X;
M]5-6OKY(SA*H<"TZY>_,]BOV^7Q@O-(H%WYA&VV+60)EY[QI>F=BT$@=_\53
M7X<#A[/I"PY%[U $WC%08/E9>+&86[,%R]:$Q@\AU>!-Y*3FIBR]I;>2_/SB
M2],JLT.$*]2XEAYNE=!NGGG"9HNL['&N(D[Q DY>P#>C?>W@BZZP.@;(B-3(
MK!B8716O(G[&,H59/H%B6LQ>P9N-F<X"WOO_G>GK./G'%)['@AL-OD:XU])C
M!4LO/+I)V+K#5LD-:K@VMC56!$6^G^9O'][!4CQ*O7$@=$5V7EHDT4=(>,O.
M?_YQ5A33\]Z<]\-.?OX.)+G!KTXHN984DN1(;"LHJ156KKH0IF4@R0-0&EL)
M72)IS->P[ >CQS7KP/1&>[1:**+RB+I#8EQA"I=*P7VZ3 '[U!V81[3!A8:7
MO8L<A$5 2E2N%((W)-0'!#HL3KQX.B+EH&O90(!KL8SD6[0E)=ZC$;"TY-/0
M\>-"O5(J;-6'/*A%+/ U&0J]HXB["5 ,KHPV'LR*Z AN1Z#CRYIB4@="YGW*
M8TI<UOST_ 6F0W%I^F33-2E\)]\(2<%*H<I.A4A\V/ :=24L[%"$@T.ZZ+%G
M2IYD_09FZ91&6RF*-J%ED9X.RZ")-Y"G9^..C!IC5 ?(LP8T*=BLJ#+#M(3?
M(CC3 VU:Y#+S^:=V*<MTN<4*_U&Z,6OJ;4AXPQW6+,:3AK!B;F79M:$=))&V
M/YR#PGPM_+_68Q347DMRH'0L(;IT")= #R,=E[$5.\<2:V37]+S)PU8GK;!^
M]SS?H#GBZ#QL:_*HZ&"E!5)%N2"_!7.XC\#\^!H(;7X45IK.P9HN%V,YC5)U
M%4TSH"!9#/GUNG(\*1-P0M'U-^G?AEFG%,E_%SH6;RS"7\6SQ0TM/Z;UL^9B
MZ3$&$'U*@X\<H*K9<)#$TV=/GZO% 4FN2#GT]:6^C2C,X% 4M> Y@G5G:=<.
M'$XL]E*/XQ7FY#>PXT;MY14E?:3Y/,V/-9_#H<&A?KG'S/#ELRX2^6\S NES
M5TQV<+$V:#?A\X&*9SKMXQT[[HY?*)?Q8MZ;Q\^;;\)N)%5)X9I<I^GIAP1L
M_&2("V_:<$VOC*=+/SS6])6%E@WH_=H8/RPXP/C=MO@;4$L#!!0    ( +Q@
M<EER083I(@,   <'   9    >&PO=V]R:W-H965T<R]S:&5E=#(U+GAM;)65
M;6_3,!#'O\HI/ UI:MIT@VEK*VT%!-*0IHV'%X@7;G)I+!P[V)=E_?:<[204
M,2KQ)O'#W<__.]OG16?L#U<A$CS42KME4A$UYVGJ\@IKX2:F0<TSI;&U(.[:
M;>H:BZ((3K5*L^GT55H+J9/5(HS=V-7"M*2DQAL+KJUK87=7J$RW3&;),' K
MMQ7Y@72U:,06[Y ^-S>6>^E(*62-VDFCP6*Y3"YGYU<GWCX8?)'8N;TV^$@V
MQOSPG0_%,IEZ0:@P)T\0_+O'-2KE02SC9\],QB6]XWY[H+\+L7,L&^%P;=17
M65"U3,X2*+ 4K:);T[W'/IY3S\N-<N$+7;2=LW'>.C)U[\P*:JGC7SST>=AS
M.)O^PR'K';*@.RX45+X1)%8+:SJPWIIIOA%"#=XL3FJ_*7=D>5:R'ZUN40G"
M FZ$I1U\LD([$?+E%BDQWUNE><^ZBJSL'ZQ9!A^-ILK!6UU@\2<@96&CNFQ0
M=Y4=)+[!? +SV3%DTVQ^@#<?HYT'WOR_HX5OEQM'EGO?'PL\8D\>Q_J+<^X:
MD>,RX9OAT-YCLGK^9/9J>G% ],DH^N00_3^WZ#!K]GH"!Y*P1DM\D:$4N522
M)#I0R&>^@,T.[AJ^2;:MX5J6>)=+U#G/7U^OX>CYD[,LFUX,%J$[NW@)PB*8
M3D=_JA!NS0[>%H7BRJ*9<R_UEA7P,8<C/]USPL@ F<"E U,"GP6L-VC'\P#'
M 1G=XRI;KDO$)E0Q_A2>>3]OLS9U(_3N!8-:<B1TX1=V%>MS$_A4(9<"8_%X
MWQARSH@LT+J]9<C !D%P.8HY;'P. R$F"D1M6DV.)V3AK7^[-E8:.PPU[4;)
MG.65:+V4CA6 QJTA&;B\![R\[DM7)ZD*;B+_V4HGPR"'-N0["AAT2YVWUC+$
MHB; !Z[?+&Q0' 6X7B_'9D@H+^$I3">ON<0HY>FEU\K0'0I. /K[_/<.A&\&
MG$[?F,'DL=.>[A6G&NTVE&#'X7&>8IT:1\<J?QF+VV_S^$1\%'8KM3^3);NR
MW-,$;"R[L4.F":5N8X@+9VA6_%*A]08\7QI#0\<O,+Y]JU]02P,$%     @
MO&!R64*V7HK7.P  -,X  !D   !X;"]W;W)K<VAE971S+W-H965T,C8N>&UL
MU7UI<]M(DNAW_PJ$MV?:CH!HD=3I/B+D:\:S=K?"LKMWX\7[ !)%$FT0X."0
MS/GU+\\Z !"2/;T1^[[8% E4965EY9U9/]Z5U>=Z8TP3?=GF1?W3XTW3[)X_
M>U8O-V:;U)-R9PKX9556VZ2!/ZOULWI7F22EE[;YL]GQ\=FS;9(5CW_^D;Z[
MKG[^L6R;/"O,=175[7:;5/L7)B_O?GH\?:Q??,C6FP:_>/;SC[MD;6Y,\VEW
M7<%?S^PH:;8U19V51529U4^/KZ;/7\Q.\05ZXK?,W-7>YPB7LBC+S_C'V_2G
MQ\<(D<G-LL$A$OCOUKPT>8XC 1S_E$$?VSGQ1?^SCOZ&%@^+622U>5GFOV=I
ML_GI\<7C*#6KI,V;#^7=WXTLB !<EGE-_T9W_.SY\>-HV=9-N967 8)M5O#_
MR1=!A/?"Q:$79O+"C.#FB0C*5TF3_/QC5=Y%%3X-H^$'6BJ]#<!E!>[*35/!
MKQF\U_Q\P[L1E:OH)EL7V2I;)D4372V795LT6;&.KLL\6V:FCI[HIZ<_/FM@
M:AS@V5*F><'3S Y,,YU%[\NBV=31ZR(U:3C ,X#9 CY3P%_,1D=\99:3:#Z-
MH]GQ;#XRWMPB8D[CS0^,-[3B_W.UJ)L*".?_#JV8QSL9'@]/T_-ZERS-3X_A
MN-2FNC6/?_[K?TS/CG\8@?;$0GLR-OK/GVJ#6_:Z;C*@3%,/P?=U(T0?-R8"
M2'=)E=!Y@1]769$4RRS)H[J!9^ P-G64%=&R+) ?9,T>J+79P-&RN-M5&;RQ
MRV' M2E,E>3Y'G\WN\:D^&X#TWPJ,OSKIJ&)*_//-@,4 5D7P APEJ@IX:_/
M)C(6O*1(HZ0&YK%#Z&H8)VFB9+6"TTUC N1EA:,F6X2E1OCA>=/PJWF6++(\
M:S(9*LWJ95[6;458@ 4A]#CSH7=XEA1@P1?P\R!V\+U#X%3FUA2M &"^ &.M
MX8^TK1!Q[B5"HZFR,JTGP:$\C(S%WD>>AY67Y7:7%/N__L?%;'K^0ZT@P/_+
M$@:FC8:MC+; Q'#7(F"7/$95)06/5\<1[&)Y!XLU]/"R,FG61( ^@#^F>0J0
M'R 4\NQ?R0)&N4WREO"4%3!?4U;[F+Y+&%P$?]=6RPVP4Z08&!=G6,K/E<D3
M1!T0P:*M@6[K&G9HNP!\TP.QOU_PL<Y2PT0;6QRET2K)*@:D9D@:6%"&T'E;
MO"[+]"[+\QCW"5#_+Z;]K6DV@'X&E+<BCNX()T#S<IP1#E,U(/F0P*O6N$V-
MO;WR5D-48\%2.H(5W)J*Q-S*)$U;,<#NIX:@+DH<#?$/J-N5M;$D7M=(,G<;
M -I4()(60"I?$#]M5F]H-W&'RY3H2&2A/;#);I<C@0MX78*1T6"K -TQ4'JY
M_'R$8C#%+<'5"N*;Y(M%#.$-20R YR.TUQ5UQT?" 2%JJ@I1!&-XFZ.8LY3C
MZ' 27>6P1>UZXX\*;ZS;/*F0Y1!><%T; ,IM1XQZ0 MG%F %FD?":G-D!W!F
M $GP2)41SUI5Y;;[\B1Z27@@)NB=QHH/5)4Z%L=4@W_=;;(E0;F/%O#0UD2?
MB_*NF!##5< 1HS JP..&A?5N,D XG ^ %TFKR@R>0<3-;0+CM_ 0[7F/,<+Q
M7!C8UUO>V04"F-1E0:>S!1%<,7UEU;+= ON"8>O)B%PZM7+I=%2JO$CJC.B2
M9!X<.81I2#@]<)AK;QA"&!YW$,\I'_%A^;3,V]30^H3.ZP[U$081V7>;$O;Z
M"+8#1JO;!7"2#!"+.WV5PZ@>\P7^8:JEOJ_C$KL'KE G2\;^)KDU@&X#])%G
M6^183!,.;G@,Z$@8!S _.)M[DZ!NF=,V\!!\X(AK@)J*.BQH@W!( !)ZVL?O
MV,:=V8T[&\4XJ+B@P!;12YIDN1_:LZ\;(:!OPE%.9$W[,BQDD4TWQ.-H)+LA
M>Q2_%;V-!X_%FTAD V/([G;%YR3Z,"AQ\;Q:@%(<*$%&M3:].49D,YQ?&8(8
M4_H'Z.HA ?K?=81 EPOJ:0Z(+"]A?%:P>A@A$GW;?SHU\!60G4A/XD.@&;!$
MQT5L@0VT%:_:),"8A%$A&NE4,/!$LT#E+2@&!#CS&9RL,ALTRH!&40% +M5T
MSZ60<D1FR3"@!Y?57P+JI'MB7%^_! 8;OD&^^T0IX.D@U!X/(9707RJ/,';0
MSNU!.Q\])D*20)I6 QLZ:U\]2'#<6/5F[8.?5'$6U4E.FL<B*W=5N13E 3ZF
M[1)5/53&=Z0TI.86-#.4F)XL1HRU6]R-.FI1"Z"-%#G9?14WD&U8T&]4,N;9
M"J!8DBCC@XF@;!*@TZ5I&Q)V69'":TSEGTA:>>89F U%FE0IK-93:7XI)]$3
M/%"SXQ^N;E[2I^D/3Z.SX[,XDN^5'S V7H(2B<:=$.-+!326=RWNLEKUY7_A
M@H$F8M2H$D!-N<BSM:BM3JPB ;-V1IHJ3D*TB[I2O<I,&HM64,()JVH:DI\$
M^U^8&>S(-D,$Z];@E*A>$6(!).)@JCAY>+9<#Q]R9T48+UDC8O(XO3D0CGA*
M<#X2/4O#Y&]U0-) [=P^[00 PLN)A<ENC"<J6>_7;0)NRIP1%%>R_S8FZCVL
M)YOY)7&$CO8?+,,J4N'"A]]EM:G>D#:X, $3&08&2!7,'14/C#115HT8$(@1
M_'%;UF N99\-*J8,"#\0PTD!EI3B*+(+*Z)(/!:!<L8'$/="1(@2UB3Z;7A!
M6?V 162K6'_LRJ0_VG2-ASE&91(&@VU>T#1L>0?*T:I%LX4.3 4,ANB+10="
MK.?(TSOU5*#MA98-GX2)YXXXO%-DOHN0L*X*M7X .RI_G2FH-OA!-.#A9*,&
MK(<U;A/-(U8$FU##]@NL/EMF.YH&Y!"Y255'!SL"IF3/*<[UQ*GSL=7F\$&4
M@\NDAC&>BOI>.WT=2.8VR7)$Q"2Z >Y=QT)D29HR<V8I!]:307LFSYD28<:%
MV23YBF'/@&/NDHJ]&152K! ',4/9HTGT._(B1:]2=Q]C 7.+"5=6W2'&DZ1(
M73#CGKZB23R.()S/9 2Z1TLYFDF($&(GP??)"J#RL1R+%8=@HKX2TB0;!_ 3
MBO(2=2#0ZL':W>NJ=@B[-:[2C$ O$$G)NDIV&Y0=1]/CH_GL:'H1,I>T!"PB
MW3*%6/*[%P28"HB@1M1X9N+"-'=H,Y @\.>1Q;)I."QLG(0I4C> 131L (D+
MF)TM!T KT!"(B5_PJP-DO;2R$3\EI(W=O[:$CNTK$!K;!4RMWME)5]0ZG6";
M['4&YX/RSY&WYDGT!DFB!;D9>J<.L+9:G4HL(%55'!A:SKYP8,<W+,^M2>7(
M$6&UR7-Q="Z=HV9<6M-F,=V-0!%Z!*P:7(_,'L MK*QQ'H=#RP74@-H+&B][
M>X'?@8[."SDT%[Y#?'J!JQ(Y4)$#9@><*S""Q^3PP?&;Y#,?8]0<6-ESC"]@
MHTP!2#O59T,.P#1S?D4RH0IV.^]@-VYI4S*BU'4+4B0GG'8,LH,DYV^)50)K
MW>8!T69U/]II>PR!HQCVK+8[W"]1H-3YC(J?"G9YI:,CDLS=E1GS*$ I2H--
MMMN1$P\6#MI92OA<F:Y/"I"5>,>4W#,!_+%5XY&AE<M,=/VZJ<=&P0<&1ALS
MDRZLF70Q;N%D]6?>T$^%>%E1<@V92M\T4+"QACV,XH$K=Z)IU,*>440 .<'^
MV$.)_)M(PH[>!J,3EV=9S@[&#&9:-MWQ12$ID"_CR!T6H$)&7'D\'LH9UECP
M&9\E,S#T$/F02#[E&*O=LTM*@AY.(;S7FP824\S\E75VURVYC"OUG<*CN[("
M70UP!#-4[:[QUHC! _'4P@<\F@T<_;*MA'O2:'M!V(H59K E,QBU<_PV>.;A
MI*_YX-)CO.3%GF*_)(QP?;G$I3Z;O8,6]-@4EI2MB _W86&U\M;DY8ZEFH08
MEB"%<SBM8U1]::GZ<I087R;U)H[PW^@U&,M =C9H],&@P4N*&_X^1.A_UMC\
M#YD8^,%X3ZON3#^@ SH1ITJ)2N&NK#-0HOZ>K3> XCR#%U,*\3C7%]@ZA=DK
M;]ZVY&M? 7L4T0^*(FC :R"U'+WM;65C \ ?\66,$8N*0D2^S($C96@T(P/J
M LQ^VMXRZ$50$C+V$B&?4G9*0N&+2"07C)GX2*+Q*B,^5IG5*>;VN83L7%Q7
M6B5W:/=445LG:T.$"S#<)7B [2MDJPQ;6S2%^LT.Z%&T$?!A%IR+8(AX !?D
MO0G7UI0-0)O4ZD9V'&% $3SH(<.15GEY5^NY)06S1D<</-P#G_Z=Z2*FA)SO
MHO/3Z60.YQIT ;3@OXM.06$\U2_HZ>] $9]/+MQ# #1:VZ"9@>8R<BRGQRX+
MXGC\\'B!MK<%(*NE90XF.GS32 ?D#>F;@*4T9=]:)Q!(M 4[D[$B;@>FJ%SF
MC=X><I+5H9=LR$-V,3T5#]GTAU<@\&Y)YV7"^;M)X:RN)^H2"]6A%0H!. $P
M&HYR-#VEE_3/D^.>S!R.=T9;]!-S@-V &,K4JD_@;P4(AXYQC+J,?7-_D:V
M@2,G/S XL3#1*)%0LX95&=5^_3DT&@$*\0M?M^Z;_4F^KS,4*@VBV&W-C2DP
MI/,+16O3DH0P26/@?&,[S5D0N'6Z(/Q5]C7$;[-IF<7)J@QY$&11, *%^#+2
MS.0)$,)N:=Z@)^?'WM8O&MWGL3/E919-1T_"6RL8 "E+Y/0'%+CQ<88S:08'
MCWZW\@*$2EMYL@EVVSZ%<0$U?5'J(/&L2_0V/X\V)D\Y^X1E4XRJ.OKGV.5K
M#1)$.+K2)]&OX3P8)5H!QRQ1\'1YX(Q=636Y9U"#]-\$L#Y-;B8P(3EM06<#
M?E=W!& 7/I%JR$N[WCZAV>\[3#P,S@@QL+RFE7F(ZDY&<@>TKN&GZ2F>_A\M
MX->*+*>Q@BRD,% E1IW3' ZZ#KS=)0E\9_@XD=6&^@C[IQOUI2F1 ]B;LH.K
MOC[10R<.06*.XX*<%"*VT*#6W(UUO7=Y.)X)3Y85:AY@BB++42B6UH'I(5(B
MFVCCD76EF3)L[9/]Z+)]OJ]U]:1?569-7!_61':R1U^L"#C90[^G!BT(<:PZ
MNS58%64]!3H'3>J1?)XM]RZ/2S,0R@*T1'X.4;<!M?&H8D7"6RS%@+<9VT;F
MRXZ3LM +0.8-LK.C%DZ]U:D,$Q*G&QERLK>%_6L-)@IKD)2>A S<IS/?FATB
MN(Z2$EH@EG;J T< !JTW0#)'N/'6&;=GBJT,9LFJ;5%)'HI0GH2_NUXZ%[>[
M9T="4]5FOR!.!T&-Q8*-623"&%FEJ4)!?M<D&A,&,R<,9N/9 :AI_T9NZ_<<
MD\+9!J7!MPP$JE;/:1UF6F7$9(;2#D)W55L;%X_W,H_P\,+),!VC%&S?O-RC
MY-V D9G 2=TS1HM=VTB(%*TB I6\,PXJ.B?;!(P1\BDA%"UG97I>-AD(8<:U
M]1YMB_[#B[VG3M L \\8B=\BD7H1AE_[4U?VHT!,MAW%$C#T@<?JCCP!"!(G
MM2QU$PCE1,U6_;!.2QD(:#D! ,7+3 2O-GE6<'RL'X#!N/  ECJ@:NK,H KG
MY4PEB[+EI_[,A9(XJHQZ%4A8>#KE@OFB<VSZ[LZ!]"RB.X]\',&!5;JHRL_H
MX2GO"O:ALFJ3X]0=/S$CEW,B&6MHP&%F7?W\T3M\(9J24C@%A?\WE[5I!VD+
MCO7 7_]LRT8<K*Q8<9:]H(X-0W:[+,G@I//G(<F*=?\(;C18[40Y9A#7]43
MFXV"%\)$BAH<FSRI#LS?@SH>&,(MXK[Q%,CY*) ^G2&-!,>8E!#/L2>>84JG
MS'.?!K:.!3)]" W9G,O^&8$1D;]1)%IH5]E=L]^Q&'*NP&&6V0_7RQ8ZAIEY
MB]V6*5*A8XMVV23C/!A)E@<P<P"=-B86"[$3^O70X5+),8"H$6Q,0++>RV5B
MDY9]'HTZ(.,R0&\"W)S#N&C)4I(HKE>.E2:"#YQ)FI,T+)D0B6C P^HGHFM>
M+T-'<R@"!H^]. =<N&>8,' KU,1!#2GK\ ,X^,B)=+Y=VUA?U]<3X9BRX$HQ
MIJ.U$S]?'4XW']08OGDT-!AA[4!J&7E$QQ+=;;PKP3@'UAN1UD[HH*R-DGS,
M9(2A4/!R=R4FC_3JTGB]% !TL1!)M"[SVP:.)-64(_WZBJ,D&_ZBTPZVJ)<(
M](X!)[-G@XD-((](/^;#ZA;;#QN[#-?*]%/RVD*7A#K#V)Z[@I;I>#W*6ZD4
M..0C>/#;D?^9PWR'TB[#'#BM-0@5/*D@L(4,ZD\&5D4Z-)X>^#14 !%';6V5
MT:RJFZ.LB.43ZAN< ]2-,2)IL>*>>0M)\(!BH/6?+:@CAE+<)<D>S;T$8W"W
M6:WU'.;+DASHZ+E?@+$*&^@MP4FA,.%\Y=*8T+<!^F^9MUM8AP3X</1ELDN6
MJMW XYEDY:0Z1)7<V3QZK)HHJ\^P[B-!-.>[@"(+=HR+EH<XN ,3A9QG=X4'
MM,2U:LVBUW7%0\\DO$<+RB/G[#53VP1CN\KA7>,PLHX9O&W?%$G#1B6FWQT(
MA:(_H$7NP-I_+_'2H@(K42A1(T4;$$9$,[5B_XFIU<<'NT^2'?W?UGU02QHY
MVOP;SL#$N)WDZV7=K(8&\]+7Y,ZR27$IV*:<B#1X4&Q6 T?\..N&%*>4F0\P
M(DN M4^!#H\ .FA0;.AR8 F [$0P0;/T\JF6KMA"X"/UP.Z!(@-$44Y5,PP=
M>UO#Y'V.OHK ZU<GR5F2DBT)7@*.I$AD$KWB[4/!)_5 _= )LDQ"FYCXXY'5
M6-QBKF"@*.VY.90[SJ('#Z]N9[@,5V,UB7Y_R,$+>(SX)G%(!22.0)E$3@?\
M"E/P(H]T.3V #-.0QD$D;DR2CLH%5U R'2\%>6?0]>4B&X/"X>N&")A-DI94
MFC@8._FTHX*_,+?XDXV<S(ZG9T?',YM?3!/5T9./Y2Y;1A<GLZ?J7/<#+_B#
M'8+=4/\ !*)*3DZHZ:5->N:'.ZEGSJMHHR!(?2XE2C.JD WFM/9$C5NLP]38
M2N&_0PE ^CCR3(Z59U()$#P;PN-EQ0!Y8A'T4;E"CYV8Q+[IL%>A,^:1]O,[
M.XMD\%R6;NC,3>2@D1GA#C&]=""SP@)_P#9<D1^.=I7<JPR S?$A\P6$3A%-
M9Q*\IHP)>HK8TTK<@@XV03'GCZ@%0>8W'2J4?7#R2._:FF9PZRPJGD=/LJ?"
M2##?+<@KPJJF"@5"\$HJVQ*J1.@R:L)J&K?4&&;A:9R)7N94'@EHYNSITKFI
M^U.)/SC,:E6##%/SOIAJ"6R-)I*9W/3X'L6W@,_\@>6/H "YDA_UJ<)&%N46
MCAW5%PRL& >_?2J9<L2ZPS+,NMWREE)1*J>MUAA)3]AT18%FTIJ*51H44^QI
MS?,!,W!P>ACCB0!0<,QO:%_0ZD+A+NYLS4^CQ"\/D58((N91\J:*^+J&B4"6
M:(8+.C9:QP,&=YC3*#B-6,B]FT#6.4^8C2D$38(Y_/5@%75E(J^40D#B5T!X
M;M$N8JL8V6XGNW%@SSJ;A9*G2SQ.!4=+F_0="OJ"2H!5_C:H(UQ"TB [CRBS
M2%)*<E(/!.B,'><QU0085=^7K"""/ <96O$!IY''%SZ)?CV 3O1.M!5MDW7!
M444PUDAEI!]I*7*(FOZ0%FF<"TZ%4:F'+6Q\0,P<I:G6,R1RYG4H>6\(\8X^
M>DMP435*#P#@,>%0K6,<[QXP['04;&%N)R[Q59L''$"5)^N>'8<RP(K-+$C9
M_X.\-J$ KRT8R<*($E!,*X\;S+FQ"\*#0$RT\WYE0 T3A[X5$,Z!['(Q;7[F
MF#2S&0V"<IBT*(LC2V:<N2GU1GZXA%U('11XI13JCT[R99M;QQL2^=AQ]TI3
MQFB.0]?HV$A#+42K?0(Q0QY'KJP1-Z G<;J:"7G_&;LR@G_:1;JL#LNF3"I4
M5$!Y(W4HIU\%CL%>&&8?4_H@ZT&V0HX<!K%658I3I]NC(B^+-4<20]VA^UR7
M-?= Z7)GTM(H>&3W+NX]%,8Q#OX:>V >RFT;BY=K)?2!0H3>VNY(V?&W.:NM
MY#/&"D/J:H$!,Q#K25%@J-51-AU=9,])P+RZFL,DNBFW^E5M=UI/A5^/@6(X
MX= ?;ZHF_\<V7]W+^V6CB>+VW,W@C=,SV8D@I..OT[KD7)9L.-5 AG:'8R3K
M-28(P)$YA)K@9&K *.#![%-9F'56"._HU*PTR6?,D"^Y,X736'55XCEJM.[M
MULN<[[)M.=7.JPH'Q5"FI43N[.SVB,H(>MX'SS7+,:LRPG)!6]J3NY]K_X@;
M:<*:&PJ9K$[4<=R!EEBZ+9*<O1!SN#.M]#)03XL4FI=L#HB16+'2L*%#LZ]M
M]MT!M<!FJ@Z>(#[L0)]TV N_&(6%XJHG%9G[]'C-^#Q>?8EV[^EQ_8Q]7IK3
M()1Y2-OY\Y1'Y_P:5"-7V9>>QA2+;$[1-,JQM@+8*9EA!:='LHZ2=-1*.ZW$
M"('H*.D"QU$=L/8BO:$9-HG>BQ_1+LTF$2IC\Q1743(JVQ.(+$$JGCO@,>CK
MP8$O^+#*RL0^HM(><ATJSPP*^^VD'9I;:N^((*PUH#Q@>>&H?\GUO9B.MZVX
M$GWYG:.T01?35X\2IHFX9C&JGWM/ H7YM0F6GTM5TN$T5*[OM-V&5&GF4!Z%
MIV@D;R#?N>*E+O@E/X[_K;3>3L>Y)T/L#9G)"1!H1Q/CK E>NA@LY8JE SH[
M"^DKP)6<5+]D86"W2W*'<9,M1L%:#,EY.;T>QO2,5+5?%HN5KT?H--CK+$DA
M(8?:"KM>H OV1(I3T=6/""9LE>A_ZLV&>JDZ9-L"\S8IR4W%LO2I<"U$4CTQ
MKJ!?U\O5]<O/SL-J?UKL!Z;F_$WF8("YH#2R7S\C[EMVJH->NC0![$0-7IJB
M%DYS*P!D@"O?Q/1SJ/BX2OLW<HUDQ6V9W]I!@6D1QP-:!'%<F%QB7=;2LU3/
M:TLIA$[<^S;(,>B9/7IV7(R?\.8*H4!9:0L)70:(]DUWPB.J;Z"/'(5%B]WS
M%)Q,K<*M&ZEG<N=%(ODVL&!IC9DE@"?UOZ)X-&6)\40:$SYBPB1O(;>=4YYH
M"[$4&I5^\?W08OF-%E@GT1HD&8?N8MNY3B-9P4+@"]#7-.K54[A<IH5/<%M2
M!%E3U2=J/XN5O6;#_0ZH2=90V[W[:];&Y()KTS(=;['REGO&?,2B^D&!\/#7
MHU=>@[,!3N-K*IICLC2V*/Q!B^;M2[Z(>GZX^2&K+:#PLO<0N[9UFAZ)B<RU
M/($@=L Y0T&=D-S[P4Q<MI/++^"G]5S'U'6B0P9W1FU2IQL9?)S(F@UT2NJ1
M-AKD=,?#SWT[R$RK?&_L4%,YVVV"^Z&1A[6CQ?LVEBWII#$XV9QJ[T7S$VT=
MP3IBL(X0K".8035VS,*K*0\=!U3M54MVX3?@D/C7@:D8...RJBCA<Q@J/ZU'
MTE&<W03X;AM:.N5:TY;%?H 5QP(IRQS$3QY"= ;SH'E7L$/<[?["R/<R5&6:
MMM)*<*8KJJ,W39/;<8'!-BC"ZG;Q!V5IEBS=T3ERIX(>7U0GA <OLPW,T>EW
M2=%8J0_WY& !%KH/O >I\X>794'G:=C4JUIAY;L2L^ R:EPD.CEWCD2S,@O!
MPE1U:\/0@06+=I6)S<A< [\661'.G(7(0L6YRC!Z"U/C2_6^!G[@5:,#_XE>
M:O[P/\I%'5W!NWKZ84:; #\[GI['X7'W9A7&'X0;2(C!^("PO^4EZ(/8YTM[
M;+XK[XZ0^:61<$(-@/[M[;N/;VWX$WB,*%M*U,.MSKIZC$9MDZ"7I10B=&'<
M!!CU-X. \1F>?3CS]"YRJVB3,=F6,1GC:MRGX[7IU];/<TTNPK^"ZOP#5>_N
M#F;'_ULC1M<=IR3_[AIW!?YL273B4ES'RQ&GOM=^ D3D^? IVY#]Q/<'%*SS
MQUGH TY\"21[:<HOP_J9U_;M3_SV.WC[T8LVRU.RMS^"#0 \A$3:(XK2$T\&
M4QH;1+  O0EC";XWB@U09'E#4#YRZ/U(2==HT]\95'UYPC? "C,,^&'RUQ=N
M\$KVR6J%NKSIO\["D-]^25XC &R35.E=(@6--2AD](=]!U,1"Y':!T']S<#I
MQLRN-YF"%WU"&9QF-7! ;MW4]5QWB"0.U$1O?T2!]-L&!M$=:=]'+3FL#RAL
MI4G:LAJ":_(+<R4/4^9*6AOA]VUE>[ABL-LZ5\$,;7.*TLG4&OVII02M&0$"
M&4F.7W&QV&ZSKZ6DAA&$XG7EG-;,;VO-\)?DB[K?\%&#XW'P*">:@>S*75!E
MJ=MM=]B5#Z!U8NLD*)N:>YVP:X]JWG=9(Y%CMO0=#AYVU!1NH $4,]BZ)[!!
M;:89ZUAN+; *;! ,AQ1(/^?^+-;!35646OM4:S*K- AG8SY%AP3R"%(4 JM\
M,%(TQH!=.X;I>,^$UR!^B$%< VYNX("909[[M8-T,CK1^JM)U-%C.]Q<>DQE
MXNOK&RL1N>\F<&!.S$7O!Z8!S<Z.X^AQ?ZKXL0ALF\9L&P9A A-E,1-%J<XI
M#E#\$Z:E,N=LB1^)<9<2P%P@P8,$Q<<P25(4D\!OB58G.CH1#&2GJ,I)&@EK
M\[ACTEBU:$G)8/JV;]645H; DE/$-5O5%JNOLIS ^1\"[^@^\+A3/," -.G_
M%'18N&<1UU8[/#B"EWGGM6J@9MM1<D<[^<3%0/QF1?P,EGO73RT+]=VTX8*R
MNFZY![0:7KX9SX-I:(7ZB7'/<]N&DR2CUB?SX]K)$!,S)3*BEE%6@$%DCJ@E
MB%I$G3DJPX58UHQP@XCM[R)-&D=B30S-O887Q#;B*D+654FD2P8EAQ>F[23L
MMBALN8?-5^ILN>3&"V5H#1CUJ!K8W+>%30CM!<(X$1GI$R58'.YGOP7?0(1]
M@&=P;516L6U'\;4[+^VUH(Z$EF;9],*<-%3KBF669W;P!9U\2^+H:^T>6Y[2
MI^\L+!=[(_KU?Y,F\;K7^.,1%8%322V6TSYZ<N6W8BS;&H;%IK-?,+O-6R76
M!#Y]] ML(0B$LGH>/;FJJ4,+"B?XP9WY[Z+Y:7QZ>08?IA>G\>7I)7Z:7<2S
MR^FCUS:Z9C'B2F!!BZ2BB+J79S'6:H-3_<4J)D?\[(=H?G&NGQW0K"@+:@=V
M\NA>UH7THJR+FQ^&(<.!187X.(OG)V<>/EX9#'@6A-)'OP_NMJM9=7+#@Q/!
M/SV-SV?'^-_)&?UW/#T=1#6-]_S1KQY#\?A5=')Z'IT=7T27\+K?0J/F%AI\
MX<&3Z5-8R#2:QG.8;!K/3N?X\.#U#]%%-)W:C7@5'@+VG=QR+OT!%HJO3\^B
MBZE[>3?(O>OH#("?QI>7I]$LGIU<^JB]?^-M\M;PB7O 'NA(.LTI;/7Y>71Z
M'I^<GN)_L[.31Z][<S]_Q/+^N^AX<G:"Q#*9G\)_L\E\_DBE+?TXIQ]G)_3C
M[.01[L,'UQ*)W8&"(TFO[X0 OZ]AG/GY:?27D08I+?6).(F>X(O:IAESH/D!
MER<M'?NGD^/C!PQX$0Q(3"@8#SCBH?I_$J"K(^$!1COZ9K67[4M9 1Y7M&$/
ME5%N1EL%[&*SR*&/%'G8>&K%G6SP^<@VXP$\'%JE[5!-22YE%?1'Y#"<\^ ^
MK!M3',V/S^*+DTNAP#B:GI_'\^F%KPJ=7<279Q?V";\-4WRXDZCC9=R[X5ZI
M-W)T%F:9M)R'M??EWB9)5?8==80?(8E184LV2&[_HP6S#DDMC%6B1D&'8'9Q
M[C>BLJDS;K-=_0R2IJ-:HBYU=ZO2:9/&64/#F%5;&3\=@PE'!XF=K?4>ZSVC
M$]ZRV.\>9,E-W_)K8*BJA%VNS$RH09AJW@_8+DJZ7KJ;=YB&RU4<)<,Y('K9
MVB3ZM>A"?8>YQ^@=3;5 '8D:RQ>C&^S1IPKK6XL:Y2<^3MC8R< $O"V7E--C
M<NN%YK5JP.0PCM2![R]-&YJ1D!I"T?<A<F*>S>J#22?WVYM.4,^<@!JL+_E*
M(PLB$.8V:[?X),]-"+1G=GKB,R?7IUTN"2&W+58 8A<K#(X49ETVK,^XJWN
MG1]?3BXM00^1L<>V$/EP!J;GD_-[7K'K)!YM3\_E\63ZP-/3GS9X6?"'C$W+
M)&B+L=6CHONUMJ?_Z!K1XIK/+CWXL_L!L8OARH+0N.,D7#K';2'(O_^LCQ/Y
MR/D/N-)74;Q+Q>J?(2:6?X?TT<+BNP6*.DSSP/B:!]*??BBN<-8"@6:.]O42
MTP?7EG[=?$(2/#XZ/O-B54%-%O9<U)HL^W!7;@11$K_U2%<BN4BVI_-:#7ZQ
MUW0)O]Y'36I/,]$UJ07.O-%M2^JII'I,KF\":<LBU+\RB5M#.H>(BG^TI_M$
M2H*7Y,R*G*Y.:QJWWB?1]0'A%AK0DI*P*;.E^1H.[Z3=L"!3)_]=*6VE4#&+
M62/I;#QKDJFFQXP0S]-[EF,;M,WCD_.3^&1V:=TRQ0,W+";2L-PB6WD8UW+R
MFW918\H2]VSHP./,R'&VA(K6U@O=_N_E1NQ+IIWCM9[*OL%DZ&J)N0\9^[J(
MQRAC(7:U,%9%(O:NK,;YNP)C0.-6*[<KZ/4+3=Y.\ANZ@3!D[+,'48+#:P>I
M$'OAG%I>B:T-+"_59^$RJMR-(*'7PNK7A75):'*$PMOE![I!XF,;/ \#1&7O
M,[!@ED4?'NJ&BVDB?AIO)Q6*>'PBD9V>OJ/]#3NX@%6AS7IB!?T3YZ-Y.H2&
MX)JH:3P_O8POP9X/3^-]5DG2L8*'F'L@R/PNN0?,LEFWRYW7+M'=8N+Z/)+F
M5%;2J^[:#\X0@Q+8#PHMOOV1N:Q7P$^O2-!!1>M [,'Z=)'C<'N(Z?'1R>G1
M"9!&T/K5(FK$Y^%K6DA133>(YJ&4KZ#VJHG#:S(G5,Y=X5"Y5%&,Z2+<IKD)
M,#M" 7!H.)_FZ[8?9U%WU4/F\&+G@RYW20WL.&&&5_>0'+.>*2AE2<(+[&X1
M"'+9A,T9]%8KU\-T65*A1JVHRHVK6A8, 0&W%7(^J4[.ZB#'5X):VCA!>FOS
M^I%U><'<RDC[KJY7QEKH8S=0NZ[1L_%>SS>&<AK1+\:)O4/1P_$QAKO;]@;V
M:B1JLW9Y\%Y1'Y?TDXD-"Z^EO: IU@DW ;%7Z4I*E9:WL]:(10&(-2^YT&]-
ME_DU"YRZIC>M<A:OLWU>_OKJ/;?L6'* ;@-HQ6PEN8R%LMY<RWVY0,=SR')+
MW9>O?Y5N+YA5YKH18 HZ_@RS=!KUV+XY_N4#G(.*L#!GX_ZH]X/%#59Y/(<Y
MOD:'([K24'-M(_GN)\[HPU;Y/6$VC%YW,0.2=E;XS>>]G$;;'F1XE.%+)J5O
MH#.="7!O@D[+&C) ]#NDUH=&>=!#;",]T9/9T^%H#W[MQW+>9'DC[GO;E>2[
M:'X"8OD<8SDGEZ?QY?P8/QW/X]/CTT<O-W#408[3)4U[]]9T=A:?@5(]!9#.
M+HZCRVE\/#]_=&T;H"3YOLF67CN;T[/X B,9,.YT%IU<Q, @\/G&9(7WV!0F
M/CF;1]/I23R'YZ>S>7Q^?/[H5^1$H,V?75R UGE^,@65Z/AT^N@CV5#=.V*^
MB\X L$M:U,7Q-)Y>H(_][/PXGL.L@KVYN[&1&L;U<6/+8MU=WG;;W^3FRXNL
MK/= ^6^+I>M:XGZP'G7BEU? *O((,__8O^2E;[P';E"4MTGT]Y*RJ**K%W8X
M_2T<[-=E4U(JH?9N!AI@8OAWUG1=YONMV48WDRNW'ODRG)\<NJQ'38.EP,H1
M =%-R;*BCMZ]>VG'DE^#4,,OYJX! #]2ZM-[.$K5SDW^R\?WX<3.47?&LT?:
M*ZZKWX&2UD/(KD=O8^BX0M:=FL[^RK<A6#<&+%1)[KP?KN!NS-%-0E;P7R\1
MMU<?WX!^.#T_^<&F0MEB'KDDU-L&?.\_J[)^DY?Z%CY]\_;3C?X],&\'LN6!
MPQ] ]^NU&[+W@CD"<?O9()AYNZ7KY,-'@#%F$JY\_>[MS14UX(H^9SU8=H<Y
M2P .T%WYV_5KA2B&<UK>>5]\N'[O(X1__2_]2BY3[<^-5'-@1N%AT148_'2A
M E[7LD;VRQN$.P)J)YGZ:]![\#)>SAD'Z=MPU1-/!@QBRW?[2)(*-WD[=*VL
MUSNK9"@9.FK'7E-V6D 3JXIS'6V_M'N$U9"BRBXK!6G!K?]);ZRHPTZ*1;X9
MC$.>G$\%Y;_?H/B1G!F]W!C?R&R-.8["'6>"^XDI/4%&3#L&L]\5[$FGR6;H
MSM-&BT^_)8?"%Y\?W+)MY\?OH[5A8L9^.#)S_?S1+Z";;*(K>"1;)M')2?27
MZ&2._TRCOSQZW6+:9S0_@R_FY_CM,7Q[=7WU\AE3Q P#K_0/:-%_$2&G6)]2
M6-;_]YLW4I(U_Y?LX_-'PWOQ(.5&TE:H9=M3P9A;WD,VZ3N0IO/S\_CB[((^
MST#$3"_.=+=.0.69GEQ@K#(^/9G3=D6S\WAZ=HG_79Q/'S(KC7PQ1Y6$D@'B
M4]2@8!>_80^I&T2>W;JLV_]/-_+=T$(>N&7GH$G.Y_3I-)Z"1JC;-8]GH)C.
M+V"SIK)9\24<)T _Z("\58,8'-ZU^>PDGLUG^ GHXG0Z'6O6/W,WM\S&;VYY
M65*9NW:K@!U[R9UP\3(]EME><T5[<7:8I#5H"W_#32_?"LP;ST9R%R5QN9C6
MT'CF([JOO7&6O5FE&3#>.-<7BH'7NGL%5WSHM@A7Q$QE%R:[Y1[\UV:XEKYW
MY\:!Z[X.3%?IE2OL?5H-(HB<X%AY:A=,XAP6X6[ID%^ZEW6@ 4SQWRIZ8OL5
M<6J?2+[P?ANO?XKDKNYWTM!2X:&T&ZY8 V.Z?Z'.O!\P*LHHO%@FS.W3^B)[
MG[F]ZC:V6:GN]EO;SD5?V_"%6)TRZX!&N\0B][)0KDS4E$-;[BTSN,N=KI?;
MB(H5EM7ZQ$K->O'J9N2IY&_ H^-8H4UAH\ZZ1^6*KH0^  >E[5.-01>W["3%
M,; 6&$?IWD!IAT3G+W>-*.W]IAY.PI'M)<?B5++TY=J9:HZ-Q8R<B:%&V.Q"
MC[S;]WSSP:&6^V\YA6V*6HLF5/5"3J&2^0!7OOKE9QW%_7J5_0N>(O,MO,"+
M 5A]_513O,QY<#^U2X-<OZUM@Z-EI(V^OQ8#>!V6&9QKX+ZK>30)N/,(B%Y[
M&3Q?(Z!TU,7# -F1AV_BPO@FX07UBC'D]5) KD&:YQD7S4>OP8Q,%KR?T@#8
MN2GD0;7+8^^ZKNEL<B[[_55H%JA&[^69N7MY9N/7Z;Q0W^9+%X(%3OBWLDPI
M/(ILV2OKO"*%9%"T_P_,$PV^%;&:%&;^:N-3;5N2+$$F>J71P57@%%+1J22Z
M:O^44K&EQ&I[78BXL,#=G^2;>5GE=0&M_>X%[)]W0$D.C2U"D'A*;I4[]2VX
M*RW<Q6+:7\EGO5Z'&?:JV\MMNO)G8+%4*B;8"RWQ\ XE<</+U1S=8?P*]!3T
M#]+'/1Y.')>OSO$NO>E &[9@<8OF9N&N$WL'<[:ZK=^%%6/!#]WM+J6LA3Y5
MN/IBJ]4+MN@BG\/X9Y'?\D7K MH#J<Q6HSC"X4P4SX-"%Y,=2(B/Q7)RR0+Q
M("?U@"<E<4/7G.1[K]D I6.XVO,*[^G4C?&#'%Z-C-]&@,TQFZ/$_4[:'36Z
MUSO/O A>N-Q^PVFJH/%ZI&O,^X%HM=HIC(0GHY16=*N5M$9V^T[5L6@-2+&-
MAF)Z:XOD@I>\?T,-OB LP6O,H4!V6DY;!D.HHG0)S/JO^>*(F'4NE^+C8R'H
M^WC@SHNQ"WWAT<IL#! 0W:F(TW:/W;]_Q.Q)[9Q@*3V7M)"AJQ8? FV?:1TZ
M&\YA&AY=UZD&FXR%3,@+'TK&Q,)>4H7,;=621]6;TG8MTV0C&E3CYG)]$CI4
MR[WTBI R.&Z,$%P^P2EB*^*-VK_1OA?</-GN4FU>5)O.^G 4C2<\$%/]!E::
MK/.1)O#[B#P<_UUJ'=FH/X>2'U07H141LXA2UETW! PB2\-03#=Z$LV/)V?1
MT\Y-U4^BV07H=4^'+ZN.]52Z&NR#JW;6<>SY&SHQ7I]38M(.AX&"XA?][LH]
MZJI@/G;E&2=Q<4F:7'G8S^3I;+ VR[U'.[#UJTMG>W#B"S:I5RU$:]T;L]P4
M95ZN]Z(J67"\=H8>((N]WP6/TAR/L$3/NZ4\:9HJ6[2-ES3GNDTJ6\HJ;\=<
MA?RM.SV%[: H?  '&9IOD2P_<Y^6H.MDB/5%HFJ$KS/ =@;W\BACL8/'KOV.
MQ&^HC9/W=0,B/.4S:5$)/S=++*OV.D"Z"]"2JJ)[MILNQ-+W3W79CBK+O;+]
M8 ?=7&OI@\I_)>PDE%*D0 +5_LC:H^0HL1&H #\FS\RM4*;7QU.$1WJ FN(A
M4N++/M&R0@_9,_I4)'3!4=)(<6=9'"'WP%289%T9K[N6=Y<*(H=2(#V:Y3P0
M<277I:_(AHU3/:+MM#?SD,I9K=+ZDZ\>X //M0I)Y+<UY"QN[3\L_89K:J]L
M#2S[0=K8NB;L7+;AWS+D70=K[YWB1L'Y7F$.,UVXZ5RX<QP*-)VT&?N&HZFU
M!<W-Z^M7BIZ!VZ%?.6V3;P.2J^(IJ<CVKQH0'@, >9HK"8(AL!IN!$D=R="(
M]V]&D\L9-)GP<+<R/.P>$> +KK20O%QP$KE!+^TV:=BXJS%WIL)KE!*;\Z<;
MY9:L$-A\XX.7:[_EG#'JKUBBC3+04DO<I'SY-A':X,JX6^Z >,BX0[&/:3C3
MY5VX4KEZR]?SN?.Z=.JBI^V.=(A4LQBEF35N4FT3:=D)Z.^A4^\[37/#YSB[
MV&D JX>H#Z/W1Z,+U5T+B-@;/'.2U>H!J4?/^D'O.1YP7G=>*J6ZI3AHT*T0
ML 0OZ.N0>[@I>",<B':.?7 %% NOWKL>07*[TR!3AF"$R35G:%K;!#FP<N"-
M?>?D?H_9BGCWA?9FB_W:DL(-%'-!,6->[T!#(QT?).V;-&QL/0>V/OKTB:_>
M"[^U&1U VCP]3Q@,W/4%F ^&=63-#G&VNFN5'[R#Q >BW7^K3S@!J\EJNQ-[
M[Z(WOQ<:)[^R3Q_$S\I4-GG3]D&4G.'>C4R#'28+I%+*RV9<ZD5U>#=O3JP>
M^--MF4D/VVR]IOOK^D=*%#JW-PC*NB3F2\:/9J57IJE*ISU+5GA&]VQ@?,;5
M/X"@K$M;'1R\%Q13W<G]==S&M%-F]17N-*0#N8![ ]I,C3DL TGGLD2U_71=
M.W]5DP&_Y]N>]DRS)FS^98W<51!>IN)IL(':>M^=+H75+%PEBO;*\_O!R76S
M!W4?=7I_H*2Y5T$^70T'@.3F_3V?OMGT[R--EI95UFP*]7DR0"5[N:_H!&:/
MW->5I-3EU 6;\":FC)BX)R"!(K*E%HR%(DZXFK,[T!5F6Y(NZ79=B@&_1X&T
MJH1-#_(E30$O,,7*T'4%K@-R")]_A4+2N1F2U=V,]@ ;W=?+9&?8SV0;C+D$
M:NZ<4[>&FG12HPN]%=G9&41IC6&%.^$&;JC?AB%V4=QC+L\+?@H Y' V=:OV
MU]'Q.LAEW70/TKWW6**6$[Y>XR5P-L^:FO[<-PKI3][.R+9CXU7N=TLZ_X-N
M[_.J@+N6LYY!H0R;PNEL(3$.80RQZTSJ68KV3BL[&I(;R-)"6RYYHVNK70WR
MTAVL/9]%WP'(8X?7S+>V?Z( . A>IXDP72QJ'<&MW&+$S?<RWY]*,]JU^==A
MHLCIX-!=AF'OB_-[WUEAE&K#;GVJHXF[]@W]/7*,.&#OSM^I5W<.PA#*>W8*
MM>H-) O8V0XJ!"1):,#76@6;.AB9G5"QYX,&$@YYGV6H&K>MV@C5Z9*OI^Y/
M<C!C:[1(QUTF/AN__ON&ZI5>$&DB?D%JD(P;#&)^VU!AUW-6S6LNE#KB,['T
MGZ;6F6)&K[&]VNB-)0.'#<M:I0K'WKW)%G7B1+?K][C=Y>7>&.\0L)O!^/=#
M4 0#:W$';OOI7E'-\1=V8/-DY'? ,CY9KS0Y\P)&7H&//+/-P.IM4(F\E>L5
MO*.B1Z0#(?58\_SQP=4FZ+A:;O"L^):_FX848?38YR;PEKMNT,&%JN%0R>@*
MO*$]QT9XX4-?I<=;&AE1#'QE?(R)%'*BO+\-LO<'*4VWQVNVKCE.=D9LMKKE
MV*3/BF\-!YM2:4<I6BTYEP;GL,?>-K?"1@:%QSD]FBZKE:&6N/4!'_0+D/:?
MCVZ6FQ*+"*22%44\67%E:G(R;+71\(#?88 <Y6RY,]=--_?U?,*-MN'R:KT?
M,M/SZ+5%)5I[=/2F/W W]^ 72IGG"0DLWUM8>VR12 K=JJYD#W_T^RAV^K%[
M62L<^@"U#3O8UMY6Z'H"F/II7[9I2DK5:*CGW&9I:Z_A4OQ27Q\\#FM0479:
M\F%5'[VO@V?S+U(-;A:@F)<TI<0+;FXSOJH<=2/LHRKL#"C'(AELX:3A.-P@
MJKW?J>!4>+1EJ$RB0*^]YN>6:?IEKYW[5U<Y:(/DI/)<B/=M<^<*Q_"*IB'
MF;Y<),AV\'0>)?_Q!_5W0GYK6YLOZ1:1FA(5G)7+8+M, 7]9$\K!/5IA!^K@
M-JI@%ZH#S\B]?72?%0RXSPS>$62K3 '*,%WT7Z8JCT"!W%$]:HW:D5C%3EP0
MLNG.7M5:Q^ ?8@B6IHC&\:I)!LQ?4<##*4(/]E&>2#"?+!#2XE#)U6&(^\B5
MS^SYI&(8;0I*SO[P?%BWAH952V0+AI##&O6 QR%@I*(-#"T'H$!\]IDHX>*(
M/78!ETN"UJT3K^>ZX^824#J$*_%_>#E3U+,MR?=R9PDBQB-G3TS$ZFSK30:O
M741_X:0O9D/*2)N2PCG 3)9<(L\WXU@&$D?S@R\>?(FVZGA\0GD6V RJW%8=
M>%&BWH:>V@R$-]F)M@81?[(>$RY+=MTJ.SUSA[WY45<]Z%QR8?',QUT\T.R'
M08'=S188V%<B=_1.)A5H^Y^LXC#@MZ>>*][MZD6@*LH]6MSW@3017.FHOG_B
M]/V3\:O84FHY0$XO:EX^J.A_Y1CA[2&V.;GWF+1J(2SN)8U*+[7UAPO1\'71
M! IF8*>3"Y=>0,TZ.TD(WC=A_L$HAD\=AD]'L?/!8+([\1YQ-M_8AN.?./-D
M$.?_]JC1[\8F2;#@EKPV=T^MZX*!)^CJYI-_%9SG'E^W&7=8+Q^07#)XRY0%
MBF_588V7 EO4NX7==":\<<\J9W*U' 5B72,?Y"@=18X:.5*RCT0GELU7@NP<
M)P<O3&#4Y[;WY1">V+UI\(ZY7//W^CV(;%\9[E2M?:+=#&]Y!F^7_Z8SJ-2X
MDLY:7FSW35:C/, *2:]SIU9_D)IP$];5V'Z  -$VXWMH_:R8F]<OG8-:)N3P
M$[H[JS87GUP$#P+T? /(+^4DFL^/IE.LPG,]Y_;(Y'GZ/5<E.>,R!BHF5^@>
MDYUOT9M*W<HYWWE).3.4CY%3*8UMJ<,A"LZ6X38LSIA,%J#;NV80RV#^3 :5
MP 4+S=1.0&J(,Z!]GZ9<#$ARC>_NI4"WNY@R=ITQ.)8V" "J>](!RS[!A,N^
M^^!AO!\K$5AWZ&DJV_K0@F(G1+_G?)U:[PP;A,"U\0A66I42!<-CAER9(V>Z
MXH>O<7*0-HA/NTZ"=)=8[1L'E+RA@4SM@"F-Z[VV322W[0E,LY08!C=Z[R+W
MFQF9.EB50*@WKG<ME':QP\5^_4F9SB_BZ/%;X=D?JX1;27C54S3_!XG/O/((
MU5YM85/@,>+@D[++QLQ4*,@$%.E67D"TG;:V,9L$[CX@Z-/CQ>G1E,*Q-5\K
MH:J9NZ&G$F+RU3#6^6KEF.@CH':D,-<7+.3:*T>L!"/ERNT8*(F[=@$0AGV;
M#R%PF)SHJO$6KQ"E/GX=8I+\H7M)ABMSOYI$OH:?_P( _+=I+%_OD)<P<5>N
M.:@!L.YLVYE<W;QP-Z8("-SC;'YT?.EX<W -XY./Y0YP?GYR_#0ZBM[ZES_!
M9KE'?2JT=V][PX.VMN'<&#K+6'FR2_C>8A;V'"L3]WXAV;O>W6X^#2_V/J_G
M:E(*E:/0*"NEX37R230TLUJ],<(D@C9-S ,J[F<47/@@+>\$! V4><.QP^X/
M8%(U& =,D?ZB-8@=$J(O]#-[B71_H4%O->Z6/3N-KE@\<9LK),<WL!3L(?>?
M+D_!BYN7W.;8A?;%._WW\@ZM\'@D\,]VSQ:C6J"0OZ;.59;59M*@T7OBA4&&
M4@?!TN$=[,3WND9\AZ7[&%7U;O!@/B@G@WCU+TC%G<,$YZ-_+L[MN;B)>@W&
MY'!<S 8/QP?7\DI[DXT?DO-(4^=PG*&661YM"(.7^S6<B\N&.OF\677&-L3,
MML%98L4HJ(R5R:S)9MW>KH&9ZT@G.JQM+=8',159YR^4=-V@OR=U]6$&C\H3
M*:7BJD(5(Q_"QZ2/O-'#1FJ:Y!])X"S(APJ[=IX$.'O "Z>BC0!HJ<V["/41
MZD3;R]$1WP7WKN]W11E*[ABF[/X9'3B>,G# _73/5V798--!#EP28^+E6TWZ
M6X_N^9]Q=(=,\6=TF_JKI$E^_G%KJK7!+DLU-\+XZ3'V;[#?8@467G#V_&KV
M^!F\Z1[_^<<=Z+SODVJ-78QRLX)7CR?G8'U7J"_K'TVYPR&C1=DTY98^;DP"
MQ(T/P.^(/OT#)[@KJ\\$WL__#U!+ P04    " "\8')9XDQ\V00.  !N+@
M&0   'AL+W=O<FMS:&5E=',O<VAE970R-RYX;6S=6FUOW#82_JY?0;A&:P-*
M+%'O3F+ <9S6N#3QV>X5Q>$^R!+7JXM6VDI:.^ZOOV=(2JM=26LW%Q2'0Y%:
M.Q2'0\[,,R_4ZX>R^ES/A6C8ET5>U&_VYDVS/#XZJI.Y6,3URW(I"HS,RFH1
M-_A9W1W5RTK$J9RTR(^X9?E'BS@K]DY>2]IE=?*Z7#5Y5HC+BM6KQ2*N'M^*
MO'QXLV?OM82K[&[>$.'HY/4ROA/7HOEE>5GAUU'')<T6HJBSLF"5F+W9.[6/
MW[KTOGSA'YEXJ'O/C'9R6Y:?Z<=%^F;/(H%$+I*&.,3X<R_.1)X3(XCQN^:Y
MURU)$_O/+??W<N_8RVU<B[,R_S5+F_F;O7"/I6(6K_+FJGSX2>C]>,0O*?-:
M_I\]J'=]OL>25=V4"ST9$BRR0OV-O^ASZ$T(K8D)7$_@4FZUD)3R7=S$)Z^K
M\H%5]#:XT8/<JIP-X;*"E'+=5!C-,*\YN1)U$S<"Q]RP<L8N*W&?E:LZ?V07
M=;T2*7N?%7&19''.KKL7#V[BVUS4AZ^/&HA C(X2O=Q;M1R?6,[F[.>R:.8U
M.R]2D6XR.(+LW09XNX&W?"?'=R)YR1S;9-SBS@Y^3G<@CN3G3/ [39)R5319
M<<?.YG%Q)VH6%RD[KZJR8F=E52ESJMD_3V_KIH)5_6OL&-0B[O@BY&G']3).
MQ)L]N%(MJGNQ=_+]=[9OO=JQ!;?;@KN+^\DU/#==Y8(46O7U6S 1)W,VZU3:
MC8UM8><BXUNXF0LV*W-X.IU?(ZV$R6$LWV P6V"*M#3Z-2((B]-_P^KIL2:!
MZ;6S$K.*QQ\DJ]8\*[$LJP8&FD 999ZE,?T8X5B_-& C8G$K*K(3@^S$.*W[
MIG[5\KH2]Z)8"7;:$^(31*@V*)BLW28U3J^OSV^NC;,5#(.DKVO1U,?&65S/
MI=TD]"!^7V7W<2XG[[/ LTV'.WCZ_KN0V_S5QI,>-7Z.J\]"GB"K1;*JLB;#
M6<Y%GK*F! (T1'KL)D[\-;0YUSBO1$ (\#-9(1IM&Z2VFI[W&3=MSJ7,^PPB
M^!Z+&V9SU[1]>\!>TXV+ @?6E!5D4VQQNA!_.$'3#9SZ,LY2)KX@K-3:N4IY
MQ,G&&3+',;D3,L=R.B8@>:YMW)0-%+SUNFW:MFU:KK,Q0U$=US<^ED6RI:3+
M"K&M:AY-MLQCHD,44M62U-QN)S!=UQK9CJ1C_PTP(B,M*:YJFFM9IAOZW>N^
MZ08VJ+X9>8'Q8UFF#UF>LR@,<.A#[IH.NYT)B R-QU_6^_2<X0Q)-3YA.[&$
MKEP@4K&*0A)I=U6+;K[MF9[M#3DHNJ',O=@^+:S @V!D75"U0L;F!+8#4PJW
M#H+HD1DZD9ZI7R<;#&%8KFWCF=2XKR?($3BO'7K&AXO3MQ<?+FXNSJ_9Z<=W
M[/KFT]G??OKTX=WYU?4/[/SOOUS<_-;Y8Y[%MUDN?>=X[0O+^%$Z%@P],CU_
MRA75X.!46YZ/S#-]9VCJDMI) 'BBN?JQSE+)#,AF<S,*G1'/(C+)6E'X[6V
M>1:T[.!(@G!M 5Y@.K9CG)7PQ*J1EG@MB@S!ZF/98%(*.(/SN<HP_<AT/3Y8
M5)&W'*N_M.V%\'>^M;;MNV;D\KYO;1SX4T*%2BC/MDS;'1Z%IF^Z05\J%U[F
M^^R 1;"50_SE3H2_3@2H<?M2E9,JM+EO>D$XH@9)[S.9UJ1K6L&(3TKRT*'Z
M.W!PGE$W Y@2N?!$D\,"!D[5G^=''K!NO?7 Y)[' @M8%X5Z:O_]T .:6B%L
M,X07J[=#WP<R6M#28I'IT"9#5KO/A&8>D,:PET/CNBF3S_,RQ[[K'R10-H\$
MHJUV:AHWX3?62\N&CU4,,6^%< -1@8?XQ^IY7!'FKYHY8L8?(H4!E"TU4PDG
MC 3% \)KD9+"G@IP)#UT,+'X*Q9:TZO#Q#PSP#%8L(!VM&']=$&FE?)8\*H'
M9_.C7:_R=A<RK/6VX7E#&P/-.$W3C(P(^J*X^"(KD#(L,](?,!U^R?D8ZNH1
M@HG58I7+W$='421+E9A3V70/0R]KJ) YL"P@U:%\#/"WY22'0AC&X08K$5<%
MI(:'.:$9NA'>\TP["B2'('3QUW4 R7YK:W7/-B3OX)6V$ @;!;!HF"DQ\0*W
MQP1C@)#0]49,EDYP!]OG!8OMS(]/97X36=Y]5J^3O(E@C]7A77[@2PF AT3Q
M+=.WPQV1T2. 06:A9E#\=I R\&%$]+!)']:S9@X:MN-;UO-BX4X @JAF:+L]
M[@#=P/-WPP^W(O@-UW.XC;!@N2,Z]!'^(\BNWO.Y94:0^JMTO>L8?H.]JH)R
MZ+O?+M77,V3>F*X2J1X?_N&$9','9'T6AU'W4PAD C#_R+@J'^,<.UEGNY5>
MWQG) 9P._MNW:)W =WNK=*$;?NCX'#A8:_Q>![LVR3[NH64M$\*EVL):"EAP
MQ(>)@:9C[S7..%$U38I)>2FS9.9R,QB9I\C&M<A1-]Z9#-$$0N5R>IPNLB*C
MVID:,K >I!;V^A#(A8GFA2XE$.,A%[AE$0CV#J(':7JHS6=VG S#*@"*<&-U
MHOE>!'\'F*)*K<I%.Y4*?\\%BOD]51S(68#$ &[@:'_+U.2#=J7#8UDL*<-J
M1ZF*<H:YN"(3W@BJWUMIL1"LR;,W\-OSE CP!LH$C ^$^%3I?Z&-KK)ZWO9V
M4G';$ LNL6KLX-HAXW0!)\G^4&?=3J7(AN):Z ,]8"'BIC?*2(],'07&;3XT
M>TF=FJ.P%AFYYP]V'R&\NZVZ;L6LK$3+ "DCX1 =*-]0&6I%3IF31]@5M),I
MPX1O /9IYQR'BD2)7N:6U\LPN:PKC8^BT^0^<X'AB*W[O5BYWP4ZBA&F%_G&
M>1M984\JCU@[Y]NXSA*9PN#P:"YRF4BSP:/"%NNE[QKOLGQ%(*:2,T?1 W?7
M),?X578H*3=!4A[?D1Y5ZJ2RF5ZV<JQ%H>QHI#Q5Y*$0.$IGI$94Y*\YK$\C
M&4UK&)39P*?>0]?97:&+EN21 5:*.E>6N^XE$2J8EA.,IT!((K NI9+#A2!,
M* /U?B]_V9"5 T#X1OJDY-YD)_VR_U)G"0JE-K/K<QGXOEGL8O]SC(Q]-OH?
M+"^7(#.:7$-7+BH<=QSVVR$G0H$3C 0S30>(4I)CC;51]$C?6I^H0%I;'J;(
MRHJ?&C=NOMIBGQ3M.5:_X\"=YY4.3U<)SRP"_IH\3O9F9WGY4&^$=F0%\HI(
M]RZ^ J[Z"S8E=5R1/6>H%HHU+]#IEVP+RT!#F[U]G!"B;:\^(CL6RQ>K)4L
MUG0G8<OFZ$@[S@E1] !WDDQ;%&5<_7#N(SB'ZYR#4A>0$%;'HWZ:U;)K)AEM
MI0#<=-VA$)*JN@4OZ,(LE0@.&%2,.>E_).>1Y'6OIQ^_=2_6=.Q@T.Q!),:T
M_S)1_%@6+Z1*LC;E:L,,5E5YPG"V'GDJX]))U4B?#^1GM&PWM4=-)6_=,8(3
M1Q&S Y-Z"<KLR0;634E*D&PS0$'1WF9E1=_85)U)NNW58R;VDN0KV;A8W]C$
M"8)2+;L5_6;J^F)!@HIC\_&S5B/]&P/JWT7!, ]4Y%U7!5IL)&:$;Y9")\O9
M0"?J/#M.EX1V4US?'A50TH<]8M@;4&[< O1(UZSM)(5Q!*B;:"'*.)V^U0!*
M;.JW3+>5B3'GT39:1Y%*7*FT"J7=%7<O8*Z+S4[?, $+VP[]LU"'V52TVR/@
MHN@#_,QD6;,-75<B%8ME"R6+T=LL6UX*C?3 %;UKCDDXU6TQZMNQNIPU#\A:
MNU*$4QMOPDOE"'2TMM[N!DP>B+1K@AR<;>B;OCMNP-V8<;E")1S7ZN)LN>L2
MB13G0Y<3+J&'.H;$CQ HIV\65M02U,R?[(*V1=-0$\A/AXD0[QO$JI9P.SZ;
M[,U!UC1>YW5C Z/0%[$#HUCVMIKT6K?$#/E;.%&8ZB%JO21"I*WEM>$(S&2Z
M,GGAP"/+M) <#J*.HF_Q%5]$E61*2"5=N51VB*IQ#,N):ES&CQO /ZB7J>T^
M#B1ZI,^"*M&'K)E324#'6-[FV9T.S05K-:5O^*LL:=H.O((^:AN/GJ0>ZB]%
MW5Y4?X/(":FB<$K>*.R@=4S7!*CC-D/D*3PZT+9X.,Z3NR%RQ9'+944WSF<S
MH6(5XI<,=PR;$2S1H:\LM,>/7<P?T,5+X(QG"NU0FQ96$K(/4J&>#EFVBS5.
M'%GP2,ZCZ--?"YCL5MQE1:%5#2S(RI1Y\#IW[#Y!T7>Q$Q1".T;/_1;A>K5<
MYO)C"BB-$D(4WZM*= A*?H\34)^(P7:.>^T4^@"$HO@^XSZ4-+64&ERWO/2<
M* PG)F!DEUS%.J/K4*U(QV%I; 64&RHS:H/#"F5)M7V12"U@0)/C30@IQXSW
M<::OHR2@Z';+%O[I>R.<X4:B10UY1V:I$W?4<O!/+S%YEZFQ0'ZG(I.0"<N@
ML7Y,9?3]#9MMB/&<12BF6A.+R#'C8AOD%:)GQ=K)Y8@=Z9%]ZC[;P93H:M X
M[[)U',G&;!Z9ON-.V:D<W%6I?MT5T_.*TF]?8?[9^H/*7NZ:GJMZC%1!Z8LO
MBP??NL:83I&AB-#T)7 =M$*HFIPZY,YTA!G->.%& :JY<!.<-.U;H<R&MZA$
M;_,V<;/"QAMK-OV-]_TC<ML+L7"72=K_]R8)H+4]:0%(%</ 4O>8GN?]E2;I
MR[O.?96ODA"Z2X2JB?]YB[0CT[+]38O4M+%O1(]ZWP O1'4GOW2NF:QFU>?
M';7[F/I4?4.\?EU]B?US7"'IJ+'#&:;2;<2>4D+[HRF7\HOBV[)IRH5\G(L8
M\$XO8'Q6 DKU#UJ@^\3\Y#]02P,$%     @ O&!R69-"CA0I"0  @QD  !D
M  !X;"]W;W)K<VAE971S+W-H965T,C@N>&ULU5E;<]LV%G[7K\"H36K/,!+O
MHGR;D6_;[CB)QW;:V4>8A"0T)*$2H&7_^_T.2%%2(JO>;A]V7T02Q+E_YP+J
M9*FJKWHNA&'/15[JT_[<F,71<*C3N2BX'JB%*/%FJJJ"&SQ6LZ%>5()GEJC(
MA[[KQL."R[)_=F+7;JNS$U6;7);BMF*Z+@I>O9R+7"U/^UY_M7 G9W-#"\.S
MDP6?B7MAOBQN*SP-.RZ9+$2II2I9)::G_8EW=#ZF_7;#KU(L]<8](TL>E?I*
M#[]DIWV7%!*Y2 UQX+@\B0N1Y\0(:OS1\NQW(HEP\W[%_=K:#EL>N187*O]-
M9F9^VD_Z+!-37N?F3BU_%JT]$?%+5:[M+ULV>Z.HS]):&U6TQ-"@D&5SY<^M
M'S8($O<5 K\E\*W>C2"KY24W_.RD4DM6T6YPHQMKJJ6&<K*DH-R;"F\EZ,S9
M?1,,IJ;L7LY*.94I+PV;I*FJ2R/+&;M5N4RET.S@@3_F0A^># T$$_DP;86<
M-T+\5X1X/ONH2C/7[*K,1+;-8 B-.[7]E=KG_EZ.ER(=L,!SF._ZP1Y^0>>&
MP/(+7^%W6P'FE7EQV&U.]O,R8U=_U'(!_)E=!K^5W<*R>\^+Q3$3*X9,:@ Z
M516<P;AAJ=*&P;6:\1Q9PLL4[D;" 5[(M%1R O" 76X\$8N4YVF=<P,FM:90
MF;E@VE2<D/B!=&*%,'.5,?4D*OM6:".+ED),ZYSE<BHH^/22:XTJP$DTJ:&/
M>A<YUBPFK,RKCOI+0WT#ZMYY+?,,XC5[F$L8S5X$KW3O1B!9YBK/F"P6%30@
MRS6[GZO*0)M6)FZ+U7U.% QF[]2RU\4#<BH!4L7,4N1/HA5X75>E-'4E'#:5
MSW2C;1S5% :(#>]WY#9E6^H+52QJ4FS.JVS)*V%IM9H:^]#1:/$DRH;F=55_
M%7.9(J#L6J[4VP/2L -IN!=5=X!,F<J\10"\=LZU3*VBES*O28M[J ^YDX+2
M5^]"[GX9$PO,;2F/G92LE;*TGB/P EBHW4R36(:BKPWV$1:!STTDH83:&/_+
M.LZ6 > Y%<4C7(Y$[E$B4S;[]./U#EH+F"Q!IVH-MMIAXCD5"\.07*W(#$7O
ML/>I+J"'4=41.YAH=H>H4$SP H"69:H*P7YD0>1$XQ@W7A(YXVA,=W[B^&.O
M=S6=HDV0L=9$BIH6:5U)@\J'/("L&<%):T4)2"Z09H[$+>$ (U$7D:N/) OY
M5UND.ZP4EJ/AS^S]#XGO^<<L2$:K^[723:JWKH5_2IM,:QL_6$ZM&?R)RYP*
M,8$1*P5BA"Z1?J54$_ MGYI5LN\S:ML?L1.$\88_+D6IT&VL2WN_[8RV)L1G
M%)_4I@X%?4-/4C^*G)'OTB6,[<7UHIVNMOR.>I\7!+DF:ZU-K$9&:Q9&(Q:[
M"1N#_&+#Y5J4$JXKE:'VY!W"$(]Y3@!AGN-' 6TFO2CI$2HM,W(XH3IAGM<%
MXG*EQ]IA-81H,AEFV,D')7E+)9![,4N\-?$"6D :S[NH-%Z*H;SGC,<1\QT_
M'&^Z]L\#S[/?:_UZQKTA!BM.*S$10CT:L6CDA%%$%S\.>U??R3[J-;7E1^8.
MXI# ,@@B7/Q!$/16Q<:^#.Q+/[0O_;!'<;BC3J5MO2<@=H%&)\ 89LVF=:JY
MO'SY28-/,(K8.[89W?LFNI]L=+-:4&$(V0$14N1\]Q@KWKC98%>\XT.+'1N@
M@>N^@6&RQ= 6H2U^ X9Z D!LUBH[=#C6 CG]T-8 N..)YV"*PF=;N9GSTN[9
MK(J+"J&1"X"D[7EKB59SBA66,9DJVX&,_+!RW@!>G5)F*[N?>9'3^>$U*YW6
M#.OQ@EC*LAGD::#8TY*BKB5%>]O%QOB(F2>K$=P[:I U['E\Z=9N0+:K%^UE
M3N>1(PW B-.^A5/U)/IG#W!:TU7LQ&,K8;6&VZ*56&UHL5HC_F_M1(3BKANQ
M _]P=T>BY<U^<RUSTY:85JHMM"&*THCZ33A&YPE<NG,#)W)1S^:50CS4K.*+
M^<N:RO-C)_;'S(-*<>*B]CEN,.K!HZD=%$N>OQB9ZC4%,CNA:@N^&+C#!-5V
M3/N-0%?:8 S!(;+6\T(GP'X/6!ZYH]YGPAT+("QAJ-NAQT+'C;S>@S* ZS=^
MA0$Q%!M;HQ+7<[R$ZD \<IT 4EOO!=UVPM]TAV^0#7F="=UMK$0ST +EU[EX
M/I=*OZ"5_E)BWC]HX;Y^T67]%$YD$V17SKS1*D$Q?V ^S.GZ4: XJR?.?E9V
M5F63\X[=ZMTVL\^I480(O^$V( PT8/AO;,)AZJ40!;L?3-;VM(O;\O]9YR^L
MJ37>EBFPG!S [A75!6J7-S<7':_V[58Y_"26!@H^V%/(1Q2+:K$6_NGAX[;@
M+A>\N)$.M%>JGLV_JX'>X'N'++[#VSYW3)XPBV3BF_BVJ]MJW6/N:Z3[[I_K
MM:>TQ5UIB_>6M@;W$SH3V2KR#]'D*)KBI!)\5SG;R_ OE;.-+FFGE=$QUJQB
MO%-,U16SI_6F#F>8+C"^BZ:Q?<&T0L<"JD^Z@8.RB=Y0T""XI'YCN13\=T4?
M;!XQ*4EN7]H9N^68=8T;8X)4&079ZBFRH][N8?Y-5;.=V9^DIA+Z\(UYL[7?
M<]4<1#$J?L(I<HYC#A1).8T>--4X29S8>Q_8Q5#;NZKI(,Y"U%(O3)B?C)PH
M#'J3V\D%\T>.%X_IDHR\MTBUG). :IV=A)R(2C.FC#U@&W5@&^T%VXU"]&_0
MY;/_#'%[N?YMB,NAW8?<:O?_#;N;78:\$6 C--0@L'>1XZ$QKL 5.#[Z<Y
M6EX++6>,N11@02ML@+73@[LQ%OBAXP<^W0'%$0X:>_"5=/A*WE#,VM%L%Y#V
MDN\&TOL?O-@]WJ/<N%-NO/]KF:A2A)-.-=^CGCZR;'Z9O+#?1,6W'U0:*_;*
M^9L+\*J=_8^D CN@C]/@W1PZ.D"UYXRT==OA7_D4LSGAWJW-7O'4/[TIA\(0
MY[$PH!^/O5NE3Q!C(1C1*LYK-G^&S2CJT_G-_B"9WK6)M/*Z9T]WF[^[@#C<
M^# .+6;V\[]N/-]\(^]6NW\8)LV']?7VYN^)C[R:T5R3BRE(W<$(9Y>J^>3?
M/!BUL)_9'Y6!5^SM7/!,5+0![Z<*DU'[0 *Z_UW._@U02P,$%     @ O&!R
M66/SLP_6!@  YQ0  !D   !X;"]W;W)K<VAE971S+W-H965T,CDN>&ULM5A9
M;]LX$'[7KQBXQ[: 8\NRY:M) "=-MP4:($AZ/"SV@99HFZ@DNB1EU_WU.T,=
MEE-9=;N[+Q(EDL-OCF^&Y/E6JB]ZQ;F!;W&4Z(O6RICUM-O5P8K'3'?DFB?8
MLY J9@8_U;*KUXJST$Z*HZ[GNL-NS$32NCRW_^[4Y;E,3202?J= IW',U.Z*
M1W)[T>JUBA_W8KDR]*-[>;YF2_[ S<?UG<*O;BDE%#%/M) )*+ZX:,UZTZLQ
MC;<#/@F^U94VD"9S*;_0Q[OPHN42(![QP) $AJ\-O^911((0QM=<9JM<DB96
MVX7T-U9WU&7.-+^6T6<1FM5%:]R"D"]8&IE[N7W+<WU\DA?(2-LG;/.Q;@N"
M5!L9YY,102R2[,V^Y78X98*73_ L[FPAB_(U,^SR7,DM*!J-TJAA5;6S$9Q(
MR"D/1F&OP'GF\@T3"CZQ*.5PRYE.%4>+&PTO/K!YQ/7+\Z[!56AL-\@E7F42
MO2,2>Q[<RL2L--PD(0\/!7017HG1*S!>>8T27_.@ _U>&SS7ZS?(ZY<Z]ZV\
M_L]U?BUT$$E26\-?L[DV"L/D[SJE,Y&#>I%$G:E>LX!?M) ;FJL-;UT^?](;
MNJ\:  ]*P(,FZ9</&6- +N":Z57;/N'F:RHV+++N8DD(MTQ]X8;<!@\\2)4P
M K5ZRZ,0C,1>0[]V=;HUK_YAQ6$A(Z2O2):0+9!Q6'S'!0QV7\MXS9+='QH"
MBX^>P!_AB_?X]![?*L<7Y_B :=(3?<[C.5>EWZ?.K+[#F<52&802PI]*:IT_
M;[01*).'CC46 7B,:KKOBF7"=SE"6*1)J.$IC/Q>N^_UL?7\R=CK>:\.6GFO
M\T$:%F6RZQ8Y64Z]>M[_IY[O]=L#?WP$5M[[4_4**<7,XEW,OSW)ZU/G8^>A
M T;9'+2#N8@B#6>@5ZC\F>$JAI[KMKW)!+Q!N0;].G3!+X7>4Q@BR)$_PA9*
MK6IO.\:]!N[Z)7?]9NYB&0U37!B=NW?EM=3&(JODHL=,K;)XOL,IB<U.*:K:
M1.9&./6)BAC.2FQ!@6U!V#86&X(_Y/D/M-4'8(,*V#VSS8_A#4Q5LDD(<]HF
M=  1X?\M/1*)TG!99=TGD@W7)JM11S-%$XGVQ"GMC$*0'[#C3(%4@&6/8J.(
MMZ>/PJRF!QKB9%C&R?#D.-D'11MF6O,\BM\+AKS(;)P7ZQ"1PSV97E%ROF):
MZ+J@:%R[/BC>B(0E@4"-V1["HOP95<#$!1CT<#5H<-.%&[<"W)S 463@RQ01
MM2\L1[QIER4?'B\ [_F&1]"#[.WE[SY8?SF9 :?.;34'LB"0:9:=A_ZX[8\&
M1])@WNM4;#]U'O99B0(=T6,\9IJ%7#&[W:P7U_/:DW&_;#CO9;+\/4&#MCMR
MR\;1ZO'O;-,?]-L3;W($0][[G]D&I?ENV?A]VV!!]?W)OM' SE')SM')[$2Z
M2>0 $L!B*%+CBB%"S$_VJY+6:=.VQW]]@/\,;IA*\*Q4Q]E&1/6<G1'=:L %
M);C#G'[4L-:8O5? ,WB Q!5)$*6XH2]4?+PE?($5Q(:-[9>I1N+JEU/GBD68
M,GA]]B>"M7UWXLP"+-E:V,5#3,^G LT!:ABVAP/7N6,[J@VG37E!Y/&]$;RD
MBD%;CU\Q445,WVW[PPF*:="52.^-VJ[?6"W&93R.3X['H]&5QQ;<?%OC&9BJ
M]9QC]**A*5?C)QZY#<IXEWD6'L0R$0L1,)3T,9%S"BKKVG?)&A6MB]%FE+2O
MV.?_(O54[!OOCYRV"J?J]) T*[3RE@.O:J<JVNE,.Q)*]K=>&!3EQ#^^D)Q'
M8IDU%[@=F&TP*D.LQ&\B_NU*2+W+CUO<\$1N6$&,1Z30%6.F56,*:\QZNK11
MFX"O#:RY"@@94H$AAW[JXDJ^R>HHM;,A'WBP2L17[/G1IW!O\\)G>W>!5IMM
M4##^>-%[Z=PI.<_R.NV0G(<T"&ACA%L>>)8]$58<(U#<#HCO=K$SNB )89VQ
MD"J(Y[;=R<#>"&".9"J2)68Z>Y,)$ 3V^9TQ/#O#UP3%VZ?S248HU0+H>1V?
MNKU!9XC]7L\.N,>(2DAE= <.3F-^1N4#SQV'*Q;CGK-X_2H?";G$2:>/ L?T
M=!J1C3H>#AQV>CCPT#8'-KEE2;J@G:^->6($12BSMUCVU(7ISH>*@+-M87V;
MQW'5C!OU8.SZ9_@:6#"$'9UUZ-H\PK;9%CH7CIMR8^E(-MT\SJ^V2!PC1+'5
MVW7J,E>W<OF$T;"T5VRTST/,V3U4^;>\Q9MEEU?[X=D5()X5EP*M%/$%3G4[
M(SS+J.Q:+?LP<FVOLN;2&!G;YHHS!$H#L'\AI2D^:('R;O/R'U!+ P04
M" "\8')9DRAZ=8L'  !@(P  &0   'AL+W=O<FMS:&5E=',O<VAE970S,"YX
M;6S-6FUOVS80_NY?07C%D )J+%*OSI( 3MIN!=8N:-/MLR+3-E%)U$@JCO?K
M=Z1DR2XDVBG6N5\22SS>"W7//>1)EVLNOL@5I0H]Y5DAK\8KI<J+R42F*YHG
M\IR7M("1!1=YHN!2+">R%#29FTEY-B&N&T[RA!7CZTMS[TY<7_)*9:R@=P+)
M*L\3L;FA&5]?C?%X>^,C6ZZ4OC&YOBR3)?U$U>?R3L#5I-4R9SDM).,%$G1Q
M-9[ABQL<ZPE&XD]&UW+G-]*A/'#^15^\FU^-7>T1S6BJM(H$_CW26YIE6A/X
M\7>C=-S:U!-W?V^UOS7!0S /B:2W//N+S=7J:AR/T9PNDBI3'_GZ-]H$%&A]
M*<^D^8O6M6SDCU%:2<7S9C)XD+.B_I\\-0NQ,R%V!R:09@(Q?M>&C)>O$Y5<
M7PJ^1D)+@S;]PX1J9H-SK-!/Y9,2,,I@GKJ>I7]73#*]0A*=W2</&94O+R<*
M5&N!2=JHN:G5D $UF*#WO% KB=X4<SK?5S !GUK'R-:Q&V+5^)JFY\C##B(N
M\2SZO#90S^CS!_3=,/XVHT]H5LS1A_OW:"?POG"MRC14+F29I/1J#%B05#S2
M\?7//^'0_<7BJM^ZZEM=_030FU<917R!/M*4+POV#YVC=W-:*+9@\',F)56R
MCD' =0)!_<Z2!Y9!0%3J\2K_^C'4@5E-]P=VOZ(HY7G)"W! &F-4*@:0T*:S
MC*>)01BXJT"TK$2Z J"@4K!4SP0(2[4=77"8L&;%$ITE.:^T0E; "*\D*)8O
M+T:WB5P9(ZG^02'$QR0SEE\@XL21.YJE:3U3T)3"*"0MPH[OQJ-WQ2-(<K%!
MD8]'=X*6"0-OGZ"(25J[SL$+ = 2 B114J\D)B%(0ZT3:E,'"&;+7$MX_N@/
MN \A@L\9U8$)#74=4 471@.8=T'PU@ 6U N:F361*U:"=L\AOCMZ31^A"I:P
M:(JFJX)G?+E!GA/ T+U(YE!NQ1=C7.FK(LDI , =?>#%*[W\5+&ZD"T%I;E9
MD- =_<KY?,VR#$V=&#SXG8.7BHI<ER8J='*HY*EQ,L;=TI7)QJS;&2+$1R_U
M@*A .MM)HS/D!RZ,?1W_5F8#$CIPJXR#,O#IE?'I#'D@^C9A L$SK4R&%[1]
M"LDVGU]HY <11A8T!2V:@J/1M .A=X5*BB732]"@2:_\FS:O/TNZJ#) U2.5
M?3BR&AW&49?^RBR_L0SDJE8&'3LP:_#".I=9Y_)VP:3D*3/^KEFCXJOB5B?4
MBL*2=Z"MZN R'=S%Z//V:D&1>39_ZF<S.IOUX7,PQUVTH8G0(+6E.\:-F#WO
M<; 5LP/ :\0 "& W<C#DJR5GPC9G0FO.S![!TIPZD"7I>=_3MT[_1GJ(6N>B
MHQ/ZII(P*B6ZY?D#*^HZ?*LK[MS $:Y@B0M9EX*^2.RV[KE*LKJ$MPI5IQ Q
MG8--4DM[1=]7\@(*M#,-R>@-9"H4DOW1F,!8/() =$7157A__!6"IU[ )A/%
ML>-%WE$EA?BAX[FVO43</H'X= 1M-?W#$W00D5YZ)F27G#V//(><L3]$SMB)
M(8>.X&?/"?UXJ'81WPGB@8)%7"<,+(7*(?8*I8=;CL;3R/&CT,[2P'PDZ"5J
MJ(I#1$T<''L'J#J<QL<3-2"PYG[S1/:-!?&1+-Y SE:2IRWFIJ>@<:O14])X
M0T$GH7*OI7(;,EJ./@21N)$[B)6M72WV D'NA'8ZQVYWRG6MV7/'LTU.<_3I
M?-;+Y_;IWTCH>.<0CD]'*';;1S/* K87V?_,)E[@C3Y 9=&=':TC34JF-R1G
M]"G-JGE]JYG.6G;Q@2\ZKI&*EJ^J$@6^=P11Z"SUR2#?> [V@Z8F-O)PSNR%
M1^R0R!\"A43!'A3H'@PPZ2C#"YP0$&@_@I% U_X!5MD5)8Y'HJZJM_5^O[YC
M_]AC&F!T&EGK.R8=",@I*KS=ZBE+_+8H?<\2WU^YNP)OS5)(A$8PL!?N[K1&
MH'!/'7<:6G.B:]IA>]?N/4"CX(\)^HUG!NZSF]YG_#W:=;CKU^$3-NP.V/Z1
M]OY.!(>VOMV_YT2>NU.3?:BQSVG/^9$[5)%][YBRCD(<#&YW".PSIOU(\7TX
M7D:#^)AZ4QLLHCC:V?MC6)\H[MO8 ^5XQ+*UGWK^@:T]B?31X'5OV=_?UT.T
M?HR?<0X(@B.Y $>PD*YK0U37L\,G:=K9K9Z2"]I"=XK]?M"U[BQ8:,4.@**5
M.X .THAIE$#QB*%Z$"MK=-T[;&_?Z1<]-XS+C1SNX-E5?"ME=#T\?'P3[[^G
MC --O1^',C!L%?K?YX2QMT,881@]@RZ\8+!?1,Q[FJ,:1H$7#3:,8'#@5#QU
MXM#R/L?>*R*[O2) &9#DUSOU[2G%[242+QRD$0\?(A%O^HSW.(X_/;8+Y)MW
M1#;8=(U7?'SG];_DA6]LNGY_7NA*V4F8@72=H.&4Q^&VX%MS?WN6L&.@;2H1
M\TH'^,CO[P%-=CYZ ,^7YM,.B0PFZN\?VKOMYR.S^J.)3KS^]N1](I:LD)#Q
M"YCJGD>P31#UYQSUA>*E^83B@2M8)O-S12$NH05@?,&YVEYH ^U'-=?_ E!+
M P04    " "\8')9GCJ Y?0#  !-"0  &0   'AL+W=O<FMS:&5E=',O<VAE
M970S,2YX;6R-5MMNXS80??=7$-I%X #:Z.;;)K8!)]E% W1;(TE;%$4?:&EL
ML4N1*DG'<;^^0^IB>>,U%HC#BV;.G-&<(37=2?55YP"&O!9<Z)F7&U->!X%.
M<RBHOI(E"'RREJJ@!I=J$^A2 <V<4\&#. Q'04&9\.93M[=4\ZG<&LX$+!71
MVZ*@:G\+7.YF7N0U&X]LDQN[$<RG)=W $YC?RJ7"5="B9*P H9D41,%ZYBVB
MZ]NAM7<&OS/8Z<Z<V$Q64GZUBX=LYH66$'!(C46@.+S '7!N@9#&OS6FUX:T
MCMUY@_[9Y8ZYK*B&.\G_8)G)9][$(QFLZ9:;1[G[">I\',%4<NW^DUUE.XP]
MDFZUD47MC P*)JJ1OM;OH>,P";_C$-<.L>-=!7(L[ZFA\ZF2.Z*L-:+9B4O5
M>2,Y)FQ1GHS"IPS]S/P1M%';U&P5$QNRY%20_C-=<="7T\!@ &L6I#78;046
M?P<LBLD7*4RNR2>1078,$""SEE[<T+N-SR+>0WI%DL@G<1@G9_"2-MW$X24_
ME"X5&7D$3@UD9&'EP0P#3?Y:K- *]?+WJ5=0!1B<#F![Z%J7-(69ATVB0;V
M-[]X%XW"FS/T!RW]P3GT^5/5.D2NR7$F'?:K/7G>EV!M[J0VIU(X'^0Y![*6
M'-O5(ALKAKIGV7^(;_!QFE.UP;FJ7YZ1.#UZLT=\3,TG13[7/>PF!_(G4%4)
MA6"9H5B!:DO=>X(74%2D0"YH4=Z03T7)Y1[@0U,OFYLF#^(%A)'X2A;9/]@M
M>%S@[B)-L>V5L[L'K$/*J#L#/M.4<6;VKO*_(@DD\,I,#?8L#>6]_J*06XO"
M!-*46XVV^K)G36P.I9(9IHGY8N0MD/<D]L/QV(Z)/YQ,<)+X8S=^3!*["OUD
M,NIAO3#?-'>A,W3FLK1L212-R,6[21S%-V]&?(9O@F.%-C[9@,"<N .@&9X%
MS*K4'FHD\H=)W'K%$Q(E^/-''R<]1R<>'O.;8,SW:!".([N.?3S#S\ASV,IS
M^*/RK 6Y;_L+)?+VK#DESO,A6MR.]*R83IQC>&,Y+9$=U03_*DUKTJ>G"GS=
M.X:H)-%H84E99NT=WB]2?+BC.O\FZ(.!0G^S]S.C*Z>X-X*&1M!-(JD+>"A7
M'V?A8$ NW3R.QFXV& UZ!]'3CNCK\C8BZ#<;E\U6K]L66;<M*D$</*OUP;%M
M&[#-8O4G7>^X9<6[TE+?CJ,(77$6=A!<:[52<QD-_"@<-MF-_5$2-0F>4F+0
MN>(*P,/'7N0:@V-YJMNNW6V_%1;5%7DPKSXTON#9Q80F'-;H&EZ-47&JNKRK
MA9&ENS!7TN#UZZ8Y?N^ L@;X?"VE:18V0/L%-?\?4$L#!!0    ( +Q@<EDS
MB^Z#604  ),.   9    >&PO=V]R:W-H965T<R]S:&5E=#,R+GAM;*U7;6_;
M-A#^[E]!N-T0 YJM=\EI8L!)6VQ @Q9)VF(8]H&6*)LH):HD%3?_?G>4K#B)
MK6;#ODBD>"_/\;D[D6=;J;[I#6.&_"A%I<_'&V/JT]E,9QM64CV5-:M@I9"J
MI :F:CW3M6(TMTJEF/FN&\]*RJOQXLQ^^Z069[(Q@E?LDR*Z*4NJ[B^8D-OS
ML3?>?;CFZXW!#[/%64W7[(:9S_4G!;-9;R7G):LTEQ51K#@?+[W3BQ3EK< 7
MSK9Z;TPPDI64WW#R1WX^=A$0$RPS:('"ZXY=,B'0$,#XWMD<]RY1<7^\L_[>
MQ@ZQK*AFEU)\Y;G9G(_3,<E901MAKN7V=];%$Z&]3 IMGV3;R;ICDC7:R+)3
M!@0EK]HW_='MPTL4_$[!M[A;1Q;E6VKHXDS)+5$H#=9P8$.UV@".5TC*C5&P
MRD'/+#XP"$F3DUNZ$DQ/SF8&C.+2+.L,7+0&_",&/)]<R<IL-'E7Y2Q_;& &
M:'I(_@[2A3]H\2W+IB3P'.*[?C!@+^A##*R]8#C$OY8K;11DP=^'@FQ-A(=-
M8&6<ZIIF['P,J:^9NF/CQ:^OO-A],P P[ &&0]87-VU!$%F0*VH:Q0T'O##[
M6#-%#:_6Q,9 /G"ZXL(N'XIAV,OMAD'B[)LW\.52EC6M[G]]E?I>\@8^]RZ%
M=2D>7!)JM8 >5JZ8ZBDB5#%<*Z2 $H=<HJ5L*J,)K\"%;#2M<CTY'2V/J"^M
M^ C&(7E-?-^)T@AG$?$C)P[M.,9QZ,8X3H@?./,PQ'%*_- )4A_'<P*.,"AH
M3H4!#\G<"8-H="L-%:1H('2&)<3+INRBJ^D]-!B >N)- (SG!/-D](%IW:WS
M*H-E:!L@0>9.$D=DTJZW,6) CRQ!G[()4MDMY!7 8-J <@!AS5&[13.TS:^)
M%\T=-T@L*J1M&#N %$W.B%P)OJ;8ZY +U8II4DE#[J&[9[($^8SE"!KV.9ZF
M8%$([(TH7M*J*: \($&JM0-"!<^8W=(M$(P\ A":=2BG" R!MTXV](X1"+:T
M'*^8V3)6D<BJ>R[XITK;R0X%R:T?FX,%5[!'WQNJD#70QU28#A16U!=6]-+"
M.E9*]X<*:=CJSQGL&(&=K@X660842<%S:D!F107%#;$]7+^TF/;+:&3+"![^
MZ.,15/? .!13X,$[=N91<ES2(4)6Z]^03.+YL1,E*?' 2Y#.1U==!CX-OL]%
MR%W(=-^=VU'J!&$\P&/<\QC_5QXOI3:'*!PV"#]T2TR;EPQ_7,\;DWWZ-FMA
M !^-);Z-. ._A".59:VX;JO*)K,E#@">CG9>_K1>WCWS,GH(@?046E^CD^4A
MVI^19E% +;O./$5JO<1)@P &<WBGHR]4<?RO/^/+ZH6.FT3$ V:]A"2.YZ4=
MH)W5R'&C& =SQXM<-(^I,T1HTA.:#!,*9\N\06 %N6GJ6C!,']C<MUQG0FKL
M=K!T2?6&O+=U<,V$K18CGZ; P5_AL/O;?9Y@B]NS;7O,[-JWAF/J'J[\ 5?1
ML?JHB+6!5UL"@#M#W(7%K1YP/R'A>&W_-&^>),N1K#BQZ1#[9-). B>)DFZ2
MPD) )@-4ICV5Z8NI_&K/P(!V>0>(ULS2:?^3U[ )MI+:#+O%YO(9JP9"OZ0B
M:\2_..<, T)RMSL@M .B&%Y0'K;(=K?NN/!<.M_!5@B[T2U_)6AB OQ/QR8'
M_"IV.OKZ(JPGME5-2#)-PN<JCP&'4R\@OQSB=K9W42B96MOK$#8QT&WO#/W7
M_L:U;"\:#^+M=>V*JC6O\*!4@*H[3>"GJ=HK4#LQLK;7CI4T<(FQPPW<&IE"
M 5@OI#2["3KH[Z&+?P!02P,$%     @ O&!R6=$1>?JB P  B@@  !D   !X
M;"]W;W)K<VAE971S+W-H965T,S,N>&UL?59MC^(V$/Z>7V&EIVI70ILWW@^0
M8+G3]<-)B-VVJD[WP4F&Q#K'IK8#1W]]QTY(H<LBH6 [GF>>F6?&SNPHU0]=
M ACRL^)"S_W2F/TT"'160D7UD]R#P#<[J2IJ<*J*0.\5T-P953R(PW 85)0)
M?S%S:QNUF,G:<"9@HXBNJXJJTPJX/,[]R#\O;%E1&KL0+&9[6L +F-_W&X6S
MH$/)605",RF(@MW<7T;3U<#N=QO^8'#4%V-B(TFE_&$GO^5S/[2$@$-F+ +%
MOP,\ ^<6"&G\W6+ZG4MK>#D^HW]VL6,L*=7P+/F?+#?EW!_[)(<=K;G9RN,7
M:.-Q!#/)M7N28[-WU/=)5FLCJ]88&51,-/_T9YN'"X-Q^(Y!W!K$CG?CR+%<
M4T,7,R6/1-G=B&8'+E1GC>28L**\&(5O&=J9Q18.(&H@6\AD(9C+U,,K33GH
MQUE@T(/=%V0MVJI!B]]!BV+R50I3:O))Y)!? P1(K>,7G_FMXKN(:\B>2!+U
M2!S&R1V\I(LW<7C).WC++).U,$P49",YRQAH\FV9:J.P/K[?BKC!Z]_&LSTS
MU7N:P=S'IM"@#N O?OTE&H8?[[#M=VS[]] 7:Z9I42@HJ!-&[DBKURVB=Z%N
M$SVKC\U-3 GD!%1I E8[@IF'*@759=\]8T)%;@<1.5)-\+>3'#M;3[W/+<A?
M#N33&Q#/@C08UMY[6%96"DV80#M9:T36C[BL,4IMJ('\T=LHF=>9P?YOF'X@
M0X2:C"8X&H=1+QHG=FT4]I)HXFWEB7)S<APE<E&(G<D*2(+;D@%ZCP;>JS24
M7P'&O608MX"#9-@"#I(^N:/AH--P<%?#E^:X:\3+@!U<<SF*:]B!4IBF3@<E
M*_*,'62K4>-18$KR[ X!4/J6YG==W];\M816,]L$QK(A>R4/+ <K17/.NP,S
MQ4,<\W3-.3]S5I><LVO.V9FS+1 ,_$TMD0=Z2_RI=[7S=O5X*\JIR)#/?==2
M\-.47)=3V_[Z(BQ4.XK[O6@8V5$T[,7]D;?^?Y0/6$B\MB7-[%62J1J'G-&4
M<3PTV]R@_:@MH&C2PT+USL*JYGC]!XWR6MG$[T$QF6OBA!'&N>+4'4Q&3CVK
M4@H%$\*NO$EZVJ3 .AKW1@-'/>DED_!FQ087]P.FIG"WH"8N%<U5T:UV%^VR
MN5_^V][<TE^I0E*:<-BA:?@TP@I4S<W73(S<N]LFE09U<,,2/Q9 V0WX?B>E
M.4^L@^[S8_$O4$L#!!0    ( +Q@<EGR";V7#0,  .,&   9    >&PO=V]R
M:W-H965T<R]S:&5E=#,T+GAM;(U5[V_3,!#]OK_B%!!JI6UITJXKI:W4#A!(
M3$S; "'$!S>Y--8<.]AN._CK.=MIZ-!6^-+ZQ[MW[]F^RV2K])TI$2W<5T*:
M:51:6X_CV&0E5LR<JAHE[11*5\S25*]B4VMDN0^J1)SV>L.X8EQ&LXE?N]*S
MB5I;P25>:3#KJF+ZYP*%VDZC)-HM7/-5:=U"/)O4;(4W:#_55YIF<<N2\PJE
MX4J"QF(:S9/Q8N#P'O"9X];LC<$Y62IUYR;O\VG4<X)08&8= Z._#5Z@$(Z(
M9/QH.*,VI0O<'^_8WWKOY&7)#%XH\87GMIQ&HPAR+-A:V&NU?8>-GS/'EREA
M_"]L W8XB"!;&ZNJ)I@45%R&?W;?G,->P*CW1$#:!*1>=TCD5;YFELTF6FU!
M.S2QN8&WZJ-)')?N4FZLIEU.<79VH3'G%CXH8]! YY8M!9KN)+;$[1!QUO L
M D_Z!$^2PJ62MC3P1N:8/R2(252K+-TI6Z0'&5]C=@K]Y!C27MH_P-=OG?8]
M7__?3N';?&FLIA?Q_3&G@6?P.(^KDK&I68;3B,K H-Y@-'OQ+!GV7AU0.6A5
M#@ZQSVY"<<#' N:"*H;)#('>'SR\*+<RSS*UEM; -6;(-_[F'K-S..%MB5 H
MEXK+%5C' K56&YY3&@::MDZH]K=,YZ *L 1GK3#:@"P($T$8E_Z^@,G<#5(*
M8!:XH4K)UYG%' JMJD!3*6WY+UK*E+&NM@A&*=C.EVY]@57@#UM:'RJI6U$X
MH0#O:_2\!%DB40D1YIT \))LJ=:&))GN^,@=G>/XBDPWKQ7HK6&U1.W>VY'7
M[[0?+9CP-IVHIST?4]X5E]*='R%KU%SE\!PZD!SWAV?0;<:#Y!RZ1Q=KK9V-
M!I:53*X"Z59SBR>J* R,4DC2X0%LZ_KAZ7=@U'])"3MP/J!<_ZL?9?Z7\O0X
MH;OK[KMX['''>XVG0KWR[=6 O[_0@]K5MH//0^/Z P_M_Y)I.D0# @L*[9V>
MGT6@0TL-$ZMJW\:6RE)3],.2OD*H'8#V"Z7L;N(2M-^UV6]02P,$%     @
MO&!R62]R]NX^!0  L@T  !D   !X;"]W;W)K<VAE971S+W-H965T,S4N>&UL
MM5?;<MLV$'WG5^RHGHX]@T0$0/"BVIZ1'3O)@UM/XB;31YB$)#8DH0"0+_WZ
M+D!)5BQ92:>3%PF7Q=FSP-D%>'ROS1<[4\K!0]MT]F0P<VX^&@YM.5.MM*_U
M7'4X,]&FE0Z[9CJT<Z-D%1:US9#%<3IL9=T-3H_#V+4Y/=8+U]2=NC9@%VTK
MS>.9:O3]R8 .5@,?ZNG,^8'AZ?%<3M5'Y?Z<7QOL#=<H5=VJSM:Z Z,F)X,Q
M'9T);Q\,/M7JWFZTP4=RJ_47WWE?G0QB3T@UJG0>0>+?G3I73>.!D,;7)>9@
M[=(OW&ROT"]#[!C+K;3J7#>?Z\K-3@;Y "HUD8O&?=#W[]0RGD"PU(T-OW#?
MVZ9B .7".MTN%R.#MN[Z?_FPW(>-!7G\P@*V7, "[]Y18/E&.GEZ;/0]&&^-
M:+X10@VKD5S=^4/YZ S.UKC.G;[5NKJOFP9D5\'[SLEN6M\V"L;6*F?A\$9B
MSQX=#QTZ\TN&Y1+XK =F+P!3!E>Z<S,+%UVEJF\!ALAR396MJ)ZQO8AO5/D:
M."7 8L;WX/%UZ#S@)2_@G<\P6&6A[N!<&O-8=U/X))N% CV!U;[L"GPOK,^B
MD9W+4IT,,$VL,G=J<'HS4S#1#:: ]^+\IJ*DPWR'V^QPNGRB$[HK2G<K2M/5
M46$J!I-')8T%Y;<7<'-4>ZO,>H/"@6*#P:%L]<)["<AZ87'&'HVB,]G(KE0@
MK4=_#D#A /(T)CQET962=F$4YJ*#N3*UKD!6?Z,XP\@K.*OU9:,>X!!XDL+1
M=^W'=[6K*X7VE&1ICBO.%^VBD3Y!P1G96=_V.?NTZA 8R;A V_V\F><M!!&4
M1^/RZZ*V=8!"4\\1J=I'2U#J*"::$,[H<[,KY52G[R2\TTWE3V!\!I0*DF7Y
M#_"D1,3Y=SARY%CD&:$LACU"3M9"3O8*^2-6ZFK1!)%LI? N >^%VRW@#5P9
M< ET>&64&LNS=2A ].V^$;ETVW&/HJVAZ*W1UL*X+/NM1:C?$?AS**>JB@['
MN]0;7=9=[=2K!D^BPJEGY$9P.+;P05GG 8_V]:(;5<XZW>CI(RJS4G=X3\T1
M\P"82(G@*;8.(4E(RCD<^6%*21%SH&ETC0B>&DMBKT_\/8)??\D99;^!UXJO
MWABJ4;U,[*R>HW%:D"(I<$'.29%Z4)H+4N0I4!'=&%GAM8M7,N0D$UF?(WF!
M5BE:YT"+Z _<:+,1M 4$HDE($8'_"$B2. 8>W6@GL5[LW2L0O""\2+TGS@GE
MWE<2IX2A=V3T'NO+7H31)ND,_:ZV8*.]9++M_ !$$I.XZ+?YB<!!H% @A2WE
M_4?1L6W1L9\JNKO:/JFL[[PL,EID>%8B1,]C4A0L!$_3E"3T?XA,,%)P+PD$
M$J(((DL)S\0SD64DS5D0&:>]R#A*<J?(&,DI#2*+$R^R+,T@^3&))2DE<1;\
MQ)10X9=S@7E <Q_BSY:8=Y]EK)?8FL !<+S?4J2PIP:+=0T6/UR#43S&U?_T
M5\/% [Z?K0J7]G)"[7AI[2K3>SWN+M/CW?<-"6ERKMNY[!Y!(:72OSHTJJ;4
MIGJ>1)O\U9+_2Z^("^OJUF=0M!EVM P[NER^5?X*;Y6+[;?*M\48R2;^8!*L
M><+WA&]S$?MV"E@>BB*,9[Z=%\RW<]^F:; IPKO':U?)B4,?C*<H/;%4Q\&Z
MLNTZ\^'&.QIS:AJ^%GR]P<#[)_5Z=/U!,N[?X4_F_=?,E333NK/0J DNC5]G
M>)BF_T+H.T[/PZO\5CM,X-"<X4>5,MX YR=:NU7'.UA_IIW^"U!+ P04
M" "\8')9#D^=0]4$   [#   &0   'AL+W=O<FMS:&5E=',O<VAE970S-BYX
M;6RU5VUOVS80_NY?<?""(0'86B+UFB4&["3%"K18D';KAV$?:.EL$Y5$E:3B
MY-_O*-NJMSE>@75?++[</;R7A\?SU4:;SW:-Z."IKAI[/5X[UUY.)K988RWM
M:]UB0SM+;6KI:&I6$]L:E&6O5%<3'@3)I):J&4^O^K5[,[W2G:M4@_<&;%?7
MTCS/L=*;ZW$XWB\\J-7:^87)]*J5*_R [M?VWM!L,J"4JL;&*MV P>7U>!9>
MSE,OWPO\IG!C#\;@/5EH_=E/WI;7X\ ;A!46SB-(^CSB#5:5!R(SONPPQ\.1
M7O%PO$=_T_M.OBRDQ1M=?5*E6U^/LS&4N)1=Y1[TYF?<^1-[O$)7MO^%S58V
M$F,H.NMTO5,F"VK5;+_R:1>' X4L>$&![Q1X;_?VH-[*6^GD],KH#1@O36A^
MT+O::Y-QJO%)^> ,[2K2<],;W5A=J5(Z+&$N*]D4"!]Z.MRBDZJ"\X]R4:&]
MN)HX.L]K38H=]GR+S5_ #CF\UXU;6[AK2BS_"C A0P=K^=[:.3^)>(O%:Q A
M QYP<0)/#-Z+'D^\A*=L46G;&82/^.1@7NGB,_P^6UAGB"]_'/-YBQ@=1_1W
MZ-*VLL#K,5T2B^81Q],??PB3X*<3]D:#O=$I].G;YA$;IXU">\RT;U9FT%""
M_[%0$!F4=1;T$MP:8:DKNK2J65V.*/)8+]#XZ(]\]'T*^.A\5NNN(0W5D(;N
MK&Q*>S%ZD!LBJ4.C9&7A#$(N6)QG?A3E+!+9Z!/=U5>J>=4:7:"U$+$HYY"P
M,!.C-ZI1Q.@2:+/L"D)/(\9%"!EG29R,/FHG*SKQ;]:?>9.8X*$?B8SQ-#T1
M\G@(>7PR:O<&6ZE*N'NB.FC1 GD(OU!T#-QTQI ),+,6W=&$?"=HV$OBH:3N
M)8N=I-Q*[E+XGS-X/K/P@-;YNG QNOO2J;;VQ_@Z[[#IRX0WPC-<408IY@E+
M@IB^*0M%/-J;K)I"UPA./I%0&+!8<(C#_&"?KE\/)UB0I1"R/,A'VRB$@HDP
M]5H\C79I;[\Y%&<@B'61IT.8LTR<8D,RL"'YEY31<VC<,X-[*I6N/WP(SC$&
MG(0[7BU.G@%?=]MA%X?=[Y7^=Q[V#'*ZDQ0]%@1B-.]451(499$EB4]4G.>C
M=TA/XEI7E,B:KNLC>C-(A!,;$@%A&+,DY0<$"L.(>)) 3I^0[GIG&N6H #-8
MJB<_V&5TN21:'7B6LR!-(6,B2$<WNFX[JBZPEJ;<2+.CHEZZ?B)B%O,,."6=
M3O OG#/=M@D@+\G*E>E+3DJ$2WP\XECL&!='$40\&+AV*M9"4+DB'SF5I3P+
M*!0$^@IF1='57=4_J"526@LE^[//*2H92RGR%S3.N7<%+K[EJ*_U+651%/2$
M#BBN DY0.ATHG9ZD--EK.K+UG9(+52GWPMMR$N0XD8\@PWZM.EC[GVI6W5;Z
M&9'@:U\JMDF@T'EF!KOJ0&"WN$2J&R6UF/2@= @A\<+S.V><'J.WA_6KE<^^
M&:)2EX41<!;%0ZE*6)IR(+IGPPLEC_AZ!G%*14WX.AFRD ='4S@Y:.AJ-*N^
M;?6!(J^WO=VP.G3&LVU#^%5\VU:_EV9%-18J7))J\#JE-\EL6]7MQ.FV;P\7
MVE&SV0_7U-VC\0*TO]3:[2?^@.'_PO1/4$L#!!0    ( +Q@<EET/N5P8@@
M -$6   9    >&PO=V]R:W-H965T<R]S:&5E=#,W+GAM;+U86W/;N!5^YZ_
MN-N./8-(!'CW.IZQG6R;3K:;L9-V^@B1D,6$(K4$&=O[Z_<[ $E+MJQ-VDY?
M)(#$N5^^ Y[=->T7L]*Z8_?KJC:OCU9=MSF=STV^TFME9LU&UWBS;-JUZK!M
M;^=FTVI56*)U-9>^'\_7JJR/SL_LLP_M^5G3=U59ZP\M,_UZK=J'2UTU=Z^/
MQ-'XX+J\777T8'Y^ME&W^D9WGS8?6NSF$Y>B7.O:E$W-6KU\?70A3B]3.F\/
M_+/4=V9KS<B21=-\H<V[XO613PKI2N<=<5#X^ZJO=%41(ZCQZ\#S:!))A-OK
MD?M/UG;8LE!&7S75O\JB6[T^2H]8H9>JK[KKYNYO>K G(GYY4QG[R^Z&L_X1
MRWO3->N!&!JLR]K]J_O!#]]"( <":?5V@JR6;U2GSL_:YHZU=!K<:&%-M=10
MKJPI*#==B[<EZ+KS=W7>K#7[J.ZU8<<?U:+2YN1LWH$U'9CG YM+QT:^P$9(
M]G-3=RO#WM:%+G89S*'3I)@<%;N4!SF^T?F,!8(SZ<O@ +]@,C2P_,+#AEYJ
M)+)FVV;OL_8PKX\KS4"_:6I==X8U2U8Z?@O'?=AUUJD*#Y1ARZ9" 9A3#\G$
M.C#XMU;MX"X&8_5ZH5LRV".#R6I)/\([OE@W/8DI:] UO5%U84[PV+!K;3K5
MZ>+$>P-YIBMS]@,[9C+D:9JR$VQ$%/ PC+%*!<_2D*0C46O:1EG$XHC'6<@2
M[*+,>_>R%3^P*.:)GV A1<9%Z _<H_!0=,(I.N&W1 ?Q8!_:YFMI:_[X4M=Z
M679[\_$PO^<1(I<_6L0VDY3_2WRNODF74^^J;UN<(M]F/ L%%@&BZ9.WI<]%
M''MO]%+C4,$$%XF/< L>BPS1CKB?QM['IE.5C1(7PM('7*2TD!&7D?3^WK>E
M*4K;%''RV[P$M^A"MXXSEXDD#1,>Q[1(>0 _W)"IE'TQ=!$\@$P!@6)*.9'R
M-(Z8"+D(4N0.CU/_#]4]D%O1E%O1P5RX:FK35&5!D6"3]RC5+HS1L/OX?:D6
M955VY0N][S#_Y[E6C$(.-H+]2?52/DV*4UR45?R4[239L$/ *.-NNB;_\HH
MJ[#: 4>5Q4%]3VM-%<V%].U_( /OEPWBVY7U+:LTJ P+?)[(A+2+XM"[4IL2
MH2I_ []6&Q1'OF)0#<9^!;1OUI2V2(DH3AGZ@R_13;[B6=,^,(',#03D9&G@
M_0.31O,HJS&&Y:IM']!S[E1;&(:T"HE'ZJ?>96_@;1PAJW.87W9/3D<\ FO)
MXR#S?D'ZMJ#WXX#%^!5#>A7/?<?2@"=HDHG/0Z3A>\@X95]5U3LG*8J1JG.;
MT#X2&F6&&K/*O\0M=MP@=2=6U6-RH8K*>SP>B([)7XF('?N49ZB.$^\B_[4O
M7?)TJKXM@<B/!%$* 8DE""-;_R=/ \=:&D0H#7NS12EC'B2!I91@DD(J]%S
MG-+DE'#61(Y9#F?^\J=4"OGC/O=MF4,4DK)#6K89@B %V#JJ^JFKMBD)I@(8
M#^PY<9@ET=Q@S8%ZCZ=ZCP_6X[7.FSJ')!=*.&+L7=2B>IN1U]2KNH:]72ZU
MG0NW)@+[<E\;."R6VD#[3#0UU.4@WDSBVT$\O=63"EN-UQY8#DCT8)%(/T,B
M.QIQ!T54B01'K#3_%9JYYL/^S)XM]C<FCGZ2ZTW'D(0YRAV#_%/PV^U2_^F0
MX;U%W\J[L>RZI]X4F&^$#[J9#Z5#E+^<=@$@*TR&G7=1?,9<O;;-NN@I#NC%
M):( Y,U)L>Y.ZYI]FMW,K%N7 WZ17,']!-@UR\ 5:QDR?Q9A'04^5@&X.QC<
M,0LPB(-R)DD5'OD9&,2608C2<4KM:7147R&/I*NNE([1 F4?9*Z.2:!=<#D\
M$J3--S1_HD&G<HUD9 -$#M*!<^P>H2&$CG-$-I]XUBO0<4KPT3O(KQH]" TY
MR)Q-:(KPB?6_[Q;C*/ *]8"$WVEQ@\>&SC,0DDY^*)]:&X7)8&U".KV]UWEO
M*VC'U@#S4 B]0XH/IF"@A(U5P(,L<>' 7%93YR3L0N6:LK"ME&9/ $@HG&0A
M1M'(JF#HH;.4'B&T@82RV'CO"<JLCXEE7YJ5Q40[#Z#/$D2%<#9%?M?*G=V3
MIBQB'D=(Y,R:<8AN'+-0CRLX53MHM<F1ID.@;0H=8O()%=!VJJQWQS_D,+#)
M)CB3 26]L-$)0^<-^P93KA,,ZGU(^C2T\:"6/WHW'/>DIG>MN[ZMJ4MNS>I;
MI7MLQ\MHB(8<6&0CC^%!Y&_S' 8$FD)M-1)H;;UGB<U4),G8I7:O"M.8&B26
M?)I6160=,@ZM\!:%ZP"6)1.6)0=!Y<9]*Z$DLLAD?6+8!]1/@^'GIE]\1E.T
M2':OUF7M?+YX&"&/,]>/J(^-"6(GWQX=O+58O _I#BM%2$<7&E4_V)@F/[JV
MU0[:T:!K'C73NYHM1\W,I-EVAU6/FLW87DEW#5NKSX1K./YYZS9S4/((I@X9
M:5K:.">>[MR(V$^H/&"UP\O]_D65E 1$UK6&O9H GFQQ5DE?9*\(6KV;.[RL
MZ4'ZZ@\^9:134J3?.>!\JFGRN*WM=$[Q'6[.>X-[F/G''1_1- $_+_I*M2],
M-YV=]M0P&]#8N:T,Q6@Q*/,]T\A+UZ!+5=EF CFW+36X%Z5QK&[+FD")3KMH
MV^MKEL7V/\%U^:^6R9;VP*'6W7\@^$7F-&,IN@?U%=UZ,!*$_QM>$6XNX7-.
MA1XYN8D%Q]VPC\$@W1K8O\<]&"AW'!/8P6)PT+XTG6]]9ESK]M9^3,7MC;1T
M7QRGI]/WV@OWF?+QN/O8^[-J$1N#&\L2I/XLP16[=1]0W:9K-O:CY:+INF9M
MERNM4&9T .^73=.-&Q(P?<4^_QU02P,$%     @ O&!R6:_^3HT0!@  MA
M !D   !X;"]W;W)K<VAE971S+W-H965T,S@N>&ULW5A-<]LV$+WK5V"4)K5G
M:(H$OQW;,[+CMCEDZK'S,9U.#Q )2:Q)0@% R>ZO[RX@48HM<9Q,3SU8!,C=
MAP?L[@/@LY60]VK.N28/==6H\^%<Z\7I:*3R.:^9<L6"-_!E*F3--'3E;*06
MDK/".-75B'I>/*I9V0POSLR[&WEQ)EI=E0V_D42U=<WDXR6OQ.I\Z \W+V[+
MV5SCB]'%V8+-^!W7GQ8W$GJC#J4H:]ZH4C1$\NGY<.R?7B9H;PP^EWRE=MH$
M9S(1XAX[[XOSH8>$>,5SC0@,'DM^Q:L*@8#&US7FL!L2'7?;&_1?S-QA+A.F
M^)6HOI2%GI\/TR$I^)2UE;X5J]_X>CX1XN6B4N:7K*QM2(<D;Y46]=H9&-1E
M8Y_L8;T..PZI=\"!KAVHX6T',BS?,<TNSJ18$8G6@(8-,U7C#>3*!H-RIR5\
M+<%/7]QID=_/155PJ7XFUU_;4C^2HX]L4G%U?#;2, 0:CO(UW*6%HP?@?$H^
MB$;/%;EN"EY\"S ";AU!NB%X27L1W_'<)8'O$.K1H <OZ"8<&+S@ -YZBG^.
M)TI+R(F_]DW20H3[(;!.3M6"Y?Q\"(6@N%SRX<6;5W[LO>TA&'8$PSYT&Y&3
M2\BT@ER)&JI/,9/ UP_8YOOX]B+NY_MQSLE45%"493,C&@-.S-=&*Z(,AXGA
MD.]RX)8#*1NB 0#YL>;QS:N4^LE;!;:-$E59, V.2L.C-GAB:F DGV,Y+]$?
M^OQT )5E@/[@3*YSAD#$>3WA$J,^P*ACZ"G^^(.C<2U:1#0$1*M84ZCCP950
M&@=92%&TN0:U6/*FY>0GXCM9$,"3.A&-S!-A;F&>3.9S NY0PTO0I@4RA<]I
M%,%OC -".Q[<@6# "CEDQALN665<6 &E6&("H:8 -2=)$T*IX\<9/F(:##X*
M#=8'5Q*H1$Z4&$Z)$_BQ;42>1WJ2*.J2*.I-HFNER]I$X8O1)6B,ET!_QLE8
M@0 OD(/:ETK]N"9K6"G)DE6POK#D9H)$+*S&KI@L%)E)UN"012M-<H'3HPDP
M?Q9@4]:.C3"N+$:9K+CD)&=5WE9F#JW:P&PSEG<S9-L)?7]"85'EB**YK,D1
MI)5A>DPBUP_)"8G=")K1T];6;RF 8UD9V81IS_@Q"4,W2<$N!,.4O":A[X:(
M%09N%F,_=*,$^Y%+$_)Z<%NJ^Y.IY%@60 -F1B"Q. G<*$8S-_'!RW=3V_/
MAWAN@A"^Z6W9%.6R+&"5R6/)JX)X:&G_>I(J[I(J[E<FNW%CU'^W\1[CG@I3
MWY=(O5C[->E]8T\9=L.?02YAI#>YM1X+<D!V*74XHUKX8.UN*M: 8*CUP:/\
M!QPF>!HY'=S-&0R^K9%-XX2,9S-DH/G 3A4TK-6@:(VAQ/2S(2F)O<S)8BSH
MQ'>3</#KN@HRSPD\?.W'J4LI!(O+O$1!."*AYU#?)\=8_+&;Q)B_4UZ"VPBD
MMI3PS%F3@P89<]]S,IH9<S_-W#!^*;N Q&'F^($'GFGD9DGGR"T;H_]['8,X
M=,(0-32&] \&GR$_L>H@R7A7/((L,6WW ASYQR0.(B<-0CMZF&$A98CH.VF:
M&HM;WNT^&+2F-2"0:DL[GECS968W>3[*HFJ?>K;-$]_G?/>#.<0*MK"[W!9G
M9Y$[/ONFS(J_6^.!N;I5JJD-;@OJA@5N!D>!0*LGT@D,&]&<0'3RUNPQ%>Y2
MA->+2CQR<,7U#P[Z'O1S^W:7I!."Y*5" #NIEJ595'-P(9^:4O?J0B_T]^B"
MW7E:'&^C#0Y9S4O8UN%X4;4%KM*N:,@MUZVO7<D%EV8(*+7=;\Z+Q.;'M&:]
M'P\^;;)KKZA$T/),X?@AA6UC,,98@S7UJ1,$*7Y(/-?KZA)$(HN<.*%6)2CL
M->F.JNRJ21(X0>I9NR1Q4[^72T#")'0"BA+B1UC /R8%H1\X-,P,"@6=?%'U
M?Q.O0T7;)P&[ /^E#'Q#[/\@!:.=NV3-Y<S<F/%D#\=N>ZWLWG:7\K&]BV[-
M[8W^ Y.S$LJAXE-PA1,+G"VEO27;CA8+<S.=" WW7-.<<P:UA ;P?2J$WG1P
M@.Y?%1?_ E!+ P04    " "\8')9@\!%O@ #   2!P  &0   'AL+W=O<FMS
M:&5E=',O<VAE970S.2YX;6R554UOVS@0O?M7#-3=(@&T%B7+L>K8!A*GB^VA
M1=#TXU#T0$MCFZA$:DDJ;OKK.Z1DQ8O:+O8B<H8S;]X3R>%LI_0WLT6T\+TJ
MI9D'6VOK:129?(L5-T-5HZ25M=(5MV3J361JC;SP2549)8Q=1147,EC,O.]>
M+V:JL:60>*_!-%7%]=,MEFHW#^)@[W@O-EOK'-%B5O,-/J#]6-]KLJ(>I1 5
M2B.4!(WK>7 33V]3%^\#/@G<F8,Y."4KI;XYXTTQ#Y@CA"7FUB%P&AYQB67I
M@(C&OQUFT)=TB8?S/?K?7CMI67&#2U5^%H7=SH,L@ +7O"GM>[7[!SL]8X>7
MJ]+X+^S:V'040-X8JZHNF1A40K8C_][]AX.$C)U(2+J$Q/-N"WF6=]SRQ4RK
M'6@736ANXJ7Z;"(GI-N4!ZMI55">72R5?$1MQ:I$>$ IE(9WRJ*!BP^<?.9R
M%EDJXX*CO(.\;2&3$Y!Q F^5M%L#KV6!Q7\!(N+7DTSV)&^3LXAWF ]A%(>0
ML&1T!F_4BQYYO-%)O)6%.V'R4IE&(WRY61FKZ8!\/::VQ4J/8[E+,S4USW$>
MT*TPJ!\Q6+Q\$5^QZS-,TYYI>@Y]L>1:/PFY@4^\;!#4&DYMV#'F9[&/,_^P
M1<CW11_W12UYEZJJN7QZ^2)+XLFU@?R B&F)2']RA %N8*U*NO!F.J#-PVJ%
MVF_@H3&XN*E4(RUE2*J@&L-E82X';#B:C/\\*10*XD0'(9T.[K60N:AY"=PC
MP1]P]2J<,$:3))N$Z80-/DI:(Y@?6-!MI7T7QC1<YB13&:I] 4F:P:4;PVP\
MALM!_\\[T+]^3R4$B5WU=)SXZFEX%8\'\9"QWTO)CDMA+&1>B__GR?6O6@HZ
MPS[Z K*82D](R,G@7X1G84KPSQG_7WBV%SZ.61BGHV>N<.SP1P=]JD*]\=W8
MG22JUK:LWMLW_)NVSSV'MZ_%6ZXW0AHH<4VI;#@9!Z#;#MP:5M6^ZZV4I1[J
MIUMZM%"[ %I?*Q+2&:Y _PPN?@)02P,$%     @ O&!R638<<UEH @  =04
M !D   !X;"]W;W)K<VAE971S+W-H965T-# N>&ULC51A3]LP$/TKIPQ-(&U-
MFE) +(U$Z1!\0*I:L7TV\;7Q<.S,=EKX]SL[:=9)$.U+X[/O/;][]5VVU^;%
MEH@.7BNI["PJG:NOX]@6)5;,CG2-BDXVVE3,46BVL:T-,AY E8S3)+F(*R94
ME&=A;VGR3#=."H5+ [:I*F;>YBCU?A:-H\/&2FQ+YS?B/*O9%M?HGNJEH2CN
M6;BH4%FA%1C<S**;\?5\ZO-#P@^!>WNT!E_)L]8O/GC@LRCQ@E!BX3P#H\\.
M;U%*3T0R?G><47^E!QZO#^QWH7:JY9E9O-7RI^"NG$57$7#<L$:ZE=[?8U=/
M$%AH:<,O[+O<)(*BL4Y7'9@45$*U7_;:^7 $2-,/ &D'2(/N]J*@<L$<RS.C
M]V!\-K'Y12@UH$F<4/Y/63M#IX)P+E^A=<PAV>Q ;V!I<"=T8^4;/%C;((<[
MH9@J!).P/B1:^ H+M(41=7"6<.:(AO%?I/N0>,.Y\%E$\*#:1^0QIPMT3,@S
M. &AX%%(2;LVBQW5Y)7%1:=_WNI//] _@4>M7&GAN^+(_\7'Y$5O2'HP9)X.
M$CXR,X+)^ ND23J!I_4"3D_.!G@GO=&3P'O^ >\MN4AOCQRM&U.4])! &XX&
M:O;FO7JO]);Q*C#Z[MKEX\O1)(MW[^@X[W6<#^I8&LV;PL$*=Z@:?._:00(_
M):YMS0J<130&+)H=1OGG3^.+Y-N 3=->WG10WH"LZ?^X$1^U0H5F&QK>0J$;
MY=JNZ'?[F7+3MM+?]'8@T4O8"F5!XH:@R>B2!)BVR=O Z3HTUK-VU*9A6=)<
M1.,3Z'RCM3L$_H)^TN9_ %!+ P04    " "\8')97#@;LID4   ]X@  &0
M 'AL+W=O<FMS:&5E=',O<VAE970T,2YX;6S5G6USV\:]Q;\*1M=SF\S($; /
M>$ALS3@DVN9%6X_=WOL:)F&+UQ2A$J <]]-?@!*TC_H#2Q^V26:24-+B[.(L
M".P/NP=X]:79?VYOZKJ+?KW=[MK7%S===_?CU56[NJEOJ_:'YJ[>]7_YV.QO
MJZ[_<?_IJKW;U]7ZN-'M]HK%<7IU6VUV%]>OCK][N[]^U1RZ[697O]U'[>'V
MMMI__;G>-E]>7R07XR_>;3[==,,OKJY?W56?ZO=U]X^[M_O^IZLGE?7FMMZU
MFV87[>N/KR_>)#^6B93#%L<B_[.IO[3:YVC8EP]-\WGXX9?UZXMX:%*]K5?=
MH%'U_[NO%_5V.TCU#?GGH^K%4Z7#AOKG4?V/Q[WO]^9#U=:+9ON_FW5W\_HB
MOXC6]<?JL.W>-5_^7#_NT;&!JV;;'O\;?7DL&U]$JT/;-;>/&_<MN-WL'OY?
M_?KHA+9!(I[9@#UNP.9NP!\WX',W$(\;B+D;R,<-CKM^];#O1^.655==O]HW
M7Z+]4+I7&SX<W3]NW?NUV0U'ROMNW_]UTV_77;^KVZ[JZK[ONZCY&+W=U_>;
MYM!NOT:_M.VA7D=_W.RJW6I3;:/W8\$V>AF][P_9]6%;#QN=JK%H=NO^F.L+
M])_:9KM9]W]<1S]7V[YT';T?=JJ-OEO67;79?M]O\(_WR^B[%]]'+Z+-+OK[
M35]'M5NWKZZZWHAA=ZY6CSO]\\-.LV=V>EFO?HAX<AFQF''/YHOYFS//YLOY
MFR>>S<OYF\?FYE=]YS\= >SI"&!'/?Z,WN*PWP\]5[5M;_>//C<?!(1?8#B7
M_=C>5:OZ]45_LFKK_7U]<?W?_Y6D\4\^;Y%B2Z18"1(S>H$_]0*GU*\757L3
M]4=SM!H^U/\\;.ZK[? ]\?7'@Y0\2@V7@OOK3"9\.)3O=:?=8I)Q(7.SV))L
M6*B'(#'#0_'DH2 ]_$NU_]R?*S[T9Z6V7AWVFVY3M]%-O5U'7=.?-+OA5U]]
MAC[HIII3L>6E6R*)8U84EI=D T.]!(D97LHG+R7IY9O5JCD,I^E]O:K[8[$W
M]3+:U<<3_&-M[?#Y!;M,&#L>N2^22Y[*J.JB_A15WWZH]T_GV./?[=^RRT'I
MKCX.%;;>?I&NZTPD:6)UCJ=8DC*169U#[G%HYX#$C,Y)GSHG)3OGE]U]?VIH
M]OWA?>P4GW6IX\G0$<RVSE.,YRRSK2/;$VH=2,RP+GNR+B.MZP<G=]5F'=6_
MW@U#C_9X9#;=37]8KHP+H<_3S#&+<REL2]U229%SVU&RF:&.@L0,1_,G1W/2
MT;\W73^PFS8O]WQ)DX2+U++/+5<4>9+85RVR4:'^@<0,_XHG_XJ)([+'OGWW
M]3*ZZ\>]W?& '*[_=\,P^=FO=^'Y>F="V)<MMUA2Q&EFC1269 M#S02)&68F
ML>*9>.+<V%6[3YMA$/!P+#YKX:.0;HZ(TT):W]2%IQQ/X]0Y(NF&A;J(4C-M
MU+ P(6W\4].LOVRV6Z]QB?L5S;.$V0>?IUPN93]2M8U+G(%JGL8\96:YDF[R
MJ98H3DI( .C!ZV/=G^3ZP63U*W&>>U0QOG.2.]ZXI7+[V[ND&Q1\1)V#;Q(%
M. E-.'_KSW)5M]E]BK9UU=;1?KB%,PPA#VU-V<D]UXW^()*VH9YR3,8V%"WI
M5@9[>@[>213P)#3Q_.TX<-DUN^G+;^(A&&><M_"4RFVKEW2C@BT\!^8DBG,2
M&G0>AB_S+/1P1C:,[0K;14]!R;G(F>TD%$E0:J:3"DH2FDH>G"3L\[!&SON1
MG?-5]A24O&^G<WZ$8@E*S;1/@4F2S;H/M]U4'S;;X[T+[\VX!$D."ZC:$JI6
MHM3,#E%<D]!@\W0+Y*[Z.MS_\':&AVH*F=IWXCS%6":EL(]G*-2@U$S[%-8D
M--?8U_OQN/;>Z$E<4.E=M,G:4\H=KR_I=@6[> Z<80IG&(TSXUEAU>P&+Q\_
MMIOUT=QFY[U=[P)+POK+E.6FKQ@OI'V2I1L8?(_]'%C#%-8P&FOZ[_1^F)'2
M3K)>!UURD1FWP67A*98E#@<MZ38%.W@."F+:;!%-08MF=U_ONR-@OZ]WFV8?
M_;7IZC9:'^KAKJYXEK>9BSQI(22S376+L5RDSBB4;F>PJ^> (Z;@B-%P9-Y$
MFSHZ/:B3BD(X3KKE1"R2(K6=A"(12LUT4B$1HY%HZOC,GS\^7?:129P(YUL_
M.5NTI-L8[.@Y"(DI0F(T(1GW/:8.39=\>,&9L"UTBS$>.^-[NF'!-IX#CYC"
M(T;CT5\58C8A0R/FTE#"4IGEMJ>><OTE*[>G*.EF!IMZ#FAB"IH8/9VCF1HT
M0O+,T8@XLV_2>8K)1$K'42CUH-1,1Q7U,)IZG%M*4]]XW[P.<P>;GF)Q)IU+
M$92 4&JFE8J &$U SJVE*2M=O,GB?DCN?-,]DS])FL4V3M+-"S;S'"#$%0AQ
M&H0>S)QPD+M(DZ<I=Z;%/.52%A?.!8AN4_#:F'.P#U?LPVGV632WMYON8?'=
M<:71>,)<#<MDOAM&25$BOO?Z>@)S1+[;32BAY2E"1,^<@ZFX8BI.+\%[WS6K
MSS?-MK]DM7\X3OYV7[WW_CAT)1Y4;0E5*U%J9H]HJ_%H'GN['P>][= WE]&+
M^(<XB>ZJ?71?;0_U920O^_'J\&_4WE3[82')H;MI]IM_U>N>,)KQMYN'%; ]
MA32'KNWZ[UW_E?-VK0MKSEEKLLB2WJW@3C@'RG&%<GP*Y6YOF]TS/?!3E,?/
M=\%/D92769I>QEG^]-?G%J;U1:7,+M."*LK&KCPN&)KH2P])VLLN%]Y"]GB(
M=BBX/\\!DER!))]84[A>;X81>7\=']9@O=SLHE5UM^FOZUX3?9-H:<&8/6?I
M+2@RECIF0G$2I6::J7"2TSCY9K4ZW!ZVQQ7SC^O7FMN^IILAQ7'?,V73^H=(
M+B:^Y%D>.X>GKYS@A3W(I)L9;.HY<)(KG.0T3NJFUM5^UW^__2:Z8"@XRU/'
M1,^*P2)CF3T/3#<KV,1S$"17!,GG+ AL/6,:KY6^&;14Y,*>%?86[!G2';0_
M%-27$R69C./4.G&4OH*2%8DV!6):H,B/SR$_#5:.5XW9EGCXSCM1[BOHG2BG
MFQM\?)V#!(4B04&3X)M6CQB]J^^:??]]]2[K1^+; JJVA*J5*#6S2Q1:BF36
MV@4B0R20P+: JBVA:B5*S>P+!9-B8H(N)$DDW,DV;Y2(KC/8;R@JHM1,OQ4J
M"AH5OR%U-(U\=-W!OD/I$*5F^JZ%O6@Z_&TDE(1O6:4GHD3O3'!'0K$0I69V
MI,)"06/AG#23\$P8^N),=%7!-D.!$:5FVJR 4=# ^$W))^'2(.^O$C;OT$T(
MMA^*EB@UTWZ%EH)&R[DQ*>&9FNS_B9UE"'1]P5Y#"12E9GJM"%30!'I:I$IX
M%FGZ,E5TY<'&0V<\46JF\8I[!<V]\\-7PD57$<<BM]. GG)<\C2S[^W1#0NV
M\1R$*Q7A2IIPJ?"5=*<NO>$KNHK0HQ2J5J+43'L5K4IZ(G1FD$NZJSL]02ZZ
MKF"?H22*4C-]5B0J:1(],?$E/0$Z7^*+KCW8>2B3HM1,YQ63RHFLW?Q<F/3E
MYIQ<&%U?L-=0#D6IF5XK#I4TAP8$R*0'%K.$<V?>P%=0LE0Z"5&Z;<%.G@,$
MI?;(D3E1/,(^#P3F3(C$>1Z(IZ!D(G4>?4,W*-B^<P">5( GTUDW8:<"9!*)
M50NHVA*J5J+4S Y1R"<G9Q,G V32][00-T!&UQ3L,A3V4&JFRPKVY,2"U9#%
MU-)E/$_.C*XQV&THX:'43+<5X4F:\$[)HTG/4T@\>32ZYF#7H4"(4C,?]Z2
M,)V8\IP76TM=-I2QY+;1=&6A1D/52I2::;1"PW1JC>RIZ;;4I45?NHVN/]A[
M*"ZBU$SO%2ZF-"X&9>!2WU-6\L1^9LR"KC/8;R@DHM1,OQ4DIA./G#PY*9>Z
MS.A-RM$-"#8?2HTH-=-\18TI38TAH;K4I4$1"WMYXX*N,=AM*%FBU$RW%5FF
M-%F>FKU+?0^@]&3OZ.J#K8=2*4K-M%Y[5.7LV&/(F#'UI!D]"3VZ\F#CL8^Y
M/ =]IHH^4YH^0X-\J6>M:F:G1Q>^4GEB+PJFFQ9LY#D ,U6 F<Y9SQI@I,N8
M:2%CYT&7GG(L+C)["+.DFQ=LYCGX,57\F :NC/4ZZ )C+CESUJA[RJ7#(TSL
MVWQTFX(=/ <+9HH%LXDGPIP>XZ.5 V)\IP@]?]J%JI4H-;-[%$%F]%+8V5F^
M#+H@%JJVA*J5*#6S1Q179C17_ONS?)D+I_; A6YS<']!N12E9O:7XM)LBDM_
MI[&_S(/%3NR/WOG@CH<R,4K-['C%Q!G-Q&'YP,PW1^K+!]*U!CL.Y6*4FNFX
MXN)L\BT/)X4(,Y>+7_),.!,I=/7!UD.Y&*5F6J^X.)N?WZ2BAID+PH+GN;#!
MC*XNV&HH":/43*NU5S[,67H[-WV7^69DAP5V]MU-;T%?()%N7K"9YZ#A3-%P
M-H>&3XTV9A[F]2[A\!7T+N&@FQML[CGH.%-TG-%T_*Z^KW>'.GJS_K]#^\!X
M7A>1/+N JBVA:B5*S7RSB6+M/)ZUI(;(->;0C"E4;0E5*U%J9E\HL,XGIF9#
M<HVY.QMK$QA=7;#54&)&J9E6*V+.:6(^/=*83Y,O77>P[U#R1:F9OBORS6GR
M_6U$&O/I6"J]'\%]"(58E)K9APIB<QIBYZ09<Q=='8>AT I5*U%JIL,*6G,:
M6K\IR)A['E#KC.SI!@2;#\56E)IIOL+6?,Y+/F;X[ F,NCY#F16J5J+43)\5
ML^93[RD\)<*8NTCJG%B@*XFA:B5*S?1<>Y$AC;;STXNY2Z>.S] UQ%"U$J5F
M^JPH-Z<IEXHWYNZ4KN,LE%>A:B5*S7R3I.+5@IX;GIEL+-QUPLZ+(Z$@"E4K
M46JFR0I$"QI$3XPU%M-(2E<<;#H425%JIND*28N)+.G\1&,QS:!T9<%&0QD4
MI68:K1BTF/,FDGE&3X,B75FPT5!01*F91BM0+&A0G$H[%BXDNB-HNHY@?Z&8
MB%(S_5686,A9]VZGXI %$L\64+4E5*U$J9D=HM"QF)SQG(Q#%BXV.J<4*#1"
MU4J4FNFP@L9B8LEOR-KV8IH5Z>J"K8:R(DK-M%JQ8D&SXBDYR&*:&NE:@QV'
M4B-*S71<46-!4^/,#&3A61.<Y8[/4(:$JI4H-?.]G;&"R.$S>6R?'((<E:E#
M?*+V4.^Q<B5,SG(_T=RG\3(H!CF*31SN$W6&>PY%2YB<Y3G3//^VEUH^'X4<
ME>DC'HJ;6+D2)F>YSS7W:>0,R4*.6L;2P\+AHHDJPRV'DB=,SK)<:);3\'EJ
M('+4I0]W*)1BY4J8G.6]U+R?'48-&3V.LK3U4/S$RI4P.<OZ5+.>1M#03.2$
M7D!BZB0EJF>@W J3LWHFTWIFSAK=D)YQ\=5['8 B+%:NA,E9MN>:[8&K>?U>
M>YZ:E#O/")RH*]QK*+W"Y"RO"\WKB4<GG1[<G) ..@]!R1<K5\+DS$Y*-/9-
MZ!6_L^.;HQ#HOC%6;HF5*V%R5K]H5)S05/SO#W&.+2+'6W2KPWL-R]4H.:O7
M-*Y.IKCZ=QKE''>,[GPLUD/E2IB<U?D:UB<3JYF#XIRC&NTXENJA<B5,SG)<
MH_J$IOI3XYRCKI7G= 9X=/7A]F/!'B5GV:^!?3(_34M%.D<=PVZ9%*[?6)J'
MRI4P.<MOC>:3.6N1YT8/1S73=9D)QW4LJ4/E2IB<Y;I&ZLD<4C\U #JJT\M:
M)MH0W@=8;$?)67V@87LR\<SCX\E](B4Z(1).*%B\A\J5,#FK3S2\3XI9ZXV(
MK.@H >L1+,M#Y4J8G-DC3&-Y-C&/'9(8'<7(\2==8;#A4+D2)F<9KD$ZHR']
M]-SHJ$R[CX5MJ%P)D[/<UV";T;#]VTB/CJVD>Q)+SE"Y$B9G]:1&SHPFYSD9
MTE&#]AG+RU"Y$B9G^:SQ,J-Y^9N2I*,XW0%88H;*E3 YJP,T8F9SWO@SQ^L9
M<]]T7>%>8VD9)6=YK=$RFWK_ZRF)TE&5=AY+S%"Y$B9G.:\1,Z.)>7ZN=%0R
MEO.)S'XXDK=8(>P'!T^T*]S(LV OT["7T=A+!4?';>D#%8NP4+D2)F?YJR$L
MHV>H9\9'1QG::BR;0N5*F)QI-=?8E--L>F*(=)0EK:>K#K8>*E?"Y"SK-4KE
M$_G=^5'248JV&XNE4+D2)F?9K6$IG_-:GYEVN^SHN_SYBGDN?W3#PIT\"Q9R
M#0OYG&@N99^+A%[[/,5\]F%I#R5GV:?1'A>S;M!.!4)''=1=6JC<$BM7PN2L
M;M$8D$_.FD[&0D<-^CR,Y3^H7 F3LWS6^(]/K'T.6N?/9V ?76&XX5CL0\E9
MAFO8QVGL.R4B.FK2OF,G1Z%R)4S.\EVC1$Y3XLR@Z"A#6XT%1JA<"9.SK-:
MD4\M:3XY*<IG,"1=>[C[6(9$R9GN"XTA!<V084E1,8,<Z0J##8?*E3 YRW"-
M',6WO1V6B(F*&2!)UQ[N/A8D47*6^QI("AHD@V*BPD7$EXS;+TV8J#+<<BQQ
MHN0LRS7B%#1QGAP3%3,F)^FZP[W'XBI*SO)>PU5!3TZ>&A,5,Z8EZ:K#K<<B
M*4K.LEY#4D$C:7!,5+AXFHG"65GJ*>:[\4*W+MS.LY"GT,A3S%FG&V*G"Y\9
MD]*QTRWFM1/+E2@YRTZ-*T7@ ER_ARY(>CV<-Y-(-RG<P[,PHM 84>3DO<#Y
M,3^!740+E5MBY4J8G-4O&E *&BC_ S$_,0-$Z5:']QH61%%R9J])#43E]"MI
M?Y\Q/SD#BNF=#^Y\J%P)D[,Z7X-B24-Q8,Q/S@!ANL9PQ[$@C)*S'-= 6$XN
M]#TMYB=G+,VEZP[W'DO$*#G+>XV(Y>0K>N9E_*3G.559[B !75VXW5@(1LE9
M=FL0+&D(#HSX29=]O:9C\1<J5\+D+-,U_)5S5N6>G/![5)<3JQ!\Q3SD0;<U
MW%PH#%^U-W7=+:NNNGYU5WVJ_U+M/VUV;;2M/_;R\0_#.V:/*[O&'[KFKN^+
MB^A#TW7-[?'C35WUE@X%^K]_;)IN_.&JU__2[#\?Z[C^?U!+ P04    " "\
M8')9WM"N46X#  !5"P  &0   'AL+W=O<FMS:&5E=',O<VAE970T,BYX;6RM
MEMMNXS80AE]EH"Z*+)"-#HYE)[4-)$X7W8L"1KQI+XI>T-+8(D*1+DG9NWWZ
M#B59:R7R(4%S$9/2/\-OAN1H1ENEGTV&:.%;+J09>YFUZUO?-TF&.3-7:HV2
MWBR5SIFEJ5[Y9JV1I:51+OPH"&(_9UQZDU'Y;*8G(U58P27.-)@BSYG^?H]"
M;<=>Z.T>//)59MT#?S):LQ7.T3ZM9YIF?N,EY3E*PY4$C<NQ=Q?>3L/2H%3\
MP7%K]L;@0EDH]>PF7]*Q%S@B%)A8YX+1SP:G*(3S1!S_U$Z]9DUGN#_>>?]<
M!D_!+)C!J1)_\M1F8V_H08I+5@C[J+:_81U0W_E+E##E?]C6VL"#I#!6Y;4Q
M$>1<5K_L6YV(/8/P^H!!5!M$YQKT:H->&6A%5H;UP"R;C+3:@G9J\N8&96Y*
M:XJ&2[>-<ZOI+2<[.WE$8YE%VA@+:@DSC1NN"B.^PQ=C"DSA,Y=,)IP)F.^$
M!C[!G,Y36@AT1N_U,54RI0-! AH9)7A*+U.X9X+4"',7E(&+&=-DD*'E"1,?
MX>(!+>,T^ 1/\P>X^/ 1/H /)B.9 2[A27)K+NDAC;]F!,)D:D:^I6RYF/VD
MSLQ]E9GH0&8>,+F"7G@)41#U.LRGYYM';7.?]JC9J*C9J*CTUSO@[RY)5"$M
MERN89DRN*%:*"W[56FG*G];5O3#PU]W"6$W7X^^NF*M%KKL7<37CUJQ9@F./
MBH)!O4%O\O-/81S\TI6!_\E9*Q^])A^]8]YW^3!42Q+D&[80> GU,D#E#5)5
M+.RR$%0I*F57.JHU^N4:KN)M)E'HMFNS'^9K4=B+^XVHA7_=X%\?Q:=+LD3:
MM!3HBB?/E[!F&C9,%-B%6?D:[!$$5T'X O.$J(79;S#[;\.LKQDK;*8T_Q?3
M+MS*9[Q'T@_*OQ?$IW4MZ+B!CM\%S<MJU 4<OP)YB7I,T8(<-)"#=T'2IY:J
MJ4SIHG>1#DZ2'E.T2(<-Z? HZ53E.7UPSSFGPW/.Z0E1B_&F8;QY ^-9A_3F
M59Z&0><I/4/88@Z#']_>X.W4AT]I[:UU7_J#. X&PQ?(G4JGO1D>8-[K%\*W
M,Y\XM+7+<\"[E)W@_E[/XQK.WYE><?K\"5R2:7 UH.*BJQZNFEBU+MN@A;+4
M5)7#C/I>U$Y [Y=*V=W$=59-)SWY#U!+ P04    " "\8')98'J2IDH2  !/
MJ   &0   'AL+W=O<FMS:&5E=',O<VAE970T,RYX;6RUG>]OVS8:Q_\5(3<,
M&] D(B7J1]<&2&,5ZV'=%<UV]V+8"]5F$M]L*R?)27NX/_XH6PXIDGXH)H_N
M@+6UR2_%KTGQ0^JQGS>/5?U7<\=Y&WQ=KS;-VY.[MKU_?7[>S._XNFS.JGN^
M$>_<5/6Z;,4_Z]OSYK[FY6)7:;TZIV&8G*_+Y>;DXLWNM4_UQ9MJVZZ6&_ZI
M#IKM>EW6W][Q5?7X]H2<'%[XO+R]:[L7SB_>W)>W_)JWO]]_JL6_SI]4%LLU
MWS3+:A/4_.;MR25Y_9[$:5=C5^2?2_[8*'\/NKY\J:J_NG]\6+P]";M+XBL^
M;SN-4OSQP*_X:M5)B0OY3Z]Z\M1H5U']^T']_:[WHC=?RH9?5:M_+1?MW=N3
M["18\)MRNVH_5X\_\[Y'K-.;5ZMF]]_@L2\;G@3S;=-6Z[ZRN(+U<K/_L_S:
M.Z%4(,F1"K2O0/4*T9$*45\ATBO$1RK$?85X; 765V!C+RGI*R0[[_=F[9R>
ME6UY\::N'H.Z*RW4NK_L/JY=;6'P<M,-K>NV%N\N1;WVXC-OVK+E8K"T0743
M?*KYP[+:-JMOP8>FV?)%\'ZY*3?S9;D*K@\%F^ TN!9C?+%=\:[2<S6NJDU3
MK98+\=)"?4=H7%5K,5/NNB'\P(,/FWFUYL$/,]Z6R]6/HNKOU[/@A^]^#+X+
MSH/FKJQY$RPWP>^;9=N\$B^*O_]V)RZAW"R:-^>M\*GK[?F\]^3=WA-ZQ!-"
M@X_5IKUK@F*SX(NAP+DP^,EE>G#Y'0459WQ^%D3D54!#&EDN:#:^.K54+\97
M)T!OHJ<Q$^WTHJ-CYH%OML+R/RZ_-&TM;@Y_VDS>B\1VD>Z6^;JY+^?\[8GX
MI!M>/_"3B^__1I+P)YM!F&(%DMC O/C)O!A2O_BM:L4\J/<6VFS;5V>[ZMW"
M\'"11#1*Q.?^H!IB%LM"PJ)D6*RPJ*4AB^*G8H-.L*=.,' $7%6-F*=B=@7%
M5['(-<ZQP##' J98@20VL#%YLC$!QT)G8W>WNZ^KQ7;>0J-B+Y0HGV/$HISJ
MH\)2+&99%&JCPBQ&TYQFH7U4I$_=2<'NB'6 E_7\;C<P%J(OJ^J^NZ/;^I,:
M5Q#3U.B.I524&V/<+!4)L2-#/'OJ3 9VYEK SG)S^RJXY1M>BRG;=:I<B"5X
MV8WSCH=L_<I,9TG&LECKF*T8RVBN]<PL1K(H2Q)[U_*GKN6.8;=I1=>ZY7HN
MEN#E@G?]J3:V_N3&%9Q&(4NT"YU9BM$L-?IC%F-9PNR](:%$F'#$+77^=$\2
MW-UU:',;\/[N9&6 T'(Q<<+TKMG*I8GZ(>S[9BL71C0[UCV%T C8O9Y^;NIJ
M?>B:^-2L72+F?$G3,-)[9!:C-!;K@MXCLQQ)4AKG1WI$98\HN'S\H[WCM8"T
M/=4=/J0?7UO[1#&7#E2U DMM:*/$, *"BA@8#X*\=]B]]]+J7V1^V#&)F#XF
MS&))GF;ZB#!+D?3(W8A((B(P$GW8M%SXTQZFJ[4;L>4.P\RA;2E&B Y/A;T8
M5?H[[(KD(@+RPL4O52/V+QO1D^[^LUTV=X==T8)_L2Z$O>#P4FB2)GK/S'+&
M?(6*##LD"87 B'*YKNIV^=_=/>?0C6 IMG5B0\?W]UQKKTS".,W"U!AUEF(D
M(TSOF*U8'!T;>))7" PL1^Y#U@Z9D)$1:@P_L]1ISB*B]\=23(S28Z-/(@N!
MF>5(?UX%&VX?>R9?Y&&HLXJEU"EC!E/:BI$H#8]]2I)6"(PK_?KWA=]4-3_T
MKBV_'EG6+8PAEK94[Y19C)*<Q$:OS')BE\7BR-XK*J&%PM#RX:D?'?X_+)LC
M $9-K*!$_$_KCZ58%(FII'7'IL;$_X_T1C(*A1GE5PZM07UE=1<:,9;KMSA+
M,<'.N4YDA:T<%?!,CO1"<@F%N:0HZXVX;3>!H*S]L9(522@JDJ"J%5AJ0P<E
MDE 82=Z5S7)N]6Q?+U77IK-$O]582D5G.JL4EE+T+#HV(R6&4!A#9LO5MM6/
M^_JKCVU7K]_]+:6B,QKK5V^6HFJIX=5+\J#PD<R_=F?H7.Q1'\06X;9;F]=K
ML6;WIZ/5MFU:L3D2P]L^IE%/:%#5"BRUH;,2@2B,0,?'M(DEC*4TU(>%K5B<
MZ"N-M5A(CFP?J80<"D,.-*Q-#F%)E.IKI:U8&C-C6MJ*T>38R)940V&JZ=:6
MPQ. CJ^M?-9K.)<8LYA]B;&4@Y88"3,T'['UG0\>;QR ;=5USCX[04+RGIV8
M:@66VO!1A.2H".:H]P(*E[>;8+ZM:[Z9?PO:NMPTJ_V&I5S\>[O?(5L?4)@P
M=!K%1%^4;,5(RD)]<VPME^7ID3$32;B*8+BZLHP6:W_,\YJ(DDP_5+44$WN/
MF.FL:"L7YA$]LJ>,)&9%((1<?-H?=UOQ':[J_=0(E:VPU(:V*4_=<!Z[X3YW
MPWWP-L63MT@27O3"9V^1>2Z41"1/M>7ARM'.'\3VR<PLZEE(2!;I$\]R%6DH
MKF-8[KWK*NB?D&N2+"/X3.MS]:U<M=_V1^N[Y0MR$)4C4=4*++6ACY(CHP1E
M_H(TZNT@IEJ!I39T4*)L!*.L>_Y:'@7JTVO6%QJBHC$'S4+T&(M'$F4C&&4O
M&S4ZYC._K^HC: X+>8\"3+4"2VUHHD3H"$;HL?,(E9E1U0HLM6$$BF3F>,P#
M4R@&Q439),I2X[P&;L?7%2RUH2L2LV,"CBOOH)88Q';?$8:J5F"I#;V4B!_#
MB.\1V=(K.4-;X!:]_9F"Y6/)\C%\3NH3*A.;#UUML3)PB][^3!(CIP3)P>SZ
MS.B;V"1GL0$F1$< N'5OKY#4AEY)/H]A/O<)YXDM3YMM\3QPD]X&30'>L03O
M&#[ ?5Y\4&PYC\UBDF6Z5:B$C:4VM$H2=@P3]OA8H]ARVALS(VP!;L_;'22U
MH3L2W^-LQ.'MN+BE&!7@4=4*++6AC1+@8]<#_1%Q2['E ;TE;@ENRMN8*;B<
M22YGKI@ =R 4LYTRY_KA[0QNR3M(>@HR9Y+,&7P [A]5Q<RS:VM4%=RPMTU3
M0#>3T,U@Z'YFK!8S =P6JP4W[FW5%/S-)'\SF+\](K^8B=^6R"^X/6]WIJ!O
M)NF;P?3M&T?&3.S.&3/F&BIT8ZD-+5*^  -#MU]0&C.Q.Q&+F;Z%@]OT=F@*
MZF:2NAE,W6,#W)CERRB4Z=$%,[@U;V^FP&PF,9O!F V'RS'S[#DFS C+@-OP
M=F0*M&82K1F,UB-#[Q@J5:.J%5AJ0P<E53.8JH^&*?7UAL%KYO*."M)8:L.O
MU4F03F"0!F*>^IJ:&_K!-JSOZP:6VM -B<\)?+#]PM# !/68&U6MP%(;.BN)
M.X&)^^B<2TRFMH4&PO+>9DS!U(EDZ@1F:FC2F0QM"S2$&_"V8PJ(3B1$)S!$
MCPI;[#5<2SW<E+<Q4Z!S(M$Y@2.5GQ<"F: &EJ"J%5AJ0T.5;Y'#I/V"$,C$
M\LVJ*(R,\8<*WUAJ0[LD?"<P?(\-ITQLP21,_X;0#&[-VYLI,#R1&)X\)T E
M^%\ Q6S"FMY3$Q7*L=2&?DHH3U!B51+46!54M0)+;?B3$A+ETQ?&JJ366)5(
M_^K;#&['UQ4LM:$K$NE3^$3\Z#SU"M:$&_$==JAJ!9;:T&!)]BG\5<"1$S=%
M#5='52NPU(8.RNU "F\'W!/7W!28P9IP(]Z63+$E2.66((6W!/V@"BZ?F,RZ
MGL(JWH,*=>^ I39T4.X=4GCO,'9:HFX64-4*++6A@W*SD(X)AH&FI65+D,2A
M\=-,J%L"++6A*<H/5Z7@L/(._4PQH7^&JE9@J0V]E%N(%-Y">(1^IN9/1NB[
M*[@Q;VNFV VD<C>0PD?T7C^09L:_&-Z@<CZ6VO#7UB3G9S#G/_?WUDSZUVV"
M&_:U"4MM:),$_\SU7=#QP9Z9&01C>(/*[%AJ0V\DLV?P:?SSXCPS\ZC>< F5
MR['4ABY)+L]<OQHV-L0S,P'=1@)P>][N3('HF43T+!YQ.#TNQ#-#Y714M0)+
M;6BCY/3,%1XS(L0S<_ZDV0QNQMN4*= [D^B=N2)BW.&=F4G?AB>HY(VE-O1$
MDG<&'\;[AW9FYK&\X1 J3V.I#1U2?H?6<23_O*C.S,W6<,/>-DW!UIEDZPQF
M:X^(SLR-UG!CWM9,@=:Y1.L<1FO?<,[<S=1PB[[^8*D-_9%,G8_Z@=V1L9RY
M);3<0D5PF]X.34'6N23K'";KL;&<N264G-!0CS6#6_/V9@J>SB5/YS!/P[&<
M?64UP..4D5Q_P ZWX>W(% R=2X;.888>&<N9H^(SJEJ!I39T4.)S#N/ST;BR
MOIX:O7@:GH7&S[&C8C.6VM ,B<TYC,U 7%E?TVD'*C%CJ0WMD,2<PV?5+XSF
MS%%/KE'5"BRUH;.2M'.8M(_/.C=+P]+>1DS!TKF2'P)F:6C&N=D9%O>V8@IV
M)J&:7 *FYU%QG <1USKO:,S7'#0YS1TE-T4(QY8_+YCSH(IT%\*5*]#D-%>I
MXBK,VR^(Z#Q(#T,ZC8ABQQ7X6S9)*HQ0R841PA@^-JKSH*/]G+WQ#1!'>_X&
M3<'D)%22;(3>P2>.N$Z'HO\L145T-#G-42771X@2C'*00;,1%>[1Y#0;E0PC
MX0LC4@X"KB,71T/^SDP!^B14TI.$KH1JMBGK%>+I:,)_\*$"/YJ<9K&2,26$
MOW<Z>@ZCQKCCRA5H<IJ-2HJ6$-XQC)C#[HV#HQ%_5R;9.JAYZ1R)Z?9P[(CV
M=(AX#RU4N0)-3C-1S7X'[S#&SE XBYZ_C;A;"BPYS49E2P$GHQLQ0XD[$,;1
MB+\KD^P:U QZ!/Y-=>_ 3P+GY/,?9KB[#"PYS5!EE^'(Y><1_4DL6?C, 8>[
M9\"2T_Q1]@R.!($^(:#$G?-OYFC/WZ!)=@-JOD%'PL%GQH$22X[ .-6_ ^9H
MW-^M278(:@)#1P9#GW!08DD[: XG7+['DM,,4OC>D1+QF;F!+<D,;:,)E^*Q
MY#2S%(H?EVEQ5*9A2\9GFT.X1(\EI^4M5HB^3Y"(D[D8%^Q1Y0HT.<U+!>P=
M.2/'I2^F[B!V1T/^SDS"ZDH:2@)G:1R7$)E:SOD9,\[$<--+HLEIWBC$[L@P
M^8P,R]0\\3>'$"Z'8\EI-BD<[DAF^=R\S70$D\--^WLU"9,KF3,)G$#2*PTT
M'8'DN-DOT>0T?Q0D=R3 ]$XK;4EE:;TUX<(XEISFDP+CCDR;GHFJ+?DR3TEH
MYA2'6_6W:1(D5])Y$D<^S['!I >=@4$TTH.[',WY^S,)A2L90@F<,=,14'JH
M/8@T23/C\35NDD\TN:$K2II/$L'D/3*HE,#I0KVA&U6N0)/3;%2@VY%+]&B,
MVZ&B'DMIW+7A!OP=F02VE62DQ)&-% AV.U1U>X(+V9,D&B5*IE'B2#7ZPAA3
M@IN#%%>N0)/3[%7@W)&9$YB$(_ ;%O=W8Q+\5M*+$D=^47 "CL!MW"2A:'*:
M'PINPUDT1P:<]B(N#,#-_XDFIYFC,'8$1[\_,]X43BSJ?T/"17(L.<U5!<D=
M>4E?$F\:N8/C'<W[^S4)HBL92 F<H'-\L&ED.2:WS5)<6)\DO2A1\HL21X)1
M(_#%%6F*FDATABM7H,EI?BK4[DA-.C8&!C<C*:Y<@2:GV:B@OB,KJ3L&QI*,
MU+B9X28B19/37%%@WY&+U#99_6),45./SG#E"C0YS6 %]_L$H"^>O9A@/\.5
M*]#D-!N5?8(CS^F(V<L,)C9G+^YN89+4IF27VU1[26%D1Q+//\B? 0UI=/ J
MN*GJX&:Y:O</] ^Q64T'+JOM0@S,0\&:"^83V_ZV"MZO^-=WRZKYUKSJ=B-G
MP0_?_RVC-/Q)OK%[@?STXSY@X/*^7JX"DK[:M?TJ*)O@D:]6W9\?><LWU4,9
M_%RMND.#X/+=D]SAO:'8/^9M]47<=>A>[:S[+WE1?SY5JV]KO@ZNSRYE7_H7
MAVW_?;OZ%I!=PV30#='KKO/!=24VK%UD1/#++U=/6OV[3UK=K?-7_MB*"_SM
M^W)]_]/'X*JJ[V7CO_[V<=CPC,_YNNLU2?:M!^U=76UO[^0[47]=%D.$"RU?
MBHL:9<?EP[)=+KCVV?:O#B_KFM^W^]9IZ+PNVZ@^;^XX;V=E6UZ\6?/ZEE\)
M0QNQB=MNVFZM55X5EWC3C?#7E_3DW'C]'7G]GMA>IZ^O;.4+^OJ][74Q@Q*A
M)&:9];VT>R_MWCN7EWOQYKZ\Y1_+^K;S>,5OQ*5W:91.@KH[*SO\HZWNQ60]
M";Y4;5NM=W^]X^6"UUT!\?Y-)3ZE_A]= X]5_=?.GHO_ U!+ P04    " "\
M8')9UE@A&+ '  #L00  &0   'AL+W=O<FMS:&5E=',O<VAE970T-"YX;6S%
M7%UOVS84_2N$5VPML-;BER5EB8$D2K$ [18D[?8P[$&QF%BK/EQ)3EI@/WZ4
MY)BF1#.6=P._))9\[Z'N(7EU+DWI^#$OOI1S(2KT+4VR\F0TKZK%T7A<SN8B
M#<MW^4)D\IN[O$C#2AX6]^-R48@P:IS29$P<9S).PS@;38^;<U?%]#A?5DF<
MB:L"E<LT#8OO9R+)'T]&>/1TXCJ^GU?UB?'T>!'>BQM1?5Y<%?)HO$:)XE1D
M99QGJ!!W)Z-3?!1P7CLT%G_$XK'<^(SJ4&[S_$M]<!F=C)SZBD0B9E4-$<I_
M#^)<)$F-)*_CZPITM&ZS=MS\_(3^O@E>!G,;EN(\3_Z,HVI^,O)&*!)WX3*I
MKO/'7\4JH.8"9WE2-G_1X\K6&:'9LJSR=.4LKR"-L_9_^&U%Q(8#GFQQ("L'
MTG5@6QSHRH'NZL!6#JQAI@VEX2$(JW!Z7.2/J*BM)5K]H2&S\9;AQUG=[S=5
M(;^-I5\UO19E%59"]F2%\CMT58B'.%^6R7=T699+$:'W<19FLSA,T,V388G>
MHALY *-E(FJG?3'.\ZS,DSB2IZ+-;R3&397/OLSS)!)%^1.Z^+J,J^_H=2"J
M,$[>2-?/-P%Z_>H->H7B#'V:R];"+"J/QY6DI YL/%N%?]:&3[:$CPGZF&?5
MO$07620B'6 LN5P32IX(/2-6Q$#,WB&*?T;$(=1P0>>[NQ.#>["[.[9$0]?#
M@S9X= O>15'DA>RHHFCG:8DDS[*'8WGV2LA_$3J-_I'#M.VYS9'PUP>)A2[E
M4?FWJ6/:AIFYX3K='96+<"9.1C*?E:)X$*/ICS_@B?.+B51(L  (3".<K0EG
M-O3I69C(J2),A+6.O'&LT_G#%/O8<1WG>/RPR87!SN7R-N#J=H'!CA,?<X6G
M1<#7$7!K!+_)F]5E-LM3@5Y_R,ORC2F6%F*RT3;EW)]T(NE;88_[W.\$8C C
MGHS$',=D'<?$&L>G(LS*)&SO3NLQ;@IFTFO_+668=8(Q6-7]XG6",9EYOKLE
M&'<=C+OOL'+[[/D3YC'>N7Z3G6'X!0:[SO#3(O#6$7C6"$YGLV6Z3)I[Q>_5
M7-19*943<%YKD ?Q_)"SP@_--Y!@ 1"81JN_IM4_5(+W(0F'! N P#3"L:,4
ME[/O7%QY=E()];NYQ&2')Y[72:"!P8XX'C?/1+RA&3%0:EP!/9<;[>T-[5XH
M-)T=HM@A>_<O,=#A>MV;P+G1KC\. I.=/@[T&)3LPU:1HV7;B[#(XNS>K*Y!
M51PH6@"%IE.HA!QFA\JLV*HA![,.B19 H>FL*_&)[>K3-OD,HM-WB4NZD\^@
M)WWF3+I"QV WX>[$WS+WE.[$=N&YDX#&?9UH4M &,Z.$-ME9-#16NA/O+3QQ
M7RDR2KQ)+QGV[4S]%JSL^/9^TV-0RA,_(SW+S36-:['(BZJ[5K *"51D@J(%
M4&@ZB4IGXH,)30RJ-$'1 B@T?2U*:4VRM]8D?6UH7D^P-S&4$"@TG1 E78E=
MNNZ47$E?M3+,7;=+#*AJA4+3B5&JE=A5Z^Z:GIC$J4-[[%C;&\P.$)K.CM+#
MQ*Z';?.(&N:1BXE#NX28#$TK*/9KV3=6)5R)?0G2?+M#_Z+_O01C;WAHH@9%
M"Z#0=-*5;B7\4+='8E7,@UF'1 N@T'36E=0F=JEMF];&5=W^4HR]A<%\ *'I
M?"BU3NQJ?<!-H"_*C3<!:WN#V0%"T]E1=0"QUP&VT>*9%G88Q5T^3':&A1W[
ME>P;J1+KQ"I+=[L%V-:%[/B#<PZH)(="TW]059*<.@?[2152J9^#H@50:#KK
M2O=3N^ZWS%W:5_O&=2%["X/Y> FY3Y7<IW:YOU,=1/M*WU0'V9L:3,Q+*'VZ
ML>%A;Z5/^P*>4<]C?I</VEN(,BY8V:]DWTB5SJ=VG7\M'D2V%)O9QA@UJ&@'
M10N@T'0&E6BG!Q/M%%2T@Z(%4&@ZZTJT4X#U<6J0[US6Y=VI"JK>H=!T8I1Z
MIU#JG9K4>S^O@XIW*#2='"7>Z=[BG1I$.>=NM]*S-S"8CI=0^%0I?&I7^(;D
M#['"8V]U<-H"U?U0:/J^/J7[V<%T/P/5_:!H 12:SKK2_0QJJPHS;57IY41[
M<X/)>8DB@*DB@.V]4X49=ZKTV !5_E!H.AM*^3.[\G\^)=I6/.S@@^<@Z$X8
M*#2=V(TMS0?;"<- BQ-0M  *36==%2<,8!\VZ^]A,<ED>U.#B7F)^H&I^H'M
MO>C/=JL:[ T,IN,EJ@:FJ@9FKQI:G;<Y ?_Z*-);49@G'&1-< Z*%D"AZ42J
M"H-Y!TMSH/N*0-$"*#2==57(,'LALUN:\_OSVO6Z!9Z]I<&\O$2YP56YP>T[
M?W87OKR_$:B[!<C>UE!FH-!T9E1)P/?^*8 ;:H#^.+'C#V;C)6H KFH ;J\!
MMJ?_ >+7WL;0_ 2*%D"AZ?RJJH(?[ E*#EIR@*(%4&@ZZZKDX/;?-G9[")'M
M--M!BP(H-)V7C6<S]]X>O_+DS[ !6@E H;5LC#<>@T]%<=^\3J!$LWR95>T#
MW.NSZU<6G#8/ZG?.G^&CH'WQ@()IWX/P,2SN8SF'$W$G(9UWK@R@:%\MT!Y4
M^:)YV/XVKZH\;3[.11B)HC:0W]_E>?5T4#>P?L'#]#]02P,$%     @ O&!R
M6>/,8Q@(&P  !P$! !D   !X;"]W;W)K<VAE971S+W-H965T-#4N>&ULO5U=
M<]RXL?TK+"65VKVU6A'@M]=6E=?#K>NJ9-=E;VX>4GF@9RB+V9FA0G)D.[_^
M@IP9$02::&+4<!ZREM1LL ])\#3 [O/R<]W\T=Z79>=]V6WW[:NK^ZY[>'%S
MTZ[ORUW1_E@_E'OQE[NZV16=^+'Y=-,^-&6Q&0[:;6^X[\<WNZ+:7]V^''[W
MKKE]61^Z;;4OWS5>>]CMBN;KS^6V_OSJBEV=?_&^^G3?];^XN7WY4'PJ/Y3=
MWQ_>->*GFR<OFVI7[MNJWGM->??JZC5[D7,>]T<,)O]7E9];Z=]>'\O'NOZC
M_^'MYM65WY]2N2W77>^C$/]Y+-^4VVWO2IS(?TY>KYX&[0^4_WWV_LL0O8CF
M8]&6;^KM/ZI-=__J*KWR-N5=<=AV[^O/_UN>(HIZ?^MZVP[_[WT^V?I7WOK0
M=O7N=+ X@UVU/_ZW^')"0CJ !3,'\-,!7#T@GCD@.!T0J >$,P>$IP/"I0=$
MIP.&T&^.L0_ K8JNN'W9U)^]IK<6WOI_#.@/1PN\JGU_IWSH&O'72AS7W;XO
MVZ[H2G'M.Z^^\]XUY6-5']KM5^]MVQ[*C?=+M2_VZZK8>A_.AJUW[7T0M^SF
ML"W[@R[U\:;>M_6VVHA?;>2_"!]OBO;>^T7<QMYWJ[(KJNWWPO[O'U;>=W_^
MWONS5^V]W^_%$,5^T[Z\Z00.?30WZU/,;XXQ\YF8&??^5N^[^];+]YMR,W5P
M(P!\0I&?47S#C1Y7Y?I'+V _>-SG 7!"J^6'<^#P?/GAS!!-\'1/!(._8,;?
M /Z= +_U[IIZYXEIJ2FZ:O_I^%A7756V+R#8CVY#V&T_Y[UH'XIU^>I*3&IM
MV3R65[=_^1.+_9\@R"B=Y43.)G"&3W"&)N^WOXKY_NU^7>]*[[N_UFW[/03=
MT44TN.AG]\?;((JR^.7-HXR);L72*(NRJ5D.F/&49^S);!)']!1'9+PM7F_^
M+>:CXR/:U>(UL:[%0RVF@+T(L#H&*'[?_[3N[Z"'IGZLQ//E??RZ_!:**&\A
M2F<YD;,)]/$3]+'Q%GJ[?Q2PU\U7K^W*A^O#@[>^+YI/)3CY'5W%DZL?I,J=
MI!OYRDVD6W 6^/ ME#S%D1CC6)4"'/$B.'*$_<8K=G735?\=?@'%DF@G$:=1
MI#X6NE7D9VFD!*1;!6D8)G!$Z5-$J3&BUU( _8MK4W[LO$W5KNN#>!OV(5;B
M'2C>?J6WKML.O&"ICG08JA=,-V(I4T,$C%@T=]&RIQ S8X@?NGK]QW7/QC8B
MAIW@J.WL]<KT4*(H44YS!5@E 5.N:@Y91?Y,,,P?"8^/W(-W9=.(6,Y35O&E
M;'_HIRV02?@ I%I @-4U"R*N1 28Q1&;N0.91.&8,2+!H_JIM:=?8DINQ9S;
MS%Z@DZO)F09^%&=J1( =3Q.NOFH NRB-HYF0^!@2-[\SZ_WU\!*I]ETIYM/S
M"P8,B0.G.O"P:42ZF3KE&4VFD8Q<BAFYQ6W_QO?$W%!^Z:_1H6KOSSRYGRK
M> )@ H\3==(#S+1X3";3>$8RP\QLYK>G-_FV%%."U_296!_.0?Q0M*UX^R.3
M^L_("/]D_P)A"758DBA2YTG +/9YHB(#./.C:.Z^'2D2,]* V]^Z^[(!SSX"
MSC[5[E'=ZIKYVF75K=(XG#GUD6*PV,SZ[PLQA[1];B6QM?Z"ML-[;%L5'ZOM
MP-Q^$'?S>GO8]!;53K">X08HUO\1MW?57W68VS$CR;$E=Z3><BIO4_!'7L3,
MQ.CU>B ,;<^JR^JQ^+B%ISJ=PUP' >/J;029:=E$#IF%<23-G--H1D[$S*3H
M3%<KF* RG::$?I9H#X-N=ATEW _5, "[-$O2F72'C;R'F8G/NZ9\**J-N-E[
MSE,>'X.Z?\)/SP48G$Y;!!40_U.C ^A-H%\BR)O/,@['QD<6Q,TLZ#<D# XP
MFC!F2A"0%0\4JQRP"N=(*1]9#S>SGJ='YJ'X.O>\<(#%9*FO7@O(+&69^M(
MS%@V^[CPD>QP,]D1D33],MGY/@,C@4@.BYCZ^@/MQ VCAJ*;B>LFW7[34$:V
MP\UL1V4'YY?&5S FG9Y<,YYP+2;(+HL"-2; +,G8W*,R,AYNYB-_K?>?K@4+
MW<FO0# >G52DB1J+;I/%ZE,/&%VSD,^\XOG(3KB9G?Q>=\5VV>(,&!_ 85B0
MZ?<@Q'6XK[*='/27^6SN+ARI#$>HC+* 68GW4;MD]8F3,A12;SF5MRFF(T/A
M9H;R[M"L[_M'6C"]7='\47;]I.NUY?K0#(!Z]^5VTR\ [HJN_Q7\R!L'L088
M(#""+OL:8P8,Y]X_(\GA9I+SOMR4NX?SN@\("8@ L$8CDE4M707LM*A,)M.H
M1L[#S9SG]69S9/#]E5P7#Y68,:K_BGFBK>^ZST5C6,;B %?AB3JYK2"S(%(Y
M; Z9A2R=62P)1N(3F(G/:RE+&59]^JLW3(E#_M*H^T&GG0UH@2>-XU"EWH"A
M>ME 7V&69C-$(A@I46"F1.=G=-A"$S.\F->[KS]X#]OBM!99B@@?^O4',$9H
M:2CF7 L18DMA&JB\'+*+$S_-9L(<^5)@YDOR5-2O#VW[7>>#>+.=0P:C0Y=_
M5H#)=1CILXG1U30F:<L-(4X#'X=>5& P.M4)M,L$+",Q+93%*T3!R)<",U^2
M6,:A'=99E\<%$1\Q.6H+KI A#\0LJE(IT) S%L_=A2.9"LS;82K)N#MN<B_8
M)27=XR+UEE-YFV(Z$K? O,_UOGR0GNUUO=N)MVO;[S^ 0.I;5&(B#5+UC0/8
M:<^!R60:S,B8 H0Q-?6Z+#=G#GK>!A*!]:O3_=</CV*RJGK*\*'<5W7C_5IW
M,\^%SE]XYOM9J$9JXCFG2!=3H6"D0H&9"DTC+;^4S;HZ7L+AVHD$8WC=@I%!
M=$A;ZP:L@L17\W/(*DWF'O21$@7(,E#Q55ZR7["A%P#<)>%JPKH"S+2K93*9
M?HTP,J#0S("D>+KBB_>YZN[OZ^VPF%M_W%:?3GN9>^\\9PO#?@NFJ=;]ASJS
MCV,(;H)Q=>U]!=HEOII&YI =3[,9!AB.+"E$6-(8?UDT^_JP8-LL!+A,PC,U
M\P7,U"MJ-)E&-!*BT$R(CN0!>@&!L8 T1XT$6D=27ZZ@T<RR:SA2H=!,A696
M*;X[D8GOEP>JDQL>IIFVB@G8#4NVZOP"V,G.IN%*7P>9Z5)^=U<>-U#*+^MA
M#\83]V'IK4_[,>)!/*8G@K\/_^A)_&.Q[;_# :.&.!1+ G6'%[*+4FTM"G3'
M>3JS2!.._"DT+T;]>OQJJ!G6";_;E,=_?=_31;MX]54D,>?(>]"G>(&]M=0/
MU(])<LB.L2!,TIF(1W83FMG-F[FP?O ^EI^J_?XTV8H<IJK!-#34:4K$@U#;
M! 7L8C](F9JB 78)$_/:S)II.'*?T,Q]#*&6_2:*,4B=H201TU=( #L(C!RP
M4\"8!CG2GC U9@ ?#@\/V^&;53%?]=_\;.OVT)1/"PI]<B!NY^/GW.+% F8#
MH9%:V68#I-YR*F]3?$?B%9J)UUOI QVOWXD#\0/VT>(LUFX6W2P( W62R $S
M%D=LYKN :.1<D9ESO3U_QC(71J23G2Q5'VO B/GJSF(.6L4S\W4TTJ:(77JW
M[\>O=9[R?/&4+\Z((R-AL_[JD]);3N5MBOI([2)D;_#T <9I;=([[ 5-E79L
MAFTV\+T8Z>0L# +UK0A8\8QI3 \P2Z-@;F\M&KE>9.9ZOQ15XXE7P^&8+=X7
MS7'Q4D[]AX1+A"[FT<DW)F#0P*)7H'_=!IBI/!TP27D6SY" :*1[D9GNV4:\
MGOFX[YR[P##HI"WAZK=[*\!*0\%D,D5 ^HS<3/RD%7BOK_WP[B:07!:P3MKB
M.%07> $K+6#@VZHT2&:6YJ.1^T5F[O=67?X9UGIZLOO$^H>_L&Q^%2C2V5K(
M6:)=5GRYRV@RC7"D?)&9\N5/'SB*.Q<)!%K.BM4-A!5@I@6R>#4K&FE=A'S2
M+=V?QQT&<7F&93KI:SAY.6]\SQD_=S /:_V6TQ>[XDS]:CRG&G,*Y<C@(F0W
ML96KP=Z7#W73P1ML9D?6X%!ZRZF\34L_1NX8^U8;#8MK:6(C)[7%E-1;3N5M
MBNE(9F/S&N"BFJQ87ZH+692HZYGFH:R!<<$WXY%OQMQXLWV3(J_8R'FM;TQ*
M;SF5MRG^(R&.S838KM(+JA302[U(*RFIO$WQ&>ES;*;/UA5D,5 /D/IJ<=C*
M/*PU2$3>IB"-##M&&#9!45H,+*OJ56GF$[&&S4F-I51D:>;H-H5NL<Z@H4HW
M\XC6^+CX!# >&7Z,56_:5,[% ,D/F/;RI/P@,*?R-@5HS!QB<^9@4X@7 U4+
M4"&>>4AK@%SD _&8#\3F?,"FK"^&/B?4R_K,(UKCXX+J)R/53\S+Q/;%@@FP
MV L4"YK'M46)RML4I9&\)V;R_OP2Q#<)4,H1^FHCA15@=LW#*%3+*2"[,)C;
M-DA&-IXLV-@'SU]?CV5:X<W*[-WZJKM@QLG(C!.D*XGS^L2$M'\)J;><RML4
M_)%V)V;:O; ^,0$^%@#J$\V#64/C@FPG(]E.S&0;*79,=!X-%3N:![&&Q 61
M3D8BG9B)]$6%DPGT-6?@!^HBOGEL:Z1<4.I$ZH=BIM18&68"ENAJ\SPIB:;R
M-H5D)-$)MOR.UW4F 'D&ZCK-(UGCXH([)R-W3I"U] 55H@E8@I-Q[88A)<U4
MWJ8->$;2G"*ES#8UIRGP46FF;XT"9CR-U>0C!\SB+)K9(TY'@IN:">[BBM-4
MYYU:Q:EY+-MK3>5MBLQ(B%,S(7YF!6L*T&:H@A6R@RI807_S%:SI2'93NQ9\
MBRM84U(.2^HMI_(VQ73DL*F9PUY8L)GJG!8LV#2/;HV5"U*;CJ0V15:0+R\#
M38'O9X$R4/,)6,/E@O"F(^%-S83WLJ+2%&*\4%&I>71KK%Q0WG2DO.FR0O++
MBE13J+4-4*1J/@EKR%Q0XE3J,8C45UU2\)JB!>0K\[#6(+G@Q^G(CU,S/[:K
MH$V![X&U>XB4)5-YF_9P'%ER9F;)SZC*S:""+:@JUWP*MH!1>9L"-I+PS/R]
M\\7UO1GIU\RDWG(J;U-,1_J>F>F[77UO!I270?6]YD&M(7*QS)V-S#\S?P!"
M6#6< ?5O4-6P^8RL\7/!\K.1Y6=FEO^,6N0,8OK:5IIY?&NT7/#\;.3YF9GG
MV]<V9P"]!VJ;S>-:H^2"WF<CO<^0]6Q'%=,9N.2M5TR;3\\:3!?\/QOY?X;P
M_PO*KS. ]0/EU^:1K7%R0?JSD?1G9M)O5]2= 2OB6E&W>41K?%SP_4SJ2F[F
M^V1EXAE000B5B9O/QQH]%^D \^4VZ.:$@+KN_#P>6GB.G)AUYUXJ=PJ24OMU
M'_^8G**2_3P.6LJ.G) ]@BZR N9S"4%S7O#\ROCS"&AI/'(J]MBY2!>8+_67
M]\T)PW-*[<^^T5I[R! LMD?.]F(\I/[T?FC,VTFJ\L^#$"7QM.YR,G<*R%*;
M>Q_[Z&5!:?[9"5:;CPQFCXZ+;('Y4B=]'RGVQ*K]SP[,Y?[(,/:XN"#^(D.6
M<$DN?32?VT+@/#39 TN:2I"Y4Z"7.O+[R%<U%_<1.'M&&@D@)V"/F(OL@OE2
M\W_?G%]0MR8XCX?U)D#.RQY()XF&K+>$""Y]DXX'#-!6 EH>(.=J#2Z5.P5<
M6?H)4T&@;Z;  %$GH)L"<FKV6#K)0F3-*41TBJ)' P,TI* F#<BYV(/G) V1
M9:X0G2N+]@\,T*6"^C\@0]ICY"0UD:6S$&6K]^5CN1</IE1D#>-#FWR0NLO)
MW"DP2LD'L^N\O+CNG)G5N^R!I<U;J-PIP$IYBUGE:EE7A+.3:>-(32UGA0QF
MCXZ3[$66Z&+F[.6;M$9@9J$P^UN4-H^A<J=<!"F/62@MMJ@_ @.DP7060YNW
M4+E3$)+R%D2US+I# @-$QG24:),2*G>*O*B4E"#Z9Q0M$A@@;*8!9SX/:^"H
MW"G 20D'(KMFTR2! 8II.D"T6025.P4@*8M U-PL]84AP;9,JV1"!K5'R4FZ
M(.G$,40HSDJS&%!VTV\CVER!RIT"D)0K(*IS=@K(^I=+.D"T60"5.P4@*0M
MQ.PN$%8&!.=TF&@Y/94[!2:)TYMUX2B:)9R',.-&R_:=J-TQ2>Z.(7IW\TK.
M1C&Y,QJTM)O*G8*&1+NYN=7Y-Q"'-LOM62<^I.YR,G?*%9!H/2;,MU A&M#-
MT^].6C)/Y6Z*C23IQQ!-/TQO&A?E6R%#6&-"Y4[!1.+IF!;@1>+5H :@SD;-
M8]N#Y82S2X*"#%$4Q-HPL 7J@<@8]J XH>B2(B%#) F7-&)@1@'!,S"TU)S*
MG0*,1,T1@<,EG1@8(#P8A\"31,O*J=PIV$BLW*P0:->,X>S,?/?0$G(G"H=,
MDCADB,;AXN8.#-<M7"&#V:/CA'9+FHD,$4U\9H,'ABL@KI!3L,?,"3F7U!=9
M@)#S2YM%,+.NHS7G)G67D[E3@)4X-Z+\>&''"(8+.ZZ0H>VQ<L+!)5%)AJA*
M/J-C! .4'C6\S,-;XT7E3L%+XN>("N5E+2,8KC"Y0D:VA\H).Y?4+1DB;_F\
MCA$,4*G4(:/E[E3N%,@D[HYH:%[4,8(! I<Z4K1DGLJ=@I1$YA'Y3;NV$0R0
MP]0AHN7T5.X4B"1.CRAU/J-U! /4-'6\:!D^E3L%+XGAGV0SR3M',+. J#4?
M(W67D[E3@)62 T15U*Y]! .$/_5[CS87H'*G0"3E F9-3LKV$>>AS/C14GXG
MBJ-,DAQEB.;H,]I',$ \5,>+EO93N9OB)>F:,D38U+Z!! /T2368S*-:PT3E
M3H%)8OMFF5!G'23.XYK!I,T'G"BB,DD2E2&:J)=TD&" @JD.%&T60.5. 4K*
M A!U5;L6$H@W^'P]D'A<XLD$I),D0=)L98AH*UFO"89KKJZ0D[%'STG^(.F]
M,D3PE;S3!*[CND+.R1Y$)TF%I!_+$ %9LB83N#SL"CD7>_"<) Z2-"U#M&D)
M^DO@8K0KY"SL87.23$A"N Q1PGU6:PE H%8'#+7)D7.\& 4I)3CIN[IM*$$K
M<$OK+B=S-P59TKAE9L'7A0TEX@6I ZU.+9D[!1DI=4"D:O%F$H!.K8X*;0[@
M1*66Q5(.$)MU:EVVDHA)Y6EIW>5D[A3HI:P"D:A]1BL)0+!6OU-I<P<G>K5,
M$JQEB&(M>1\)0-%6!Y$VA7"B9\LD05N&*-I^FQX2@.:MCBQM7N%$\I9)FK<,
M$;UUTD "4,?5@:3-,9QHXS))')<AZK@DW2, T5P=.-HLPXEF+I-$<QFBFFO3
M.0)0S=7QH=V2<"*9RR3-7(:(YAY7\;">$:0ZN"M:=SF9NRF(DK N.VG2TO>,
M()7.7=&ZR\G<*<!*Z0DBQKNL9P0DD)ND6L,7\UCVX#C)4B3Y7I:8LY1OTS*"
M5.9W1>LN)W.G7 0I7S%KXUJVC$@6I"BTTKYD[A2$I!0%4?>U;QD!"/V&B=HP
M&QG6'B<G68BD],L0J5^2IA& (+!^@]$F&4[D@)FD!\P006"KIA& $+ .$&WR
MX$0%F$DRP S1 ;9L&@') G.]T3JM+C"9.P4E*5- I(&MFD8 &L'Z;42;*CA1
M"&:21#!#-(*MFD8 8L$Z0+1I@!.E8"9)!3-$*_B"IA& QJ\&DWE4:YBHW"DP
M2:0>$2"F:!H!:!,'8:;-49"9'ZFJ2SEDQ\(T&2^%$JQ$TA%-X?E.#X"\;Q2I
M*H&(>_N+[X0O2]+##-,>=M_K@5:EF-9=3N9.N0(2'T>4BI?V>@"DB?6IB9:#
M.]$E9I(P,4.4B;%>#X#\L(X)+;UV(C[,)/5AAL@/7];K 9 ?UI&BY=E.I(>9
MI#W,$/%AM-$#H"^L@T)+JYV("S-)79@A\L*+&CTLD!-&QK$'Q@F=EA2%&2(I
MO*C1 Z DK -#2Z.=2 DS24N8(6+"=ET>(/U@B J"=A 7! 6)#610$OUE9@5<
MB^X,V8*O;FC%>\G<*>A(5!G1[WUN=P9 T5?'#+7)SS81:*-$)Q'?#"&^%_=1
M(%707=&ZR\G<*<!*?!;1Y+VTCP(@R*O?+K3\UHD>+Y,$>1FBR/N</@J -J^.
M%RWW=:+,RR1I7H9H\U[81P&0WM6AHB6_3G1WF22\RS#EW>?U40!$>'7(:*FQ
M$PE>)FGP,D2$][(^"H 8KXX4+5=V(L;+)#5>ALCQ6O91 $1W=8AH6;,3Q5TN
M*>YR1''W&7T4.""NJ^*%#&^+%YD[!2\FX<6L^-CB+[@YJ3[NBM9=3N9. 99+
MP)IIO%T?!0Y(Z^KW'NDB.)D[!:) @@AIH$/71X$#VKDZ?J24G\R=@E\HX6>F
M_,_HHW!V;<:+E/:3N5/PBB2\S+3?OH\"!]1U=9A(V3Z9.P6F6(()6>EVU$>!
M X*\.IBD^0"9.P7,1 (3R0<NZ*-P]FD&BC0+('.G )5*0)FS +L^"AP0S-4A
M(J7_9.X4B#()(C/])^N0P &97!T]TLR S-T4/4DBER,2N=0=$CB@AJN!2"N%
M2^9. 5%*%Q I7*H."1R0O]7!HTT)G&C?<DG[EB/:M\_OD, !Y5L=-MHTP8GJ
M+9=4;SFB>ON<#@D<D,'5 4-M<N0<+T9!(OLGR5>G'1(XK>HMK;N<S)T"LI0A
MF.5?EW5(.#LQWU.T28$3V5HNR=9R1+86[9#  <E:'15:=N]$KI9+<K4<D:MU
MV"&!TXK4TKK+R=PIT$OY B)2>WF'!+Y L189W1XN)[F#I%C+$<5:Z@X)?(&@
M+7).]B Z22$D05N."-I^DPX)?('B+7*BUL@Z4;SEDN(M1Q1O771(X N4<9'S
ML@?228XA*>-R1!F7HD,"!_1R=>!HLPPG8KE<$LOEB%BN18>$LROXTZ@S/K2;
M#4ZT<KFDE<L1K5SY"3UNU(N;:=B;D<H6Y#V<D>D8OUQ$QK7F.2=W\K6)LS!5
M\SDGTKI\D-95?B5Q[$L$5__)_N7]C_=Z]U2LL!5X5W?5<6^[NR^]]:%I^IEQ
M.$9<EN$2#5M"Q5 (6N]/"]!_^5,J9OJ?+&I/AB/83_UG4K"O!<7W/YZ=_"[.
M=3S_]?$\-]5&4.6NWT X;/M#Q"E\/:W)]1Z[Y5]#_NA!E^9&/-!EMRJZXO;E
MKFP^E6_*[;;UAJ^Q^TLA_5:<Q%W_%<:+G_G5C?;[-^Q%SH#?B\L:O5CUEQ[\
M6]S_+>[_=C,.?_ORH?A4_JUH/E7[5E#5.W$J_H]]"?%0!7;^H:L?7EV)-\K'
MNNOJW?#/^[(0+[_>0/S]KA93U.F'?H#/=?/'$.[M_P-02P,$%     @ O&!R
M62I=J.T8 @  .00  !D   !X;"]W;W)K<VAE971S+W-H965T-#8N>&UL?53?
M;],P$/Y7+",AD%B=)JR#DD1J5R'VP*A6 0^(!S>Y)-;\(]A.L_'78SMI5+1U
M+['/ON^[[\YW27NE[TT#8-&#X-)DN+&V71)BB@8$-3/5@G0WE=*"6F?JFIA6
M RT#2' 21]&"",HDSM-PMM5YJCK+F82M1J83@NK'-7#59WB.CP=WK&ZL/R!Y
MVM(:=F"_MUOM+#*QE$R -$Q)I*'*\&J^7"?>/SC\8-";DSWRF>R5NO?&39GA
MR L"#H7U#-0M![@&SCV1D_%GY,132 \\W1_9/X?<72Y[:N!:\9^LM$V&/V!4
M0D4[;N]4_P7&?"X]7Z&X"5_4#[Y7$49%9ZP2(]@I$$P.*WT8ZW "B,\!XA$0
M!]U#H*!R0RW-4ZUZI+VW8_.;D&I .W%,^D?96>UNF</9_)NNJ61_Z5 B6:);
M:CL-2%5HW1GG; RZ0*NR9-Z#<G0CAT[P_F\V8"GC;U-BG11/2(HQ['H(&Y\)
MNX%BAI+Y.Q1'<8)VS(+YGX2X/*9DXBF9.+ F9UA71:$Z:9FLT59Q5C PZ-=J
M;ZQVC__[.94#W_OG^?Q +$U+"\BPZW@#^@ X?_UJOH@^O: VF=0F+['GMYW8
M@_:5%E1VE9/8:2_=/*W&(':@6P0Z/VR'?/XQ)8=3">2D$_Q0?:6Z9M(@#I4#
M1;.K2XSTT*B#854;FF.OK&NUL&W<;(/V#NZ^4LH>#=]OT]\B_P=02P,$%
M  @ O&!R6>HH"^1W#@  )*T  !D   !X;"]W;W)K<VAE971S+W-H965T-#<N
M>&ULS9U;D]HX&H;_BHL]S51-&GP$LIVN2MHZ9&LRZ4IO=B^F]L(-:O#&V(QM
MNI.M^?$K&S="V B\\PZU-PG0TB,9O]8G?Z\EKI^S_$NQ%**TOJZ2M'@S6);E
M^O5P6,R68A455]E:I/(OCUF^BDKY-E\,BW4NHGE=:94,G=$H&*ZB.!W<7->?
MW>4WU]FF3.)4W.56L5FMHOS;.Y%DSV\&]N#E@T_Q8EE6'PQOKM?10MR+\O/Z
M+I?OACO*/%Z)M(BSU,K%XYO!6_LU'X^J"G6)?\3BN=A[;56'\I!E7ZHW[^=O
M!J.J1R(1L[)"1/*_)W$KDJ0BR7[\TD 'NS:KBONO7^BT/GAY, ]1(6ZSY)_Q
MO%R^&4P&UEP\1IND_)0]<]$<D%_Q9EE2U/]:STW9T<":;8HR6S6590]6<;K]
M/_K:?!%[%1S[2 6GJ> <5#C:@MM4< ];F!ZIX#45O',K^$T%_[""<Z1"T%0(
MSJTP;BJ,SZTP:2I,ZK.[/1WUN0RC,KJYSK-G*Z]*2UKUHA9$75N>PCBMM'M?
MYO*OL:Q7WMQO-6MEC]9]O$CCQW@6I:7U=C;+-FD9IPOK+DOB62P*ZY7U=CZ/
M*\5%B?4^W5XWE?Z^"T49Q<GWU\-2]JCB#F=-Z[?;UITCK=N.]2%+RV5AD70N
MYCI@* ]E=SS.R_&\<XS$#U%^98V\'RQGY#A6L8QR473URTP)Q>S*<NV:XEJ?
M[T/KNS]^;]V+A;QJ2^N36&=Y]=U\3N/R>!OA^6TXNS:.TLCY-/LTC9Y!LSW]
M^#LPS(SYVR9YZ90]-6#X&1A[:L)H6G%WVG=KKGM"^Q]/:__G'V5=ZWTI5L6_
M.@[@W;8AK[NA*OZ\+M;13+P9R !3B/Q)#&[^_ <[&/VU2YM(6(B$$22,(F$,
M">,@F"9*;R=*ST27EUZ:R7$^*K/<DD.L-8^332GFEHCR5$JRL-8BWU[7<D".
MYO^6(4+^];F.T?)%]"1R.>=HKGQK4\C/XM2:9:OUII9T*N=#<2K?"XWTTLRO
MQ\>,=\:.]Q7Y%A;4L&J"]73C!^YX?#U\VE=O1ZFQY_MZ*=)5R@D\O11%=I\A
M81P$T_3F[_3F&_5V*T_W0BHE*HIL%D>UF.)R*1632BF5\4,BY%SPH1)-4>:;
M*@ 6/]0JDE.&,OK:)11CBWV%LH7Y>R=W=""2=@EW,AZ-#HJ1DR"*[#=#PC@(
MIBDDV"DD,"LD*I96E,ZM6?5"_+*)GZ)D*X,'L8C3:EBJQ""'DSB;=^G!R.^K
MAZ!U&GW']?Q)ZX2'[9+!R)W87EL:[9)C>^Q,G59)BCP4AH1Q$$R3R'@GD;%9
M(MEJ)6\$Y-W*[(LEOLZ2C9S-6X]YMI*B26:;9'NC($5B"&>FT&-LOJ^"QJUP
MX8Z"B3<]D$^[F#T>N_;D0#OM8L%D&AR4HL@#8$@8!\$TW4QVNIF8)SN5&N(G
M88G'1S&3(25]F;A(J6PC4)TDD4VOXLW**!%C2WTE@H2%D[:07'\Z]0\F.P39
M*$7"&!+&03!-<-.=X*9&P;V=UY.:H@I9Y.M:I(7HTI(1TE=+TU9PJ6)5*UJU
MBP4=Q<AYQ2CR"!@2QD$P[?3;(Y7N&AD%\$D\B733>=+--?N>]8:FQ077<8/V
MG"+L*#H9V;X;M,]^%W4\\MWVG(9"#X=!:1Q%TT6PE_.T3TQ7ZO1.E<N3+XMX
M+N^9ZPG*QX<D7FQ?DJ*,5]7M4*=4C/S>4K%;U_0K.2/I&B2:HOOG_Y53W^RT
MI8+L(X72&)3&431=38Y2DV-4TT^;U8.<Q,H92_Z2&+8V:5P6<KJBI8H[E61D
M]U:2TYYJ'"H(V2"!TBB4QJ TCJ+I(E.I:MN8=)1Q*RKDJ%1E!&?+2(Y=558O
M7JVC.*\]B:@H1%'4+^=RU.J4&C1)?:*_?U^*74<+ZT%4%\4JF@NKS.2[LI07
M3"3'VM0J9<$H33=18CB<;4JJ*BKO--=1^NTOQ4NE=1)M,Q!5AN)A,U^(^@)<
MY]E,$B3(>A9)4OV?9.GBE6QXI=>17ZF81<5^K:NN63STZR-0&H72&)3&433]
MPE'I=-N<3W_?[QJ!YKA/=.WCK,RJR+%U[;Q.T2'[0Z T"J4Q*(VC:+KH5$[=
M-B?5]T0GQ[M%ELV?XR3I%!PT5VZ?3I8W18+C1<CI(A3:;0:E<11-/_<J6VZ;
MT^5[YWZV]58ZSSLT)][0#&<L/%V$G"Y"H=UF4!I'T?3SKE+@MCD'OG?>Y:U
MG)9R\E.[9U78*;M% $UK-S3CQ8]LD$!I%$IC4!I'T71IJ2RY;4Z3JSO,;%VG
M*N14M=@^C%3=9#;/)74J#)H5MSLRV8<*0S9(H#0*I3$HC:-HNL)46MPVY\7O
MHT04EBDY"DV)0VDAE$:@- JE,2B-HVCZ@YHJ%>]LL[P7>/S.@:;NH;002B-0
M&H72&)3&431=G<HC<,P>@6$L--?LK;9V]O]PVN:TL_Z'<W=HGRB4QJ TCJ+I
MNE#9?L><[=<BI9Q\W=;/Z,O9V6V6SN0LK'&2/L7%%^OG#Z*:N'4/6=#$/Y06
M0FD$2J-0&H/2.(JF2U-Y!,[%GF=WH%X!E!9":01*HU :@](XBJ:K4R7B'7.V
MVQ10H5GWAF9*AITN0J!]HE :@](XBJ;K0N7*'7.N?&]XNB^C=![E\\+ZO*YM
M/V?DC%Z-@D[-0!/G4%H(I1$HC4)I#$KC*)JN1)6Y=X*+Q4]H>A]*"Z$T J51
M*(U!:1Q%T]6I_ 7'["_\'R\,<SJ>J/?&GN<</%)_:S[$WD*&NAE0&H72&)3&
M431=R,K-<,QNQN^QXLS<9._Q%OKXO]-V3;RN!S:AK5(HC4%I'$73!:C,#L=L
M=HRNW+'_IRIAL]/;O4AC.:;^E)52F/.-./9 SCLSNK?0H#X(E$:@- JE,2B-
MHVCZ)@3*!W$OYH.X4!\$2@NA- *E42B-06D<1=/5J7P0U^R#W.5R4ABOH\2*
M5I4>.V4'-42@M!!*(U :==O63S#M6LS!.DHZD['?492?5507@S(_7+/Y<988
MH,:&VU[1T/T5A1TEY7%[XXZ9%K2+M*MA>]Q]&J%V XJFBV%O]QSS(_[VU6AT
M>A8UZ=0(=K\<[(8YV!USL%OF8/?,P6Z:\WO8"ZZR%USO8K,HJ!T!I850&H'2
M*)3&H#2.HNGJ5":':S8YS@J<4$?#;3_$OUU1VA$YH78%E$8[#L.9CNS.X KU
M(E T73#*BW#-JPC.$@S49'"[MLLY(IAVT=84"VH+N.V5">YH.NU4 33GCZ+I
M*E Y?_?$OCI1L>P\\]"% U!:"*41*(VZ[2421T<3:,H=1=-UI%+NKCGE_B%.
MXU6]?P[J\35S@[T5"$VX0VD$2J-0&H/2.(JFBU2EY=WIQ6;PT"P]E!9":01*
MHU :@](XBJ;ORJJR])YYXZ#V^/B#=2?RZK-HT?E4FQG85X0-;;H_Y[HZ7'UU
M3B$"[1>%TAB4QE$T73(J=>Z=6D)0E'D\JPSN^WIGQ,_UKC#5IA-2.?7^Z5)3
MVM]^M=X^UP_ L5R.?;)BF5GDJYAM=\G[48;MQ"*K=9)]$T?VZ(6FXJ&T$$HC
M4!J%TAB4QE$T7<8JZ>\YEXK+'M0;@-)"*(U :11*8U :1]%T=2H7PC.[$+M]
MVJJ'XAY%7&YR8<DH?61XA!H/#4T/MR/W,"A##04HC4)I#$KC*)HNK+U]^(TI
M853T_BE+7_6+X%#W 4H+H30"I5$HC4%I'$73I:S<!\^_6 2'FA106@BE$2B-
M0FD,2N,HFJY.975X9JNC9P2'FAX-[2""3PXC.'3%!)1&H30&I7$431>6<D\\
MLWM2A]XFU%IAG(M9F>7=HH+Z*5!:"*41*(U":0Q*XRB:+CYEN7B3B\5<J-<"
MI850&H'2*)3&H#2.HNGJ5%Z+9UX"T3/F0NV4AJ;%W,. "_5(H#0*I3$HC:-H
M^B^)*8_$-WLDNV"[O2G^N*Z]DA<;^;<GM\W-]]4AE!9":01*HU :@](XBJ9+
M5GDTOGVI,.U#K1<H+832")1&H30&I7$435>GLEY\\WJ+?F':#.LM0.><Y#:T
M30*E42B-06D<1=.%I5P3_X1KTC]2]TYDF[O06X[011Y0&H'2*)3&H#2.HNFR
M59Z,[UTL6D-M%B@MA-((E$:A- :E<11-5^?>+RF;%WGTC-;87TGVSTED0]LD
M4!J%TAB4QE$T75C*(?%/+ 9YC/\C\DX10=T0*"V$T@B41J$T!J5Q%$T7FW)-
M_/'%8BS45H'20BB-0&D42F-0&D?1='4J6\4WKV0Q[")JKME;;5";!$HC#4U;
MJC=QNWX&&-HN@](XBJ8K25D@OMD"V095X)(H<WN]]0=== *E$2B-0FD,2N,H
MFJ;10!DJP<6VA@J@W@F4%D)I!$JC4!J#TCB*IJM3>2?!R9_1[KDDR@SL+4*H
M10*ED89F7(E%H4TR*(VC:+JVE/,1G-AIZB4ZXY<NFUON+4+H(A0HC4!I%$IC
M4!I'T72U*CLEN-@O;P10UP1*"Z$T J51*(U!:1Q%T]6I7)/ F/?^7^(TU!R!
MTD(HC32T$W$:ZGE :1Q%T[6E/(_ ['GL@G#S&Z4?TRHT-P-?%:UG(GZ*JLT!
M?T/ ACHE4%H(I1$HC4)I#$KC*)HN6^6H!!?[J8\ :L% :2&41J T"J4Q*(VC
M:+HZE043G-CVJW_ ACHM#<V\U\@YA0BT7Q1*8U :1]%TR2A?)##[(G>;7 Y8
MY>\0?*&N"I060FD$2J-0&H/2.(JF:U4Y+\'%-OH*H)X+E!9":01*HU :@](X
MBJ:I<ZP\ES%ZHR\SL*\(H;2PH=DC/4P[XX- #6V50FD,2N,HVE9>PV(I1!E&
M971S+:/K0MR*)"FL>B1[,ZC2W;M/K5P\2OG9K]\Z@V'K\UO[-;&KSX<*<W.]
MEI+[$.6+."VL1#Q*Y.AJ+&^=\NI7W5[>E-E:GN&!]9"5,L37+Y<BFHN\*B#_
M_IAEY<N;JH'G+/]2=_OFOU!+ P04    " "\8')9. EAZP0$   7%@  &0
M 'AL+W=O<FMS:&5E=',O<VAE970T."YX;6RU6-MNXS84_!5"!8H6\$8B'5^2
MV@9RQ09($&/=;!^"/M#2D4TL*6I)*G: _?B2LB-Y"YN^M'JQ1(EG.#P<G3$Y
M6$CU3<\!#%H*GNEA,#<FOPQ#'<]!4'TF<\CLFU0J08UMJEFH<P4T*8,$#TD4
M=4-!61:,!N6SL1H-9&$XRV"LD"Z$H.K]&KA<# ,<?#SXPF9SXQZ$HT%.9S !
M\Y*/E6V%%4K"!&2:R0PI2(?!%;Z\)GT74/;XRF"A-^Z1F\I4RF^N\9 ,@\@Q
M @ZQ<1#47M[@!CAW2);']S5H4(WI C?O/]#OR\G;R4RIAAO)_V*)F0^#?H 2
M2&G!S1>Y^ SK"74<7BRY+G_18MTW"E!<:"/%.M@R$"Q;7>ERG8B-@,[%C@"R
M#B E[]5 )<M;:NAHH.0"*=?;HKF;<JIEM"7',K<J$Z/L6V;CS&BR6@TD4S1A
MLXRE+*:905=Q+(O,L&R&QI*SF(%&G]"=-LPF A+THB$M.'ID*;C0*ZW!:/3;
M+1C*^.^#T%AJ;H P7M.X7M$@.VC<0GR&VKB%2$3:/X>'=D;5M$@U+5+BG>_
MNRX83QS[UR<04U!_;Z/DA7"?PZ7.:0S#P.I=@WJ#8/3K+[@;_>$AV*X(MDOT
M]@Z"8V4_+&7>6VC,7<)IEJ"[[P7+K>(->GVTW=&# :&W,F\WP/R\8G[N3>U6
M$6PCZ8=I1^@=J-(>1IV*4<<+]0CVLYQ+GJ 'D2OY!BZ'VKOT7L 3$]BMZ'8;
M7/IN \Q[%?.>-]'_8M[ZF7IK4Q M]"<HT4*WH&/%\K("O]XMC:OG4P[H+BL$
M*.J>;YVFGTBA/\THS2]7 [KQ)G.I#*CGU W[G):2>%9E77HQC#/SOE*#)PO]
M*@M]_P=0K]5:8>@'>J)+)@KA%9T7]L2ENZA(7S0HNHL&F..HMJCH_ZDX>W P
MV5MR\(9OXA-4P+*]*O#CGIK,VA@Q:5 (N G/Q+5I8J^S':$$/TY[OQ!J.\1^
M([LO5,9,H0#=LZ6[:G1E<_J<VK]2L)':E22.K1G^P4]->.VLN-.D6IJP65S[
M+/::X1%J\>/T]ZNE=E#L=Z[_H)9#:HMW\%,37ALC[C>IEB;\$=<&B;TN=H1:
M_#C[:PNIG8_X'>M&BKRP?VO09ZJ2!;6J<6*9R-24#7%22?&/>6*>26V<!#<H
M$M*$>Y*-;:5_7WFP2/;@]/:+I#9%XC>SXT5R0"7QCWEJGFM3)>=-BJ0)TR2U
M:1+_?O1PD?AQ#J@DM1<2OX=]A3F+.?AWQ7Z,4_-6>R/I-;GH37@?J;V/[-D5
M'KSH?IS.[D4/-X[YW)'I$U4SEFG$(;50T5G/RDFM3B%7#2/S\N1O*HV1HKR=
M TU N0[V?2JE^6BXP\3J+'CT#U!+ P04    " "\8')9WBR"P2H&  !A&
M&0   'AL+W=O<FMS:&5E=',O<VAE970T.2YX;6RM65V3VC84_2L:DJ:[,QNP
M_ %FPS*S"W2:F2;=69KFH=,'802HL25JR;#Y][V2C0%;]FZFO&1!G'NM>W0_
MCI717J3?Y(92A9Z3F,N[SD:I[6VO)Z,-38CLBBWE\,M*I E1\#5=]^0VI61I
MC)*XYSI.OY<0QCOCD5E[3,<CD:F8<?J8(IDE"4F_/]!8[.\ZN'-8>&+KC=(+
MO?%H2]9T3M67[6,*WWJEER5+*)=,<)32U5WG'M_.7&-@$'\RNI<GGY$.92'$
M-_WEX_*NX^@=T9A&2KL@\&=')S2.M2?8Q[^%TT[Y3&UX^OG@_1<3/ 2S()).
M1/R5+=7FKA-VT)*N2!:K)['_E18!!=I?)&)I_D7[ NMT4)1))9+"&':0,)[_
M)<\%$2<&V&LP< L#MVK0;S#P"@.O:N W&/B%@?]:@Z P,*'W\M@-<5.BR'B4
MBCU*-1J\Z0^&?6,-?#&N$V6N4OB5@9T:S_,$06*%YFS-V8I%A"MT'T4BXXKQ
M-7H4,8L8E>@]>J*1X!&+&3&'##8/1+(($;Y$4Q9GBB[1?$-2 -\GVEZBJRE5
MA,778/UE/D57;Z_16]1#,D<QCKYPIN0-+,+G/S8BD^!,CGH*8M,[[$5%'),\
M#K<A#NRB3X*KC40SOJ3+<P<](*5DQCTP,W%;/4YIU$4>OD&NXWJ6#4U?;^Y:
MS&>O-\<MT7CE.7O&G]?@[W.6T)0HD=[:N,UM?;NM[E6W<DLB>M>!9B1INJ.=
M\;LWN.]\L/%R26>S"SD[X\PO.?/;O(\_0Y_^R".14'3UFY#RVD9=[B(P+G17
MWHV](!CV1[W=*2=U% Z#83 \A\TL,#=TA[B$G<41E'$$K6<_6ZV@+>MR7>HB
MA<:,)(VRE"DH:VL^!)?,ATLZFUW(V1F/_9+'?FL^3*!IK:%K$2E%!#T0NMV>
MJ0V"IKBCJ6*+F,*,6BAH95*E4'!<=S9.#?6*/-N8SI_8/SEQIY(Z=807#BIY
MT^;E+-1!&>J@/?4/[0*!%LG3!J*E).4P$B3:TC1OX=#6=7PLKQ*R@U9/- U*
M "M) D,")ECT;2/B)4V!N94"2[6AB+;EI(VHP:OJK(["8=_S*["9!=929V%)
M6MA:9U/*!8SHQBX;7K*J+NEL=B%G9ZP-2]:&K:GVU6@YR"X"103:]* -,@EK
M( H@C[:942(GF7::@ NM06Q\#VM5$00#MUI?-I3?KZ!F-I2# WO"8.>HOIP?
M;LTF?&L"%<XNE$$7]3:[E+=S(D]D+&[-HM^W6I)*(T5-RT&9%I96%G'M+/V@
MTE&G%E#?"2M)80$-&W/"/8;BMH^9DW$RIYQ! _XLE+4K/KS@ZB_\MY4!M[9O
M'.(J Q:05ZL+&\H-O 8.CFH5MPH[S8$N>9B@>KI*MM33" [8&HU7VT)8C:4.
MP;@:21W3,$3Q44#B=@4Y/13U<=QE<+A2MSMH8>8]GT?TQ8SU7]S^U(:ICCT+
M)FR8>?@H+G&KYCK&N(4DA5,C<3GZ32>S!A34JZM>@G40'@Z#:DQUE.OZPX:H
MCE(/MVN]DUG^L@0BRW\R<Z;[_SO+BL=8.:N+O*#O#6JL66 #/ZC19H.Y?;^!
MMZ-NQ(/V@5;CQS[)6N7G#T^R2WJ;7<K;.8-'$8E;U=;XH4G.%':#TP;5/3FQ
M@HLZRNMZM>.OH]RNU]2VCU(.MVNY:4OZ#FV[]ZJ[KZ.\KNM7=U]'N:>H\_L>
M+<;.5XZJPFU7%3 _T1,UQZPOL_2+2ZG36 ))H$QST.L3*&W"O_\LD=/U!@'Z
M"37-<;3,J+[6\=&5-GSW)G1=YP.LX&$.,"OXP[41,S 2$.XZSBL<AF<.];75
MN;\NNI=Z!$UI1),%U.?A=NO&1,!6[XLW66A6.Q*#4R913*4.G'"#$9F2"K:E
M6]@VA0;&MM#O]>OMQFRA>*+9N>YHL)Q2H C>#6$TO#^0UP565_I-4!@\PL%-
MR4-3E#=%&(;Q1+MD/+\H!UW0M95>[^1:%%YGU^8^6B)SLYG? I6KY9WW@[GI
MK:Q/\.T,6];O7>=V"OEE^P7#+_EM]_'1^>7[)Y*N&=?,KF ;3G< $RS-[[/S
M+TILS87M0B@E$O-Q0PE(( V WU<"^"B^Z >4_ZLP_@]02P,$%     @ O&!R
M64:IWQB] @  $@D  !D   !X;"]W;W)K<VAE971S+W-H965T-3 N>&ULK59=
M;],P%/TK5A!H2*/YZL<VVDI;)\00H&H5\(!X<)/;QIIC!_NF'?^>ZR2+6M26
M3<I+8SOWG)QS[W7M\5:;!YL!('O,I;(3+T,LKGS?)AGDW/9T 8K>K+3).=+4
MK'U;&.!I!<JE'P7!T,^Y4-YT7*W-S72L2Y1"P=PP6^8Y-W]N0.KMQ N]IX5[
ML<[0+?C3<<'7L #\5LP-S?R6)14Y*"NT8@96$^\ZO)J-7'P5\%W UNZ,F7.R
MU/K!3>[2B1<X02 A0<? Z;&!&4CIB$C&[X;3:S_I@+OC)_8/E7?RLN069EK^
M$"EF$^_"8RFL>"GQ7F\_0N-GX/@2+6WUR[9-;."QI+2H\P9,"G*AZB=_;/*P
M PC[1P!1 XB>"X@;0%P9K955MFXY\NG8Z"TS+IK8W*#*384F-T*Y*B[0T%M!
M.)PNZNHQO6(+L59B)1*ND%TGB2X5"K5F<RU%(L"R=^P>$JT2(06O2D"8&VY%
MPKA*V:V0)4+*%ADW%'R=.[QE9P5-%6: 1"S?LK-;0"[DV[&/I-YI\)-&Z4VM
M-#JB]!:2'HO#<Q8%47P /CL-_U3*'@LO'3R\W(?[E+,V<5&;N*CBZQ_A"WKQ
M:/":S;3:@$&QE, 6H(0V[*M&2D!:@E/:/V3T)+/;MU>VX E,/-J8%LP&O.F;
M5^$P>'_(=D=D>TF(VR3$%7M\M"9+9'?*HBEI9R/[^9D"V!U";G\=,AYW:;PC
MLCWC_=9X_V3UJQJ?,Z$0B!R9X0B'#-<L8;W[W#_JAAHG"*AUQOYFU\PS O>$
M#EJA@Y-"0R+Y?Y=>'-)^DOBEQ>J(;"\'PS8'PTZ[=-BE\8[(]HR/6N.C3KJT
M9KG<[[WPGPX]^:F7&O%W3BQW6_C"S5HHRR2LB#[HC:A?3'T"UQ/4176(+372
MD5@-,[JT@'$!]'ZER6LS<>=B>PV:_@502P,$%     @ O&!R68!SZ#7I!0
M,R$  !D   !X;"]W;W)K<VAE971S+W-H965T-3$N>&ULM5I=C]HX%/TK%JU&
MK=0=8CL),!](# 2UJTX[*M/=AZH/F<1 U"1.;0/#OU_G@X2$8)BNYP42^][C
MZY-['%_,S8:R7WQ)B #/41CSV\Y2B.2JV^7>DD0NOZ0)B67/G++(%?*6+;H\
M8<3U,Z<H["+#L+N1&\2=X4W6]L"&-W0EPB F#PSP512Y;'M'0KJY[<#.KN%;
ML%B*M*$[O$G<!9D1\3UY8/*N6Z+X041B'M 8,#*_[8S@U129J4-F\4] -GSO
M&J13>:+T5WKSR;_M&&E$)"2>2"%<^;4F8Q*&*9*,XW<!VBG'3!WWKW?HTVSR
M<C)/+B=C&OX;^&)YV^EW@$_F[BH4W^CF(RDF9*5X'@UY]@DVA:W1 =Z*"QH5
MSC*"*(CS;_>Y(&+/ =I''%#A@)H.^(@#+AQPT\$\XF 6#N:Y#E;A8)T;DETX
MV!GW.5D9TQ-7N,,;1C> I=82+;W('E?F+0D.XC2S9H+)WD#ZB>$LSRA YV 6
M+.)@'GAN+,#(\^@J%D&\  \T#+R </ 7V#-^8-1?>0)\(VL2KV3OT[9L^RS'
M .\F1+A!^%ZZ?9]-P+NW[\%;$,3@<4E7W(U]?M,5,OXTBJY7Q'J7QXJ.Q H1
MN*>Q6'+@Q#[QZP!=.?%R]F@W^SND1)P0[Q)@^ $@ ^&6@";GNZ,6=^=\=ZB8
M#2Z?)<[P\!&\XEF .:,1<)X%8;$;@G&61(2!']ES^21(Q'^VD9^#F^W@Z0IW
MQ1/7([<=N81QPM:D,[QX VWCNHTXG6".)K :J69)JJE"WY':1ECN:&6.Z0J^
M'MH885MFPGJ?BD.SO@$M;-?-G!:TGF%ALS2KA6^5X5O*\*=!*)B;+>*%/#GX
M<4^B)\):DT")]M(DT GF: *KL6B7+-JOJ2Q;)ZDZP1Q-8#52>R6IO3]55NYH
M[VD!FQ#W!G7)C-7X/V#;PY@<8IL#:X"-AAQ;S QL&5;=;'HB!/13052_)*JO
M1!DO9=JY@BZ8FRRWY^E8B?C2E-,)YF@"JS$Y*)D<O*:.!SI)U0GF: *KD0J-
M:@]I_*F2"\]]'4%DVZ@IY1,C'-%R&SJ&=K\IYA:[ 31PKR'F4T$HU0SWMMQ0
MB2,%[!'.P4@FWU8$'C]/TFK4EZ:?5C1'%UJ=450QBEY3UP6Z+F9UHCFZT.K,
M5B4%5&ZNE=+&!Z*R[#XRFLI6#W!,V2W@V(*H*>Q#,U/NK@=-89^(02WLJE2
MZEI!REB0(#Y7STJP%V>=3C1'%UJ=R*IH@=:KZEEK%:,5S=&%5F>V*F2@<DNO
MU+-]^#(UL&GCIJ#5(QP3= LZ-'%SN7#:[!#N&0?OZA-1J"5=U2A0O8/_*I8R
MX9*S]*Q$>G'6Z41S=*'56:P*&-A_53UKK6:THCFZT.K,5@4-5&[ME7H>'%;1
M=K_?5+,:_YB:#[&MG@F;6CZT,@T+-I5\(@*EDE%5I"#U[GWW3FZC2NWZT@33
MBN;H0JO35A4K"+ZF=)'6HD4KFJ,+K<YL5;0@Y=9=)=W"L_[3,AP<_ !V8H0C
MXFU!EWMFV&^\Z)VV*'H&/MA=GXI"+>"T%*FW5/MMI-YOR_EE)S> [9*4,C"O
M?O$N7]M![(4KG_#2D)'0%<0'@H)I2)[O LJW_ /X%'N7X-W%FSY"QG75D37
MZ_>Y"$8)"T( >_FIT0?@<K A89A^WQ-!8KIVP4<:^NGAV>BNA-OUU<&^>H+*
M#05 .=IE=A;TO^;S0,-M1"(PNQQ5<RD:ZV/_O0JWH#A^JDU#SCJ=/)C1<)4.
MS,'GS^,2J^@ML=S8!U_(1L@ 'R_<*+F^!V/*DFKP+X_W]8$GQ,NV40#:^>A
M+!E=+995S^Y8K(609%=EG47':!V(P">-9UNTUL.:D43DHR/C9%QM*=W=.X>5
MB^,B.S'G(#M*S0\;RM;R5'Z4G44WVN_@U12VM:.K<9N]@ZZF;>TCA&4';NTQ
M=W\(Z%:AYG\GN'?9(N4W)',9MG'9DRL RT_H\QM!D^Q$^8D*^1;(+I?$]0E+
M#63_G,HG5-RD Y3_DQC^!U!+ P04    " "\8')9&4C'XVH#  #\$   &0
M 'AL+W=O<FMS:&5E=',O<VAE970U,BYX;6RMF%UOVC 4AO^*E4G3)K7-9Z%T
M@$1)MU5:-U3V<3'MPH0#L9K8S#;0_OO93IH2%C(Z^09BYYP'GS=^(Q_Z6\;O
M10H@T4.>43%P4BE7EZXKDA1R+,[8"JBZLV \QU(-^=(5*PYX;I+RS T\K^/F
MF%!GV#=S$S[LL[7,"(4)1V*=YY@_7D'&M@/'=YXF[L@RE7K"'?97> E3D-]6
M$ZY&;D69DQRH((PB#HN!,_(O8S_4"2;B.X&MV+E&NI098_=Z<#,?.)Y>$620
M2(W ZFL#8\@R35+K^%U"G>HW=>+N]1/]O2E>%3/# L8L^T'F,ATX%PZ:PP*O
M,WG'MA^A+.A<\Q*6"?.)MF6LYZ!D+23+RV2U@IS0XAL_E$+L)/B= PE!F1#L
M)T0'$L(R(3PV(2H3(J-,48K1(<82#_N<;1'7T8JF+XR8)EN53ZA^[E/)U5VB
M\N1P6CQOQ!9H2I:4+$B"J42C)&%K*@E=H@G+2$) H%,T 9X E6H_Z/@[V !=
M YH]H@_ EARO4I*@D=I]Z$T,$I/LK<KYRB3.JMC3W= QHQK'L=D!=T3<HY^W
MD,^ _^J[4A6GE^@F92%712'!@4+\ -TR*E.!KND<YG6 JU2II F>I+D*6HDQ
M)&<H]$]0X 5APX+&QZ<'#>GQ\>E^2S5A]:!#PPL/\)K$_J1BT(V$7#0*7@"C
M9J!^(5V*%4Y@X*@WC@"^ 6?X^I7?\=XUB643%EN"U82,*B&C-GJ#D"<[QFC2
ML>#U#$^_AS=#]4 WN^+\,R)NBZB5<5Z5<=Y:QF?&98I&.7#E^%;?M7)>N@UL
MPF)+L)I^G4J_CFT_=6P*:1,66X+5A.Q60G8M^ZG[EQ>\LRC:LU1C4+CGJL:@
M \:ZJ.JY:*WG>LW5J:S54:V EVX$F[#8$JPF7*\2KF?;43V;0MJ$Q99@-2%]
M[_E0YUGV5 FL6R'L[)FJ.:J[YZK&J*C95?[.0=5OK6DT&8W1%YD";S\EME)>
MNB>LTF);M+J"P;."@6V#E41;:MJDQ;9H=36?S]-^ZRGS?SP6-O@BV+?8$4%Q
M8Y#?V[.8N],6JG/>TK37 IG.KFB#JMFJA1^9QG5O_DJW]J;=?,84_PO<8KXD
M5* ,%@KIG775D8P7K78QD&QEFL\9DZJ5-9<IX#EP':#N+QB33P/] ]4?'L,_
M4$L#!!0    ( +Q@<EG.J1_:(0,    -   9    >&PO=V]R:W-H965T<R]S
M:&5E=#4S+GAM;+U76V^;,!C]*Q:KID[JRBU<TB5(:;)+I6V*FG9[F/;@D"]@
M%3"SG:3]][.!TI!2U%:H+\&&[QR?[W (9K2C[(;'  +=IDG&QUHL1'ZFZSR,
M(<7\E.:0R2MKRE(LY)1%.L\9X%4!2A/=,@Q73S')M&!4G)NS8$0W(B$9S!GB
MFS3%[.X<$KH;:Z9V?^*21+%0)_1@E.,(%B"N\SF3,[UF69$4,DYHAABLQ]K$
M/)N:E@(4%;\([/C>&*E6EI3>J,G%:JP92A$D$ I%@>5A"U-($L4D=?RK2+5Z
M307<']^S?RF:E\TL,8<I37Z3E8C'FJ^A%:SQ)A&7=/<-JH8<Q1?2A!>_:%?5
M&AH*-US0M )+!2G)RB.^K8S8 YB#)P!6!;">"[ K@%TT6BHKVIIA@8,1HSO$
M5+5D4X/"FP(MNR&9NHT+P>15(G$B6)2W#]$U6I H(VL2XDR@21C2329(%J$Y
M34A(@*./Z(H*G* )YR X6MZAKT CAO.8A&@B,X2.9R P23[(TNO%#!T??4!'
MB&3H*J8;CK,5'^E":E8KZV&E[[S49SVA;P;A*;+-$V09EMT"GSX?;C7ANG2J
MMLNJ[;(*/OLINR"2&1;H$G+*E#TGI1WR1$BSD"3*L0L!*?KS74*+(?_;UG:Y
MSJ!]'?7PGO$<AS#6Y-/)@6U!"]Z_,UWC4YL)/9$U++%K2^PN]J",0UN+)<XI
M<.KO9!M8OFV:OC/2M_OJ6^H<6ZHSZKJ&L$$M;- I[*>\0S&:I,!DIMOT=<)?
M>@MZ(FMTZM2=.F^42J=/2WHB:UCBUI:XKTQEB7/WTV9[GN_Z!ZELJ;-,U_3=
M]E1ZM3"O4]CG#9/OX#9AG;B7>M\36:-%OV[1?Z,X^GU:TA-9PY)A;<GPE7$<
M/HK9P'+-P6$:'Y=9ON<,[/8PFL;#Z]_H%C:?3%O?RIVPEUK?%UNSR;T]COE&
M@:P6ZLN6GMB:MCSL9<S.?4%'*"M@XY7LF>[P()2M9;YG'H12W]N>JF^#'YA%
M).,H@;7$&:>>)&#E=KN<")H7.]8E%7+_6PQC^8D"3!7(ZVM*Q?U$;8+KCY[@
M/U!+ P04    " "\8')9ULV=9R(#   I#0  &0   'AL+W=O<FMS:&5E=',O
M<VAE970U-"YX;6R]5UUOFS 4_2L6JZ9.ZLI72$B7(*7)/BIU4]2LV\.T!X?<
M@%6PF>TD[;^?#91"2Z)617T)MKGG^-[C0[B,=HS?B!A HMLTH6)LQ%)F9Z8I
MPAA2+$Y9!E3=63.>8JFF/#)%Q@&O<E":F(YE]<T4$VH$HWQMSH,1V\B$4)AS
M)#9IBOG=.21L-S9LXW[ABD2QU MF,,IP! N0U]F<JYE9L:Q("E001A&']=B8
MV&=3V]& /.(7@9VHC9$N9<G8C9Y<K,:&I3."!$*I*;"Z;&$*2:*95![_2E*C
MVE,#Z^-[]B]Y\:J8)18P9<EOLI+QV/ -M((UWB3RBNV^05F0I_E"EHC\%^W*
M6,M X49(EI9@E4%*:''%MZ40-8#=VP-P2H#S7(!; MR\T"*SO*P9EC@8<;9#
M7$<K-CW(M<G1JAI"]3$N)%=WB<+)8%$<'V)KM" 1)6L28BK1) S9ADI"(S1G
M"0D)"/0173(UOU2RK]!$") "+>_05V 1QUE,0C111D+',Y"8)!]4_/5BAHZ/
M/J C1"CZ&;.-P'0E1J94B>OMS;!,\KQ(TMF3Y S"4^3:)\BQ'+<%/GT^W&G"
M3257I9E3:>;D?.X^S2!21I;H"C+&M48GA1QJ(60T)(F6[4)"BOY<*F@^%'_;
MRB[VZ;7OHY_@,Y'A$,:&>D0%\"T8P?MW=M_ZU"9"1V0-2=Q*$O<0>_#$&6W5
M%A1>3J'_7K:!Z_0<5QW)MEY'2YC=]VR["FMDV*LR[!W,\(<ZJAA-4N#*X6W9
M'82_]"PZ(FM4ZE65>F]D3Z]+23HB:TC2KR3IO]Z>!46_YCMGX%NN^\B>;6&>
M[>VQYZ#*<' PP\\;KE[-;6D=Q+WT$#HB:Y3H5R7Z;^1+OTM).B)K2#*L)!F^
MWI?#)X;KN8YO/;+ETRC7]WI[7&E;#^V!=3##R7PR;7UA'X2]] RZ8FL66>N!
M[#=R9KE15[)TQ-:4Y:'-L0^V#,]S9\E1?UT[0WOXR)UM47XMJLC0K/6Q^B/B
M.^81H0(EL%8PZW2@\+SHRXN)9%G>VBZ95(UR/HS5MPQP':#NKQF3]Q/=+5=?
M1\%_4$L#!!0    ( +Q@<EFQLKM0UP,  !44   9    >&PO=V]R:W-H965T
M<R]S:&5E=#4U+GAM;+58:X_:.!3]*U:VVFVE*8D3GK. U#)]25MI5';:#ZO]
M8,)EL,:)J>U V5^_MLGD49(49L(7B!/?DWN.KR\'CW=</,@U@$(_(A;+B;-6
M:G/MNC)<0T1DAV\@UD]67$1$Z:&X=^5& %G:H(BYON?UW8C0V)F.[;U;,1WS
M1#$:PZU ,HDB(O9O@?'=Q,'.XXTO]'ZMS UW.MZ0>YB#NMO<"CUR,Y0EC2"6
ME,=(P&KBO,'7,SPR 7;&5PH[6;A&ALJ"\P<S^+2<.)[)"!B$RD 0_;6%&3!F
MD'0>WU-0)WNG"2Q>/Z*_M^0UF061,./L&UVJ]<09.F@)*Y(P]87O/D)*J&?P
M0LZD_42[=*[GH#"1BD=IL,X@HO'AF_Q(A2@$X&Y-@)\&^*<&!&E 8(D>,K.T
M;H@BT['@.R3,;(UF+JPV-EJSH;%9QKD2^BG5<6KZGE"!OA*6 /H,1"8"]!HI
MB5ZC^6%A$5^A&8\V)-[_(=&,R/65_43OOB=T2YB=3>(E^DS$ RBR8(#F$":"
M*@H2?02V1(KKI\K<VJ.7-WH29:_T&^[F-^CEBU?H!:(Q^GO-$ZEQY-A5FI?)
MS@U3#F\/'/P:#C<0=E" KY#O^4%%^.ST<+\<[FHU,TG]3%+?XG5K\*PZ1I&(
MQ[#7BV5T0:NDAELCF-G%UW)#0I@X>IM*$%MPIK__AOO>GU5,6P(K\0XRWH%%
M#W[%^Z@\_OE+3T6?%$3RWRH)@C8E: FL)$$WDZ![VM*'Y@)R":[0FX@+1?\#
M+0^7JK(2#M@]BVW:[W8ZZ.' E/2V2/!X6L\/NKUA-JV4>B]+O??4U-])177#
MU*GGW:(J_\,+^K_*_WA:4_[]+/_^T_*ORK01ZMR":PFLQ'J0L1Y<:,\-VI2@
M);"2!,-,@N$%]]SPM)H]GM94LZ,L]=&E]]SHM)XQ.BM_[.7NP6MD<->9=Y 2
MUCGLT8(R5OW[W8AR;K6UA5;F7'!,^$)[+@5N2X:6T,HRY"X'GVASGK3OFL'/
MEL(_JF_L>?YH5%/?N:7!C79A6C"U,C.U5^B#X%*BNU@7/K,\/^@_3-4\6_4V
M*5J1I]^MX9A[%MQL6FHXGMJ!FM'/9MBM6LEB0RNSS.T-/L'?P$__6:(JZI4D
M&\'/)MD26EF*W"GA_J4:6*O&J2VTL@RY=<*-MN2Y#:Q5 Y6B%<N^[P>#WJ"F
M['-SA)O=T?,;6"/^V3R/C51M \M=%&ZV4<]M8(WH9S,\=F1F)8?X)Y9NX<S&
M')AI$O=Z"1"#E0[T.@.-( YG4(>!XAM[C+/@2O'(7JZ!+$&8"?KYBG/U.# G
M0]E)X/1_4$L#!!0    ( +Q@<EDVK&H^;P(  $(%   9    >&PO=V]R:W-H
M965T<R]S:&5E=#4V+GAM;(54T4[;,!3]E:L,32 QDJ:%#99& CK$'BHA.MC#
MM <WN6TLG+BS;QJZK]^UDX9N*NPEL9U[CL\YSG72:/-D"T2"YU)5=AP41*N+
M,+19@:6P)WJ%%7]9:%,*XJE9AG9E4.0>5*HPCJ*SL!2R"M+$K]V9--$U*5GA
MG0%;EZ4PFRM4NAD'@V"[<"^7!;F%,$U68HDSI(?5G>%9V+/DLL3*2EV!P<4X
MN!Q<7(U<O2]XE-C8G3$X)W.MG]SD:SX.(B<(%6;D& 2_UGB-2CDBEO&KXPSZ
M+1UP=[QEO_'>V<M<6+S6ZKO,J1@'GP+(<2%J1?>ZN<7.SZGCR[2R_@E-5QL%
MD-66=-F!64$IJ_8MGKL<=@!Q_ H@[@"QU]UNY%5.!(DT,;H!XZJ9S0V\58]F
M<;)RAS(CPU\EXRB]$=+ HU UPA2%K0URXF3A \SX_/-:(>@%7);:D/R-.5QK
M2R"J'': MZAR( U30;61M($99FX@T<)\PY"*#*=?"_52<CA!$E(=P0'("KX5
MNK;,:I.0V)23%F:=@:O60/R*@0EF)S <'$,<Q3$\S"9P>'#T-TW(F?3!Q'TP
ML><=_C^8B;29TBX;"S\NY]:[^;E/:DLYVD_I^NO"KD2&XX ;R*)98Y"^?S<X
MBSZ_(7C8"QZ^Q<Y!S GL2_+E-NI&4L$9ZPIA@\* Z \SX\/<9Z/=Z-1OY+IZ
MG0ZB*#X_3\+U'H&C7N#H38']V?,/U8O1!A1:>PQ?+$F6C+M_UCYMHWW:AO'P
M'VWA3DNXVV4JS%)6EC=;,# Z^<@,INW8=D)ZY;MDKHE[S@\+ON30N +^OM":
MMA/7>/VUF?X!4$L#!!0    ( +Q@<EF7_^R;:P,  ) /   9    >&PO=V]R
M:W-H965T<R]S:&5E=#4W+GAM;,U7:V^;,!3]*U=LFC:I*Z^01Y<@K:VJ56JG
MJMGCP[0/+MPD5L'.;)-LTG[\;* $6DI:B4G]$FRX]_B<XPNYGFZYN)4K1 6_
MTX3)F;52:GUDVS):84KD(5\CTT\67*1$Z:E8VG(MD,1Y4IK8GN,,[9109H73
M_-Z5"*<\4PEE>"5 9FE*Q)]C3/AV9KG6W8UKNEPI<\,.IVNRQ#FJK^LKH6=V
MA1+3%)FDG(' Q<SZZ!Z=N .3D$=\H[B5M3$8*3><WYK)>3RS',,($XR4@2#Z
MLL$33!*#I'G\*D&M:DV36!_?H9_EXK68&R+QA"??::Q6,VML08P+DB7JFF\_
M82DH,'@13V3^"]LRUK$@RJ3B:9FL&:24%5?RNS2BEJ"%MB=X98+WU 2_3/!S
MH06S7-8I422<"KX%8:(UFAGDWN396@UE9AOG2NBG5.>I\(Q0 =](DB%<(I&9
M0+U'2L)[F.N*B;,$@2_@C#+"(DH2^"@EZL>$Q;6;%Y3<T(0JBO(.)0:BH 9N
M=@RN,<J$H&P)QT12"6]/41&:O-.K?9V?PMO7[^ U4 9?5CR3>@DYM976:)C:
M4:GGN-#C/:+G%*-#\-T#\!S/;TD_>7JZUTRWM;.5O5YEKY?C^7OM/:A;UVJ8
MMFAGD(GZS)FXY]B/"[T G"M,Y<\V<PHV@W8VYI-P)-<DPIFEWWF)8H-6^.:5
M.W0^M%G5$UC#.+\RSN]"#^<K+M1[A2*%B#.E'=!E:8:2QBB(^02TZ2] @QS4
M?,$VH>M-QKH0-G5A+5'^)'"JJ ;C0<5XT,GX@K/E\PD7F,,ZE8$S<NX1?A@5
MN$$P:2<<5(2#3L*7G.$?N"3B%E4;M<[LY]923V -H<-*Z/!%O83#/HWK":QA
MW*@R;M19(859![ P!FZ,@6UR1P^*<QB,@]'@7@T_#/,'_L1[I(C'%<5Q]UN'
M&TS A;^PKYP[<9Z[*SV!-21/*LF3%U7.DSZ-ZPFL89SK[)H=IX>"+D'V5G1+
M7%=)N[6>S'U"4;>U+\?=F<_=C;[0FCIWS9'[LKHCM]?VJ"^TIGF[!LG]+QU2
MB3K<TR*UA3W>([F[)LG]'UU2"1KL:9-:PMKZ)+MV7#)G5?V?L:1,0H(+G><<
MCC2 *(Y_Q43Q=7Z"NN%*G\?RX4H?F5&8 /U\P;FZFYA#674(#_\!4$L#!!0
M   ( +Q@<EGNH+Z:C @  (I>   9    >&PO=V]R:W-H965T<R]S:&5E=#4X
M+GAM;+V<6W/;MA:%_PI&O4P[DUHBJ6MJ:\8V 2*=DW,\==H^=/I 4Y#%"44H
M)"3',_WQ!2\6!8M"I)-5Y2'6A?L#2"UA@WL)N'R2V<=\(80BGY=)FE]U%DJM
MWG:[>;00RS"_D"N1ZG?F,EN&2C_-'KOY*A/AK Q:)EVWUQMVEV&<=J:7Y6MW
MV?12KE42I^(N(_EZN0RSYQN1R*>KCM-Y>>'7^'&ABA>ZT\M5^"CNA?IM=9?I
M9]TM918O19K',B69F%]UKIVWW!L7 >41O\?B*=]Y3(I3>9#R8_'DW>RJTRMZ
M)!(1J0(1ZC\;<2N2I"#I?GRJH9UMFT7@[N,7.BM/7I_,0YB+6YG\$<_4XJHS
M[I"9F(?K1/TJG[BH3VA0\"*9Y.7_Y*D^MM<AT3I7<ED'ZQXLX[3Z&WZN+\1.
M@-,_$.#6 >ZQ 5X=X!T;T*\#^J\#!@<"!G7 X'7 \$# L X8'MNE41TP.C9@
M7 >4<NE6'T?Y6?JA"J>7F7PB67&TIA4/2D&4T?HCC--"N_<JT^_&.DY-61AG
MY/<P60OR7H3Y.A-:F"HG/Y'KV2PNY!4FY%U:?4D*L?W@"Q7&R8_ZB-_N??+#
MMS^2;TF<D@\+N<[#=)9?=I7N5T'O1G4?:-4']T ?//)>IFJ1$YK.Q*PEGMGC
M'=<"Z.H+LKTJ[LM5N7&M1%]$%\3IOR%NS_5:.G1K#[]>93I\=##<MX??BY4.
M'Y;A3MOE/*+SGE.&NVU7\_CPMLX'7]<ZMX?_LDY>PIV)Y9/TMOKV2IYWZ%I6
M8S+YWYS<QX]I/(^C,%7D.HKD.E5Q^DCN9!)'L<C)G__1L>2=$LO\KY:.WU0-
M]=L;*G+,VWP51N*JHY-(+K*-Z$R__\89]GYN$Q 2YB-A% EC2%B A'$0S!!E
M?RO*OHT^O5MGT4(G7"+G1&7EL/M,]% ??6S3G95UJNZ0,!\)HQ5L4,**&==F
MZO2*?Y?=S:ZBD&T&2!@'P0Q%#;:*&E@5U;OP1H/OR*U,-R)3\4,BR+U(8YF1
M_TJEQ[:9SN]Z0.ZWZ<M*/E5?2)B/A%$DC"%A 1+&03!#A<.M"H?G2K9#I"B1
M,!\)HT@80\(")(R#8(8H1UM1CNS)-HO3*%[IVYAP6<BP36U6PJEJ0\)\)(PB
M80P)"Y P/MJ;2;CCT6!G)F'H:+S5T=BJHS*1OB'S3'Q:BS1Z+B9O*Y'%<A9'
M9!4^%_?-;=JR4D_5%A+F(V$4"6/V3R(7R_BG,$W789(\MZD)V1<.@AF:FVPU
M-[&>Z0>I]+@5[<SJ\FI6EQ9B;%.;E7>JVI P'PFC%6QH?,7[P[V;A<G>2#"<
M#%X?%>P?U0;CH!,PA.#TFCI=SRJ%LE"W*0MU>N Y11)V\*F:@-)\*(W6M-U/
MLC]P]^\AZ^-VY>/T)N,]8;0<U\;CJ+,PI;%3PG6LTG N>KTOW_N-6[5A)9^L
M#23-A](HE,:@M !*XRB:J4:W4:-[KIO NB64.I$T'TJC4!J#T@(HC:-HICH;
M.\"Q%G:GOGA0),Y5MB[FZT1+,Q))TNHZW=2HW73B]2:3U\/_K;W)DX4%K>9#
M:0Q*"Z TCJ*9PFI*^LX7:OI'E!EJA#%MG?2<?4%!J_10&H726,L5&;94_0-H
MJQQ%,Z72U.H=>[&^FI;-]00M"O-%JU &1PH%6FZ'TBB4QJ"T $KC*)HIIZ;H
M[EC+I_]'D< ./'E>!2VO0VD42F,U;?=K.7#VOY8!M%6.HIGR:LKGCKU^_A6%
M!VA9'4KSH30*I;&:9LAL,FQ)BM"J.8IFRJRIKCOVHNZ110SR-]$SK4VH!+E+
M=&\.5=WMK9VL/6C='4JC4!J#T@(HC:-HID*;6KPS.5MA UJFA])\*(U":0Q*
M"Z TCJ*9/UAM_ '7[@\<<__I[M>SV^ZV;NU-G2HH*(U":0Q*"Z TCJ*9@FI<
M!1?B*NB$?+]^R*,L7I6_#_^0A6D>E@L36B4(-1R@-!]*HU :@]("*(VC:*90
M&\/!/9OAX$(-!RC-A](HE,:@M !*XRB:J<[&<'#MAL-1>=D[KMQG;^ID04&-
M!BB-06D!E,91-%-0C='@VHV&X_,R_1PMPO11?#$G(XOKMU":#Z51*(U!:0&4
MQE$T4Z2-Q>$.SI:3H>L3H#0?2J-0&H/2 BB-HVBF.AO'Q+4[)J?\",#=K_FW
M_@C WN3)PH*Z(% :@]("*(VC:*:P&J_$M7LE+QEW5BY?K3)RJZB@S@B4YD-I
M%$IC4%H I7$4S91>XY^XX[-E7*AW J7Y4!J%TAB4%D!I'$4SU=EX)ZY](4.9
M<=^E+QEW>V=R??B>N.57^<YHM)]WH>8'E$:A- :E!5 :1]',/1X:\\.SFQ_7
MFUC%,_%&2RRZ:%.3/?[4(0U*\Z$T"J4Q*"V TCB*9FJN\4<\YUP)UX.:(E":
M#Z51*(U!:0&4QE$T4YV-*>)9R]K3FW6N7\ES$LGE0YQ6>S=%LA1F><\KTUR/
MF%EXJ"AHYY^L2:@54M-VYP;C<?_UU(!"&V4US5@TY@[V?Y75VCEOY+U:,X;J
MG*F/G6V1[+8$2\3GFUCFS[DE:6)W/,)N>83=\PB[Z1%VUR/LMD?_AGGA->:%
MUS];TH2Z%E":#Z51*(U!:0&4QE$T4YV-:^'9%V9\?=*$>A4US5B^OK<LW8>V
M2:$TYNVO8^GOKY\.H(UR%,T446,N>'9SX;U0(I6;D'"9S(H1[?JF52K0-1A0
MF@^E42B-06D!E,91-%-YC?O@C<Z67*$&!93F0VD42F-06@"E<13-5&=C4'CV
M!1Y?GURAM@24YD-I%$IC-6UO9\W721CJ-Z!HE=BZ.QM<+T7V6&YV7BA)CVO5
MKL[;5[<;JE^7VXB_>ITY;X-J6_0&4^W2_C[,'N,T)XF8:V3O8J2O5U9M?%X]
M47)5;J/]()62R_+A0H1:L,4!^OVYE.KE2=' =OOYZ3]02P,$%     @ O&!R
M6>B]A%Z\ P  X0\  !D   !X;"]W;W)K<VAE971S+W-H965T-3DN>&ULS5=M
M;]LV$/XKA%8,+=!$+[9D)[,-Q%:+%6B&(%F[#\,^T-+9)BJ1+DG9[;_?D9(5
MRU'4N-" ?;'Y<O?P[CG>B3?9"_E%;0 T^99G7$V=C=;;:]=5R09RJB[%%CCN
MK(3,J<:I7+MJ*X&F5BG/W,#S(C>GC#NSB5V[D[.)*'3&.-Q)HHH\I_+['#*Q
MGSJ^<UBX9^N--@ON;+*E:W@ _6E[)W'FUB@IRX$K)CB1L)HZ-_YU[%L%*_&9
MP5X=C8EQ92G$%S/YD$X=SU@$&23:0%#\V\$"LLP@H1U?*U"G/M,H'H\/Z.^M
M\^C,DBI8B.POENK-U!D[)(45+3)]+_:_0^50:/ 2D2G[2_:5K.>0I%!:Y)4R
M6I S7O[3;Q411PI^](Q"4"D$IPK#9Q0&E<+@I0K#2F%HF2E=L3S$5-/91(H]
MD48:T<S DFFUT7W&3=P?M,1=AGIZ]IXR23[3K !R"U05$C"H6I$+\H!7+"TR
M(&)%[B$1/&$9HS98N*(W0!8;RM= &+>S(R3<7PBN&>YR;8:*I2!+W0ORCDJ.
M-Y"\CD%3EKW!I4\/,7G]Z@UY9<#^W(A"49ZJB:O10V.GFU3>S$MO@F>\\0-R
MBP=O%'G'4TB; "Y24_,3'/B9!YV(,2279."_)8$7#%H,6KQ</6A1CU^N[G=X
M,ZBC/;!X@Q]&^RVY40HPT$@T^<CH$H.K&:C#+4@)Q@K#7DB)8;12?P@NZX4Y
M54R1OS_B >2#AES]TQ:MTIIANS6FI%VK+4U@ZF#-4B!WX,Q^_<6/O-_:F.X3
M+.X)K!&%81V%81?Z[(Y^-TEFTB1Y3).DD290)DEK#I3HH44W=7TWNQAX870U
M<7?'?+6(!>-1<"(6/Q4+QU%8"S4\#&L/PTX/G\O^-F\ZD<Z](WV"Q3V!-1B,
M:@:C_U6F1GU&H4^PN">P1A1&=11&G?=X3C/*$R!4$RS%D"]!=E7S>8D6'>52
M%(;>:6)VGGDN/3V!->@9U_2,.^FY2;X63#%;L%*J@:S,K=T=W@ _5=S&3RF,
MAMX)@YUFG<M@3V -!J]J!J_^TT_!U1.V+OQA&(Q.^.HTXER^>@)K\.5[C^]5
MKY,QS$/L;Y1]=O9PW:K3HA]]3+NM.I?"OM":'!Z]^?V?+6MM;]QY!7?\1@A&
M7C@XY>BI6$OYB[N-.]=Y]ZCWR4&N;0^I\ 847)?/_'JU[E-O;'=VLCXW_:OM
MJ1YARN;WELHUXXIDL$)([W*$'LJRGRPG6FQMA[44&OLU.]Q@#P[2".#^2@A]
MF)@#ZJY^]B]02P,$%     @ O&!R6897W\7#!P  OT0  !D   !X;"]W;W)K
M<VAE971S+W-H965T-C N>&ULS9QK;]LV%(;_"N$50P>TL6YTXBPQD$N+%6BV
M(%G;#\4^T#)M$]7%U<5.@/[XD9(BBHI,1\H1H'Y(+5E\R?.*1WI\3.ML%T8_
MXC6E"7KPO2 ^'ZV39',Z'L?NFOHD/@HW-.#O+,/()PG?C%;C>!-1LL@:^=[8
M,HS)V"<L&,W.LGVWT>PL3!./!?0V0G'J^R1ZO*1>N#L?F:.G'7=LM4[$CO'L
M;$-6])XF7S:W$=\:ERH+YM,@9F& (KH\'UV8I]>3K$%VQ%=&=W'E-1*AS,/P
MA]CXM#@?&6)$U*-N(B0(_V]+KZCG"24^CI^%Z*CL4S2LOGY2_Y@%SX.9DYA>
MA=XWMDC6YZ.3$5K0)4F]Y"[<_46+@+#0<T,OSOZB77&L,4)N&B>A7S3F(_!9
MD/]/'@HC*@U,>T\#JVA@U1LX>QK810/[I0V<HH&3.9.'DOEP31(R.XO"'8K$
MT5Q-O,C,S%KS\%D@SOM]$O%W&6^7S#X2%J&OQ$LINJ$D3B/*3VH2H_?HGD^Q
M1>I1%"[151@D+%CQ=\3+F"UH1++3]H%$ 9]-Z,/#AI](E(1H3M$=_9FRB"[$
M)I\X"==@@>NE"XKNV2I@2^82KI0&X3RFT9;,^0&?@DW*NWU[31/"O#]X_WO[
M?(^^W%^CMV_^0&^X+OIW':8Q"1;QV3CAAHBPQFX1_%4>O+4G^&OJ'B';?(<L
MP[(;FE^_O+FE-A_STU">"ZL\%U:F9Q\^%Q=Q3+D=%\$"?69DSCR6,!H_G:(%
M^B?@+KMI%'&'LJ/^#H.HW'%)8A:C[Y^Y/OJ44#_^K\F;?#!.\V#$]>8TWA"7
MGH_X!46<)SJ:_?Z;.3'^;'(*2$SQS2Y]LW7JLXI#[]!2F+@5)C;%G OA3$A<
M$K<SZ]C _-QOJ\$\/VJ"L3$MCU)&Z92C=+2CO.'SF:(K$GD\*YB?>OEL_H7D
M:7]7.:F_T,66A\1SAL]M]-&C#W,6QH^-LUS;<=LS"22F>(1+C_"0,@!#^@8D
MIO@V*7V;0&7 Y'D&&,;4J66 MKN.P1R7P1QK@[F-PGD>SJ.X]]RGKDOCQGF?
MZTPKL9BU.+0]=8SCI(SC!#;AFP-O=270CJCMC 824\R;EN9-AW0EF$+Z!B2F
M^&8:$N@,[;3[EJ$N]^5BRXEI1=$UB]TPY1AU1Y*F2\+E <'O9J-E12M=]NF%
MNSI105L3-@&?:%9QK%7^Z4?4=B)!J:G^21PU!\6C)BB00JFIWDDD-?5,VB$+
M]8+[LC!O)3*M3$/CR,#3>BIJU;O:(=G7!(;?.[JE09JGW-?02WTJ9A'W\Y8\
M9I]0&\T !6$H-=4RB<+FH%C8!(5A*#75.XG#)A@/F\^!V'1PG8?U_76-1Q*Q
MJ4=B^/39=[=KM B(H@LK^V!R4T*Y>3*HM (E<B@UU3O)Y*867;O<U/2"^VYJ
MT\:;VN097_9!VI8D;4L/QKUD)=_/9<1GP,::'1!1%T6[/OC<DGQNF4-*10N4
MS:'45.\JI6(MOW9(Q0.">U*Q:%5+1<NL\Z5>O:L=$K<M/1WWDHJ=&%0_T-:S
MK ]LMR2V6\Z@,A24WZ'45.\DOUM:QNV2H7K!?1F*&V^6)_4O-?3J7>V02&[I
MD;QUAMZP@!_FMRJ_Z,?0>@+U ?V6A'[K>%#)!TKY4&JJ=Y+R+7WM_>!GFJ+]
ML[K)23UK^B!N2Q*WI0?D5V1-M[L7:"$<2DW]5ECRN6T,*8%L4#:'4E.]DVQN
MZVOG!Q.H:'\P@?3]=(U#<K*MQUK]QRF[D6Y-"]>#Z&5Y0V5]@YYN&U+Y\/EI
M+@P_#ZT/PK0E8=K A>$;\M :"_1C:)V9?7"E+;G2'E1=V :M"T.IJ=Y)"+7U
M$'HX:R8O^SI%WT_7."0:VL#U8)DUG;! /YS6DZ /-K0E&]J#J@#;H!5@*#75
M.\FCMIY'#R=0<^GVV)PJ_^KIU <H.A(4'7TA5P\)1>-Z"<R9U(+0=](U"$EL
MCI[8ND""TPQQTWKM0-]UU] DQ#EZB*LNC"K+*K>B)QY;GLEM5U4UN@&Z  %*
M3?5,,J-C#^DJYX"6/:'45.\J*W7U4-KBZ^-"J?KU,<9&';+U_76-1R*CHZ\<
MOBI_;DB0+HF;I-EV-@T^/&Q(]LN/YC0")48H-=4Z28S.9%!I!%K A%)3O9.4
MZD MY'4.K^35]]4U%@F-CKZ@V%\*M;M%@<(DE)KJJ81)9U!K?!W0VB:4FOH[
M"8FL&'J5[P'!/=\NX<.K?/7"79V0W(OUW-MK9KYXC91^D*U_2](';V/)VWA0
M"W\Q*'=#J:G>2>[&T M_#PCN2\SF^NZD_M%-K][5#HG26(_2K\O.\LNLUA"J
M'U;K.=4'O^/*K^(&5?+%L+^+ZP/@L01X_,J2+VXN^3Y;;*COIVL<$J;QRV&Z
MPVWNH7,B@99^H=14$R7%XT&5?C$HK4.IJ=Y)6L>O+/WB/:MVZVOI]?UT_:6L
M(&=UCR3(B9X@^1T6?:D^C(#E#R/8T8CR/T6NS1]1LJ8HHJ)6O*65NI#XS";>
M<N43"USEB05>,<$>CYHB&%>>WN#3:)4]!2-&F=GYC^#+O>63-BZS!U+4]T^,
MTRMN1-,[)G\G?Y:&[")_M,<-B5:,PZY'E[P[X^B87Z^C_&D9^482;K+G1\S#
M) G][.6:$AZ<.("_OPS#Y&E#=% ^LV3V/U!+ P04    " "\8')9Y;BB! 81
M  #S\@  &0   'AL+W=O<FMS:&5E=',O<VAE970V,2YX;6RUW5UOVTB:AN&_
M0G@'BQD@$XL4/Z1L8L"QR*HBIGN"I&?F8+$'C$7;VI9$CT@['6!__)*R[%*I
MJ(J8W#GICAW65;+SOA3%AT6^_5)M?J_ORK+Q_E@MU_6[L[NFN7]S?EY?WY6K
MHGY=W9?K]F]NJLVJ:-HO-[?G]?VF+.;;0:OE>3 :Q>>K8K$^NWB[_=Z'S<7;
MZJ%9+M;EAXU7/ZQ6Q>;K^W)9?7EWYI\]?^/CXO:NZ;YQ?O'VOK@M/Y7-/^X_
M;-JOSE^4^6)5KNM%M?8VY<V[LTO_33[9#MAN\<]%^:7>^[/7_2B?J^KW[@LU
M?W<VZEY1N2ROFXXHVO\]EE?E<ME)[>OX]PX]>YFS&[C_YV<]V_[P[0_SN:C+
MJVKYK\6\N7MW-CGSYN5-\;!L/E9?9+G[@:+.NZZ6]?:_WI?=MJ,S[_JA;JK5
M;G#["E:+]=/_BS]VOXB] 7YX9$"P&Q <#HB.#!CO!HQ/G2'<#0A/'1#M!D2G
M#HAW ^)3?X9D-R Y'! ?&3#9#9B<^I*FNP'34P?XH^=_N=&V@I[^R;?U,BN:
MXN+MIOKB;;KM6Z_[P[;HMN/;,EFLN_[XU&S:OUVTXYJ+R^M_/RSJ15>KM?=7
M[W(^W_ZY6'IJ_=1]717_>58VQ6+YEW:+?WR:>7_^TU^\/WF+M??;7?50%^MY
M_?:\:5],1YY?[R863Q,'1R8>>[]4Z^:N]M+UO)SWC)?N\7[@ ,[;W\++KR)X
M_E6\#YSBWZ^;U]XH>.4%HV#<\X*NW,,O[S>O/3\Y.GSF'OYK]?C:"Z;;X7[/
M\-0]_%-YW\X>'QV>N8?G#^MV]N#H<.$>/BNO7WMC_^C/+G]LN#I]>- S/#]]
MN.^HH_%+2XVWWOB(]_ZA;K]3U]Y>;WG__;?V>YYJRE7]/STO\?T3&?:3W9OD
MF_J^N"[?G;7O@G6Y>2S/+O[S/_QX]%]]A4IB,Q)+22PC,4%BDL04B>409C1&
M^-(8H4N_^%!\;8^LFMIKJJ?>V)3><[.4]2OOU_9PL+KQKHKZ[OGO^]X8WCMG
M&=HK)#8CL93$,A(3)":?L&B+=4?SCQ?^)([#=D?^N-\%]F8C<XN\!PJGD^GX
M93.C:*.7HHV<12NJ:OYEL5SV%:)SY-!")+$9B:4DEI&8B*Q_\NDD\8.#RI!/
MF\7?V$S9FTVB*/+'!W76LUD\&L=!?YW%+W46.^OLMTVQKHNG#XW75=WT'5*_
M=Q)#"X[$9B26DEA&8H+$)(FIV*K*(!D=[B+MC<9[VQAUF[S4;>*LVY>CW:MJ
M]7FQWGY>?-5^L6X6Z]OVW;[[8[V8EYNG3Y*7F[;.;\OM<4"[V5WW1?=)\G)5
M/:R?WOZ/#'WE_6U1?%XL%\W7OM9POLJAK4%B,Q)+22PC,4%B,K$*]:_C411/
M#_;8/9L%DR0XV"RW-XLF<=1?]Y.7NI\XZ_Z7LBG7U6/AR6HY;^O5NWS?5Y9.
M9&A9DMB,Q%(2RTA,D)@D,45B.809K3!]:84I?\)C2C8&B<U(+"6QC,0$B4D2
M4R260YC1&/Y(GUT?.=\EMN<RKO</8_IZ88<8'UWC,#H\?+MR3S:TSE$M1;4,
MU02J2513J)93FEGN>V&2[RSW3W=%RW9'\=?5:M6^"]1-=?V[MZCKAW+NW50;
MK]!O$;V=X-N':D$PG1XV@O-E#&X$4DM1+4,U@6H2U12JY91F-D*@&R%P-L(_
MB^5#>:0/>NL^L-\!DB"VWP&<TPXN?%)+42U#-8%J$M44JN649A:^SCY]9X)T
MT64XR]UYFD7[5E"T);\Z4O-C^Y35R*YX-,Q$M135,E03J"913:%:3FEFQ>M0
MTW>GFEFQV'B/S_O[8I=;>C>+]:(IVUYX;+]8K)MB?;OXO"R[ABC[3^[OYC%/
M4TWLAD 32U1+42U#-8%J$M44JN649C:$#DS][T],W4.'GO9!M1FJI:B6H9KP
M[0C3]Z,DF1SDIB=NI]!7EU.:6;XZA_7=0:S2^^K+;E_M?2SKQ?RA6'K;@_K>
MJK9SM?;WU+/K1B-75$M1+4,U@6H2U12JY91FUK[.<GUWF'O210AN8_ ^',U:
M42U%M0S5A&^'FF/KC+$\:2N%OK*<TLP:UKFL[PYF7]*H:WU!0G<*_OFB@F^?
MC4<S6U2;H5J*:AFJ"523.\UXAQY9)QL4.FE.:68CZ%36=V9;?5<H>/_77:;3
MG9#\U)V0[*U^-)A%M1FJI:B6H9I -8EJ"M5R2C.7_.B -ACQURX$9&9WA6HS
M5$M1+4,U@6H2U12JY91F]HA.=0-WJCLTS-IQ^V'6Q+<^#+LG'5SV:(:+:AFJ
M"523J*90+:<TL^QUAANX,]QL6?[Q?E'57^M7GEI?O^XM=3*[NT*U&:JEJ):A
MFD UB6H*U7)*,UM"I[O!3UC:&J!K6U%MAFHIJF6H)E!-HII"M9S2S![1>7#@
MSH-[SS_-BT;'P_6Q,T]N>7"GN%_GR_T*CM^P ,V&42U#-8%J$M44JN649C:'
MSH8#=S9\VO70;F1P']BK1(.I=>YOADZ:HEJ&:@+5)*HI5,LIS:QV'24'[BBY
M?VVD6L_+U7IQL[C>+8G<7A'TRONX70O9ODG\_:%IWSNZ.R)L/WF_\N3B]JZW
M3]#UP#MMOT_BL=TF:.J,:AFJ"523J*90+:<TLTUTZARX4^<?7C7@]@?W04]F
MZH=^=-@(:-2,:AFJ"523J*90+:<TLQ%T=!VXH^O!)UK1I'JG[>__0[_G. F-
MH%$M0S6!:A+5%*KEE&;6O4ZJ W=2/6#1@%L:7/)3^[* T(HJ9NBD*:IEJ"90
M3:*:0K6<TLQ;!.K<>>Q>&(RM&G#/,[0A=IK1$/8RM!DZ:8IJ&:H)5).HIE M
MIS2S(73(/':'S*Y5 ^ZA@VL<#9Y1+46U#-7$V%Z;[8?C[I:IQB6GIVVFT->6
M4YI9O#HJ'KNCXN]8,^ 6!]=TT/=+M_?;:"2,:AFJ"523J*90+:<TL_3W;G;L
M7O![TI(!MS&XV-G[&[,W.&;O<,S>XMA><.U;'W;D25LI])7EE&;6L(YLQR=&
MML9Y^OUK'#Z6RZ)I#\FOCE8X&MVBV@S54E3+4$WL-"/JLPL<C6=1+:<TLQ%T
M/#MVQ[,_O';&[0]N WO]:=SS810-;E$M0S6!:K+GMQO:-^!0Z*0YI9D%KA/9
ML3N1/;RF\X0%,6YQ<$FC2X!1+46U#-4$JDE44ZB64YK9(3J,'3]E7.S32]
M%M5FJ):B6H9J M4DJBE4RRG-[!&=TX[9G-;-#6X/.Z>-0ONH"(UI42U#-8%J
M$M44JN649I:]CFG'[IBV/7#JCI^\R_7<^_6W7_;?(7JK'HUJ46V&:BFJ9:@F
M4$VBFD*UG-+,9UOI1#?\"2N)0S2]1;49JJ6HEJ&:0#6):@K5<DHS>T2'O"&[
MDMC-#6X/-/@-[57.8]\Z.Y6BDV:H)E!-HII"M9S2S+K7^7#HSH?_56U^[^[
M<EW<+YIBZ17S_WVHF^XA2+U5CT;#J#9#M135,E03J"91385VW&^%_3DUI5GS
M.A@.W<$P=H6;>Y[![8"&QV%/6)I8D5.*3IJAFD UB6H*U7)*,QMB[^FW[I39
M=86;>^C@&D?C8U1+42U#-8%J$M743C,?8CH.#_?Y/R,_#G5^'+KSX^^X#LXM
M#JY\]([08=_S9>V=.YH8HYI -8EJ"M5R2C,K7P?+(?#X7K<QN-;1*!G54E3+
M4$V@FD0U%?8^H=<ZLO\9$7&H(^+PQ$?^[BW+?>4]5MU50MTA?=E.VKP<\?<V
M IH7H]ILITWW#^D/]_AH"(QJ M4DJBE4RRG-[ (= H<GWF?:Z(+#FSN4]74K
M]_8 &@JCVBRT(V9[-Y2B<V:H)E!-HII"M9S2S#;0H7#X[;6[VW,W[AT^F@6C
MVFRG&>O>>\[CHQDOJ@E4DZBF4"VG-*/8(YWQ1NY5NY>/[6Y^7AZ_'ZA[_- Z
M1[49JJ6HEJ&:0#6):@K5<DHS^T'GN9'/7_,0H:$NJLU0+46U#-4$JDE44ZB6
M4YK9(SK[C=S9[VFW/'0C@YL"S7Q1+8WL1QTGD?7A(D,G%:@F44VA6DYI9K7K
MU#=RI[X_?"\WMS^X$="T%]72J.?YQXD_FL:'G8#&O:@F44VA6DYI9B?HN#=R
MQ[U#KW5S<X,+'XV 42W=:<;S0>S32QDZJ4 UB6HJLK/=23"-#QZSFE.3F@6M
MP]W('>X.NXC-C0TN9S371;44U3)4$Z@F44U%/4\7MM+UG)K3+'J=ZT;N7'?
MK0G=TN"*1]-=5$LC.Z4,K%N$9.B< M4DJBE4RRG-K'B=[D8GIKO7^S=#,3[
M>DUWM<--N3ERMM\]P^!.0.-=5$M1+4,U@6H2U51DWV,["./Q:'RX]_\9&6^D
M,][(G?%BUS"[YQG<$6C8BVII9#]I-XP3^\T!37M13:*:0K6<TLR&T&EOY$Y[
M7=<PNX<.KG$TXT6U%-4R5!.H)E%-13VWVYXF81(?[O5_1LH;ZY0W=J>\WW$5
MLUL<6ONH-D.U-.ZY0_2T.X%_L(-'9Q6H)E%-H5I.:6;MZT0W=J_0/>DZ9K<Q
MN-K1!!?54E3+4$V@FD0U%=LW@8ZL:ZIR:DZSUG4R&[N36>"VG^X9!G<"&MNB
M6HIJ&:H)5).HIN+>I;I6)]A;&8]=,"M<I[&Q.XW]X?MYNOW!]8VFL:B6QG8:
M.YE8M]7*T$D%JLF=MI^K^8%]:87J_5''R>&Y%^K%F;6K\]/8G9\:UUIV]^G<
MQ4Y';]3I]@;7*AJ@HEJ*:AFJ"523J*90+:<TLS]T'!L_)5_HM9<QFLJBV@S5
M4E3+4$V@FD0UA6HYI9D]HM/;V)W>GG;MI1L9W!1H<(MJ:6P'MWYW@& =Y:#1
M+:I)5%.HEE.:6>XZNHW=T>V'XFMW.4[M-=73N\*F])[?)KK'27<7,U0WWK8K
M+AVKM=S3#&X(-+]%M32V<T@_G/8<]J/)+*I)5%.HEE.:V1 ZOXU/7*/[_=<R
MN&<8W MH<HMJ:6PGMT'?E?GHK +5)*HI5,LIS>P%'=W&W[A[\P^N5W?S@QL!
MC7=1+8WMF-*Z+C%#IQ2H)E%-H5I.:487)#K;3=S9[@^?$77[0]L U6:HENZT
M;YU.S-!9!:I)5%.HEE.:V0DZZ4W<2>^':ME^6EAYGUY?]BYE=P\?7.AHR(MJ
M*:IEJ"903:*:0K6<TLQVT&%P$O"G4Q,T_D6U&:JEJ):AFD UB6H*U7)*,WM$
MQ\F).TX^[72J&QG<%&AFC&HIJF6)'=^&B76X)=!)):HI5,LIS:QV'4 G[@!Z
MP-(OMS2XY-'H&=525,M03:":1#6UTXR3:]9]XG-J3K/B=:2<#'_\[\#3I>X9
M!G<"&C"C6HIJ&:H)5).HII*>QP[;;W,Y-:G9"CHY3K[QH&!JY9=[GL$-@8;+
MJ):B6H9J M4DJJG$#N6GUFKJG)K3[ <=+2?N:-FU\,L]='")HW$QJJ6HEJ&:
M0#6):BJQ8_9Q%$^L&O\9:7&BT^+$G19_Q[HOMSBX]-%T&-525,M03:":1#65
MV*GZ.++60^?4I&;IZW X<8?#)RW[<AN#BQU-@%$M1;4,U02J251324]RWO,I
M]V=$P!,= 4].C("_?]F7>X:AG8!J,U1+42U#-8%J$M74Q%XF'=D']1,[8A_[
MQY9]372T.W%'NS]ZJ8^;'US>:/2+:BFJ9:@F4$VBFIK8#S\.[2>04G,^M<%Y
M?5>6S:QHBHNWJW)S6UZ5RV5WKO)AW?)=T/OR76]3WK1MXK^Y#,[.K>]+_TWN
M=]\_U\S%V_OBMOREV-PNUK6W+&]:<O2Z.PFU6=S>O7S15/?OSMJ?ZG/5--5J
M^\>[LIB7FVZ#]N]OJJIY_J*;X$NU^7W[LB_^'U!+ P04    " "\8')9HOHG
MEPX#  #I"0  &0   'AL+W=O<FMS:&5E=',O<VAE970V,BYX;6RM5EU/VS 4
M_2M6AJ9-8N2S:6%M)&B&AC0D!&-[F/9@DMO&(K$[VVGAW^_:"5FA(0.)ER1V
M?,Z]Y]CRO=.-D+>J -#DKBJYFCF%UJLCUU59 155!V(%'/\LA*RHQJ%<NFHE
M@>865)5NX'FQ6U'&G61JYRYD,A6U+AF'"TE47554WI] *38SQW<>)B[9LM!F
MPDVF*[J$*]#7JPN)([=CR5D%7#'!B83%S#GVC]*Q66\7_&"P45O?Q"BY$>+6
M#,[RF>.9A*"$3!L&BJ\US*$L#1&F\:?E=+J0!KC]_<!^:K6CEANJ8"[*GRS7
MQ<R9."2'!:U+?2DV7Z'5,S)\F2B5?9)-N]9S2%8K+:H6C!E4C#=O>M?ZL 7P
MHV< 00L(G@+B9P!A"PA?&B%J 9%UII%B?4BIILE4B@V19C6RF0]KID6C?,;-
MME]IB7\9XG1RG/VIF6)F#Q3Y1.;X8CE(:C?ENZ1<+4!*R,F'%#1EY4=<=+S&
M]3GLDS.>'>#X^BHE'_8^DCW"$%.(6E&>JZFK,3\3Q<W:7.9-+L$SN?@!.1=<
M%XI\X3GDCPE<%-:I"Q[4G02#C%>P.B!^O$\"+_#[$AJ&IX#Z0M_"PQYX^G)X
M,* F[/8JM'SA,WPGM<(9I<C6II%?WW".G&FHU.^>%$\:RJB?TEPJ1VI%,Y@Y
M>&LHD&MPDO?O_-C[W&?76Y*E;T3VR,JHLS(:8D_F5!4DVS[L?=X-<KS6N[<D
M2QNRD24S-_LZ&4>',1ZR=8\IH\Z4T: I7_!4Z?O_VS+:"3X)/<_K@C=Z!V.]
M5F]#%F^'# [C2;_>N-,;#Q\"O&P87P+7CS7CE094<BR2?>KC7?63:$?][BH_
M&.V8E,:[NB;A..S7->YTC0=UG5(FR9J6-1"Q(!Q[!ZH4:(5%%G=8/KU9&UF#
ME*\]ZV])EHYWK RB./2>FN1N%<$*Y-(V$PIWMN:ZJ1C=;->O'-LR_61^CGU,
MTW;\HVF:H',JEPSK9 D+I/0.QIB4;!J+9J#%RI;:&Z&Q<-O/ GLQD&8!_E\(
MH1\&)D#7W25_ 5!+ P04    " "\8')9,H=2?N@5  "?5 $ &0   'AL+W=O
M<FMS:&5E=',O<VAE970V,RYX;6RUW6UOV\::QO&O0G@/%BU0Q^*#2*J;!$C"
M>2APF@8G/6=?+/:%8C.Q4%GRD60G ?;#KR1+'@Y)W]+$?[UI8\?S&[N^RI'N
MFS-\^76^^&MY7=>KZ-O-=+9\=7:]6MW^>G&QO+RN;\;+%_/;>K;^F\_SQ<UX
MM?YP\>5B>;NHQU?;03?3BV0PR"]NQI/9V>N7V\]]6+Q^.;];32>S^L,B6M[=
MW(P7W]_6T_G75V?QV?X3_YA\N5YM/G'Q^N7M^$O]L5[]\_;#8OW1Q:-R-;FI
M9\O)?!8MZL^OSM[$O]HX'6U&;+_D7Y/ZZ[+QYVCSLWR:S__:?/#;U:NSP>9;
MJJ?UY6ICC-?_NJ_?U=/IAEI_(__>J6>/DVX&-O^\U_7VIU__-)_&R_K=?/K?
MDZO5]:NS\BRZJC^/[Z:K?\R_VGKW$PTWWN5\NMS^,_JZ^]K!671YMUS-;W:#
MU]_!S63V\._QM]U_B<: .'MB0+(;D!P[(-T-2(\=D.T&9,<.&.X&#(\=D.\&
MY,<.*'8#BF,'E+L!Y?:W^_#KV/XNJ_%J_/KE8OXU6FR^>JUM_K -Q';T^E<X
MF6W"^W&U6/_M9#UN]?K-Y;_O)LO))D?+Z#S2X\DB^M=X>E='\\_1^_7_/&^6
MRWJUC+9?MZBOHI^J>C6>3']>?_$_/U;13W_[.?I;-)E%?U[/[Y;CV=7RY<5J
M_7UM](O+W??P]N%[2)[X'JKZ\D64QK]$R2!)>X:_DX?_<;EZ$0V2)X=7\O W
MMXL745P\.5P=_\TG/</U\</CGN%&'OY^?O\B2D9/#K?R\(_U[?IGS_N&7ZR#
M])BFY#%-R=9+G_#>WBW7GUGNXO(0J^A__K[^7/3;JKY9_F]?.![(K)_<7+Q_
M7=Z.+^M79^NK\[)>W-=GK__S/^)\\%]]42&QBL04B6D2,R1F(<R+7_H8OU32
M7YOY_.KK9#KM2]G#R.%VY&9%OW\]*HLX&;R\N&_F1YP@-#\DIKH_0#D<#N/4
M_P%TSY?E@S1/_"\SY+=F(<S[G6>/O_-,_)W_7J_JV?Q^'-GY]&HR^Q*]>=OW
MZQ>1T(L,B54DIDA,DY@A,0MA7N"&CX$;\FO<D(P?B54DIDA,DY@A,0MA7OSR
MQ_CEXO7NW7AY':U?9T>7FS_4ZPC>CZ?U;-7[NON!RAN+P;#(R]:2)\X7&B<2
M4R2F2<R0F(4P+T[%8YP*,4YO+B_G=^OT1(OZLEY'Z=.T[@M2T0E26J3MUT[B
M3*%!(C%%8IK$#(E9"/."5#X&J12#]-OL?GT5FB^^]\6G[,0GRS9O.+WXB'YH
M?$A,D9@F,4-B%L*\^(P>XS,2X_-A4=^.)U=1_>VVGBWKY7:)FZ^NZT5T>;=8
MK*,5C;>5J+YXC;KQ*MH7)W'ZT'21F"(Q36*&Q"R$>>F*!Z[,.3B0K_EMO5A]
MW^9J\ZKI]F:=J=Y:Y:";IK3U+ON=/%MHG%!-H9I&-8-JEM+\3#5*Y[&8J3_6
MB1JO-C6':3U>UM%BTR?9U,WOUA]LKU:]^8H[^<KC83M?XLS!^2(UA6H:U0RJ
M64KS\^6*Z;%8+'65ALOYS:?);+RI-/P236:K\>S+9/U"75@193FTX+#3FD7%
M85D.6DMLA4ZJ4$VCFD$U2VE^S%S1//[QJOEN:/-B%<?#HFC7$.0I@J]7:.$<
MU32J&52SE.8'R57B8[D4_UA+N!U_?ZJ0L".:@3J/LS1IYPDML:.:0C6-:@;5
M+*7Y>7*%]E@LI&[RM+BKKZ+I9/QI,IVL)G7_6C?L1BH9I5D[4FC9'-44JFE4
M,ZAF*<V/E"N>QW+UO/V2?1^MWJI5W"V?GR=%YZ4Z6C]'-85J&M4,JEE*\W/E
MJNBQ7$9_,E>_1-/Y[,OYJE[<]$:L6U@_3X:=B*&5=513J*91S:":I30_8JZ^
M'LL%]JK^7"\V=^"MQM^.SU>W\GX>)UG9KKW+<P<G#*V^HYI&-8-JEM+\A+D2
M?"S7X+<W?][O;_Z<U?N2>S3>W?S9F[!N\3TNDKQ=''@GSQV<,+0"CVH:U0RJ
M64KS[PYU5?A$KL+WW*P5_5_T;GN;<[V(%O5T6^1:7D]N>U_JRWSPO:)H$1_5
M%*II5#.H9BG-CZ0KXB<Q?SM70I:9WZ%:A6H*U32J&52SE.;GT!7[DY,5^W>R
MMP0G^7#46H'E;R X9NS-\>S=\>SM\>S]\:<H]B>NV)_(Q?[^%;BJ[^OI_';S
MYJ*^O)[-I_,OO141&0^^[J%- U13J*91S:":I30_D*YID&0G6'_),O<[5*M0
M3:&:1C6#:I;2_!RZ9D,B-QN>L_YV&Q!9EA9%>_U%&Q"HIE!-HYI!-4MI?LQ<
M R*1&Q#]Z^^?B_%5?3->_+6]/6VU^6@VONEMH,I^\*4/;5Z@FD(UC6H&U2RE
M^9ETS8ND.,$23-;6WZ%:A6H*U32J&52SE.;GT'4X$KG#\9PEN-OG&*6=-\!H
MDP/5%*II5#.H9BG-#YEK<B1RDZ-_ 7X_GYVO4W>[_LMH_&51US=/;:F3^>#K
M'MH5036%:AK5#*I92O,/+7!=D73 K[\IV@I!M0K5%*II5#.H9BG-SZ%KA:3R
M?H9GK+]I=U-#4;;? ,O3!X<,[7.@FD8U@VJ6TOR0N3Y'*O<Y]+3^]G8R7WY?
M_A+]-KM\T9LF=/<"JE6HIE!-HYI!-4MI?NP:)P.E)UACT78'JE6HIE!-HYI!
M-4MI?@Y=NR,5R]AAQW?L+*^Q.QAUCJQ"VQ>HIE!-HYI!-4MI?JY<^R(]N%?B
MF',\TFZK(B_;FYOEJ8(#A38J4$VCFD$U2VE^H%RC(I4;%>)Y'FEW9T2>=U[N
MH[T%5%.HIE'-H)JE-#]&KK>0RALC/CSG7(^TY]BA]MX(>?[@E*&= U33J&90
MS5*:GS+7.4CESL'QIWNDW49!G PZFP7E^8)3A;8*4$VCFD$U2VE^JERK()5;
M!3]VOD?:W1"1#M/.XH@6_E%-H9I&-8-JEM+\DVM=X3^3MT/\L5T'GU[_LNY1
M1''[W9\\16B04$VAFD8U@VJ6TOP@N<I]=K+*O2R'UKA0K=II0V^Q[FPM4^BD
M&M4,JEE*\V/F:O>97+N73HK)>C8A9&GGD$=YAN" H,5X5-.H9E#-4IJ?(U>,
MS^1-",<<%)-U3QXZC].\'2>TIHYJ"M4TJAE4LY3FQZGQ! "YIG[D.3%9MYI^
MGL;M=W[R7,&)0JOIJ*91S:":I30_4:Z:GLG5]*!C8K*>\X<Z]Q[*$P;'"JVI
MHYI&-8-JEM+\6+F:>O:#IP\=.,4CZSF(*,U&[4/XY-F#,X86W%%-HYI!-4MI
M?L9<P3V3"^X_=(A'UBVT9_&@<\"_/'5PP-!:.ZII5#.H9BG-#YBKM6=RK;U]
M U?0 1ZR'5QM0*OTJ*903:.:035+:7X>794^&_%W=F7H7?RH5J&:0C6-:@;5
M+*7Y3P5SQ?RA7,Q_1@UVV*WS)\/.ZBO/'YHR5%.HIE'-H)JE-#]EKM(_E"O]
M/:OOL8=WR'+H-0_5*E13J*91S:":I30_C:XA,#S!\WZ'Z-W]J%:AFD(UC6H&
MU2RE^3ET#86AW%!XSMK;[3.,RKRS]J)]!E13J*91S:":I30_9:[/,)3[##UK
M;\#!'3(>?-E#VQ2HIE!-HYI!-4MI?B ;3R(^Q:.(V6<1LP\C9I]&S#Z.F'T>
M,?M XE/T-8:NKS&4^QK/67Z[K8WN&U^TKX%J"M4TJAE4LY3F9\SU-88'^AK=
MQ??X0SMD._B:A[9!4$VAFD8U@VJ6TOP\NC;(L#S!VHNV/U"M0C6%:AK5#*I9
M2O-SZ-H?0WF3PG/6W@>Y>7MMDG067[2W@6H*U32J&52SE.:%+'>]C?Q ;V,R
MWZR_T9OUF]SW?_[>O.;U!4O60B]SJ%:AFD(UC6H&U2RE^0ET?8_\!(]IR-&.
M!ZI5J*903:.:035+:7X.7<<CE[= !)W?(5O!^4,[':BF\N[NCZ0L6J\E-#JG
M035+:7ZN7 <C/W)+A'Q^AZP$)PKM:J":RGN>/)T-RG:BT&X%JEE*\Q/ENA6Y
MW*T0#_"0QP;G"&U&H)K::=[)A%G<CA':8T U2VE^C%R/(9>W0GQXS@$>LAT<
M,[37@&HJ[VX"B9.\'3.TA8!JEM+\F+D60BZW$(X_P4.&@C.%]A903>4]O9&L
M'2FT8X!JEM+\2+F.01[V3.;CCN^0T>!XH:T"5%-Y=]-'W#D)1Z-S&E2SE.8'
MS+4 \I,]KT"6@U.&-@)03:&:1C6ST[SS)8JD?;Z$I2;U8^8J_+E<X9=.79"'
M!N<(K?6CFLJ[QRJ-RN[5"JWAHYJE-"]&A:OA%W(-_^_S]4JXV6$:736?)/_D
M0BASH=%"M0K55-'=?E&VWR&B,QI4LY3F!\N5Y@MY2\(QIWG(1'"8T$H\JJFB
M^R2$\R1I7Z?0.0VJ64KSX^0J[(5<83_R- ]9"4X46EM'-55T:^OGV;!=6T?G
M-*AF*<U/E*NM%W)M/>@T#]D*SA5:84<U5?2=L-39]*_120VJ64KS@^5*[(5<
M8O_1\SQD-CAC:/4=U531K;Z?I^V H<5W5+.4Y@?,%=\+N?C^0X=YR&9PNM"B
M.ZJIHEMT3^-AT7GMCI;=4<U2FA\P5W8O#MRY__2-74'G>LC3!&<.+<JCFD(U
MC6H&U2RE^=%TY?OB!$\E+M#J/:I5J*903:.:035+:7X.796_.%F57Y:#TXA6
M^5%-%3V/54B3K/-> BW?HYJE-#]FKLI?'+B/7UR)CSWC0YXD.'%H/P#5%*II
M5#.H9BG-"V;I^@;E"9Y.7*+- U2K4$VAFD8U@VJ6TOP<NC9#>;)G',AR<!K1
M[@.JJ;+;?4B'G648G=.@FJ4T/V6N^U#*W0=Y&0XX[D.>)SAS:'\"U12J:50S
MJ&8IS<^FZV.4)WB&<8GV,U"M0C6%:AK5#*I92O-SZ-H>I=SV>,Y*C'8^4*U"
M-55V.Q]I^^%=&IW2H)JE-#]DKO51RJT/>2$^_N@/>9K@Q*'=$%13J*91S:":
MI30_FJYI4N8G6(?1#@FJ5:BF4$VCFD$U2VE^#EV'I)0W.#QG'4;[)*A6H9HJ
MN[L<VJ=[:G1&@VJ6TOR,N>Y'*7<_WMRO+V]7]<.96[U)0GL<J%:AFD(UC6H&
MU2RE^9ESK9#R!$]T*-'.!ZI5J*903:.:035+:5X.1Z[S,9)W3 2=]2%;H?E#
MM0K5U*B[76)8)*TE%9W2H)JE-#]6KI$Q.G*_A'S4AZP$!PIM6J":&G6;%DG2
M/ND#G=*@FJ4T/U"N9S&2>Q;B21_RV. 8H7T(5%.C[CZ)-.U<E]#V JI92O-C
MY-H+(WF;Q(?GG/0AV\$Q0]L,J*9&/0<3M9\BK-$I#:I92O-CYKH'([E[</Q)
M'S(4G"FT68!J:M1M%L1EWKEVH=T"5+.4YH?*=0M&80]L/NZL#QD-#AC:&T U
M->K9*9%GG==8:,T?U2RE^0%S-?_1R1YQ(,O!*4,K_ZBF4$VCFD$UN].:)X=D
M>=$X.<2/F2OIC^22OG36ASPT.$=HS1[5U*CG9*)1D17M\]3060VJ64KS@^3J
M]B.Y;A]ZVH?,!8<++>.CFAKU;%48)L-VM-#R/*I92O.CY<KS(WFGPC'G?<A$
M<)S0:CRJJ5'W7*+S).[$":VRHYJE-"].\<"5V3=_/A"H8T[\.,"$AHKE*I93
M>ZZ5J[*]>9Z=UK"<Q;A6MN)&MN1B>]#9'P>P\(2A17>64WO.2U@^:K\G9&<U
M+&<QKA6PI!$PN?C^HV> ''##LX96YEE.[3G_:C;J'&+$3FM8SF)<*VQI(VP'
M3C+:5N,?<W5XQ42K\BQ7L9S:<U[&AMW+&5J99SF+<:V$98V$R=7Y'SIQY@ :
MGC.T5,]R:L]Y[>HL3P?=EV9HO9[E+,:UHC9L1$VNV7NW%@:=-G- #L\;6KEG
M.<5RFN4,RUF,:Z4R;Z3R!#?W[U$LD&B1G^44RVF6,RQG,:X5R*(1R)/=Y7^
M#H\EVC-@.;7G_'5Y6';?8Z!= Y:S&-?*6]G(6\ =_P%'SQQPP\.&]A!83K&<
M9CG#<A;C6ID<-3)Y@AT!>Q0+)-J%8#G%<IKE#,M9C/,#&3=:%O&!!R(_8U&6
MZ>!8HES%<FK/>8OR(.\6_M!I#<M9C&OEK='&B _L&6@MR@$'T1R@P_/&-C50
M3K&<9CG#<A;C6K%L-#_BY 3K<LQV/E"N8CG%<IKE#,M9C&L%LM$@B>4&R;/6
M9;99@G(5RZD]YS^OM',^#3NK83F+<:VX-;HEL=PM:2_+QQ]+<T .3QO;,D$Y
MQ7*:Y0S+68QKI;+16(F'IUB5V9X*RE4LIUA.LYQA.8MQK4 V>BKQR39/'*##
M8\EV5E!.[3GOW7+/HLPV3%#.8EPK;8V&22PW3#[,I]]OZIOHXXLWO2?6'!@?
M'BFV*X)RBN4TRQF6LQC7REZC>1*7IUAZV<X)RE4LIUA.LYQA.8MQK4 V.B>Q
MO%DCZ R; UAX$-F."<JI/>>?E=ZYB0N=U+"<Q3@_7TFC$9+(C9#W]2KZ.E_\
MM;D!^G)\.UF-I]%/];?+Z=W5PZ=V\9OLSRB)EJOZ]OSN]N?> ,JS!0<0Y2J6
M4WNN&<"L<Y($.ZEA.8MQK0 V.B.)W!D1#[\Y,#@\3VSO ^74GO,.YLHZ%S1T
M4L-R%N-:>6JT-!)Y/\?QQY,<D,+#Q?8Q4$[M.?\\\ZR]SY&=U;"<Q;A6NAK]
MB23L4=3'G5-R0 U/&MN:0#FUY[S61)9TUT6V-8%R%N-:26NT)A*Y-?&P54@H
MK,GCPS/%-B!03NTY_Z56)U%L6P'E+,:U$M5H*R0'GLCPC"JN3(>'C6TNH)S:
M<\VPC>)!IXR+SFI8SF)<*VZ-ID$B-PVDHW .C W/$]L50#FUY_Q"1=Z]L1V=
MUK"<Q;A6H!I]@43N"X0=!2!CX0ECFP0HI_:<MW5V?07HOG=DJ_\H9S&NE;!&
M]3^1MTY4S:.6CCX(0$;#D\96_U%.[3G_(( T*3I)8\OZ*&<QKI6T1ED_D<OZ
MH0<!R%QXQMC"/LJI/>=?S7H*86QE'^4LQOD12QN5_52N[/_820 R&APTE*M8
M3NTY[UUE/BHZ24.G-2QG,:Z5M$8)/Y5+^,T;-D(V',IL>-;8XC[**9;3+&=8
MSF)<*Y*-+D!ZBHT-*=L00+F*Y13+:98S+&<QKA7(1N,@/=W&!ID.CR7;/4 Y
MM>>::W*9%)WN 3JK83F+<:VX-;H'J=P]:"W)(=L-93D\;6Q? >44RVF6,RQG
M,:Z5RD8'(CW%QH:4[3V@7,5RBN4TRQF6LQC7"F2C1Y&>;F.#3(?'DFUAH)S:
M<]ZM2=V-#>BDAN4LQK72UFA@I,=O; C;;"C#X5ECFQDHIUA.LYQA.8MQK5 V
M>A[I*78\I&S/ ^4JEE,LIUG.L)S%N%8@&ZV15&Z-/&M-9MLD*%>QG-ISS6<8
MI7'[F7/LI(;E+,8]I.UB>5W7JVJ\&K]^>3O^4O\^7GR9S);1M/Z\Y@<OBO5_
MJ^T=F_L/5O/;=3C/HD_SU6I^L_WC=;U^<[S8?,'Z[S_/YZO]!Q=K?[-38CO'
MZ_\'4$L#!!0    ( +Q@<EFB'TA!FP<  -E!   9    >&PO=V]R:W-H965T
M<R]S:&5E=#8T+GAM;+6<[V^;.!C'_Q4K-YTV:=?$-CAIKXV4MC=MTG6JUFY[
M<;H7-'$;-, 9D'25[H\_0](X!'B, ;]I\X/GQ]=^2#[V$SA_%O&/9,EYBGZ%
M091<#)9INCH;#I/YDH=><B)6/)+O/(HX]%+Y-'X:)JN8>XO<* R&9#1BP]#S
MH\'T/'_M-IZ>BW4:^!&_C5&R#D,O?KGD@7B^&.#!ZPM?_*=EFKTPG)ZOO"=^
MQ].OJ]M8/AONO2S\D$>)+R(4\\>+P0R?7;'3S" _XIO/GY.#QRB3\B#$C^S)
MI\7%8)1EQ ,^3S,7GORWX5<\"#)/,H^?.Z>#?<S,\/#QJ_</N7@IYL%+^)4(
MOON+='DQF S0@C]ZZR#](IX_\IT@-_,W%T&2_T7/NV-' S1?)ZD(=\8R@]"/
MMO^]7[N!.## K,: [ S(L8%38T!W!C07NLTLEW7MI=[T/!;/*,Z.EMZR!_G8
MY-92C1]ETWB7QO)=7]JET]G\Y]I/_&Q($_0'^BM)?3DV?(&^)OQQ':"__4>.
MO&B!/GA^C+YYP9JCM]<\]?S@G3S^Z]TU>OOF'7J#_ C=+\4ZD<<FY\-4II8%
M&,YW:5QNTR U:6"";D24+A/T5[3@BZ*#H=2T%T9>A5T2T.,UGY\@BM\C,B*T
M(J&KYN8$2(?NQYGF_IP:?S<\Y9'8>.BC"!9^](1FEU6C!#K)3NFS9.7-^<5
MGK,)CS=\,/W]-\Q&?U8I[,E90:^SU^N >E6Y5,G<VKJY;?9!LYFZDS&3X[PY
MS!^,T#)_=Y^_"^<?\%^7ODA>DO?H4S0_J5(!>C"=K)Z<%<2RO5C68;)8:;(P
M8<[H:++ ""WS'^_S'X/YRXG*Y@O-Y.?4Y_L;=/"A5B4(=&8Z;STY*^B>['5/
M.LP;:&LJ<U(N@C%V51$4\C_=YW\*YC_;R#E:\/HS##0WE="3LX)2/%+?LZ,.
M<P4;FRK=>6,'L^4P5C=;^( 5,*CA5@0O(0_1W<FL<KI@<V,5/7DKBB5*+.DR
M8:"QL512.KU.1Z>L9KX4<V 8.JYR?N0Q^L(#+T>\I;]*T#\W/'S@\;_H/]00
M2^ XQFIM@ E69()A-/F>H[U$W-F&QW*I4D#=MY)C7[@7)^\JQP'VC-VM;:5H
M&S2#%<Y@#<_ U>Q6?<>[IT??\7",MAH4I6 84_3EW(3:X"#&M6R#>[ "'PR3
M3Y=:ACW+%5E]+=N 'JRH!W?!'EQ&%>+28UR%0[25H, 'P^2C+V5#IH7C&5>U
M#58BBI4(S$H=JAKV;#H.FCSQJ.H<*8I6<$5@N(*K&C8VUH7+G_>4.#6 2!0S
M$9B9]&6M17XX@K'0GKP5QT,!&($!K$LA]XI<FCPQU1>RXBO29>L'-C;65=Y)
M(HX[J2MDA4L$QJ5KON&!6,F9N^?S920"\?2"\CWN-O@,!S/6;(/"B*(P E-8
MEYJ&/4/X#)NV%:TXB\ TI*GI<:D*'8>.QT?, <=HJT%A$X&QJ6%--V%H.))Q
M0=M@,:)8C, LUJ6@8<^8 05M [&H0BS:93MJ9US8CYBP8X:&0[25H(")PL#4
ML)X-01H.:MR"L;&'116/49C'.I0V[-EX'. \,=;R!SWHM,$PHRGM?EMLM'2B
M4+>.HZE"* HC5,/2UL(T',98K(TM+*J8C,),UJ68>P4P39[5&%,4K6B+=FG-
MP<;&NLJ=/C*J;1M0!4\4AJ>&U:SK+L!1C,7:@#&J8(S",-:EF'N%+TV>#5:&
M5)$6A7E(4\R];F'MO!T6\X2,G>I:=A0W.3 WW<?>@H=>_"/_44R:/8N\D+=8
M%,*!3.7VY:TX+(K%')C%.I2SQC.T*(1-VXI6=.5TZ1 Z%3T]>MQ1@2.T5:!0
MR8%1J4$U-UD.PE&,2]G*[Y8.?KADK3VH\>P E6P#K1R%5DZ7[J!3[@Z6^BEP
M@+8"%"8Y,"8U*&3#=2 <T+BF;6Q?.8K '&MM0MBS\3AHFHYZ='848CE=VH2P
ML;&N<M.1XAIP=A0O.3 O-:AJ[1(0#F&LT\:NE:OHR[76&(0]&_]:4],8G&CK
MV%5LY79I#,+&QKHJ&H.DKI!=14HN3$H-"EFW^H,C&.NTP5VNXB[76E\0]FP\
M#IJ^8"6R%$4KL'*[] 5A8V-=Y;Z@6UO&![\)AS'ILXCF(ES)]1V:/<6<ASQJ
MU0^$PQAKM8%>KD(OUUH_4.,9^ 42;-E6L^(IMTL[T"VW \>3XV8@'*&M @5'
M+@Q'VE)N= %$KPS5E[?BB"C8<JVU 36>@1T,V++M91^*IUB7+B K=P$)*5WW
M86/CB2DX8C <:>O8<-D'AS,MZ;Z\%0='81>SUOZ#/1N/ YRG?H^9*;1B7;I_
ML+&QK'+WC]5 !E.8Q&!,TE:T=LD'!S 6:6-KBBGF8M:Z?K!GXW& \VQ0PP>7
MXW6Z'J_7G2E6T?2K(V6F (G!@*0M8MUR#_9O+-(&;#$%6\Q:LP_V;#P.<)[Z
MW3>F<(IUZ?7!QL:RRKT^BLE1#0\/+I(/>?R4WSL@07.QCM+M9>7[5_?W)YCE
M5^4?O7Z)SZZV=QE0;K8W/;CQXB<_2E# 'Z7+T<E89A1O[R.P?9**57XI_H-(
M4Q'F#Y?<6_ X.T"^_RA$^OHD"["_F\/T?U!+ P04    " "\8')9N*YX<EL"
M  !2!0  &0   'AL+W=O<FMS:&5E=',O<VAE970V-2YX;6R-5&UOTS 0_BNG
M,*%-@J5-7X9&&FE=04QBJ-H8?$!\\))K8^;8P;ZTV[_G[+2A:%W%E\1WOGN>
MY\X^IVMC'UR)2/!8*>TF44E4G\>QRTNLA#LU-6K>61A;"6+3+F-76Q1%2*I4
MG/1ZX[@24D=9&GQSFZ6F(24USBVXIJJ$?9JB,NM)U(^VCANY+,D[XBRMQ1)O
MD>[JN64K[E *6:%VTFBPN)A$%_WSZ<C'AX!O$M=N9PV^DGMC'KQQ54RBGA>$
M"G/R"()_*[Q$I3P0R_B]P8PZ2I^XN]ZB?PRU<RWWPN&E4=]E0>4D>A=!@0O1
M*+HQZT^XJ2<(S(URX0OK-G;,P7GCR%2;9%902=W^Q>.F#SL)2?)"0K))2(+N
MEBBHG D266K-&JR/9C2_"*6&;!8GM3^46[*\*SF/LAMT9)N<&BOU$N9*:'@+
M%T4A?<^$@BO='KSOX/$,24AU D<@-7PM3>.$+EP:$POQ<'&^(9VVI,D+I/T$
MKHVFTL$'76#Q+T#,%71E)-LRILE!Q!GFIS#HOX&DEPS@[G8&QT<G!W '77L&
M 7?P7^VY-(Z 2P9VHUTA_/C,\7!%6+F?^]K0@@_W@_MY.W>UR'$2\4 %Q"A[
M_:H_[KT_('W821\>0M\C?>])M2"C .(G>)4-$I[H-%[MX1YUW*.#W%_XMN3"
ME7Q/5JC)V"<0Q2^^S3S.M$_%Z)F*Y&S\3$6\<\\KM,LPS0YRTVAJKWSG[1Z,
MBW9._H:WK\VUL$NI'2A<<&KO](RY;3O!K4&F#E-S;XAG,"Q+?O30^@#>7QA#
M6\,3=,]H]@=02P,$%     @ O&!R69#YQT'$!0  IRH  !D   !X;"]W;W)K
M<VAE971S+W-H965T-C8N>&ULM9IM;]LV$(#_"N$510NTL<07V4D= TG3H@%6
M+$C:[<.P#XS$V%HET:-H)P'VXT?)BLZ9)496Q2^)WGAWO#OJ.9TYNY?J1[X4
M0J.'-,GRT]%2Z]7)>)R'2Y'R_$BN1&;NW$F5<FU.U6*<KY3@43DH3<;8\X)Q
MRN-L-)^5UZ[4?";7.HDS<:50ODY3KA[/12+O3T?^Z.G"=;Q8ZN+">#Y;\86X
M$?K[ZDJ9LW$M)8I3D>6QS) 2=Z>C,__D/"@'E$_\'HO[?.<8%5.YE?)'<7(9
MG8Z\PB*1B% 7(KCYMQ$?19(4DHP=_U1"1[7.8N#N\9/TS^7DS61N>2X^RN2/
M.-++T]%TA")QQ]>)OI;W7T0U(5;("V62EW_1??6L-T+A.M<RK08;"](XV_[G
M#Y4C=@9@W#( 5P-P:?=646GE!==\/E/R'JGB:2.M."BG6HXVQL59$94;K<S=
MV(S3\VN1:[4.]5K%V0)=)3Q#[]'--D1(WJ'G]\\*'\8Z%CFZ?43?'E>B>.:C
MS#5Z<R$TCY.WZ!6*,_1M*=<YSZ)\-M;&RD+7.*PL.M]:A%LL\C'Z*C.]S-&G
M+!+1<P%C,[UZCOAICN?8*O%"A$>(^.\0]C!!WV\NT)M7;RUR2>T[4LHEG7Q7
M>L%,N7"94!N!_OS5/(\NM4CSOYK<L!5.FX47J_$D7_%0G([,<BLECN:O?_$#
M[X/%=%J;3FW2&TQOC-16""N%%.M[,R?8K/?9>-.@F]6ZF57WC=@(Q;-0H-<\
M77U (ETE\E&(]THD7(L(A6WF6.7V]%A06QVX#';@P/1);?IDB&!OA02[P9Y@
MUASK::UZ:E5]F6U$IJ5YE_#H;_,V,^_S9N56,3W]<UP;>>PRM,<.3/<]>'][
M0P2WDK(;74S8=-H<7G\''[Y5_5D8&L*J<MU&PLPPC'F!VT8;K*+Z>@J#J=AE
MF"OI UL/K/&M/.@<9[*_BJ=^T!)FP(5OY\5G'L9)K!]+C_VFET*A3P^QMMAA
ME=?76X 8GSF-M0O2^( :WXJ#SK$.]F+M>Q._)=9 "]^.B]);IJQ;*1D9(TSM
M;=[A:]%H@5527S\!7/RITRB[@(X/U/&M9.@<Y>/]%>V1:<N2Q@ .; ='2YC1
MOZA_@697V=.C&&"$?9?Y@%WP"0.?L)4@7?.ADO*,Y-YDTI(.P!=LYTM[.G2N
MX>P:^OH/&(6IT^B[(!8&8F'[5U'7Z+-#ZC@,R,%VY+2'_Y *SZZDKP^!7'CB
M- -<T P#S;#]6ZEK!DP;OM-:$P!HA.TT:D^ @VL_NZ:>?B0 -N(Y;<NX8!@!
MAA'[!U7'+*BD[&;!,2'-24  0>1%! FNPF7IL,AD0")7Q>N^T0(7WT-DI_?F
MMOGF@E4$6$4&Z;]54IY5^&T?<P100UY$36.4?ZKTL^OLZU#@%W':GB,NP$4
M7&20#AW9;]&UIP-PA[S(G;9TZ%SZV57T]1_ BSCMX!$7P*( +#I("X_NM_!:
M.O$4:$-?I$U;[ ^I^^Q:^CH0L$6==O:H"Y)1(!D=I+-']SM[;>'?^17H10RU
MA?_@JL^NJJ\7 6K4:<>/NL 7!7S103I^=+_CUY8#P!YJ9\^-2,REQ3NT$)E9
M[DGI-AZE<18;FWCQHWFC*2X^EBA BSIM_5$7O*+ *SI(ZX_NM_[\X+CE4X\!
M;YB=-QTB_E.EH%U]3^<R8!ISV@5D+EC&@&5LD"X@V^\"^HS@EM0 %C$[B[JE
M1N>RT*ZMKR\!;\QI1Y"Y(!K;V28Q2$>0[7<$VS9H (Z8'4?=TN"0"M&NL*\O
M 7+,:6>0N8 = ]BQ03J#;+\SB-M@ :AB=E1U2X6#JT6[UKY[>0"!@=,>8>""
M< $0+ABD1UA)V=V^Y9/_)\1X9^]@*M2BW"&9&[BO,[W=1EA?K7=AGFWW'L+C
MVRV<7[E:Q%F.$G%GAGI'$Z-9;7=%;D^T7)4[$6^EUC(M#Y>"1T(5#YC[=U+J
MIY-"0;TW=?X?4$L#!!0    ( +Q@<EE-9#KX-00   $4   9    >&PO=V]R
M:W-H965T<R]S:&5E=#8W+GAM;+5876_;-A3]*X16%"TP1R)ERTYJ&W"2%0W0
M%D:\;@_#'ACIVN(JB1Y)V\F_'_41T:DDQO;JEUB4>,\]).\Y9#C><?%=Q@ *
M/:9))B=.K-3ZRG5E&$-*Y05?0Z:_++E(J=)-L7+E6@"-BJ T<8GG!6Y*6>9,
MQ\6[N9B.^48E+(.Y0'*3IE0\74/"=Q,'.\\O[MDJ5OD+=SI>TQ4L0'U;SX5N
MN35*Q%+().,9$K"<.#-\=>T7 46//QCLY-XSRH?RP/GWO'$731PO9P0)A"J'
MH/IG"S>0)#F2YO%O!>K4.?/ _>=G](_%X/5@'JB$&Y[\R2(53YR1@R)8TDVB
M[OGN$U0#&N1X(4]D\1?MJKZ>@\*-5#RM@C6#E&7E+WVL)F(O@)". %(%D()W
MF:A@>4L5G8X%WR&1]]9H^4,QU"):DV-9OBH+)?17IN/4]!ZD$IM0;03+5FB>
MT SUT*)<(L27:);/&E-/Z!X2JB!"BJ.6F'>WH"A+WJ,WB&7H]YAO),TB.7:5
MYIAG<L.*SW7)AW3PP01]X9F*)?HMBR!Z">#JP=4C),\CO"96Q%L(+Y"/?T7$
M(S[ZMKA%[]Z\M^#Z]<SY!:Y_T,S=<*F0'G(^.2"V@/[ZK/NC.P6I_+MM&DKP
M?CMXKL4KN:8A3!PMM@+1F;[]!0?>!POU?DV];T-OH=ZZ4B7(H #)U;V=^D2K
M?>QN6W(/ZMP#:^Y9RC>9DFA.6=26M(P.]I+V^M@;M"<-ZJ2!->E7GO5NJ(Q_
M*-UB==I(!$T29!CXN)W%L&8Q/&+:/S/ZP!(MK38"PP:!?M!OSSZJLX^LV1>P
M!4&S$-!;FJX_($C7"7\"Z(E*V6%7'5AQ3RS5RYKUY3E5=GD&ZM@SWNK]#)U5
M*/NK[0])1\GC/6?'_TMI5?B+*O>]?D>986+RDI\JM@KNI=KPL(.&L6=LM=!C
MU%8A'20W;$P6VUWV+MM"IKC>1VGTC][)]5FF8_VM.*=6J3%D/#BGQ+#5[T]E
M;YP=VZW]4(TU+9WX@]&H8Y&-I6.[I[\JLJ:3=VR@V!@YMCOYT0(;M0C,,GCC
MS=CJGT=)[/+0>2#&7HG=7F=AJ$_WHMB\(M#5%3*:'_7;\MNA3JQ28KR8X'-J
MC%B=_E3VQM&)W=$/U!AI&KD_PD'',ALC)W8C?TUBI.G>7:5EO)O8O?M8B55P
M+_?2[K$;;R;VT_(1"B/-DW/7-!AS)79S_4C#(A^"1U96+%<QB++9>5ZT@YY:
MK<:2R?"L6K,:_JGLC;D3N[D?JK6FIV-OV/$/"C&.3NR._JK6FC;>PU[0D=<W
M5N[;K?Q8O?G-([/FT<'"N+1O/S$?H;8*:6!1F[MW*Y."6!5W3U++1L]P>4%3
MOZWOMV;EK8[I7EZ.?:%BQ3*)$ECJ4.]BJ/.*\KZI;"B^+NYX'KA2/"T>8Z 1
MB+R#_K[D7#TW\@3UK=_T/U!+ P04    " "\8')9O.F:MPD#  #H"   &0
M 'AL+W=O<FMS:&5E=',O<VAE970V."YX;6RM5FUOFS 0_BL6JZ96V@J!0&B7
M(.6ETRJM6M6NVX=I'QRX)%;!9K;S4FD_?F>3L#2E:*WV!?QR]_AYSG<<_;60
M]VH!H,FFR+D:. NMRW/75>D""JI.10D<=V9"%E3C5,Y=54J@F74J<M?WO,@M
M*.-.TK=KUS+IBZ7.&8=K2=2R**A\&$$NU@.GX^P6;MA\H<V"F_1+.H=;T'?E
MM<296Z-DK "NF.!$PFS@##OGX]C86X-O#-9J;TR,DJD0]V9RF0T<SQ""'%)M
M$"B^5C"&/#= 2./7%M.ICS2.^^,=^D>K';5,J8*QR+^S3"\&3NR0#&9TF>L;
ML?X$6SVAP4M%KNR3K"O;*')(NE1:%%MG9% P7KWI9AN'/0?_.0=_Z^ ?.OC/
M. 1;A\ *K9A961.J:=*78DVDL48T,["QL=ZHAG%SB[=:XBY#/YU\!HR!(N_)
M,,N8"2S-R26OLL.$^7@"FK+\A!P1QLG7A5@JRC/5=S4>;B#<='O0J#K(?^:@
MCD^N!-<+12YX!MEC !=9U]3]'?61WXHX@?24!)UWQ/?\@-S=3LCQT0F9Z;=O
M.KWX0P/#\;_C^3N\%IY!'>+ X@;M(?XQG"HM,6U_-@6O@N@V0YA2/E<E36'@
M8*TJD"MP$M09>8TZ_Q/8([7=6FVW#3WY4H+$U.%SDAO=1)HZ(F)&ECBA2H%N
M3)X*-+2@YLNS2CJ=,.R$?7>UKZS!S _Q^FNS1YS#FG/X(LXYHU.68SE (]<*
M+-HG$9YY0>^ :X-9$ >>U\PUJKE&K^5*8)/FR\SLI5AJ$C\F7&@S7L$#9)5#
MHZ+H:5@#W_?.#A0UF<5!-VI6U*L5]5H576Q*6G4%S!+8,&7586H6S-3-[[:2
M'O6>!+F+E((#XJT$7ED0<2TO;I5WR5-I;RJ#[0 _I.+@%FUA-.F+GX2\Z^VE
M4"6OE<!+Y;E[S:0 .;<]5F$6+;FN^DJ]6K?QH>U>[E_SZA_@BLHYXPHUSM#5
M.^VA#EGUU6JB16E;TU1H;'1VN,!?$9#& /=G0NC=Q!Q0_]PD?P!02P,$%
M  @ O&!R62OB?LL+!   50X  !D   !X;"]W;W)K<VAE971S+W-H965T-CDN
M>&ULK5?;CMLV$/T50ET4"9!8=]G:V@*R:Q0ML$$7V:1]"/I RR.;B$0Z)&5G
M_[Y#2BO?M')@],46R3DSYXPHSG"Z$_*;6@-H\J,JN9HY:ZTWMZZK\C545(W$
M!CBN%$)65.-0KERUD4"7%E25;N!YB5M1QIUL:N<>9385M2X9AT=)5%U55#[?
M02EV,\=W7B8^L=5:FPDWFV[H"IY ?]D\2ARYG9<EJX K)CB14,R<#_[MW(\,
MP%K\S6"G#IZ)D;(0XIL9_+F<.9YA!"7DVKB@^+>%>RA+XPEY?&^=.EU, SQ\
M?O'^NQ6/8A94P;TH_V%+O9XY$X<LH:!UJ3^)W1_0"HJ-OUR4ROZ276OK.22O
ME195"T8&%>/-/_W1)N( X(>O ((6$)P"HE< 80L(?Q80M0";:K>18O,PIYIF
M4REV1!IK]&8>;#(M&N4S;M[[DY:XRA"GLP? I"GRGCPU+YZ(@GRDNI9,,YS'
MT5\;D%0SOB+6ECPPNF!EL_QF#IJR\BWBOSS-R9N;M^2&,$X^KT6M*%^JJ:N1
MI GEYBVA^X90\ JA.>0C$OKO2. %80]\_O/PX!CN8FJZ_ 1=?@+K+QS.S]</
M"Z4E;M)_^Q0U+J)^%^;+O54;FL/,P4]3@=R"D_WZBY]XO_7I^Y^<':D-.[7A
MD/<,DQ;U"6Q0L469DV2;!4$\B:?N]I#YH.\KF4<=\^@2\[B/>8-*#IG'273*
M?-#WE<SCCGE\B7G2QSSN81YYR0GS0=]7,D\ZYLDEYN,^YLDY\S"-HA/F@[ZO
M9#[NF(\O,9_T,1^?,X_"27#"?-#WE<PG'?/))>8IP9.5Z#5@G2\TR#XADS,A
MXS0*3[?]8*@KA:2=D'10R&>A:4F*&DL-F,+&JKHBI:TP&_J,G87N*QYWPTZ_
M^KWG<WK^6CT_3,<GZ1CT?64Z?&]?B+U![@^@5)L QG/4C_U0?_WTSN2\3\?)
MZ<L=#G>MG(.^PK\LAU:BYMIT$4=O%AM&&Y/;MH)QW,2@=*]6_UQK&,3IF=A!
M,M>*W3<)_F!5SO8]4J.SW/=(O:J"LWKJQZD7GF[(/KMP$GI>9W?,UY3YXYE]
M^?2'ZR=^.=BUP? ':39F62^!B$7)5M0T[HK@W:,Q4X0+39[QKI*+"NUS6)HW
M?T."9#1!CV5I&GUC7E%>%]A,89?)5^_0J& YV%-M1R68WA&)T+S-X,@0,TEM
M@JSI%@CNF,IVIPO0.P!.8@OW/8Q/I;*#%Q9D:>.8$Y,43"I-OM=4H@>#-QW/
MJ&\/N <]=05R9>\F"IWBAFX:JFZVN__<V6O"V7QX>^^'O2L1KC1]_#Y$<^'Z
M2.6*<7,@%!C.&XUQ$\CF#M,,M-C8KGXA--X1[.,:[WT@C0&N%T+HEX$)T-TD
ML_\ 4$L#!!0    ( +Q@<EGMG4=HE (  #4(   9    >&PO=V]R:W-H965T
M<R]S:&5E=#<P+GAM;+66;6_:,!#'O\HIJZ96VD@(A=(N1&J+IE4J6E74[46U
M%R8YP*H=9[:!]MOO[*01FR#3JO&&^.'N[]_Y<CF2C=)/9HEHX5F*PHR"I;7E
M11B:;(F2F8XJL:"=N=*269KJ16A*C2SW3E*$<10-0LEX$:2)7[O3::)65O "
M[S28E91,OURA4)M1T U>%^[Y8FG=0I@F)5O@%.U#>:=I%C8J.9=8&*X*T#@?
M!9?=BZMS9^\-OG'<F*TQN$AF2CVYR4T^"B('A (SZQ08/=9XC4(X(<+X66L&
MS9'.<7O\JO[9QTZQS)C!:R6^\]PN1\$P@!SG;"7LO=I\P3J>OM/+E##^%S:U
M;11 MC)6R=J9""0OJB=[KN]ARR&.]SC$M4/LN:N#/.68698F6FU .VM2<P,?
MJO<F.%ZXI$RMIEU.?C:]10K)P$>85ED!-8<)LRO-+:=UFGTM43/+BP5X6[CE
M;,9%M7U<,HV%7:+E&1,G<#Q&RS@-CH 7,.%"T,V;)+1$ZLX+LYKJJJ**]U"-
M,>M K_L!XBCNP<-T#,=')[_+A!1H$VW<1!M[W=X>W3]BR>'2&+0&'F_)$&XL
M2O-C%VVE>KI;U=7-A2E9AJ. "L.@7F.0OG_7'42?6IA[#7.O3;W*$*B9X OF
M7F0#A;+P0O6:*4GED6&^"[D2'7I15YGK-!YTADFXWH%RVJ"<MJ),>,'E2L+C
M!.4,]<ZK:E5XXU7U&[[^0=+;/P#SH&$>_%-ZP:*6.TNF7:=/KP33IH7HK"$Z
M:\\R>_YKEEL5WGACPX9O>) L#P_ ?-XPG_^G++?K=*/]:0ZWNH!KJ!.F%YP^
M%P+GI!5USN@UUU63JB96E;XQS)2E-N.'2^KKJ)T![<^5LJ\3UVN:?PKI+U!+
M P04    " "\8')9D[_)KW8"  !V!@  &0   'AL+W=O<FMS:&5E=',O<VAE
M970W,2YX;6RM55U/VS 4_2M6AB:0@'PUH; T$K2:F 0:HF-[F/;@IK>-A3\R
MVVWIOY_MI%E;0H6FO32^]CTGY]Q;WV0K(9]5":#1"Z-<#;Q2Z^K*]U51 L/J
M7%3 S<E,2(:U">7<5Y4$/'4@1OTH"%*?8<*]/'-[#S+/Q$)3PN%!(K5@#,OU
M#5"Q&GBAM]EX)/-2VPT_SRH\AS'HI^I!FLAO6::$ 5=$<"1A-O"NPZMA8O-=
MPG<"*[6U1M;)1(AG&WR9#KS "@(*A;8,V#R6, 1*+9&1\;OA]-I76N#V>L/^
MV7DW7B98P5#0'V2JRX'7]] 49GA!]:-8W4+CQPDL!%7N%ZV:W,!#Q4)IP1JP
M4< (KY_XI:G#%B#LO0&(&D#T7D#< &)GM%;F;(VPQGDFQ0I)FVW8[,+5QJ&-
M&\)M%\=:FE-B<#J_ U,#A<[0N&XC$C/TM0*)->%SY$[1'<$30HE>H^,1:$SH
MB<E_&H_0\=$).D*$HV^E6"C,IRKSM1%EJ?VB$7!3"XC>$#""XAS%X2F*@BCN
M@ _?#X]VX;XI15N/J*U'Y/CBP_7X>3U16IK_V*\N1S5%KYO"WKLK5>$"!IZY
M6 KD$KS\XX<P#3YU^?M/9#MNX]9M?(@]_]MIZCI--YWN<EU3)8[*#H=EGJ1Q
MF/G+;3>OD]++Y*)-VE'9:U7V_DWE*:*"S\\T2-8EN&9-M[2$49I<]/<D=Z3%
M8=R_[!:=M**3@Z+O"2=LP9#8$U_AM1F"NO.F)*^*%\91%%SN">Y*Z\>]=$^P
MOS45[$2^QW).N#(Z9@88G%\8!EE/N3K0HG*#8B*T&3MN69H/ TB;8,YG0NA-
M8&=/^ZG)_P!02P,$%     @ O&!R60"&8,^_ @  '@@  !D   !X;"]W;W)K
M<VAE971S+W-H965T-S(N>&ULK59=;YLP%/TK%JNF5MH*AD"2+D%JPJ9-:K6J
M6;N':0\.W 2K8#/;2;I_/]L0FF_E82_!'^<<WW,-]V:PXN)%Y@ *O98%DT,G
M5ZJZ<5V9YE 2><TK8'IGQD5)E)Z*N2LK 22SI+)P?<^+W))0YL0#N_8@X@%?
MJ((R>!!(+LJ2B+\C*/AJZ&!GO?!(Y[DR"VX\J,@<)J">J@>A9VZKDM$2F*2<
M(0&SH7.+;Y+(X"W@F<)*;HR1<3+E_,5,OF5#QS,!00&I,@I$/Y8PAJ(P0CJ,
M/XVFTQYIB)OCM?H7ZUU[F1()8U[\I)G*AT[/01G,R*)0CWSU%1H_H=%+>2'M
M+UK5V&[HH'0A%2\;LHZ@I*Q^DM<F#QL$'!TA^ W!WR5TCA""AA"<2^@TA([-
M3&W%YB$ABL0#P5=(&+16,P.;3,O6]BDSUSY10N]2S5/Q'>BD2?013>I[1WR&
MOE<@B*)LCNPN&G.IT&4"BM#B2D.?)@FZO+A"%X@R]"/G"TE8)@>NTO$853=M
MSA[59_M'SL8^NN=,Y1)]9AEDVP*N-M*Z\==N1OY)Q032:Q3@#\CW_.! 0./S
MZ?X!>G(^'9]P$[1W$UB]X/3=_+J=2B7T!_+[4(IKB<YA"5,T;F1%4A@ZNBI(
M$$MPXO?O<.1].I2>_RF6_">QK=1UVM1U3JG';Z]P85_A5+_"A[)7JX16Q53(
M9>Q[_9Z^O.5F6O91N-L+@FU4LH_J]X)>"]KR$;8^PI,^GHF@9%H XF<:JN6B
MC2 Z7C?<\;,/PCC W1T_^Z@NQD?\1*V?Z*2?NY/!1_NW$7IAM!/] 50?A]Y.
M]/LH'/4WM.KPW8W*68*8VPXD=8 +INJRTZZV3>[6UO:=]9%N?G6O>I.I.^<]
M$7/*I+ZWF9;TKDVO$74WJB>*5[8^3[G2U=X.<]W 01B WI]QKM83<T#[ER#^
M!U!+ P04    " "\8')9>KN<DY$"  # !@  &0   'AL+W=O<FMS:&5E=',O
M<VAE970W,RYX;6RM55U/VS 4_2M6AB:0!ODJ;<7:2+098M+0$!W;P[0'-[EM
M+!P[LYV6_?M=.VDH*%0\\-+ZXYZ3>XZ=D\E6J@== !CR6'*AIUYA3'7A^SHK
MH*3Z3%8@<&<E54D-3M7:UY4"FCM0R?TH"(9^29GPDHE;NU7)1-:&,P&WBNBZ
M+*GZ-P,NMU,O]'8+=VQ=&+O@)Y.*KF$!YKZZ53CS.Y:<E2 TDX(H6$V]R_ B
M'=AZ5_"3P5;OC8E5LI3RP4Z^YE,OL T!A\Q8!HI_&Y@#YY8(V_C;<GK=(RUP
M?[QCOW+:4<N2:IA+_HOEIIAZ8X_DL*(U-W=R>PVMGG/+ETFNW2_9MK6!1[):
M&UFV8.R@9*+YIX^M#WN </@*(&H!T4O X!5 W +BMP(&+<!9[3=2G \I-329
M*+DERE8CFQTX,QT:Y3-ACWUA%.XRQ)GD&Z!IFIR2!5ZHO.9 Y(HLZJKB@(=K
M*"<ITQF7NE9N:TYU0:[PLFAR!YP:R(F1Y'L%BAHFUJ3E.T[!4,9/D/A^D9+C
MHQ-R1)@@/PI9:RIR/?$-=F][\+.VTUG3:?1*IV%$;J0PA29?1 [Y<P(?97?:
MHYWV6720,87LC,3A)Q(%4=S3T/SM\*@'GKX='AY0$W<G&3N^^/!)_KY<:J/P
M=?K39W%#,>BGL!%SH2N:P=3##-&@-N E'S^$P^!SGSWO29:^$]DSZP:==8-#
M[,G3]>761)));?K<:UC.'8O-TTUR&H[&0SS\S;XO?67QZ'STO"SM*1N/AW%7
MU4CQ]][M$M3:9:3&%FMAFJO>K78Q?.G2Y\7Z#..Y2=,GFB;;;ZA:,Z%1_ HI
M@[,1]J2:O&PF1E8N09;28!ZY88&?&%"V /=74IK=Q#Z@^V@E_P%02P,$%
M  @ O&!R6<EID4M, @  $@4  !D   !X;"]W;W)K<VAE971S+W-H965T-S0N
M>&ULE53O:]LP$/U7#@]&!UOL..D/NL20-(P-.@CMNGX8^Z#8EUA4ECSIG#3_
M_4ZR8S)( _MBZZ1[3^^==)KLC'UQ)2+!:Z6TFT8E47T;QRXOL1)N8&K4O+(V
MMA+$H=W$KK8HB@"J5)PFR55<":FC;!+FEC:;F(:4U+BTX)JJ$G8_1V5VTV@8
M'28>Y*8D/Q%GDUIL\!'IJ5Y:CN*>I9 5:B>-!HOK:30;WL['/C\D_)2X<T=C
M\$Y6QKSXX%LQC1(O"!7FY!D$_[9XATIY(I;QI^.,^BT]\'A\8/\2O+.7E7!X
M9]2S+*B<1C<1%+@6C:('L_N*G9]+SY<;Y<(7=EUN$D'>.#)5!V8%E=3M7[QV
M=3@"I)=O -(.D ;=[49!Y4*0R";6[,#Z;&;S@V UH%F<U/Y0'LGRJF0<9??(
MEAQ\@D<^[J)1"&8-S\$+%C#;HN6C@85TN6DTP8,@!*$+"#CX@;:")\>94L.=
M4'FC!$F]Z9;OI5A))4GR#A<+)"'5ATE,+-MO'N>=Q'DK,7U#X@+S 8R&'R%-
MTM&_\)C=]I;3WG(:^$;G+?^:K1Q9OA6_3TEJ*<:G*7RGW+I:Y#B-N!4<VBU&
MV?MWPZOD\QF!HU[@Z!Q[UI=?=.6WZ-O+UU6%NI(O^\4>A74GZWF>_AH"$FZ@
M,II*!^D5%&+OSB@?]\K'_Z>\.%P<RQ?GE-26;Y@$0O^";+-DD(R'?-#;8R'Q
MT17WK\5W83=2.R[(FH')X)K;Q;8=V 9DZG#K5X:XA\*PY$<+K4_@];4Q= A\
M(_7/8/874$L#!!0    ( +Q@<EF2]^9#700  %@1   9    >&PO=V]R:W-H
M965T<R]S:&5E=#<U+GAM;+58;6^;.A3^*Q:;JD[J#6 2DK9)I+Q5ZU6[54UW
M[X=I'UPX(6@&<VV3-/_^VD!(R$C:J>Q+@H_/\_B<QS[&IK]F_*=8 DCT$M%8
M#(REE,F5:0IO"1$1+99 K'H6C$=$JB8/3)%P('X&BJB)+<LU(Q+&QK"?V1[X
ML,]22<,8'C@2:101OAD#9>N!81M;PV,8+*4VF,-^0@*8@_R6/'#5,DL6/XP@
M%B&+$8?%P!C95S<VUH#,XY\0UF+O&>E4GAG[J1NW_L"P=$1 P9.:@JB_%4R
M4LVDXOBO(#7*,35P_WG+?I,EKY)Y)@(FC/X;^G(Y,'H&\F%!4BH?V?HS% EU
M-)_'J,A^T;KPM0SDI4*RJ "K"*(PSO_)2R'$'L!VCP!P <"' .<(P"D SB&@
M?030+@#MMP(Z!:#SUI#< N!FVN=B94I/B23#/F=KQ+6W8M,/V71E:"5P&.N5
M-9=<]88*)X>/L((X!?0('@OB,)OMO] \7V>(+= T%"0(. 0DZU.6+>1\"I*$
M])/R_S:?HO./G]!'%,;H:<E206)?]$VI(M3CF%X1S3B/!A^)QL;HGL5R*= L
M]L&O$I@JM3(_O,UOC$\R3L%K(<>^0-C"3DU T[?#<0U\]G:X?2(;IYPM)^-S
MCO$=G8SO=\H5W4J(Q(\ZW7/>=CVOWKZN1$(\&!AJ?Q+ 5V ,SS[8KG5=IUF3
M9+.&R"IZMDL]VZ?8AT],$JHVR$S#.MER>">#ZTUZ-70=[+AJ*:SV!?G5K6?9
M'<>MNLUJV+I6QVF7;I4D.F42G9-)/'#FIY[<+H6Z-$X2_.[L-TDV:XBL(IQ;
M"N?^H6IRF]2S2;)90V05/;NEGMWW55,.=RO59%]V+ZME,CD]RG>[;DJFOW*K
M$K1[SD$)UH30M5005;>;5T+ /T[(U2OEZIUD>60;0N4&J5<E^BJ7P-%M[+&H
M5KF33+^[X)HDFS5$5E'PLE3P\@\5\&63>C9)-FN(K**G;>U.@];[2KC [[_#
MG,,BF]8Y=0XKL<8)VYWZ5Z&MC[-5"]ZEA%_;+[+#WS8KI*YC:!%2R?-5D^2O
M3Z&.KAY-?1"E(P=*)/A(,G1#X64<,K$1%[I*6^C\[$,/8^MZUY$9[.M/:,%9
MA$8)#RFRN_G!\P(1@=;J^J3_[T%"S%8$?6;4#^, C<8EW;:O2O;5D^Q9[0\X
M9VMEQ\EWY?/ Z":"",U;HUTNA;$Z]M\IW:#B!%M)0V6MDT=S1E,]L$!W=Y.2
MJ^@MN?0F]P764@7X=$:BY/H>31A/=H-_>;JO#JS.SA#IK&TW'QW))6=IL-SU
M;$_6-8(H%22$*J@WR3%:J9N/#P=S6UBK8<TAD?GHV'HUKKJ:-/<N:Q'P(+M6
M"^2Q-);YV:6TEE?W479A/;"/]96^SHZO)G7^,WQU4V<?V9JHCDF5UO:K@;D+
M-?_F<$]XH/6EL%!A6ZVN*F2>7^/SAF1)=NU\9E)=8K/')1 ?N'90_0NF9JAH
MZ '*CRG#_P%02P,$%     @ O&!R67V?!.<X!   &1T  !D   !X;"]W;W)K
M<VAE971S+W-H965T-S8N>&ULM9EMC^(V$,>_BI56U9UT)7$"678+2,NZIZ[4
ME1"K:U^<^B*;#!!M8E/'P+7JAZ_S0!YVP0=H>+/DP?.SYV^/,[,>[81\S58
MBGQ+$YZ-K952ZSO;SL(5I$'6$VO@^LU"R#10^E8N[6PM(8@*HS2Q7<?Q[32(
MN349%<]F<C(2&Y7$'&:29)LT#>0_4TC$;FQ1:_]@'B]7*G]@3T;K8 G/H+ZL
M9U+?V34EBE/@62PXD; 86_?TCKEN;E"T^".&7=:Z)KDK+T*\YC>/T=AR\A%!
M J'*$8'^V<(#)$E.TN/XNX):=9^Y8?MZ3_]<.*^=>0DR>!#)GW&D5F-K:)$(
M%L$F47.Q^PTJAP8Y+Q1)5OPENZJM8Y%PDRF15L9Z!&G,R]_@6R5$RX#Z1PS<
MRL!]:] _8N!5!MZI!OW*H%\H4[I2Z, "%4Q&4NR(S%MK6GY1B%E8:_=CGL_[
MLY+Z;:SMU&0.6^ ;(',(Q9+'Q5S\3.ZCJ+@,$O+(R\65O_C 0 5Q\E&W^/+,
MR(<?/XYLI0>1H^RPZG!:=N@>Z9"ZY$EPM<K(KSR"J NP]>AK%]R]"U/72&00
M]HA'/Q'7<;T# WHXW=P]8,Y.-Z<&;[QZ0KR"YQWCQ5FP7$I8EI*+!=E/T=??
M=5/RJ"#-_CJD>\GM'^;F^\==M@Y"&%MZ@\A ;L&:_/0#]9U?#FF&"6-(L(Z>
M_5K/OHF^7^"'!"L-!X5AOC]N)[[G>K[>,IV1O6VK\;[ET*$#SW_7DAU@WC@#
MK]]NV?%C4/LQ.,4/,@4>KO06_4J^/D'Z O+@6C"RSET+F#"&!.MHZ-<:^E>*
M+1]33TP80X)U]+RI];RY-+9*0[\5!V]CZKLMF+'S"UT;UJX-+PPW\A]Y*+[+
M(,F#X"%P)<OU-(\S<U0:NSQW%6'"&!*L(_5M+?7ME:+R%E-/3!A#@G7TI$Z3
MTSF7QF5E.3 $YO>;,'/_E_K7REGIY<'Y%/,XW:08\6H>QKD+#)7&L&C=*7";
M*7"O%+05&$M43!K#HG5%;5)_:LR$)^^7YR<R YD_TS7X03%+X&T[5GOT;4"?
MT(B9AW:IZTV63LUI^FP1_ZL#])&'O8-^&JW/7C28-(9%ZRK7U 5T<*U(1*T2
M4&D,B]85M2D4J#%O-GY!46L!5!JK:)WR<^@YSM'JDS:I/C7G^JT U5_4JZ3'
MYA&<K2PFC6'1NNHWU0@=7BO(48L.5!K#HG5%;>H.:DS#+_G<HE8<J#16T8Y]
MY;O_6FU*"==<2IP1]HB)MWE0Y^J,2F-8M.Z$-+6/2Z^T$[BHU0PJC6'1NJ(V
MU8QK3.POV G,P+/%1*UB*IIY)[!;9T8Z0I?%V5M&0K'AJCQ[J9_6YWOWQ:G6
MF^=3>L?*4[H&4QX:/@5R&?.,)+#02*=WH_,269[#E3=*K(N3J1>A]#917*X@
MB$#F#?3[A1!J?Y-W4)^&3OX'4$L#!!0    ( +Q@<EG'Y-Y&]P(  "H(   9
M    >&PO=V]R:W-H965T<R]S:&5E=#<W+GAM;*U676_:,!3]*U963:VT-5\0
M6@:15M"T/4RJH-V>37)#K#HVLQUH]^MW[80(6(KZT!?PQSV'<\^]MIGLI'K2
M)8 ASQ47>NJ5QFS&OJ^S$BJJK^4&!.X44E74X%2M?;U10','JK@?!4'B5Y0)
M+YVXM7N53F1M.!-PKXBNJXJJESO@<C?U0F^_L&#KTM@%/YULZ!J68!XW]PIG
M?L>2LPJ$9E(0!<74^QJ.9XF-=P&_&.STP9C83%92/MG)CWSJ!580<,B,9:#X
MM849<&Z)4,:?EM/K?M("#\=[]F\N=\QE137,)/_-<E-.O1N/Y%#0FIN%W'V'
M-I^AY<LDU^Z3[-K8P"-9K8VL6C JJ)AHONESZ\,!(!R\ HA:0/160-P"8I=H
MH\RE-:>&IA,E=T39:&2S ^>-0V,V3-@J+HW"788XDRY@"Z(&LH!,K@5SUGXF
MRZ:F1!9V ]B6KCAH0D5.YE" 4I"3/;)0LB(S*8S"DFB4;THR<\)!:7(Y!T,9
MOT+2Q^6<7%Y<D0O"!'DH9:V13T]\@VE8,7[62KYK)$>O2)Y#=DWB\!.)@BCN
M@<_>#H^.X3Z:USD8=0Y&CB]^A>^.<BHR=,<9D1T;D75&2,%?QGW)-NR#?G9[
MB,=Z0S.8>GA*-:@M>.G'#V$2?.E+_9W(CHR(.R/B<^SIURR3M<#,5=<R??DV
M)$-'8N^8;1I&@S ))_[V,).>L#")!J,N[$CCH-,X.*NQZU[5=N\E$QFO<UQA
M]D[)5(U#SNB*<3P,;<]+4X(B0HJL1K P1P&(PVU;>"TYRZE!@E73$\2=2WW5
M9T.C,SG,;S2,DQ,7>J)NDSCL-V'8F3 \V['[DZN:,_\7!>>U8F)--J"8S#5Q
MW2&,\XE38[>,[.W>X7MV[SN1'9F2=*8D9SOC 6NX@C43PF:;G_9)6]$^"Y+_
M._5F-#SMYYZH.+X-3BKI']SD]A7]215*TH1#@;C@>H0$JGF9FHF1&W>YKZ3!
MB\8-2WS,0=D W"^D-/N)?2^ZOP?I/U!+ P04    " "\8')94S"#Z58"  #+
M!0  &0   'AL+W=O<FMS:&5E=',O<VAE970W."YX;6RM5.]OTS 0_5>L,*%-
M&DWSHRTJ::2N%6(22-7*X /B@YM<&VN.'6RG'?\]9R>-6I;!D/C2^.Q[S^]=
M?9<<I'K0!8 ACR47>N85QE13W]=9 275 UF!P).M5"4U&*J=KRL%-'>@DOOA
M<#CV2\J$ER9N;Z721-:&,P$K171=EE3]O $N#S,O\(X;=VQ7&+OAITE%=[ &
M<U^M%$9^QY*S$H1F4A %VYDW#Z:+V.:[A"\,#OID3:R3C90/-KC-9][0"@(.
MF;$,%#][6 #GE@AE_&@YO>Y*"SQ=']G?.^_H94,U+"3_RG)3S+RW'LEA2VMN
M[N3A [1^1I8ODUR[7W)H<B>11[):&UFV8%10,M%\Z6-;AQ- $#\#"%M ^%)
MU (B9[11YFPMJ:%IHN2!*)N-;';A:N/0Z(8)^R^NC<)3ACB3+A3DS)"/4FO0
MY V9YQAB?2DGMZ)Y)+;:ETLPE/$KS+A?+\GEQ16Y($R0SX6L-16Y3GR#:BRG
MG[4WWS0WA\_<O(1L0*+@FH3#,.J!+UX.#\_A/M:@*T38%2)T?-'?"T&^S3?:
M*'QAW_ML-3QQ/X_MNJFN: 8S#]M*@]J#E[Y^%8R'[_I,_B>R,\M19SGZ$WLZ
MSS)9"Z.Q&S-@>[KAT.>W(1DY$CL4]FD0QL$X2/S]J9.>M& <QI,N[4QCW&F,
M_U7C-6E+0?!]DES6&[.M.0Z$)K//0OQ$6QC85W-FX&E2$(U'O\GW3UK-CKE/
M5.V8T(3#%F'#P03QJAD=36!DY;IO(PWVLEL6.&U!V00\WTIICH%MZ&Y^I[\
M4$L#!!0    ( +Q@<EF;3]H[W0(  -T'   9    >&PO=V]R:W-H965T<R]S
M:&5E=#<Y+GAM;*U5;6_3,!#^*Z<PH2'1I4G:=(PV4E] (#$QK0P^(#ZXR;6Q
MYMC!=MOQ[[&=-+1=UB'$E\0^WSU^'OM\-]P*>:]R1 T/!>-JY.5:EU>^K](<
M"Z(N1(G<K"R%+(@V4[GR52F19"ZH8'[8[<9^02CWDJ&SW<AD*-::48XW$M2Z
M*(C\-4$FMB,O\':&6[K*M37XR; D*YRCOBMOI)GY#4I&"^2*"@X2ER-O'%Q-
M!];?.7REN%5[8[!*%D+<V\G';.1U+2%DF&J+0,QO@U-DS (9&C]K3*_9T@;N
MCW?H[YUVHV5!%$X%^T8SG8^\2P\R7)(UT[=B^P%K/7V+EPJFW!>VM6_7@W2M
MM"CJ8,.@H+SZDX?Z'/8"@OB)@+ ."(\#>D\$1'5 Y(16S)RL&=$D&4JQ!6F]
M#9H=N+-QT48-Y?86YUJ:56KB=#*5F%$-GX12J* #\^HVX?,2QLQ<,>$I@CDP
M.'2TEG&:BC77"FXQ1;HA"V86SF>H"66O#-3=? ;G9Z_@#"B'+[E8*\(S-?2U
MH6TW]].:XJ2B&#Y!,0CA6G"=*WC',\P. 7RCMQ$=[D1/PI.(,TPO( I>0]@-
MHQ9"T[\/#T_0B9H[B!Q>]/P=P/?Q0FEIDOM'VT%5.+UV'/O@KU1)4AQYYD4K
ME!OTDI<O@KC[MDWD?P([D-QK)/=.H2<37%'.*5^9-\ALCK6IK2#Z#L)6HTW2
M":*X/_0W^S+:O'K!H/$ZX-=O^/5/\INNI42NH41)109I3O@*P11-V$JJL2.6
MR]9,KE#C/3*7X1'?QRY!&+>SC1NV\3^RQ8?2U$LTMBK'F'N^;<SC1[0ZE]&;
M(^XM3H->._=!PWUPDKMYT\^DP>#Q!8=!>'RL+5X'R5*1\_<J98%RY1J( E?(
MJOK16)L>-7:E^<@^,;VK:C5_8*K&=TVDR6T%#)<&LGLQ,)QDU4RJB1:EJ\<+
MH4UU=\/<]%^4UL&L+X70NXG=H.GHR6]02P,$%     @ O&!R6:E\@YHD!
M !4  !D   !X;"]W;W)K<VAE971S+W-H965T.# N>&ULM5C1;MLV%/T50BN&
M%F@CD;(D)[,-V,ZZ!EB H%F[AV$/C'5M<Y5$EZ3LY.]'2HIDV0I3&^J++5*\
MA^=0NI=''.VX^";7  H]IDDFQ\Y:J<V5Z\K%&E(J+_@&,GUGR45*E6Z*E2LW
M FA<!*6)2SPO=%/*,F<R*OKNQ&3$<Y6P#.X$DGF:4O$T@X3OQ@YVGCL^L]5:
MF0YW,MK0%=R#^K*Y$[KEUB@Q2R&3C&=(P'+L3/'5G! 34(SXRF G]ZZ1D?+
M^3?3N(G'CF<800(+92"H_MO"')+$(&D>WRM0IY[3!.Y?/Z-_+,1K,0]4PIPG
M?[-8K<?.T$$Q+&F>J,]\]PDJ08'!6_!$%K]H5XWU'+3(I>)I%:P9I"PK_^EC
MM1![ 3A\(8!4 >0P8/!"@%\%^(70DEDAZYHJ.AD)OD/"C-9HYJ)8FR):JV&9
M>8SW2NB[3,>IR1^<QSN6)(AF,;K)%,U6["$!-)42E$0?T'RMNT BEJ$Y%>*)
M92OTE28Y(+Y$=?3;:U"4)>]TP)?[:_3VS3OTQH3\M>:YU-!RY"K-ULSI+BIF
MLY(9>8$9)NB69VHMT>]9#'$;P-4R:ZWD6>N,6!&O87&!?/P>$8_X'83F/QY.
M+'3\>NG] L]_;>G_^5/?03<*4OEOUSJ5,(-N&)/G5W)#%S!V=")+$%MP)K_^
M@D/OMRZ-/8&U% ]JQ0,;^F1&$YHMH$MC&1@4@:;T;"?#( BP?DS;??8=PT+/
M#TD]K,4KJ'D%5E[S/,T3:NH)4H)FTER;$A/_IQ-0URS5Q;B$#/>HX, ;'O ]
M'O2!1'[033>LZ8;G+F-X--_E,,+$.Z!U/.Q@M5N\HII79.?%^,<$'KMX60-/
M?85[ FMI'-8:A_TD[;!/Q3V!M11?UHHOK4_U%JC,!9@T0!L0C,=[B=%9UZUX
MITJ_/,X@?Q!VOZC8:W8]SRIJNF6*Q?!>;WF+B\Z]R1I_JHB^T-IJ]_9XW,]+
M6^'TI;HGM+9JTJ@FYY;)*K)5O"^C010>U$G[#.<J: P"MN[&9Z2>'?#D!^@?
M)Q^.PN$+V=?8 'RV#[!'GBS@V"\</.>V@L8P8+MC,/N<WN[DD[24$"O$R5)Z
M0FL+;BP'#GLJ(5;O<K+JGM#:JAM#@^V.IODZ$DR:+Y^EX"F:+K[GNFD\8N<*
M1,?%9> 3?%A;?H:-P8V/P5;38,W!X8\)^!FN!#>V!+_F2Q1D?$O1)Y[$YME,
M9YUB>G4C?:&UOU\;VT*\?K*0]&I?^D)KJV[L"[$:A?.RL,)LO<0XB*+#+S3[
MW.=J:TP*.=ND5)'!JPIZ-2GNWEE2"F)5'+%)M.!YILJCEKJW/L:;%H=7!_TS
M?#4O#^,:F/)L\):*%<LD2F"I(;V+2$L4Y7%;V5!\4YQ8/7"E>%I<KH'&(,P
M?7_)N7INF GJ0\_)_U!+ P04    " "\8')9+!<!']L%  !:)   &0   'AL
M+W=O<FMS:&5E=',O<VAE970X,2YX;6RU6EUSFS@4_2L:M]-)9S8!22 @=3R3
M)K-M9[J[F29I'W;V@=BRS90/KY#C9G_]"DR1L81L$O4E,7#O\;D"W7,D,]X4
M['NYI)2#'UF:EQ>C)>>K<\<IITN:Q>59L:*YN#(O6!9S<<@63KEB-)[525GJ
M(-<E3A8G^6@RKL_=L,FX6/,TR>D- ^4ZRV+V])ZFQ>9B!$<_3WQ)%DM>G7 F
MXU6\H+>4WZ]NF#AR6I19DM&\3(H<,#J_&%W"\RL/5PEUQ->$;LJ=SZ JY:$H
MOE<'GV87([=B1%,ZY15$+/X]TBN:IA62X/%O SIJO[-*W/W\$_WWNGA1S$-<
MTJLB_9;,^/)B%([ C,[C=<J_%)N/M"G(K_"F15K6?\&FB75'8+HN>9$UR8)!
MEN3;__&/9B!V$J#7DX":!'1L FX2ZI%SMLSJLJYC'D_&K-@ 5D4+M.I#/39U
MMJ@FR:O;>,N9N)J(/#[Y4!2S39*F(,YGX%/.XWR1/*047)8EY24X!;?BP9FM
MQ9EBKKE^<DUYG*1O1>#][34X>?T6O 9)#NZ6Q;H4D.78X8)E]5W.M&'T?LL(
M]3"ZIM,S@.%O +D(:]*OCD]'W71'C$T[0*@=(%3CX1X\M>:_/XL0\(G3K/Q'
M5]X6S]/C5=/RO%S%4WHQ$O.NI.R1CB9O7D'BOM,5:PFL4SIN2\<F],D'5I0E
MN(H9>TKR!?@:IVNJ*WB+XM<H5=MXG/@XPA$9.X^[I:AA'H%N@-JP#DFO)>E9
M(;E%(;LD/==52*IA@F301])O2?I&DI?3Z3I;IS&G,W"9%8PG_\55%],1]14&
MIQ!CB*,]IKHX%T+?TU,E+55BC2HYDJHNSD U:*D&1JI_"I4[?.,#]8ZZ!/G!
M'D<U#/M1!$,]Q;"E&%J@&*HSPR610E$-P\0E?12CEF)DI/BM5KKJ;C]2)I0;
MW)=TOD[!YV1.P8GHY4\T9N5;'6\S,/2WJ;JV=B"3Z#([U4%7"IQK!+MC\4Q8
M'_9=*T7&W*'-VA9:M](=*8>6I:H!M%6^);1N^5*HH5$,CU:"!F9W'@6NNS?7
M#@1U*4I!A69%/:X=-"#$3- <U"4HQ12:U?2.3I=YD1:+IS>O0@31NQE]%%9_
M16=:HD:PP8^/);1NZ5*BH6][]AA%?W#YEM"ZY4O9AV;=/WKVJ&*.?.+C?2.E
MB8-1X+E^SR,J11^:57^(08&JJI]Z'L%XGZPF#KM1U&/[H)1_:$/_H:KL",+(
M56BJ<9 0#^(>FM("P%_F 0X@ZZ6\*>?%+@!)%X#,+N!&/"\YURY'S9F#%VR_
MP@,@Z0&0;0^ K'H 6VC=\G<6ZW8\ %+E'7G[$GL@J$M1>@!D]@!#^A=21?Y4
MP_- 5)>H] +([ 6.ZUT-R.X@*?Q,(5UR4JV1>47]@HYU #GL;UC/R>S6)^48
MF>7XJM[ZHPPPFM:/1[E,5OKV900:/'\MH77+EN*. MOMR^@6!I=O":U;OK0+
MR&P7CFY?&L- HLC;WWC1Q?DHPCT;+T@:!F36YD%-+%+;4X@CLN]N='&$^'ZD
M)XNE]F.S]A_7R!J0CKD*_2A4MC%U<00'/<862^G&1FU\24L[@&S:B7E6:K="
MJ<[8K,[M5HRVD9F3A\YD6VC=4G>VSK'E1H:-MF%P^9;0NN5+[X#M[,ICU1J$
M@;+QJ8D*2-BS.,/20V![N_)8M]T>A/L-5QN&85\+DW8 F^W D2V,*.-$(A+N
M<]1$8=*SAL12NK%Y7?Z2]F5&AI&A?3TGM5NA5&=L5N>_^%(8LJ2=V?HN9L08
M/(TMH74KEC*/(]M=S.@;!I=O":W[RZ(T#I[9.!S]VZ)J"7 $O;UYIXE"(80]
M/W]*V^"9%7I(%VN@NBM%7V6J"W.]'M?H2?WWS/I_7!?SU&4W])3];TU40((>
MAE*V/?/B_ 5-[  R[N]A!S*]_A;F[+SX4;UU\T?,%DE>@I3.!91[%HCA8=L7
M6;8'O%C5[X(\%%PL+^N/2RI,&:L"Q/5Y4?"?!]7K)>WK1)/_ 5!+ P04
M" "\8')9_$3\8K8"  #E!P  &0   'AL+W=O<FMS:&5E=',O<VAE970X,BYX
M;6RM56U/VS 0_BM6AB:01O/6%L322"T96R60$(CMP[0/;G)M+!P[L]V&[=?/
M=M*00EHQB2^)7^YY[IZ[Y"ZJN'B4.8!"3P5E<N+D2I47KBO3' HL![P$IF^6
M7!18Z:U8N;(4@#,+*J@;>-[8+3!A3AS9LUL11WRM*&%P*Y!<%P46?V9 >35Q
M?&=[<$=6N3(';AR5> 7WH![*6Z%W;LN2D0*8))PA <N),_4ODI&QMP;?"52R
MLT9&R8+S1[.99Q/',P$!A509!JQ?&[@$2@V1#N-WP^FT+@VPN]ZR7UGM6LL"
M2[CD] ?)5#YQSAV4P1*OJ;KCU3=H]-@ 4TZE?:*JL?4<E*ZEXD4#UA$4A-5O
M_-3DH0/PQWL 00,(7@*&>P!A PC?"A@V@*'-3"W%YB'!"L>1X!42QEJSF85-
MID5K^829LM\KH6^)QJGX*^=912A%F&5HSA1F*[*@@*92@I+H%$VSC)@*8:JO
MZ\_,U.LX 84)/=$6#_<).CXZ04>(,'2CN?2]C%REHS,^W+2)9%9'$NR)Q _0
M#6<JE^@+RR#;)7"UK%9;L-4V"PXR)I .4.A_0H$7A#T!7;X='O3 D[?#_0-J
MPK92H>4+]_!=$484G%[KWV2G4M<$+PC5-0*)?EYK$)HK*.2OO@K4'H;]'DR'
MN9 E3F'BZ!8B06S B3]^\,?>Y[[LO2=9\DYD.YD=MID='F*/IP47BORM/VR^
M?/T;]*6RICRWE*:W;N+0'XPC=]--T6NCX&S@[QHE/49!QVA'TJB5-#HH:5Z4
MF C=GI411)X%X;V":L)1)PSOA9J#+O^WX.]$5F?'[33  L3*#A*)4KYFJNX7
M[6D[JZ:V1;\XG^D95H^<9YIZ -Y@L2),(@I+3>D-SK0 40^5>J-X:=OL@BO=
MM.TRUW,8A#'0]TO.U79C'+23/?X'4$L#!!0    ( +Q@<ED:S@=BY@(  , )
M   9    >&PO=V]R:W-H965T<R]S:&5E=#@S+GAM;*V674_;,!B%_XJ5H8E)
M@Z1)\\7:2%#&AL0F!(-=3+MPV[>-A6-WMMO"?OUL)XWZ$5)4[::)8Y_CY[QU
M8O>67#S)'$"AYX(RV7=RI69GKBM'.118GO(9,-TSX:+ 2C?%U)4S 7AL105U
M?<^+W (3YF0]^^Q69#T^5Y0PN!5(SHL"BY<+H'S9=SK.ZL$=F>;*/'"SW@Q/
MX1[4P^Q6Z)9;NXQ) 4P2SI" 2=\Y[YP-4C/>#G@DL)1K]\@D&7+^9!K7X[[C
M&2"@,%+& >O+ @9 J3'2&'\J3Z>>T@C7[U?N5S:[SC+$$@:<_B1CE?>=Q$%C
MF. Y57=\^16J/*'Q&W$J[2]:5F,]!XWF4O&B$FN"@K#RBI^K.JP).MU7!'XE
M\-\J""I!8(.69#;6)58XZPF^1,*,UF[FQM;&JG4:PLR_>*^$[B5:I[(OG(^7
MA%*$V1A=,X79E PIH',I04ET@LX++A3YBVW1/S_KU2,!Z=6SZH FV?$E*$SH
M!ZU_N+]$QT<?T!$B#/W(^5SJF63/51K>(+BC"O2B!/5? ;V$T2D*.A^1[_E!
M@WSP=KF_*7=UR>JZ^77=?.L7O.)W11A1<'*CU^!& 6X('A)*% &)?MUH$;I6
M4,C?38'+&;K-,YC7]TS.\ CZCGX_)8@%.-G[=YW(^]04_S^9;10CJ(L1M+EG
MNJ;=IH"E*K0J\SE99$$W3L*>NU@G;_4^D+Q;DW?WD8=-Y*4JVB /0F^+O-7[
M0/*P)@_WD4=-Y.$N>9"FVS5O]3Z0/*K)HWWD<1-YU$">I/X6>:OW@>1Q31[O
M(T^:R.,&<CWE%GFK]X'D24V>["-/[2=>Y: W^XD"T10DV0GB!Y$7;Z^>UKD.
M3)+62=+6)-_UR6: A7@A;(H>,9U#4Y!TY\O3]2(_C+>"[ X+PC3M)/6P$M%=
MVU_-V>8;%E/")*(PT4+O--8.HCPOE W%9W;+'7*E-W![F^LC%@@S0/=/.%>K
MAMG%ZT-;]@]02P,$%     @ O&!R6?L/EA2F @  _@8  !D   !X;"]W;W)K
M<VAE971S+W-H965T.#0N>&ULK55=3]LP%/TK5H8FD( DSD<+2R.-5FA(FX0H
MC(=I#R:Y;2P<.[/=!O[]["3-2ALJ'O:2^..>XW-LW^ND%O)9%0 :O92,JXE3
M:%U=NJ[*"BB).A<5<#.S$+(DVG3ETE65!)(WH)*YV/-BMR24.VG2C-W*-!$K
MS2B'6XG4JBR)?+T")NJ)XSN;@3NZ++0=<-.D(DN8@WZH;J7IN3U+3DO@B@J.
M)"PFSE?_<AK;^";@)X5:;;61=?(DQ+/MW.03Q[."@$&F+0,QOS5,@3%+9&3\
MZ3B=?DD+W&YOV*\;[\;+$U$P%>R1YKJ8.&,'Y; @*Z;O1/T-.C^1Y<L$4\T7
MU5VLYZ!LI;0H.[!14%+>_LE+MP]; #]\!X [ /XH(.@ 06.T5=;8FA%-TD2*
M&DD;;=ALH]F;!FW<4&Y/<:ZEF:4&I].IX$HPFA,-.;HBC/ ,T+RY/S/0A#)T
MAN;FZN0K!D@LT U? ]="4E#HN(TX,2$/\QDZ/CI!1XAR=%^(E2(\5XFKC42[
MD)MU<JY:.?@=.3/(SE'@GR+LX6  /OTX'+^%NV9C^MW!_>[@AB]XAV_C]A7]
M^FZFT(V&4OT>LM7RA,,\-A4O544RF#@FUQ3(-3CIYT]^['T9,OF?R-Y8#GK+
MP2'V]([4YGYID)2PP0-LX5$#MS5BG?HXB"[&B;O>]C 0%EZ$P;^P-^K"7EUX
M4-VCJ0EGE)]54F2@!O6U!/'6PF%X@7?4[0?%_C@8UA;UVJ*#VJXIIR81<V3$
MY:M,#ZJ+]A8>A3CP=^3M1XUQ',7#^N)>7WQ0W[W0A)G\[!/X%''00R+CO;.S
MZ8AW50Z$!6,\&NW(=+>JDWT9?A"YI%PA!@L#],Y'AD&VU;;M:%$U!>M):%/^
MFF9A'BB0-L#,+X30FXZM@?V3E_X%4$L#!!0    ( +Q@<EE%*1R0U0(  .\'
M   9    >&PO=V]R:W-H965T<R]S:&5E=#@U+GAM;*V576^;,!2&_XK%JJF5
MMO(5H.T2I#;IM$J;%C7M=C'MPH638-5@:ILD^_>S#6$TD*@7NTEL..][GG/P
MQWC#^+/( "3:YK00$RN3LKRR;9%DD&-QSDHHU)LEXSF6:LI7MB@YX-2(<FI[
MCA/:.2:%%8_-LSF/QZR2E!0PYTA4>8[YGQN@;#.Q7&OWX)ZL,JD?V/&XQ"M8
M@'PLYUS-[-8E)3D4@K "<5A.K&OW:AKI>!/P@\!&=,9(5_+$V+.>W*43R]%
M0"&1V@&KOS5,@5)MI#!>&D^K3:F%W?'._;.I7=7RA 5,&?U)4IE-K L+I;#$
M%97W;/,%FGH"[9<P*LPOVC2QCH622DB6-V)%D).B_L?;I@\=@3LZ(/ :@?=6
M@=\(?%-H36;*FF&)XS%G&\1UM'+3 ],;HU;5D$)_Q87DZBU1.AE/62$8)2F6
MD*(;3'&1 %J8]3,#B0E%']&<0XE)BFZW:NT($ @7*?HN,^!H6G$.A4370H 4
MZ+36G"G1XV*&3D_.T DB!7K(6"642HQMJ:!U:CMI &]J0.\ X R2<^2['Y#G
M>/Z ?/IVN?=:;JM6M?WRVGYYQL\_X-?KQ?6A7OSZJJ3H3D(N?@^57><9#>?1
MF_=*E#B!B:5VIP"^!BM^_\X-G4]#3?A/9J]:XK<M\8^YQ[<O%2ES7;D^-204
M9@WI-:(SD00&OWKM&1A/?=2LXS!T@K&][I;5#XI<_U_0*]Q1BSLZBKO[@J1(
M6 Y(XNTP8.T2=G*[3N![>X3]J,"]' 8,6L#@C8"BXKJ70W1!+Z_O7$1[</T@
M]](Y0!>V=.%1.K/6AXC"?C+?=_>1!J(<+QH-,T4M4W24Z8%)3%'9] VZQQ0S
M6S-IMB8V6W.(/NJM--\/1NX>?3_*O;SPHSUZNW,<ZZOP&^8K]3$1A:72.>>1
M,N#U]5)/)"O-"?W$I#KOS3!3-S)P':#>+QF3NXD^]-L[/OX+4$L#!!0    (
M +Q@<EGRWVS"G@,  ,4+   9    >&PO=V]R:W-H965T<R]S:&5E=#@V+GAM
M;*V636_;.!"&_PJA+8H62".*^DYM XW38@MTL4;3=@^+'AAI;!&51)6D[/3?
M+RDIBF/1:@Y[L4GIG>$SHR&'BP,7/V0!H-!]5=9RZ11*-5>N*[,"*BHO>0.U
M?K/EHJ)*3\7.E8T FG=&5>D2C".WHJQV5HONV4:L%KQ5):MA(Y!LJXJ*7]=0
M\L/2\9R'!Y_9KE#F@;M:-'0'MZ"^-ANA9^[H)6<5U)+Q&@G8+IUWWM7:\XU!
MI_C&X""/QLB$<L?Y#S/YF"\=;(B@A$P9%U3_[6$-96D\:8Z?@U-G7-,8'H\?
MO'_H@M?!W%$):U[^PW)5+)W$03EL:5NJS_SP)PP!A<9?QDO9_:+#H,4.REJI
M>#48:X**U?T_O1\2<63@!6<,R&! GFO@#P9=YMR>K OKABJZ6@A^0,*HM3<S
MZ'+36>MH6&T^XZT2^BW3=FJUYK7D)<NI@AQ=TY+6&:#;KH!N0%%6HC=H(W35
M"/7K FWT>X5HG:/W/UO6Z,^IT*M>]UH+O][>H%<O7J,7B-7H2\%;J:5RX2H-
M:I9SLP'JNH<B9Z!N(+M$OG>!"":^Q7S]?'/RU-S5Z1ES1,8<D<Z??\;??/S_
M?M)R]%%!);_;0NU]!W;?9I=>R89FL'3T-I0@]N"L7O[A1?BM+?#_R=F3-/AC
M&OPY[ZM/.FY;@+U5V%F94V._2E.=]OTQ]U3C8>R/HB<\P<@3S/)<MZS,6;VS
M%EAO&ATO&$7Q"95%%*:IG2H<J<+Y+($^5 I>YHA5C>![,$5B10RGJY,HBOP3
M2(O,"Z.8V#&C$3.:Q1SKUT86698,(AR=D$UE:1!Y9[YJ/(+%LV ?6E$SU0JX
M0%MV;P:RVW!\NV7Z:((Y[G@*A./3CSX5)3Z.[=#)")W,0J]YU;0*!"JHR ]4
M0(<L^5:9B0TUF5#X84B2$]:IBJ3)N0RG(VSZ&]A:*M'V;50?U+I*=SK+UAI-
M)P!!C)/30IBJ?"\,SV!Z^+$UX5G0OU4!PMH]\&3!, A.H"RB@. S3$?MTIME
M^L(5+4W*AH[0C!UAMC('KT]2Y$?>9+-;="31W_P<]V,+\V9;@SZ6I-0=^EV6
MM55;=MT^!]TD,D9-'5B9R83EC4>2F$R@+<*4G-U4WF/#\>8[SC.2?8%JL&=\
MVG((CH, G\);6E.*H_BT>MVC.Y:YX/Y%Q8[5$I6PU8;X,M8>1']G[">*-]VU
MZXXK?8GKAH6^9X,P OU^R[EZF)B;W'AS7_T'4$L#!!0    ( +Q@<EG-I=5<
MA@(  *,&   9    >&PO=V]R:W-H965T<R]S:&5E=#@W+GAM;*U574_;,!3]
M*U:&)I"V.E\4QM)(;3,T'I 0'=O#M <WN6TL'#NSW9;]^_DCS5K6(AYX27SM
M<X[OO79.LHV0CZH&T.BI85R-@EKK]@IC5=;0$#40+7"SLA"R(=J$<HE5*X%4
MCM0P'(?A$#>$\B#/W-R=S#.QTHQRN)-(K9J&R#\38&(S"J)@.W%/E[6V$SC/
M6K*$&>B']DZ:"/<J%6V *RHXDK 8!>/HJD@MW@&^4]BHG3&RE<R%>+3!334*
M0IL0,"BU52#FM88I,&:%3!J_.\V@W](2=\=;]6M7NZEE3A1,!?M!*UV/@LL
M5; @*Z;OQ>8K=/6<6[U2,.6>:--APP"5*Z5%TY%-!@WE_DV>NC[L$*+A$4+<
M$>+GA/0((>D(R6L):4=PK<:^%->'@FB29U)LD+1HHV8'KIF.;<JGW![[3$NS
M2@U/YU/!E6"T(AHJ-"&,\!+0S%VX C2A#'U$XZJB]I (0S?<WS1[9*<><&80
M#[,"G9Z<H1-$.;JEC)EUE6%M$K3;X+)+9N*3B8\D$\7H5G!=*_2%5U#M"V!3
M65]>O"UO$K^H6$ Y0$GT <5AG!Q(:/IZ>GR 7KR>'KU03=(?5N+TDF-Z5)5,
MJ)4$] V>-)HP43ZBG^.YTM)\0+\.==PKIH<5K:E<J9:4, J,:RB0:PCR]^^B
M8?CY4+?>4JQX([&]3J9])].7U,W)&-&2NHM\J&N>?>[8UCG7>7*1X?5N+SSD
M<@<2)X-/^Z#B?U T'*0]R.>.=S[?!N32V:!"I5AQ[:]Z/]L[[=@9S+/YB7%@
M;YC_9+Q]WQ*YI%PA!@LC&0XN3&G26Z(/M&B=2<R%-I;CAK7YBX"T +.^$$)O
M [M!_U_*_P)02P,$%     @ O&!R65-1$T+- @  NP<  !D   !X;"]W;W)K
M<VAE971S+W-H965T.#@N>&ULK95=;YLP%(;_BL6JJ96V\A4@[0A2FVQ:I4ZK
MFG:[F';AP$FP:FQFFZ3]][.!LC1QLUWL!FPX[\MS#O9QNN'B098 "CU6E,F)
M4RI5G[NNS$NHL#SE-3#]9LE%A96>BI4K:P&X:$45=0//B]T*$^9D:?OL1F0I
M;Q0E#&X$DDU58?%T"91O)H[O/#^X):M2F0=NEM9X!7-0]_6-T#-W<"E(!4P2
MSI" Y<2Y\,^GB8EO [X1V,BM,3*9+#A_,).K8N)X!@@HY,HX8'U;PQ0H-48:
MXU?OZ0R?-,+M\;/[IS9WG<L"2YAR^IT4JIPX8P<5L,0-5;=\\QGZ?"+CEW,J
MVRO:]+&>@_)&*E[U8DU0$=;=\6-?ARV!/WI%$/2"X%\%82\(VT0[LC:M&58X
M2P7?(&&BM9L9M+5IU3H;PLQ?G"NAWQ*M4]F4,\DI*;"" EUBBED.:-ZNGQDH
M3"AZC^9ZZ10-!<27Z"+/1:-#KPE>$$H4 8F.N\@3'7H_GZ'CHQ-TA A#=R5O
M)&:%3%VE4<T'W;S'NNRP@E>P9I"?HM!_AP(O""WRZ;_+@Y=R5Q=HJ%(P5"EH
M_<)7_/Y6@1_76H"N%%3RIRW9SGUD=S<;]5S6.(>)HW>B!+$&)WO[QH^]#[;4
M_Y/9BT*$0R'"0^[9QZJF_ D Y;S2C41BLQ=M&7<V46MC.LDZ\^,X]E)WO9W*
M?E081N:/K2V,HX%Q=)!Q!DL00O\A 6M@#=CP.H=X&R_QXF0'SQ)U%HQ#.UXT
MX$4'\:Z8KAT@A1_UPJGQ$UY0*V*T]_%X[(]V"/>#@E%T9@>,!\#X(.!758*P
M$<7[Y8B3)-A!LD1%XRBV,R4#4W*0Z8XK3'7/[[8>_;/U;)S)WJJ*DM /=SCW
MHQ+?#[P=3G>KM9IC[0L6*\(DHK#4.N\TT0:B.RJZB>)UVVT77.G>W0Y+?;J"
M, 'Z_9)S]3PQ#7PXK[/?4$L#!!0    ( +Q@<ED?(6&KT (  #0(   9
M>&PO=V]R:W-H965T<R]S:&5E=#@Y+GAM;*U6VV[;, S]%<$KAA98Z[N3=(Z!
MIMZP BM0-.WV,.Q!L9E8J"UEDIQT?S])=KQ<G* /?8E%B>?PD++)Q&O&7T0!
M(-%K55(QM@HIE]>V+;("*BRNV!*H.IDS7F&I3+ZPQ9(#S@VH*FW/<2*[PH1:
M26SV'G@2LUJ6A,(#1Z*N*LS_3J!DZ['E6IN-1[(HI-ZPDWB)%S %^;Q\X,JR
M.Y:<5$ %811QF(^M&_<ZC;2_<?A!8"VVUDAG,F/L11MW^=ARM" H(9.: :O'
M"FZA+#61DO&GY;2ZD!JXO=ZP?S6YJUQF6, M*W^27!9C:VBA'.:X+N4C6W^#
M-I]0\V6L%.87K1O?062AK!:252U8*:@(;9[XM:W#%L ]!O!:@+</"(X _!;@
MOQ40M(# 5*9)Q=0AQ1(G,6=KQ+6W8M,+4TR#5ND3JJ]]*KDZ)0HGDSN:L0K0
M$WX%@2Y1:TY O5" =@[/4Y"8E!?*ZWF:HO.S"W2&"$5/!:L%IKF(;:D$:5H[
M:X-/FN#>D>"NA^X9E85 7V@.^2Z!K3+ITO$VZ4R\DXPI9%?(=S\AS_'\'D&W
M;X=[/?#T[7#W1#9^=SF^X?./\$W51Y[7)2 V/WHSZ-=WA4)W$BKQN^\*FA!!
M?PC=5:[%$F<PME3;$,!78"4?/[B1\[FO?.])EKX3V4YI@ZZTP2GV)%7E$Y)D
M?15KD*%!ZK:Y2BZ]8#@<QO9JNQ:';F[H!T&TZY8>N@W=T3#HO';DAYW\\*1\
MU?-41Z-]ZAM@M!,O'(5[X@^]HC :!7O:#[T&;AB.^K5'G?;HI/;VW9TU;S)I
M+*E[3%\ZT4'YPFC@#/;2.?3RW)$;.'OY'+JI*PL#?R\A>ZN?5L 79BX)E+&:
MRJ87=;O=Z+LQ'7]O?Z)&8C/!_M,T\_0>\P6A I4P5Y3.U4")XLV,:@S)EJ9K
MSYA4,\ L"S76@6L'=3YG3&X,':#[HY#\ U!+ P04    " "\8')9O7BKI[P"
M   0"   &0   'AL+W=O<FMS:&5E=',O<VAE970Y,"YX;6RM5FMOVC 4_2M6
M5DVMU#9/4MI!I$(ZK=(J57UL'Z9]<),+L9K8J>U ^^]G.R&#$! ?"A+QXYSC
M<Z_A7D9+QE]%!B#1>Y%3,;8R*<LKVQ9)!@46YZP$JG9FC!=8JBF?VZ+D@%-#
M*G+;<YS0+C"A5C0R:_<\&K%*YH3"/4>B*@K,/R:0L^78<JW5P@.99U(OV-&H
MQ'-X!/E<WG,ULUN5E!1 !6$4<9B-K6OW*@XUW@!^$5B*M3'2D;PP]JHGM^G8
M<K0AR"&16@&KQP*FD.=:2-EX:S2M]DA-7!^OU+^;V%4L+UC E.6_22JSL36T
M4 HS7.7R@2U_0!//0.LE+!?F$RT;K&.AI!*2%0U9.2@(K9_XO<G#&L$-=Q"\
MAN!U"<$.@M\0_$,)04,(3&;J4$P>8BQQ-.)LB;A&*S4],,DT;!4^H?K:'R57
MNT3Q9'1+$U8 >L+O(- 9FE:< Y6G*(89J&&*,$W1S5M%Y ?:P!['(#')3Q3I
M^3%&QT<GZ @1BIXR5@E%$B-;*G_Z%#MIO$QJ+]X.+ZZ'[AB5F4 W-(5T4\!6
M@;71>:OH)MY>Q1B2<^2[I\AS/+_'T/1PNM=#CP^GNWNB\=N[\HV>?\A=_?FI
M=M&MA$+\[4MU+17T2^EB<B5*G,#84M5" %^ %7W]XH;.M[XT?:98_$EB&RD,
MVA0&^]2CYOO=E[":.#!$72P7D7MY&:A[6ZQG8AOE!T/'V43%VRC/<<.P16UX
M'[3>!WN]KWZ2?>9K9KANWKWHN)IN@\[<T+WL>-]&#9SA#NMA:SW<:_V)29SW
M^0ZW$^6J5\?X-LKWW6$'%?=H#=2[X]Q>JY4%\+GI.0(EK**R+BSM:MO6KDTU
M[ZQ/5+NKN]-_F;I7WF$^)U2@'&9*TCF_4)YXW7_JB62EJ<@O3*KZ;H:9:MG
M-4#MSQB3JXD^H/T3$/T#4$L#!!0    ( +Q@<EE&P,+WVP(  ,8(   9
M>&PO=V]R:W-H965T<R]S:&5E=#DQ+GAM;*U676_:,!3]*U963:VT-E\DH XB
ME6;3.JT2*NWV,.W!)!=B-;&9;:#]][.=D-%@$ \E$O''.<?G7EN^&6X8?Q8%
M@$0O54G%R"FD7%Z[KL@*J+"X8DN@:F;.>(6EZO*%*Y8<<&Y(5>D&GA>[%2;4
M289F;,*3(5O)DE"8<"16587YZQA*MADYOK,=>""+0NH!-QDN\0*F()^6$ZYZ
M;JN2DPJH((PB#O.1<^-?IWV--X"?!#9BIXUT)#/&GG7G+A\YGC8$)612*V#U
M6L,ME*464C;^-II.NZ0F[K:WZE]-["J6&19PR\I?))?%R!DX*(<Y7I7R@6V^
M01-/I/4R5@KSCS8-UG-0MA*250U9.:@(K=_XI<G##L&/#Q""AA!T";T#A+ A
MA*<2>@VA9S)3AV+RD&*)DR%G&\0U6JGIADFF8:OP"=7;/I5<S1+%D\D=S5@%
MZ!&_@$"7:,+9FI@M52<*O9F<O:+O*TY$3NH=.T]!8E)>*-;3-$7G9Q?H#!&*
M'@NV$ICF8NA*95 OXV:-F7%M)CA@Q@_0/:.R$.@+S2%_*^"JR-KP@FUXX^"H
M8@K9%0K]3RCP@M!BZ/9T>F"AIZ?3_2/1A.UFA48O/&6S?O]0L^A.0B7^V%)=
M2_7L4OHVN19+G,'(4=>% +X&)_GXP8^]S[8TO:=8^DYB;U+8:U/8.Z:>?(4<
M."YM":N)D2'JVW*=!$%?[?IZ-Q'[(+\?QQU4NH\:A/H$K"W.H]9Y=-3Y5&()
M-M\U+=Y9[#*(.[;W,7XX\#NN+: @.N Z;EW'Q_/-N+IZJ<UWO+_<8!!''><6
M5$]Y[UBWH*)XX-F]]UOO_:/>'YFTGY3^_DGQU:_C?!\5AOY>TBU:D7HZSMV=
M&[X"OC"54J",K:BL;\-VM"W&-Z8&=<;'JDC7-?6_3%WA[S%?$"I0"7,EZ5WU
ME2=>5\VZ(]G2U)$9DZHJF6:A/C2 :X":GS,FMQV]0/OIDOP#4$L#!!0    (
M +Q@<EE<@$1UQ04  %L@   9    >&PO=V]R:W-H965T<R]S:&5E=#DR+GAM
M;+5:;6_;-A#^*X17#"FPQ2+]FBPQD$0M%F#=@J3M, S[0$NTS54B79**TV$_
M?D=)D2Q+YF*#^1*+$N_AW:.[XYV8BXU47_2*,8.>TD3HR][*F/5YOZ^C%4NI
M/I5K)N#)0JJ4&ABJ95^O%:-Q+I0F?1($XWY*N>C-+O)[=VIV(3.3<,'N%-)9
MFE+U[9HE<G/9P[WG&_=\N3+V1G]VL:9+]L#,I_6=@E&_0HEYRH3F4B#%%I>]
M*WP>DI$5R&=\YFRCMZZ1-64NY1<[N(TO>X'5B"4L,A:"PL\CNV%)8I% CZ\E
M:*]:TPIN7S^CO\^-!V/F5+,;F?S.8[.Z[$U[*&8+FB7F7FY^9J5!N8*13'3^
M%VW*N4$/19DV,BV%08.4B^*7/I5$; D,]@F04H#L".#A'H%!*3!XJ<"P%!CF
MS!2FY#R$U-#9A9(;I.QL0+,7.9FY-)C/A7WO#T;!4PYR9G8K(IDR])$^,8U^
M1%=QS.W[H FZ%857V;=S$C)#>?(69GQZ"-')F[?H#>("?5S)3%,1ZXN^ 64L
M9#\J%[XN%B9[%L8$?9#"K#1Z)V(6-P'Z8$5E"GDVY9HX$4,6G:(!_@&1@ PZ
M%+IYN3CI$ ]?+HX=U@RJ%S/(\08O>3%__@)/T:UAJ?ZKB^H":M@-95/'N5[3
MB%WV(#=HIAY9;_;]=W@<_-1%DT^PT!-8@\)A1>'0A3[[%=(F)$@%/BR6*)%:
MHX@J]0V!8V^HZO;: G*40]JD^3@;G@7!1?]QFR+GNH=2Y FL0=&HHFAT*$40
MSFB>:9@( T.?4*08)(4=ZA![6G-59(>8&M9%I7MI:M C51P22 X :ZV4S)8K
M"*!A9_@ZX0XEW1-8@_1Q1?K8:?EGFF0%<S2!?9>*B$$R!9IA_T(G,2NNWG91
M.FYY)PY:WMF>--F=$SHU/-+^267_Q&G_;0K0X'<+E G%(KD4_!\6Y[XV9X(M
MN-$(R&&+!<NK@OR)VN-DQ5+C+6,'N,6(4Y]#7<<36(.Z:47=U$V=, Q031ZE
M4/O1Q' ('<42H <HE-:1[+YA[+[1Q=>TQ1<>M5VH/8L,6[-"IZY',G%6,7%V
M#!,TBE2V6TX4EI^U;!I/VI:W9XU(VW*G;D=:CH.Z9@N<MG_:&S;/R<.ZA(;2
MUV;UA9(IE))*,6& *4BYA=!:ZKS6ZR[>@K:?M./*K>>A@>4+K<GJ5B6,G:S>
MVQI7 */OJ!) G$8G5U&4I5D16R$P'''3F99+Y&VVA@,R'4]W^<*MU#PXFY )
MV7$OMZ;',D%J)LC_^%?,M5%\GEG#V3,=D+!A^X=.2D";.-<\YK!_=V>9<H%&
M L$VA>P2XE3D8 ?RA-:DK:[8L;.:G;TOR:D( Y;^ABW,IF4)];OA-C$K*HJX
MLT'8R=V@G8):&_B-6Y>#F7N-.AW7A3IV5^H/9L_N[I8[M+/QBA;Z0FMR5E?N
M>.2O0<0^B^<;KVBA+[0FCW4QCMW5^%%=8HG92/C3=HQZJK)+GEZC9L=UT8[=
M57L>H^A?ZW#H#TAQ>9^&/K!TSE0G13Z+[ANO:*$OM":5=1&/IQY#UU.57?+H
M$RWTA=;DL6X!L+L'N&Y_IGA1\';4^!W!ZZG&+YEZC8Z!U!T#<7<,[UD,&2[)
MFZ6]FZT;XU!/\XH6^D)K\E?W!@3[BUCBJ7HO>?2)%OI":_)8=Q;$W5D<M=F6
MF(VNJ:,9=2]],%&OT4N0NI<@[EY"+)+B$^$]B[/BB.P*.HG?%NCC1E;G+C"
MIOZ;O==)G-=S :]HH2^T)K]UQT&&'@/::Q?B%2WTA=;DL>Y"B/LK_AU3$;@@
M73+[>8 FABE!\X^V*1<\S=)]7:X;]V!.O78D)=K95L()3O&HRC<%5_VM4]>4
MJ65^>@WY3&;"%*>6U=WJA/PJ/Q?>N7^-S\/BG+N&*8[=/U"UY$*CA"T ,CB=
M@&*J.,DN!D:N\[/=N31&IOGEBE'8Z^T$>+Z0TCP/[ +5_Q/,_@-02P,$%
M  @ O&!R6:GW6Q)5!   "!   !D   !X;"]W;W)K<VAE971S+W-H965T.3,N
M>&ULK9=M;^(X$,>_BI5;G5KI:.(\IP=(+6BUE?9VJVWW[K4)!JPF,6L;:._3
MWSC0A,9.MB?M&\C#S/";&3Q_>WS@XDEN*%7HN2PJ.7$V2FVO75?F&UH2><6W
MM((W*RY*HN!6K%VY%90L:Z>R<'W/B]V2L,J9CNMG]V(ZYCM5L(K>"R1W94G$
MRRTM^&'B8.?UP3>VWBC]P)V.MV1-'ZCZOKT7<.<V49:LI)5DO$*"KB;.#;Z>
MX4P[U!9_,WJ09]=(I[+@_$G?W"TGCJ>):$%SI4,0^-K3&2T*'0DX?IR".LUO
M:L?SZ]?H'^OD(9D%D73&BW_84FTF3NJ@)5V17:&^\<,G>DHHTO%R7LCZ$QU.
MMIZ#\IU4O#PY T')JN,W>3X5XLP!AST._LG!?Z]#<'((ZD2/9'5:<Z+(="SX
M 0EM#='T15V;VANR895NXX,2\):!GYK>53DO*7HDSU2B$9KQ2O*"+8FB2S2G
M*RH$7,!;=",E51)=?&9DP0JF&)67Z&).%6'%)7A^?YBCBP^7Z -B%7K<\)TD
MU5*.7060^J?<_ 1T>P3R>X#F-+]" ?X#^9X?6-QG[W?WW[J[4)JF/GY3'[^.
M%_3&.]5 00U(78-K6U+'**$]BEZ+UW)+<CIQ8+%)*O;4F?[^&XZ]/VTI_J)@
M;Q(.FH2#H>C3!\7SIY%>&4L$?PT8%Y+4"XX^ZVMJ2_X8,:HCZKFQGT;8]\;N
M_CPIBU&@.[RWP(8-;#@(^W5+!=!5:U10(+;^W8X1XK/?#;S$3SIT%BL<Q:$=
M+VKPHD&\&=DR10KV+]12=XJ(?(-@6<"<V<, W<(X5#;DR(#!212G'633*L.>
M;R>.&^)XD/BNV@,3%R\VK-C$\G" .UBF592E/7U.&JQD$.L+Z!EO>\VE1#D1
MX@5D[$"$?<PD!D<2A]T:FD99ZJ5VV+2!30=A;W<2G@"B'ADYS ZF?DZ;FE6+
MC-*:1GX<9';:K*'-AI>0VE!A(\K,^GEQT"$RC6(OQG8B[+6:Y TR/7)8-5J,
MNZ/7*B>>P9 &2=KMM,4L\<+4ZV$]TT\\R/H9.GV-]J38'<<D*6!G1*K<.BA/
ML<XA1L:@M!GAGB[C5L?PH&K42^B]%?5M%37FC\4,*MK;_5: </!^R2W:[895
M=_&@FOU?X?U5T=YFWJH9'I:SC^P9TAYHC*E2(YPD..YVQF:79G'4TYI6S_"P
MH-WD/W9,MX95BE1KMBCH$*ZI4*,H#>.N]MKLP@@G?6NS%3,\K&:=[0$2>D^/
M^ KMY""W*6$C&+1)=_A9[=(PC7NX6[7#PW(WIPM8K$SF?&??(&!3MV!$P,FM
M2VC:]16U53<\+&^6X7RV2*VTIFZ-L _;*[^+:S',_-CO&RFMQN%AD3LR5]T1
M^#/NS-BRCH(DR<(NML7.]V$J=+#=LV.:/B/_1<2:51+^G"MP]*X2B"".Q\[C
MC>+;^N2VX K.@?7E!H[J5&@#>+_B7+W>Z,-@<_B?_@=02P,$%     @ O&!R
M64]T:=%O!P  ^R4  !D   !X;"]W;W)K<VAE971S+W-H965T.30N>&ULK5IM
M;]LV$/XKA/>"%%ALD91D.TL"-%:#!6BQ(FFV#\,^*!8=:Y4E3Z+C]-^/E!31
M(H]4TKD%6LM^[GP/[\A[3M;YOBB_5FO&.'K>9'EU,5ISOCV;3*KEFFWB:EQL
M62X^617E)N;BLGR<5-N2Q4EMM,DFQ//"R29.\]'E>?W>Y_+RO-CQ+,W9YQ)5
MN\TF+K]=L:S87XSPZ.6-V_1QS>4;D\OS;?S([AB_WWXNQ=6D\Y*D&Y97:9&C
MDJTN1N_Q6>1[TJ!&_)&R?77P&DDJ#T7Q55[<)!<C3T;$,K;DTD4L_GMB"Y9E
MTI.(X]_6Z:C[3FEX^/K%^W5-7I!YB"NV*+(_TX2O+T:S$4K8*MYE_+;8_\9:
M0H'TMRRRJOX7[5NL-T++7<6+36LL(MBD>?-__-PNQ($!#BT&I#4@NH%O,:"M
M 7VM@=\:^/7*-%3J=8AB'E^>E\4>E1(MO,D7]6+6UH)^FLN\W_%2?)H*.WYY
MDR^+#4-?XF=6H5-TRY9%ODRS-*ZS4JS0-4M8&6?HCL=\QXOR&[J-.4.\0!]6
M*U9G#2DGS8<G$>-QFKT3#N_O(G3RXSOT(TIS]&5=[*HX3ZKS"1>QRP@FRS;.
MJR9.8HD3$_2IR/FZ0A_RA"5]!Q-!NF-.7IA?$:?'B"W'B.)?$/$(!0):O-Z<
M .;1Z\VQ@PWM\DAK?W0PCTT*M$3^]5'@T0UGF^IO:/$;YS[L7)X]9]4V7K*+
MD3A<*E8^L='ESS_@T/L56KAC.HN.Y*RWJ'ZWJ+[+^\NB/C!QOC)1P/45EUL%
M6L/&5U#[DL?MTV403KWI^>3I<'%,%,%S['M]6&3"<$ #GW:P'J&@(Q0X"7UX
MWHHMRQ)) L4<5=VF+D710*0:?^%A'")<+=J%B?)#C^B<3!0EQ)_"E,*.4N@L
M_/?)/^*4%)V(5RC9R8/I#.(1'K/ C^DL.I*SWN)-N\6;.NLA2L497K)\*8N<
M[QG+T?WX;HS$&8UDS:>/N2P5:$&G9F%XTYE6%Q"(^%I9F*" >G!1S#I>,R<O
MV:P.-RQ$8&;&1O38%B:(!MY<(P!X\D,",YAW#.9.!E>[2KQ35?5.798L23EX
MZ,R-[S[U T(T&@ JP%3G : (.4#UB&!/*0QO(!G%\NNI%&<)$@D1BK5JFA)[
MEJ_!8Z=UV8_%#['&"X(%(=7*,()@<\^W,3O03MC)K-XK(D&=6'K9,RPN\S1_
MA'4.!NI]KA,S03.JLS(QMGV#B:)$G)2N&P:G0O0)99>(/<3C_#%]R%ZV$TB)
M&)'H'0* G :>3W1. (P$MAZ!E3K"3IT@&A];[FJM>EB!(!<*K.I,/Q< 5.#[
M6&<#^*)S&QFE2K!;EBR$$!;5)5J>8",F,"G0K71\<T%#'^L'! CSJ%%R)@P3
M:CGJL%(EV"U+/A;BH*L/!,EKEU9KV<_EADK8 P=IF5J"A-3(DHG2-8D3TJ>C
M% EV]FRA[1\X2M)J6>QR./K07,8P#(P]8\*,\%V0?OA*$V"W*+A^.<2>EVNQ
M]QG*1'I &F;G%@UCIHL  &;0<$'Z-)0$P&X-<"]432G&T%K!H&U9/*7R9@7,
M!&CA8:#S,$%$+[D( )WZ-MF.E1K ;CFP:#(AR#S%V:[I-W&6%?M8L 09F<W<
M*"^@WX=Z]B((Y<]@/D1I N+6!+>,[\I<WD7H$H-BI>0A1@1HXI@$>I8@F#_7
M64&HP%)R1.D!XM8#O_,U*\'8S58]->H+ )W.]08)>;)U?:*Z/G%W_2\%CS,P
M< *,J^*/'KH)HQ3/]'X(>0O$7TOXJKN3H>[^UK&V=3@_W!YC8M!Z#2H:0O5)
MJ2Y/_&,,ML2I%=XZV1[56W0L;_T55+*"N&7%_YAN6\]R<#A(JH=UG6[!>8%>
M(Q:<I3$0I36(6VOT)MV:6"E:PCJMK'-OZU /Q9@9+3@<ZM1"H/P]6_DK%4+<
M*N2U _" FY.96.6?WH&U/F!)QA2VC(8L\3@P+/O+H%0,&;J3\?;A><#EB6\C
MMABR)./0MB0#EL%X/K D2@L1MQ;ZKJF[]6FMTI8_@-++W07IW[I7:HBZU=!W
M#=VM3T>LBX&O=53XD"4>3]WII$HT4;=H>OUHWCK23Z1 '_LL.*(?RC:<18]0
M):>H6TZ]94 ?<'6"L76W#IF2\<R67@*W(XNNIP>_0KF5V-LG^=:A'HH?ZDD%
M5):>3Q>D3TBI,.J^US(XR[?V6OQD;A2E/QR_"]*/7VD@ZM9 KQ[F!_R(IF'K
MHZVEDYD+TF>FE ]U*Y^WS/<4UC(>U9-DP>F2?R"T$P_8LWV:2@=1MYAX\^3?
M^G/VA0'] H7?$G<Y[S-4$H>ZM<%WW L8\"A./F(KU@%+SV89M9:OH:ZD#'5+
M&>L-@];.$-^Z2*?#@L7BZF!$Z?\VKE2+[Q8!-]W/:RIQX._B'A0 G>I<8!P.
M],UGP86^1FAR\%3,AI6/]=-%%:I/\N8QD>[=[@FF]_5S.]K[5_@L:IY#4FZ:
MQZ(^Q>5CFE<H8ROATAM/Q3E7-D\:-1>\V-;/WCP4G!>;^N6:Q4(/2(#X?%44
M_.5"?D'WO-?E?U!+ P04    " "\8')9')\Z\9<"  #!!P  &0   'AL+W=O
M<FMS:&5E=',O<VAE970Y-2YX;6RU5=MNVS ,_17! X8-Z.I+TB3KD@!-+VB!
M%0B:=7L8]J#83*S5ECR)KM._'R4[;@JD+C8@+[(N/$>'I$6.*Z4?3 J ;)-G
MTDR\%+$X]7T3IY!S<ZP*D'2R4CKG2$N]]DVA@2<.E&=^% 0#/^=">M.QVYOK
MZ5B5F D)<\U,F>=</\T@4]7$"[WMQIU8IV@W_.FXX&M8 -X7<TTKOV5)1 [2
M""69AM7$.PM/9R-K[PR^"ZC,SIQ93Y9*/=C%33+Q BL(,HC1,G#Z/,(Y9)DE
M(AE_&DZOO=("=^=;]BOG._FRY ;.5?9#))A.O)''$ECQ,L,[55U#X\^)Y8M5
M9MS(JL8V\%A<&E1Y R8%N9#UEV^:..P >J\!H@80.=WU14[E!4<^'6M5,6VM
MB<U.G*L.3>*$M$E9H*9303B<WLA8Y<"^\0T8]HDMZMPPM;);[ ZPU-*P.6BA
M$D/'R]\43H:*76XXR>$NM,LG=@4):)X=L05R!,9EPBAJ%!/IB,Y*3)46*.B6
M#Q> 7&0?QSZ2 U:&'S=B9[78Z!6Q8<1NE<34L$N90/*2P"?/6_>CK?NSJ)/Q
M N)CU@N/6!1$O0Z^7AO.GN/KO\)W+P5"4@?!['.P$VY?X*DI> P3CYZ8 ?T(
MWO3]NW 0?.D0UV_%]1U[[\U<O\C>SZ]DQVX0<O-KG^3^ 22?M))/.N-Y)4S,
M,_8$W!:2]N>#9_G[%'=S1D'XV>8[L$-HA^BM] ]:N8-.ZD5%SV"OI$[<?P9Q
MV*H:'B+OPP-('K621P?(>S<GY7W$_B7Y_DY9S4&O7?,P+%:EQ+K"MKMM?SJK
MR_*S>=W<;KE>"RJD&:P(&AP/Z1?5=<.H%Z@*5Z27"JGDNVE*/1:T-:#SE5*X
M7=@+VJX]_0M02P,$%     @ O&!R6?B XYM# P  DPD  !D   !X;"]W;W)K
M<VAE971S+W-H965T.38N>&ULK99K3]LP%(;_BI6A"20@;=*FA;61:-D%:4B(
MR_9AV@<W.4TL'#NS70K[]3MV0BAM6FT3$J*V<\[Q^[R)+Z.E5/<Z!S#DL>!"
MC[W<F/+4]W620T'UL2Q!X).Y5 4UV%69KTL%-'5)!?>#3B?R"\J$%X_<V)6*
M1W)A.!-PI8A>% 553Q/@<CGVNM[SP#7+<F,'_'A4T@QNP-R55PI[?E,E904(
MS:0@"N9C[ZQ[.AW:>!?PC<%2K[2))9E)>6\[%^G8ZUA!P"$QM@+%GP>8 N>V
M$,KX5=?TFBEMXFK[N?HGQXXL,ZIA*OEWEII\[ T]DL*<+KBYELLO4//T;;U$
M<NW^DV4=V_%(LM!&%G4R*BB8J'[I8^W#2D(WVI(0U G!>D)O2T)8)X0.M%+F
ML,ZIH?%(R251-AJKV8;SQF4C#1/V+=X8A4\9YIGX0B2R ')+'T&3(W(-B10)
MXXPZD^6<W F%8YE@OR&U860" N;,:+)_#H8R?H!I=S?G9'_O@.P1)LAM+A>:
MBE2/?(,*[3Q^4JN95&J"+6JZ ;F4PN2:?!0II*\+^(C6\ 7/?)-@9\5S2(Y)
MV#TD02<(6P1-_SX]V"$G;.P.7;UP2[T;AD[.64*%(=.<B@RL8]L]9AI?"=52
MT!E_(E=2:S;C0'Y\Q;KDPD"A?[:Y7(GHM8NP&\.I+FD"8P]7O@;U %[\_ETW
MZGQH<^B-BKWRJ]?XU=M5/9Y03D4"]D/,%-*3Q:I5!JV:U58=8BMC0C"1V>@2
M%)-IFS?5A'TWH=WC'N+@Y"0:^0^KS"U!@^%+T"N6?L/2W\GRV0'00BX$OEG4
MR$2"&Z_&A8??P%8P0O$/-TR-&Y/-LL]*J9E=H!I[]R!LOLD!]PNE +^L[?"5
MPFB%JSL8KK&WQ/2VH$<->O1OZ"F\,7J)Q&H'>+0!U0_7N#=#HEX[]J#!'OP?
M-DD70(Q$-&Z[;8('&VJ.ANMO:C.FTRYXV @>OMER Y'N7FC#C344=L.3-83-
MH%>KL:+P5\ZW E3FCGU-$NMK=10TH\W-XLP=J&OC$[QQ5!>$ES+5=>62*MP]
M-.$PQY*=XP%*4M45H.H86;I3="8-GLFNF>.M"90-P.=S*<USQT[0W,/B/U!+
M P04    " "\8')9!+Q(& \*  "D;   &0   'AL+W=O<FMS:&5E=',O<VAE
M970Y-RYX;6RUG5MSV[@9AO\*1MUMDQFO18(ZIK9G$O$\39IQUMV+3B]H"9(X
MD4@%H.RDO[[@P:)X$$)N7^<BEFA\#T#Z_4"0+PC>/,?\J]@REI#O^UTD;@?;
M)#F\&P[%<LOV@;B.#RR2OUG'?!\D\BO?#,6!LV"5!>UW0ZIID^$^"*/!W4VV
M[3._NXF/R2Z,V&=.Q'&_#_B/#VP7/]\.],'+AOMPLTW2#<.[FT.P85]8\G#X
MS.6WX8FR"O<L$F$<$<[6MX/W^CO?F*0!68E_A>Q9G'TFZ:X\QO'7](NWNAUH
M:8O8CBV3%!'('T]LP7:[E"3;\:V #DYUIH'GGU_H=K;S<F<> \$6\>Z/<)5L
M;P>S 5FQ=7#<)??QL\N*'1JGO&6\$]G_Y+DHJPW(\BB2>%\$RQ;LPRC_&7PO
M#L19@.2T!] B@-8"Z*4 HP@PZC6,+@2,BH!1UX!Q$3#N&C I B9= Z9%P+1K
MP*P(F-4#C L!\R)@WK4&77OYRVF9@O(_>:87,TB"NQL>/Q.>EI>\]$,FNBQ>
MRB2,TOSXDG#YVU#&)7=?DGCY=1OO5HR+OQ'KVS%,?I#?R/O5*DSU&^R(%^59
MF*KYC<F2(-R]E24>OICDS2]OR2]D2,0VX$R0,"(/49B(*[E1?OY]&Q]%$*W$
MS3"1+4WK&RZ+5GW(6T4OM$HG'^,HV0IB12NV:HE?_"2>*@!#>8A.QXF^'*</
M5$DTV?*:&/H5H1HUVAKT_X6;W<-I2[C5/5QO";<[A-/YQ<8['<+UT<5PMT.X
M-KD8[JG#/P8_5 ?>[WSD])E"1L8IW8R,9W1(MY=L^Q0GC)BA6.YB<>2,_/L?
M,HAX"=N+_[2E3E[#J+V&]'SZ3AR");L=R!.F8/R)#>[^^A=]HOV]3;9(F(F$
M64B8C80Y2)B+A'E(F ^"5?)D=,J3D8I^MXCW>WF^$6FZ7)W.+T(<6\\&'W+8
M)(.E(\*GN_%X.IEH4YFS3^=R[UK0;"N8%IW7"EK*_>@K4R3,0<)<),Q#PGP0
MK"+3\4FF8Z5,L^[\MW1\OB++>"\O6D0V4&K3J)+4M]O.8>,S>5*ISG%-Q"VE
MIH8^J2FXK=18TZJE;&3S'23,1<(\),P'P2K2G)RD.5%*\_UFP]DFD$.+,$IX
M*"]HE^0IV!T9B==YOTKB0ZI50=AWQI>A:.]:E;7TE>VD(;7QK*XTLUE('^GU
M4E:S%-6,AFJ1K7>0,!<)\Y P'P2KJ'9Z4NU4J=H_LOL9LC<-GA@/-HQL>! E
M9)7J>!V$_$S"Z9B@Z'J#YX"O1%ZV7<7*6ONJ.(=-SZ0W&UT;TYJ,6TI-KT?:
MV3^])NF6B-FUIE^.L)&[Y2!A+A+F(6$^"%:1]^PD[YE2WK_'2;"K"[G2%S\Q
M<4'"2G)?"<\:O>=HVNB(FX6,9C_<4DAK=,/(MCM(F(N$>4B8#X)5=#H_Z73>
M0:?'B+-EO(G"_]:&M_*+2-HT.F^(86(T3O"+3J5,90O[WDQ PFPDS$'"7"3,
M0\)\$*RB9ETK;W)K2CT_*)5\19[KPP[.4F\IC#;RT[=C*$(Y_DB;%2X9.3 >
MQJU=M+H5??OHG^P3)3]8P 71-;+/[W53.4[ZT7:WW80VS(+2;"C-@=)<*,V#
MTGP4K9I29[Z1KI3?I^/^D?%T '.,\D'+:0P31"N9-D)>=2[3S?D YY@Z0ZU)
MHS=NM5%]-IY-C=IIHVM!4]WRWFI'TFPHS8'27"C-@])\%*VJ=EJJG:KOICR%
M2;ABK?I51O;N])$T$TJSH#0;2G.@-!=*\Z T'T6K9D)I8.JO[V#J4 L32C.A
M- M*LZ$T!TISH30/2O-1M&K*E%ZF#C4SU;3>V8&DF5":!:794)H#I;E0FJ<W
MW>D1G=#:W6$?56E5]J4WJJO-42O@47Q,Y"5V).38B><7W/*:-;J@>ZA#"J69
M4)H%I=E0F@.EN5":5]#F9[K7KL=UU;^&ZZJ7MJNN]EW3B6+D\RYHG0.@CNTM
M<23-A-(L*,V&TAPHS872/"C-1]&JN5":N?KT]:\5H-8ME&9":1:49D-I#I3F
M0FD>E.:C:-64*0UB7>T0GU\KO%PJ%/6LR#KFQ)/7#4&T;+\5!?6(H3032K.@
M-!M*<Z T%TKSH#2_H%7NR$^GLW/_OYH&I?^LJPUH3RH\2I^<>C$5KK*9$:DA
MI[#?YHWFZ).I/M+JLX"[%C35K>PM6J@+#:4Y4)H+I7E0FH^B51\C*JUHJK9M
M[TMC+!L>Y8],D3?W7Q[$VS95JWE].W4HS832+"C-AM(<*,V%TCPHS4?1JOE1
M^LI4?_5K!HJT'A=0F@FE65":#:4Y4)H+I7E0FH^B55.F-*>IVIQ>R+3(1D8\
MG9X4K],93J>+B-;\@%K64)H)I5E0FEW0SF=HZ]/Y=6W4Z$ K=:$T#TKS4;2J
M\$LOFBJ-N[N'EYE'_\PO$EJU#O6:H3032K.@-!M*<Z T%TKSH#0?1:NF1.DU
MT]'K#Y^@!C249D)I%I1F0VD.E.9":1Z4YJ-HU90I?6JJ]JG_U+TF-;-WCJA;
M.,ZG>K?F ]28AM)L*,V!TEPHS8/2?!2MF@^E@TW5#O:%.U3IK.[/C&>+ <F,
M.?]=:X) K6XHS832+"C-AM(<*,V%TCPHS4?1JDE36MWT]:UN"K6ZH3032K.@
M-!M*<Z T%TKSH#0?1:NF3&EU4[75K5RA@K<^/Z1X/%I=6>_D:7FL>=Q\0IHV
M#="1,6\\(]U6;-)<8@6Z"PZ4YD)I'I3FHVA5'9=>->WRL/3%A2KZ*QEI=RYH
M\VEK.J%-);<4HPW!6RW%]*;@;>@N.%":"Z5Y4)J/HE77)BR]:4/M3>O7FO8K
M6<31$^-)^+B3@WP6A3'/1C*"K*2@J49G;:)5D_N*%DHSH30+2K.A- =*<Z$T
M#TKS4;1JII0NM?'Z+K4!=:FA-!-*LZ T&TISH#072O.@-!]%JZ9,Z5(;:I?Z
M$TO(@<=+QE:"K'F\)X?CXTZ.^>/UFLGA_Z8U1VASO#$:-5:445?=6_Q0"QI*
MLZ$T!TISH30/2O-1M*KXSY9]5CO5]^QPY,MM(!KS,\B;,"HF>K=._RO Y]>.
M<ZK-&QF 7<@9NY(S=BEG[%K.V,6<L:LY8Y=S?@UCVBB-:4/IXO6?I%3P*I-M
MQI/K=/W[JO*[E3/5[>NM::AS#*4Y4)I;T&;UXUL]O!ZT4A]%JXJUM(2-GZSK
MG/;'A)>==K"/CU'KDG=&VU+,C140%]V*F>IV]18IU,Z%TAPHS872/"C-1]&J
M6B[M7*/K0M"RZXV6X2'8J>3<7%=YDBT]6]=SMW*FNG&]!0VU6J$TI^6(T+G6
M6##5A=;J06D^BI9+=7CV6J(]XYOL-5A"GOBE]O(W[YRVGEZU]3Y[P51M^T)_
M9^4OS"HQ^?N[/@9\$T:"[-A:(K7KJ3S\/'\E5OXEB0_9RX\>XR2)]]G'+0M6
MC*<%Y._7<9R\?$DK.+V8[.Y_4$L#!!0    ( +Q@<EF82C5(Q0,  ,H1   9
M    >&PO=V]R:W-H965T<R]S:&5E=#DX+GAM;,U8VV[C-A#]%4*[V N01#=+
MMK.V@3A*T06Z0!!WVX>B#XPTMHA(I):D[:1?7Y)2%,M1A 3@0UXLDIHYFC/#
MH6<XVS-^)W( B>[+@HJYDTM9G;NN2',HL3AC%5#U9LUXB:6:\HTK*@XX,TIE
MX0:>%[LE)M19S,S:-5_,V%86A,(U1V);EI@_+*%@^[GC.X\+-V232[W@+F85
MWL *Y,_JFJN9VZ)DI 0J"*.(PWKN7/CGB1]J!2/Q%X&].!@C3>66L3L]^9[-
M'4];! 6D4D-@]=C!)12%1E)V_&I G?:;6O%P_(C^FR&OR-QB 9>L^)MD,I\[
M$P=EL,;;0MZP_>_0$(HT7LH*87[1OI'U')1NA61EHZPL* FMG_B^<<2!@A^_
MH! T"L&QPN@%A;!1"%^K,&H41L8S-17CAP1+O)AQMD=<2RLT/3#.--J*/J$Z
M[BO)U5NB].1B)5EZE[,B RX^HZM?6R(?T"DRRZ=+Y= ,7;)2[3*!39RN[O48
MT)<$)";%5R7[<Y6@+Q^_HH^(4/1GSK8"TTS,7*G,TQ]QT\:496U*\((I?H!^
M,"IS@:YH!ED7P%6\6G+!([EE,(B80'J&0O\$!5X0]AAT^7KUH$<]>;VZ/\ F
M;$,5&KSP!;RKLBK8 P!: =^15#USS.'T]EF03M!%4;"T#AA;HQM(V8:2_Y38
M-7#"M+20 OWSA_H"^BZA%/_VA:LV9]1OCCZ0SD6%4Y@[ZL01RB9P%I\^^+'W
MK<_5-L$22V"=,(S:,(R&T.N,:;R>'GB]SX,U4F20] F\6P11-(YF[N[0-3U2
MX]"/NU))GU3D>:U4ATS4DHD&R>B-H+=(Q5FV3:4ZR7= M]#'91#HK;O!)EAB
M":SCP+AU8/R^DC*V&0:;8(DEL$X8QFT8QM:2LD:*#Q+)GX;A44X^%PJBX"AQ
MDQXA<]3W9>2D93(99'*C?(-YFB/U)ZH*F)VJS"I59\D^)H-(;]T+-L$22V =
M#TY;#T[?5TI.;8;!)EAB":P3!M][*BT]:TG90'5R:1(=_U/V2<6Z-NND93]6
MW)^7_D&E[ _34<T)H9L3M $*'!<F0W&FBG(B),>Z?^EE-HCZUNUA%2VQA=;U
M:/#DT>!]96ICCZU8V$1+;*%U8_'47/B#1?/;DC5\7HMZX\GX.%M[Q (_GAZG
M:Y]8'(1'^>H>-+DE\(VY+!#*UBV5=4O8KK87$A>F#3]:7^J+"M,\/\'4MQP_
M,-\0*E !:P7IG8V53;R^.*@GDE6FE;YE4C7F9I@#5KVS%E#OUXS)QXG^0'M]
ML_@?4$L#!!0    ( +Q@<ED5_"1IX@,  .@1   9    >&PO=V]R:W-H965T
M<R]S:&5E=#DY+GAM;,5846_B.!#^*U96NNU*VR8."8$N(%'2U:UTE:I6=_MP
MV@>7#,1J$K.V@?+OSW9H(,A)V6ND?2FV,_-YOL\>=^S1EO%GD0)(]))GA1@[
MJ92K:]<5\Q1R(J[8"@KU9<%X3J3J\J4K5AQ(8ISRS/4]K^_FA!;.9&3&[OED
MQ-8RHP7<<R36>4[X[@8RMAT[V'D=>*#+5.H!=S):D24\@OQ[=<]5SZU0$II#
M(2@K$(?%V)GBZQ@'VL%8_$-A*X[:2%-Y8NQ9=[XE8\?3$4$&<ZDAB/K9P RR
M3".I.'[N09UJ3NUXW'Y%_VK(*S)/1,",9=]I(M.Q,W!0 @NRSN0#V_X)>T*A
MQINS3)B_:%O:1D,'S=="LGSOK"+(:5'^DI>]$$<.?M#@X.\=_!,''#4X]/8.
MO7,=@KV#D=HMJ1@=8B+)9,39%G%MK=!TPXAIO!5]6NAU?Y1<?:7*3TX>)9L_
MIRQ+@(N/Z/;GFLH=ND2W0E(E*B3HNU%.-:8;X&HGH*E0>V2E%TV@BQ@DH=FG
MD2M5+!K1G>_GO2GG]1OFQ3ZZ8X5,!;HM$DCJ *XB43'Q7YG<^*V(,<RO4 ]_
M1K[G]RP!S<YW]RWN\?GNN(5-KUJ7GL'K-:U+2CA<ZAV=H!G+59H+8A)ERCDI
MEJ!23Z*G'3JVNR<[,SS=$IZ@?_]2D.B;A%S\L*U/.7]@GU\?-]=B1>8P=M1Y
M(H!OP)G\\0'WO2\V;;L$BSL"J^D>5+H';>B3VY>5.I&4F!N6*<$SG0X71O%/
MGW7^T7R=V]0L4;%G8/5ANYEX5T$0#4;NYE@HNQT.@KI=W( 71I5=C5Y8T0O?
M08^\--$+K>'TPU-Z=KO>L']"SVX7^@WT^A6]?BN]!RJ>+Q<< -%"@MH=$G%U
MBK6N7-\6BM<+3T*>V>WPX)2:W<Z+&JA%%;7H?U)K7K7(&DH0X1-J#79>=$+-
M;H>]!FJ#BMK@O$V9T U-H$C0CD*6V!B50,/C $ZXO&D1MUG4XA]6\0];X[]K
MWERMCK]ZR'8)%G<$5A,,>X>JP_O-_][V 70D?:=H<5=H=?&/2CY\7KZI<R1'
M%[1 .R!<V*NX=JBP=$48Y;J:4]4/2LA.6"4\#ZE?(MD@XG=!U,7R#V+Y[<G=
M?+RV>_[R%NL2+>X*K:[:H7K%O[M\Q9W6KYVBQ5VAU<4_E+#XS!KVG/QNA^J_
MG96S]T/$;T+H0P6I.V/*UMR:U^[1%3@'OC1/"0+-V;J0Y1VR&JV>*Z;FDGXR
M?J.?,<S5^@!3OH'<$;ZDZM*;P4)!>E>1*F)Y^:Q0=B1;F8OV$Y/JVFZ:*1!U
ML]8&ZON",?G:T1-4CSN3_P!02P,$%     @ O&!R65^$*: '!0  GQ,  !H
M  !X;"]W;W)K<VAE971S+W-H965T,3 P+GAM;+68;7.;.!#'OXK&U[MK9QJ#
M!,8XYW@F<7)W?=%IING#BYM[H<#:Y@K(E82=S/3#WTI@<&(,Z9-?&!#LZK<K
M:?^@Z5;(3VH%H,E=EN;J;+#2>GWJ."I:0<;54*PAQSL+(3.N\5(N';66P&-K
ME*4.<]W R7B2#V93VW8M9U-1Z#3)X5H25609E_<7D(KMV8 .=@UOD^5*FP9G
M-EWS)=R ?K^^EGCEU%[B)(-<)2(G$A9G@W-Z.F>^,;!/?$A@J_;.B0GE5HA/
MYN)5?#9P#1&D$&GC@N-A W-(4^,).3Y73@=UG\9P_WSG_4\;/ 9SRQ7,1?HQ
MB?7J;! .2 P+7J3ZK=C^#55 (^,O$JFR_V1;/>L.2%0H+;+*& FR)"^/_*Y*
MQ)Z!?\R 50;LD0'UCAAXE8%G RW);%B77//95(HMD>9I]&9.;&ZL-4:3Y&88
M;[3$NPG:Z=F-%M&GE4ACD.IW<O6Y2/0].2$WY:@2L2!OUC;?YR;?YN;S2] \
M25^09\0A:L4E*)+DY'V>:/42&_'\W4H4BN>QFCH:&4U/3E3Q7)0\[ @/9>2U
MR/5*D:L\AOBA P>#JR-DNP@O6*?'2XB&Q*,O"7.91][?7)+GSQ[ EX>.GKPZ
MEY[MR3O24YDI1=X46FD,/\F7;0DHG?CM3LRR/55K'L'9 ->E KF!P>RW7VC@
M_M&!Z->(?I?W&E$TB(1K@CF"[!;D+D^,?-EEYTMK?LI(RKX"VY>I%YM9X$XF
MP6CJ;%H81S7CJ)/Q+\ES#?'3$$8'"!/7<X\0!#5!T$EP=0<R2M13&8(#AA/?
M992V0XQKB'$G!%:I!228" ?NUHG$8\3S".N=Q;KIQQH?8E%WPB;M6&&-%?Z(
M&>0]+77AX0SR)]1SVQDG->/D28Q0CB._3>$[&"<'C%[@^[[7SDC=IO*ZG90?
M0)EICCE$T#7*&EYH03;8_!VT5:</4NJ-0L^O<>US\QZX?^B_'>6&[LD+[:R)
M'ZV.0GQRO@&)[P5DM[;(M4PB_,< [5QNC87^A%))6</.?E2Q;.2D-8ZRG_'>
MF(SI<.Q-]GY'9E.C/;13-_:J9@]+Z8:R/1@:A$/&CA TTD*[M66_:O8P^(<,
M+!B.@R,(C7+0;NGHKID]4*.6Q(23H7^,JE$3VBTG7U$R>Q"#0\1P-)R,CQ V
M4D.[M>8K"F8/X?B0,!@-1\>*9:,ZM%MVOJ%8]I"&!VL24^F'K6NR*IG=B#TE
MLQ$O.OFZDOD6S/>8F35S?#66^.53\)2\ YF1Y_BV?0]<JA>M,7;*Y#?63]8(
M'/NQ M<60D\7HS)Z,B99^=7 2,SOVP9\WN.I>_18(WBL6_#.ETL)2ZZ!O,*Q
M2O![-R(?>%JT"AS[&0+'&H%CW0)W,$#]:ZHUBK*7T?Z:IV$8/EH^/3 ] V"$
M\&%+(TRL6YC0,ZXAF\%<*Z)70/+"1H:?MYLR!Z*J@%R9QL/0UVGQV++(']D>
M3O)V9R_MQ@/:Y=9CXV=/'VJ>MG'@\7^%M5@(2= VR7AU9=2OD$ D-MC.0_*K
M?8ION8P5659O"4B8B_P$ZWU4F'T4DL(&4@+9.A7W@*9F3GA';8_:#=N&T-G;
MGLA +NVNC2*1*')=?A;6K?7.T+G=#WG4?D%/Y[2MG9W.VYX_9Q[>\%KO^+O-
M)Z=!*K>N7G.YQ'6+H2T0SQV.<6++<C>HO-!B;3=4;H76(K.G*^ Q2/, WE\(
MH7<7IH-Z3V[V/U!+ P04    " "\8')94DX@-9 "  !9!P  &@   'AL+W=O
M<FMS:&5E=',O<VAE970Q,#$N>&ULQ55;;],P%/XK1T&"(=$F37H9HXVT2X%)
M ZI5P /BP4U.&FM.G-FG[?KOL9TL*JBM-,3$2^++.9^_S^?B\4:J.YTC$CP4
MHM03+R>JSGQ?)SD63'=EA:79R:0J&)FI6OJZ4LA2YU0(/PR"H5\P7GKQV*W-
M5#R6*Q*\Q)D"O2H*IK87*.1FXO6\QX5;OLS)+OCQN&)+G"-]K6;*S/P6)>4%
MEIK+$A1F$^^\=W8QLO;.X!O'C=X9@U6RD/+.3J[3B1=80B@P(8O S&^-ERB$
M!3(T[AM,KSW2.NZ.']'?.^U&RX)IO)3B.T\IGWBG'J28L96@6[GYB(V>@<5+
MI-#N"YO&-O @66F21>-L&!2\K/_LH;F''8=>_X!#V#B$CG=]D&-YQ8C%8R4W
MH*RU0;,#)]5Y&W*\M$&9DS*[W/A1/">9W.52I*CT*YC>KSAMH0/S.D8@,_A2
MN>L[M]=G-T]F3&%).1)/F'@-)U=(C)M!!Z9%)>06$1QJXSGVR?"TI_E)P^FB
MYA0>X'2%21>BWAL(@S#ZW=TW\EJ-8:LQ='C] WCG&Z92#1\4*PE3( F?9=F9
M/F"RLBD!-[A&T9+7^P@?/< 6SIFN6((3SU2&1K5&+W[YHC<,WAVA'[7T(X<>
M'0I1;BZ\8U,OA4M9F'+4K Z),HJ6:$J$8+&%7;L9V[IE)QU^W!A(N"8L],]]
MZJ)G4-=OU?6/!F>JB9OB,IQ-A\F0TTHA*+.P-PXUUEN'9?O-.@ZZP>G87^]A
M,&@9#)Z8'D]*C:/@?WEYPY;Z\#^GQO 9U(U:=:-_F!JC?:D1_9$:_DZGM(_.
M)Z:6O-0@,#-N07=DHJGJ1EY/2%:N>2XDF5;LAKEY^U!9 [.?24F/$]N/V]<T
M_@502P,$%     @ O&!R6<&-K01>!   (P\  !H   !X;"]W;W)K<VAE971S
M+W-H965T,3 R+GAM;+677V_C-@S OXK@_;L!;6S)<9QT28 TO6%[.%S1[NX>
MACVH-I-X9ULY24Y:8!]^E.S8:6,[+8:]))8L4C^2%BE.]T)^51L 31ZS-%<S
M9Z/U]LIU5;2!C*N!V$*.;U9"9ESC4*Y=M97 8RN4I2[SO)&;\21WYE,[=ROG
M4U'H-,GA5A)59!F73]>0BOW,H<YAXBY9;[29<.?3+5_#/>A/VUN)([?6$B<9
MY"H1.9&PFCD+>K6D8R-@5WQ.8*^.GHDQY4&(KV;P>SQS/$,$*43:J.#XMX,E
MI*G1A!S?*J5.O:<1/'X^:/_5&H_&/' %2Y%^26*]F3ECA\2PXD6J[\3^-Z@,
M"HR^2*3*_I)]M=9S2%0H+;)*& FR)"__^6/EB",!GW4(L$J O1"@?H> 7PGX
MUM"2S)IUPS6?3Z78$VE6HS;S8'UCI=&:)#=AO-<2WR8HI^?W6D1?-R*-0:J?
MR/MO1:*?R"6Y+Z-*Q(K<@=(RB33$Q"XFG_)$DX5QOUG[[@8T3]*?IZY&'*/4
MC:JMK\NM6<?6E)$/(M<;1=[G,<3/%;AH1VT,.QASS7HUWD T(#Z](,QC/OF>
MN$1MN 15_?7LX-?N\NT.?L<.'[?FXU/D8Z&5YGF<Y.LVPTLEPW8EYF1>J2V/
M8.;@T5,@=^#,?_R.CKQ?>A"'->*P3_O\WMIZ@6':8>0P:EP3= QD#R /SF'D
MGU:?E/2E_I'5;]+ ;A[XU/.'4W?7PA747,$KN,ABSR5&NQ<@. %@E/G^N!U@
M5 .,7N68SZ5;^@!&)P"7=!*,0M9.$-8$X:L(, &M($$(-^)YA"GL#$YXBA.B
M.[QVFG%-,_[/'XK?RS4^X1J&0Y]U<$UJKLE;XH2GC,#C%FP&TH(8V+>C3DY1
MJ<^&DQK5+EOVD_U)_^HYH-1K<J[7FT6^V.("\>5B!Q*+)>984W$QF9 E9D2)
MM:W@*?D#9$;>)3EY BY5>X;U_H=,0X^*!^UUR,$04AG2_3%52:?)R:W6E+N%
M1U&B0S8(PO8/BK*&D[V1LTE#9Y!*Q90=,X7>P/,[F)I*0GNK0 M3G9C.(/DM
M2&PX"#KR(VTJ!^TO':=(3:9:'F6J,WS#-I>%@S'MX&LJ".TO(:__W X)X0QI
MT$(:!(-@TD':E!K:7VLZ@_N6;'8&?G1Z6 (V"(<O4MH9TC,YS92VYS-->:']
M]04U8V*S>2?7BN@-D+RP-N*ML@J;LC?* F^4BG!E7IPXXH)LT^*E>)&W*#CU
M:Y=&<_&/"7811FNM2S27NN=@;>'A\=^%E<)6BJ!\@BU%.3('II! )$Y8@#'Y
MP:[B)N<HLI8\KRASD5_"(T2%Z65("CM("63;5#P!BIIOQ>^4[90;M,73/6H1
M,I!KVSDI$HDBU^4=KIZMN[.%[4E>S%^;KJUMGETMV]8O:(@"8>N;\:$!=!ND
MLGW\P.4ZP7MV"BO$\P8AGE19=F3E0(NM;6H>A,86R3YNL(L%:1;@^Y40^C P
M&]1]\?Q?4$L#!!0    ( +Q@<EGQ.*5IH@(  (4'   :    >&PO=V]R:W-H
M965T<R]S:&5E=#$P,RYX;6S%56UOVC 0_BNG3-HZ:9 0*'1=B$1;ME7J)E34
M[<.T#R8YB%7'3NT#RK^?[="(38#4:=6^)'ZY>_P\=^=SLE;ZWA2(!(^ED&88
M%$35>1B:K,"2F;:J4-J=N=(E(SO5B]!4&EGNG4H1QE'4#TO&99 F?FVBTT0M
M27")$PUF699,;RY0J/4PZ 1/"[=\49!;"-.D8@N<(MU5$VUG88.2\Q*EX4J"
MQODP&'7.+P;.WAM\X[@V.V-P2F9*W;O)=3X,(D<(!6;D$)C]K? 2A7! EL;#
M%C-HCG2.N^,G](]>N]4R8P8OE?C.<RJ&P5D .<[94M"M6G_&K9Y3AY<I8?P7
MUEO;*(!L:4B56V?+H.2R_K/';1QV'#J] P[QUB'VO.N#/,LK1BQ-M%J#=M86
MS0V\5.]MR7'IDC(E;7>Y]:-T2BJ[+Y3(49LW,'Y8<MI "Z9UCD#-X18-:9X1
MYN"-X4YR@I&+IK,]F3"-D@HDGC'Q%DZND!BW@]9^3P-,YC!![0M*9KB[EX1D
M-3EF8;;E?U'SCP_PO\*L#=W..XBCN/N[>VA#T<0C;N(1>[S> ;S1FNG<P"?-
MI.--"KXJV1H_8K9TY0,WN$(!X[(2:H.XE_#1 ]PE.S<5RW 8V%MD4*\P2%^_
MZO2C#T?H=QOZ78_>/93.PF:CY<HTATM5VJMKF*_^D;:*%FBO$\%L [MV$[;Q
MRUXZ_+BQD'!-6)J?^]1U7T!=KU'7.YJ<L2%N+Z+E;(MGCIR6&D';A;UYJ+'>
M>RS7FU9IU([.DG"UA\%IP^#TF>7QK-(X"OZ7P>LWU/O_N33Z+Z!NT*@;_,/2
M&.PKC>X?I1'N=%7W0'UA>L&E 8%SZQ:U!S:;NF[Z]814Y1OM3)%MVWY8V'<2
MM3.P^W.EZ&GB>G?S\J:_ %!+ P04    " "\8')9:DVE*_L"  "'"@  &@
M 'AL+W=O<FMS:&5E=',O<VAE970Q,#0N>&ULM59M;]HP$/XK5E9-K;01"!2J
M#B)1LA>DLE54W3Y4_6"2@UCU2V8;*-)^_&PGI-"FJ)VR+XE?[GGN[O'%N?Y:
MR'N5 FCTP"A7 R_5.COW?16GP+!JB RXV9D+R; V4[GP528!)P[$J!\TFUV?
M8<*]L._6KF38%TM-"8<KB=22,2PW%T#%>N"UO.W"E"Q2;1?\L)_A!5R#OLFN
MI)GY)4M"&'!%!$<2Y@-OV#J/>M;>&?PDL%8[8V0SF0EQ;R?C9. U;4! (=:6
M 9O7"D9 J24R8?PN.+W2I07NCK?L7USN)I<95C 2]!=)=#KPSCR4P!POJ9Z*
M]3<H\CFU?+&@RCW1NK!M>BA>*BU8 381,,+S-WXH=-@!M+HO (("$#P%=%X
MM M ^[6 3@'H.&7R5)P.$=8X[$NQ1M):&S8[<&(ZM$F?<'OLUUJ:76)P.AP)
MQH@VYZ@5PCQ!(\$UX0O@,0&%/J)ADA![0)BB,<^KS![7<00:$WIB+&ZN(W1\
M=(*.$.%H0B@U^ZKO:Q.<=>''12 7>2#!"X&T C0QOE.%/O,$DGT"WV15IA9L
M4[L(#C)&$#=0N_4!!<V@71'0Z/7PH (>O1[>.I!-NSRHMN-K_]-!W5X:<S36
MP-1=E?8Y=Z>:VUXMYRK#,0P\<W<HD"OPPO?O6MWFIRK=ZB2+:B+;T[13:MHY
MQ![^6&JEC9A&1R1FE"Q<<5?IE_.<.1Y[DZ["=J=ABFJUJ\M!9V_5I2:R/5U.
M2UU.#^KR_>LE&C-#K]$0W4Z S4#>H3]H:CQA&:>N "-8F9]&9BL2#:7$IA;=
M>&M?)>-!MV\MPSK)HIK(]N3NEG)W_^.GW:U3TSK)HIK(]C3ME9KV#I;P5&PP
MU1N4X8T3MDJYWO./NG'VY)M^;A,TNOLV497-X]V0A^_O_*(9R(5K=12*Q9+K
M_)=6KI;=U- U$4_6+TR7E3=%CS1YBS;!<D&X0A3FAK+9Z)F:EGG;DT^TR%PC
M,!/:M!5NF)I.$:0U,/MS(?1V8AV4O6?X%U!+ P04    " "\8')9*O^;=J\#
M  #M$0  &@   'AL+W=O<FMS:&5E=',O<VAE970Q,#4N>&ULK5A=CZ,V%/TK
M%MU6NU(WF*] I@E2-ZCJ2&TUVMG9/E1]<,!)K 4[M4VRVU]?&U@&PD<GK?.0
M8/ YU^?@>W-A?6'\DSAB+,'G(J=B8QVE/-W9MDB/N$!BP4Z8JBM[Q@LDU9 ?
M;''B&&45J,AM%\*E72!"K7A=G7O@\9J5,B<4/W @RJ) _,L[G+/+QG*LKR?>
MD\-1ZA-VO#ZA W[$\NGTP-7(;EDR4F J"*. X_W&^M&Y2QQ? ZH9'PF^B,XQ
MT%)VC'W2@_ML8T&](ISC5&H*I'[.>(OS7#.I=?S5D%IM3 WL'G]E_ZD2K\3L
MD,!;EO].,GG<6)$%,KQ'92[?L\O/N!$4:+Z4Y:+Z!I=F+K1 6@K)B@:L5E 0
M6O^BSXT1'8 2.@YP&X#[4H#7 +R7 OP&4%EMUU(J'Q(D4;SF[ *XGJW8]$%E
M9H56\@G5]_U1<G65*)R,MXR>,9=DEV/PB"EA'/S&)!;@+=@BSK\0>@ ?45YB
MP/9@<O+K!$M$\C<*]?28@->OWH!7@%#PX<A*@6@FUK94B]4A[;19V+MZ8>[$
MPA*<+H#G? ]<Z'HC\.T+X(X_"4]>'MWMPVWE<&NSV]KL5GS>)-].@GLJ)"]5
MTDCPQR]J KB7N!!_CGE3L_GC;+H6W(D32O'&4LDN,#]C*_[N&V<)?QASRB19
M8HBLYZ+7NNC-L<<?F$0Y2#N[4-2[D.I=..9CS1=4?+H$GN/ER@_4'3UW#9J-
M>JM!PY!NY"^=H(W9D^ZWTOU9Z7#AA<&WTQF8J0Q5>]4?,V&6^=;-9)(L,436
M<S1H'0V,IF1@TD639(DALIZ+R];%Y>R^?."$IN2DTA(5K*1RS+F:8=E+PA#"
MJR1<#O/&"0?3DB&9&X5^",?3*VQEA+,RGJA:OLJKOW&FN@:U,8@0):(I5M5&
MR-'2$@X6\M;UHRM1LU%OO<]C$:-@HK!$K?+(<$V-1F[GL*;.1KU5^3#D7$U=
MM=)7L]*=!83_7E*C,0]FB6\M!B;)$D-D/4,=^-Q-0J-%M:$S9*11ML046]_*
M3F/N_._*VE#T<A'JSU4R-O.ZQ=6#J]6@N([P3116Y[GS=69;PF%IS8A()P6Y
MPQH7.7X07@LRVM..1)V2_=RJ.O.]ZG_X1VD8^^+]X<TTVJZ.!)W2_MRK.O/-
MZNW_*0UA=X,&#G1\[UJ[T?9S).JU=KOS:*U?A/R*^(%0 7*\5QBX"!68U^\6
MZH%DI^II>\>D>G:O#H\899CK">KZGBD/FH%^@&_?\,3_ %!+ P04    " "\
M8')9[(JU-HX9   I9P$ &@   'AL+W=O<FMS:&5E=',O<VAE970Q,#8N>&UL
MM=U=DYS&?L?QMT)M3E)VE:0=F&='4I6]T'1WV8GJR$XN4KE ,^PN\3SL <:2
M4G[Q@1EVF0:F!^1O?&&M5CT?8/??3 \_NGG[>9_^GCW&<>Y\V6YVV;N;QSQ_
M^N'V-EL]QMLH>[-_BG?%O]SOTVV4%W]-'VZSIS2.UL<7;3>WWF@TN]U&R>[F
M_=OC]SZD[]_N#_DFV<4?4B<[;+=1^O6G>+/__.[&O7G^QM^3A\>\_,;M^[=/
MT4/\,<Y_>_J0%G^[?5'6R3;>9<E^YZ3Q_;N;']T?M.L=7W%L\A])_#D[^]HI
MC^73?O][^1>U?G<S*G<IWL2KO#2BXH\_XKMXLRFI8D?^4:DW+QLM7WC^];,N
MCD=?',VG*(OO]IO_3-;YX[N;Q8VSCN^CPR;_^_ZSC*LCFI;>:K_)CO]W/E=M
M1S?.ZI#E^VWUXF(/MLGN]&?TI?I)G+W \RZ\P*M>X#5>,!Y?>,&X>L&X[PLF
MU0LFS1<L+KQ@6KU@VGC!Q8.>52^8]3WH>?6">=\7+*H7+)HOF%YXP;)ZP;+O
M%MS1\V]N=*R@TZ_\6"]^E$?OWZ;[STY:MB^\\HMCT1U?7Y1)LBL[R,<\+?XU
M*5Z7O[_;[_Z(TSSYM(F=C_$NV:?.O^WS.'->.S^NUTE9P]'&4;M35RPK^CL_
MSJ-D\[WS-^?6R1ZCM&B<[)S?=DF>O2J^67S]Z^/^D$6[=?;V-B_VL=S2[:K:
M'_^T/]Z%_7&=7_:[_#%S@MTZ7G>\/K"_?GSM]>+*]CT+<%O\<%]^PM[S3_@G
MSRKZ\>J-XTY>.=[(&SN_??2=[_[V?<>.W=D9?=@4S+)DW.4S<_8[Z/I1]]BQ
ML6ONF%T,OD7THZ^9G17XCH;]1<_R.Y']&=?"J![,:%8=G_6X=(\B.>U07226
M&AZ_G"7&1W=\<0\_Y<5)(,O30_'FF#O_]7/1P%%YO,W^NV,O?SIIDVZM?,__
M(7N*5O&[F^)-/8O3/^*;]__R3^YL]*]=_8+$?!(+2$R06$ABDL04B6D(,_K$
MY*5/3&SZ^P_I?A7'Z\RY3_=;)\FR0[1;Q<[^_M2-+[VQ=G47ZX:&=A<2\TDL
M(#%QPJ9'K/P4\,=[;SD:+2=O;_\X[PCM9B.SA;S:0I'[K2',*-GI2\E.[24;
M?3V>OHL:79=G])>B7>VSO+,RK=[0RB0QG\0"$A,G;'964'-O.F[49;M1LRZO
MME#D7FL(,^IR]E*7,VM=AL4'>>>[G_=9]KU3?,((ON3)[N&09(_/U5J./[K*
MT\H.+4\2\TDL(#$Q:]75:]>;S6>- FTW:Q;HU1:*W&\-84:!SE\*=&XMT./X
M-ZG'OZNS-_>B=/.]$__CD.1?G2S.\TWGY\Z?K%L86JLDYI-80&)BWGIO=D>-
M(@O)#4H24R2F(<PH_\5+^2^LY7^Z(I3&ZWC[=+P&])0FJ[BKR*W.T"(G,9_$
M A(3)VQY?AY]XTT;54YN49*8(C$-84:5+U^J?&FM\A^W^^*4_K^GJYS/0^1U
MDJWVA^*4'^W6/<;+UBT,K7\2\TDL(#&Q;'^2FTP6C?I?M@8;[L)M=!+9T<B=
MCINC$G+G-809!>N.ZHOWH^$E>[U*[>K0,D4U']4"5!.5=EY@B]&\>:KN:-51
MJUVM)N/&*%RA^Z\IS:S6LZC)M5=K'2@]1<GZ=3%R7D5/21YM.HO4B@TN4E+S
M*\T8F$YG2\^;F[^_H&]#436<76L8=C:<S+W9K%E@Y!$K5-.49A:B5Q>B=^7C
MW'V<%L-9Y]?HB_-S$GU*-D5A=E^;M5.#RY#4_$H[KX7Q?-Z\!AKT:R;Z-0L[
MFGE>L8?-\B./5*&:IC2S_.HPS;7F$N_O#D7Q%4/*S97*0U,T5/,KS3@+S2;+
MB=<LO7[M1,]V84>[R6CB+ELG/S2S0C5-:6;UU;&5:\^M3L%45HT8S9AJ=4B/
MY>A\S/>KWQU5C"2+L^2?SA_1YM#Y>=^^K<$UBF97J!:@FJ@TXR0Z7[K-:B>W
M*5%-H9JF-+-/U+F8:P_&RNBA3![B5O*POI \V,'!A8]&8Z@6H)IPV[%69_S0
MT:XUPIA>36[1?=>49A9I'9*Y]I3L[./3A^KCTYWEXQ.:C:&:CVH!J@E4"U%-
MHII"-4UI9N>H SKW%(!0=ZBY:!R':CZJ!:@F4"U$-8EJ"M4TI9G=HP[P7'N"
MQP[ZT90/U7Q4"U!-5-JU03\:]:&:0C5-:6:?J.,^UY[WN6]&HW^^>)^FLS[$
MY9V<B\X>@.9\J.:C6H!J M5"5).HIE!-4YHY@:6.&;T1.KCRT'P1U7Q4"U!-
MH%J(:A+5%*II2C.[1YUK>E=RS8>'-'Z(\KB\+VJW2IZ*3^C1MKQKI+-SM"-!
M;SEJW==V9]_HX+)O;W4V*O]K7+#OV4[T;!>B1R%13:&:IC2S".M,T[N6:1YO
M_7BY0[6\ V1SX594KR/I&RV7[1)$TTI4"U!-H%J(:A+5%*II2C.+ODY2/7N2
M>AJIWQ=C]E64/7:6>CLP[#[;HO$HJ@6H)E M1#6):@K5-*69I5['MIX]MCV6
M^BLGV>5QP>=.6HPW.@L>3611S:\T\U;GD=L<@O1I)7JU"M']EZBF4$U3FEF>
M=8+JT5,+[>#@0D435%0+4$UX[=ASYK7'W>0V):HI5-.49A9^G<IZ]E3VMUUT
MN@D[7O>N?#2:136_TLZKZ_5BTOZ8V*N9\#HF&[:;A1W-FF$_>I0*U32EF158
M1Y^>?7)B??G!F+'267EHZHEJOM>>[+=P)]/F'=7]FHE^S<*JF;7RT%01U32E
MF957IXJ>/554+X/1^*EZ_R^^L>T^Z:&A(:KYJ!:@FNC[*T@RI_@=1&6,E<7;
MY'6TVQVBS>9K.3\Y2M,X2D]WN$6K1T<?=K'C3H]SVOQX%6\_Q6GQ]U?%6]:V
M^"VNDMU#V;9J=ER7:-+YX0^-*E%-H9JF-+.CU5&E9X\JJP]_922YOO2Y#XTD
M4<U'M0#5Q)6?_&GUMJ(/7,J"0W1W)*HI5-.49BY!5J>08_MDQ]/%OE5])TM:
MSGMTGHISU]_<5Z/1J%?\8M_(T'Z":CZJ!:@F*LT=GPV5)DMO\J8YI$(W*U%-
MH9JF-+,_U+'CV!X[GOI#LDORI*CXLWYQ7)W!^=.^DN!/=GUP1T#3RDJ;GU^U
M'XW?C!IWB0<]VXF>[4+T*"2J*533E&;6;IU6CNUIY8>T&*,>MLZ^J%DGBS;Q
MY25%[-+@.D4C350+4$U4FGF!O+D,&;I)B6H*U32EF05_MH"J/:G\6)Z'G0_]
MSLSL\JGL^JGCUIG4G<[>>,V)GSW;B9[M0O0H)*JI2ELTC\$\!$UMU*S .D <
M]P@0>RWB9(<&UQ\:(:):@&IBW(XDFWDDND&):@K5-*69U5[GD6-['GFWW^5I
MM,H/QZ'QX:FH]^?HO+/DT3 2U7Q4"U!-C-MA9#N+1#<I44VAFJ8TL^CK+')\
M988HL(*9?1.#>P(:3J):@&IBW,XP9^V>@$X'136%:IK2S)Y09Z+C*YGHMRV,
M9E<'%S^:CZ):@&IBW&>A5G23$M44JFE*,XN_CF7']DPPN+^/CX^=,N\6+".]
M_#&^_!@".SNX^M&(MM+*%>S.+F>,)N-E\X-GSX:B;\,0/1"):@K5-*69=5NG
MG.->*><J2M.O901]<0*RW1E<J&C6.6XO9SIUVS><!SW;B9[M0O0H)*HI5-.4
M9C[UI8XA)_88\O)S7\J[)XIS;%9.HW_E[.+CW;#7!QWV[0VM9E3S)UVKE+9O
M!T0W*E M1#6):@K5-*69':/.(R?V/%)$27HZ9Y=U7XXT=OON>U7LT."*1Z/'
M27M]U>ERUIXHV;.=Z-DN1(]"HII"-4UI9IG6T>/$'CWV7/;!^;-H<SR?'Y=%
MZ2QC-)E$-1_5 E03J!:BFD0UA6J:TLR.4T>8$_8AD!,TQD0U']4"5!.H%J*:
M1#6%:IK2S.YQ]CA(>[XZ;!4(.S:X<Z 9:Z4UKN:U!D!]6HE>K4)T_R6J*533
ME&86:1V+3NRQZ.C->#Z]/OKINMO_)SL]N&31C!35 E03J!:BFD0UA6J:TLRN
M4H>IDQD[W$&#4U3S42U -8%J(:I)5%.HIBG-[!YUPCKI.^NTUW"G/<]RMIRW
M5F&9M'-$;S&?-MOY]GT;7,]H%HIJ(:I)5%.HIJ__[LU*K>/028^G5_98.<7.
M##Z!5_&B:\:+HW'S>6%^[Y9![Y:B=\L0/6J):@K5-*6995BGFQ-[NGDY-RH&
MW..+0_+.2D7SSTG' QCGBXZ3+CJ+$]4$JH6H)E%-H9JF-*-/3.LL=6K/4K]A
M\12[.+3V4<VO-&-5%*_Y*-.@5RO1JU78V6HQ;3YL$CU,A6J:TLP2K%/+J3VU
M'+*&A9T:7'MH;HEJ :J)OK^"GFM8Z*CX=OKU>04+?=@<OR[>28^K6WPMVKUR
M/L4/R6[WO)+%RRN.BUF,ND[ZZ"%+5%.HIBG-['%U #NU![ ]%K.P"X,[&IJL
MHEJ :N+*3[[H*?5B%ITKNJ"[(U%-H9JF-+,3U&'JM,_*M?EC83_N-^MR%8M5
M\=X3/1P_$1QO(:OF\>=I\O 0IYW=!$U84<U'M:#2C*EUS<G, MUDB&H2U12J
M:4HSNT(=G$[MP6FS*^1IM"[?M]?1U\SYT_&+/SJ+'TU04<U'M:#2C#6LFSDK
MNL40U22J*533E&;6?IW'3NUY[&G5_CID.EU!KQ9S.5T,2G;YWHG_<4CRKYW=
M $UE4<V?MA_BV9H=&DQ[3"$5?1J%Z,Y+5%.HIBG-K-HZ&IW:YYDVS]A%N6;Q
MZG"<<M3W[(VFI:CFHUHP;4\,';?*&\U 44VBFD(U36EF/Z@ST*D] V56I+-O
M9'!7.&G&.FV+-[/Y9+&L_VM<V4?W($ U@6HAJDE44ZBF*<WL&G7H.NT1NG[[
MXG1V?7"?.&G&(D/N](VW:/8#=!U@5!.H%J*:1#6%:IK2S'Y0I[[3'G-:>ZVZ
M9(<&E_RR?<&D6>UHGHMJXOKNA^@&):HI5-.49I3PK YI9_:0=N!22G9M:!VC
MFH]J :J)63O*[;A3'MVF1#6%:IK2S*JO<^'9E8=Z FLIV3<QN"N@>3&J!:@F
M9NTYLY[7>CQEB&Y4HII"-4UI9E^H$]N9/3=$^@(:Z:*:CVH!JHE9^UFM[J+=
M%=#<%M44JFE*,[M"G=O.[+GMMZZM9&<'ES\:U:):@&H"U<)*:Z[YY(X::_5*
M=+,*U32EF3V@CFMG/>+:/JLTV9W!)8\&M+-VI#I;MFYY#JIF4WLST4\+T4.0
MJ*9035.:6:)UJCJSIZK]5Z*Q0X-K%$U/9^WTU!TM6^_]0<]V8M;.4+O:A>A1
M2%13J*8IS2S3.D:=75FN=[U.RB%UM*EF7Y>CZ'C=6:=H7#IK/[USW#'+#MUH
M@&H"U4)4DZBF4$U3FEGR=6(ZLR>F_O.'QDN3\.RO'USHZ J\J!:@FJBTUFJF
MS>E^Z%8EJBE4TY1F5GH=@,[L >C9R?TI2M:ODUTQ9'Y*\FC36?9HWHEJ?J49
M*]AY[05-^S435;.IO5F('H)$-85JFM+,.JT#RID]H/PUC799M#I>VCM>O'.B
M/$^33X?\. \GWSN;)/J4;)+\:[G Z=-^%W??QF+?SN 21A?E1;4 U42EG?>;
M>?L1Z>@V):HI5-.49O2'>9UVSNUIY_7^<+H7U]X9[!L9VAE0S9]WK.G;>E1%
MT*N5Z-4J1/=?HII"-4UI9O'6H>7<'EKZ\7V<IO':^37ZXOQ<G;>3[BO2=FIP
MB:+AY+P= +IN>]GI?LU$OV8A>@@2U12J:4HSJ[2.$^=7)H#&N1.M_^>0Y<<Y
M#_?[]'B-KKI9L+-6T? 0U7Q4"U!-S-OAX7344?EH>HAJ"M4TI9F57Z>'<WMZ
M>'<HSLY%R6^NG)K1L!#5_$J[EIST:R;Z-0O10Y"HIE!-4YI9H'6X-[>'>WW7
M!^VQ.KI]2X.+&(W_4"U -8%J(:I)5%.HIBG-[#EUYC@_A474<J%S-'E$-1_5
M E03J!:BFD0UA6J:TLSN46>=\RM9YZ#E0NW8X,[1GH'9OK/:1[<9H)I M1#5
M)*HI5-.49A9]G7;.[6EG\&7U&.T>XN,MLA\/G[)5FIQF ?U8](:X?)\HYTCW
M?")-9T=!XU)4\U$M0#6!:B&J2513J*8IS>Q0=:@Z7["#+#16134?U0)4$Z@6
MHII$-85JFM+,[E%GN7-[ECMPD-4.'LOGTK469;=O='#9HU$LJ@E4"U%-HII"
M-4UI1MDOZLAV88]LGX=9ZV*8Y"ZK4=-?&E;9-SCT?0/5?%0+4$V@6HAJ$M44
MJFE*,SM0'1LO7'18M4"C8U3S42U -8%J(:I)5%.HIBG-[!YU7KVPY]7-1?KB
ME_>;RX.K13MY]=QY^XDW]DT/+GXTBT8U@6HAJDE44ZBF*<TL_CJR7M@CZU_V
MZ^0^61ESOSL+OIWDNHM%Z\;>._OF!A<\.G45U02JA:@F44VAFJ8TL^#K"'QA
MC\##*-DYW_V\S[+ORUG=P9<\V3T<DNSQ>.XO>H!_J0=,VJ?\9>MFR#O[Y@=W
M #3)1C71\0-QO=9;8(AN5**:0C5-:69EUQ'UPCXM]AN>MF,7!X_TT91ZT9[W
M^KH]+:57*]&K58CNOT0UA6J:TLQ*K=/BA3TM+L^^Y<DW;IU\+PX_VAEOY\D7
M72@8U0)4$QT_D,Z3+YH%HYI"-4UI9DG76?#"G@6?QM'D-4HT^D4U']4"5!.H
M%J*:1#6%:IK2S/Y31[\+-OI=H-$OJOFH%J":0+40U22J*533E&9VCSKZ79#1
M[Z)CSNERW!XMH<DOJ@6H)E M1#6):@K5-*495;^LD]^E/?G]4#VQ\WE-RNL?
M:)?M":NSUI-D[NR;'5KXJ!:@FD"U$-4DJBE4TY1F%GZ=V"[M$WV_X5*.71PZ
M($(U?]F>H?MZWE[IK%\ST:]9B!Z"1#6%:IK2S&*M\]/EE>6#7\8FQL+!G47:
MCDT7[=5A[NP;'%Q]:&J*:@+50E23J*9035.:6?)U:KJTIZ:=*V;W.$>W0]3V
MB>O.ONW!U8]&J*@F4"U$-8EJ"M4TI9G57T>H2WN$^I>N=18MS]9.^U"MG79W
M>>TT^\X,'MB@\2RJ!:@F4"U$-8EJ"M4TI9F=JTYQE^Q$XR4:X:*:CVH!J@E4
M"U%-HII"-4UI9O>HH^.E/3J^JQ\U6(R[S'>;U2$]KKER6K3"4<?EEHOWFXM+
MV"\[4N6.\1@:*J-:@&H"U4)4DZBF4$U3FMDGZNQY^?^8/1<MS?7TX^VG>+V.
MU^=/]=P?IS5W=B$TID8U']4"5!.H%J*:1#6%:IK2S*Y6Q]1+-J9>HC$UJOFH
M%J":0+40U22J*533E&9VCSJF7MIC:G9TUDZQNT9G:(B-:@&J"50+44VBFD(U
M36E&GW!'=8I=?FWK%<;2,&<+4/_%.P2O;';HFPO+^2P7L)Q@N9#E),LIEM,8
MU^A0[EF'8B<T/WM83T'3<98+6$ZP7,ARDN44RVF,:_04[ZRG],WF^]PW>$4;
MWD_0'/^9,R>!C-IS@OHV%,\-IU<:ANR12)93+*<QKE&UX[.JM<?KI[%/N7#\
M*LH>NRNU':5W_>;NKFQJ> VB<3K+"98+64ZRG&(YC7&-JI^<5;T]5O^0[E=Q
MO"X*/]UOZ[M)B@_2Q2> \<7/"-W=8]+N'O-95_= \W"6"UA.L%S(<I+E%,MI
MC&MTC^E9][!/;QY^,_BS:$R2G+17P+NRY>&= (V]64ZP7,ARDN44RVF,:W2"
MV5DGL,??E]\C5J?G-63EQ=57SBX^=I0^?:3]L&!WTGJ&S-V5'1O>1] 8G.4$
MRX4L)UE.L9S&N$8?F9_U$7L<?APM 3.PKVQG^*=A--QFN8#E!,N%+"=93K&<
MQKA&#UJ<]2 VY7[VL)Z"YMPL%["<8+F0Y23+*9;3&-?H*<NSGF(/O$_O(FF\
MCK>G>.\I35:=:?85:7@?07-OE@M83CQSR_-!:NL2+1IHLYQB.8UQ9N&[9YFV
M:\^TOW$&U!5V<"] .9_E I83S]SY1[59:U6'D-VJ9#G%<AKC&AWA+(MV[5.U
MC^\ KYQ5E*9?D]W#Y=N9KD##2Y\-H=WVK.JIVQ6N]6PH^C8,V2.1+*=83F-<
MHV#/(F'7'@F;=WN73V;>%27<7;%L'(QR_C-W?CJ<EFL"MBNV7T/1MV'('HED
M.<5R&N,:%7L6![OV./C?#WF61[MU>7K%+N[8MSF\MMF8&>4"EA,L%[*<9#G%
M<AKC&KWI+&9V)^S%'9<,$N]8SF>Y@.4$RX4L)UE.L9S&N$9/.4N<77OB/.#B
MCET:WD?80!KE I83SYSUX@ZZ2<ERBN4TQC4*_RQE=NTI\\N#;<\F*Q3#K=&;
M\7QZ?;PUZ>XAZ#.?6<YGN8#E!,N%+"=93K&<QKA&9SJ+H]TY/-YB8V>4\UDN
M8#G!<B'+2993+*<QKM%3SF)GUQK7#9VL8->&]Y-%^^KZLO5$!9_=;,!R@N5"
MEI,LIUA.8URC YRER:X]3?XEV27;P_:O7MEB@V:4\UDN8#G!<B'+2993+*<Q
MSNP^WEDF[8W8D9;'AM$HY[-<P'*"Y4*6DRRG6$YC7*.GG(767H_0NM^5+;LT
MO(^PJ37*!2PGGKGS*UNC-]ZT>7$+W:ID.<5R&N-.M7^;/<9Q[D=Y]/[M-DX?
MXKMXL\F<XP+D[V[*4/SENT6YWY==XX<?O9O;UO>%^X-TR^_?ULS[MT_10_Q+
ME#XDN\S9Q/<%.7HS+SXAI,G#X\M?\OU3T?MNG$_[/-]OCU\^QM$Z3LL&Q;_?
M[XO>5OVEW,#G??K[<;??_Q]02P,$%     @ O&!R62W*IZEK @  #P<  !H
M  !X;"]W;W)K<VAE971S+W-H965T,3 W+GAM;*V5:T_;,!2&_XJ5H0FD#>=6
M"BR-!(TFD)B&8&P?IGTPR6ECX4MF.RW[][.=D+4H3-W$E\:7\[P^[W%UG*VE
M>M U@$&/G D]"VICFE.,=5D#)_I0-B#LSD(J3HR=JB76C0)2>8@S'(?A$>:$
MBB#/_-JURC/9&D8%7"ND6\Z)^G4.3*YG010\+=S096W< LZSABSA%LQ=<ZWL
M# \J%>4@-)4"*5C,@K/HM$A=O _X2F&M-\;(.;F7\L%-+JM9$+J$@$%IG *Q
MGQ7,@3$G9-/XV6L&PY$.W!P_J7_TWJV7>Z)A+MDW6IEZ%AP'J((%:9FYD>L+
MZ/U,G%XIF?:_:-W'A@$J6VTD[V&; :>B^Y+'O@X;0)2^ ,0]$.\*)#V0[ JD
M/>!+C3LKO@X%,23/E%PCY:*MFAOX8GK:VJ?"7?NM47:76L[D9V79\I81 Q7Z
M;&I0:"ZY_0/5[F97@"Y%*3F@_2NI]0%ZC^8U$4O0B KT;^A^ 890YC3N;@NT
MOW> ]IS*EUJVFHA*9]A8/RXK7/:YGW>YQR_D7D!YB)+H'8K#.!G!Y[OC\0A>
M[(Y'VSBVES#<1#S<1.SUDE>YB>]7%D>7!KC^,5:Y[JQT_"S72TYU0TJ8!?8$
M#6H%0?[V3704?ABKXVN*%:\DME7C9*AQ\C?U_)PP(DH8*U@'3CSH>N4JCTZB
M<!J&&5YMUF(D;CJQ/7:Z'5>,Q$WBDVCR1V_+03HX2/_703KBX"@]3B?/'(S%
MC3@M1N*>.>T<X(WNXYZ*3T0MJ="(P<*2X>'42JBN_783(QO?D.ZEL>W-#VO[
M8H%R 79_(:5YFK@>-[R!^6]02P,$%     @ O&!R637+CZ") P  [ \  !H
M  !X;"]W;W)K<VAE971S+W-H965T,3 X+GAM;,U7;8_:.!#^*U:N.K72EKS
M MT#I(6TZJI="775NP^G^V#( %8=.V<;V)7NQ]_8"6E"0[1[RDG] GZ9Y_',
M,W[)3(Y2?=,[ $,>4R[TU-L9D]WXOE[O(*6Z)S,0.+.1*J4&NVKKZTP!31PH
MY7X4!$,_I4QXLXD;6ZK91.X-9P*6BNA]FE+U- <NCU,O]$X#7]AV9^R /YMD
M= L/8+YF2X4]OV1)6 I",RF(@LW4NPUOXM !G,7O#(ZZTB8VE)64WVSG+IEZ
M@?4(.*R-I:#X=X %<&Z9T(^_"U*O7-,"J^T3^P<7/ :SHAH6DO_!$K.;>F./
M)+"A>VZ^R.-'* *ZMGQKR;7[)<?"-O#(>J^-3 LP>I RD?_3QT*("B <7@!$
M!2 Z!PPN /H%H/]<P*  #)PR>2A.AY@:.ILH>23*6B.;;3@Q'1K#9\+F_<$H
MG&6(,[/W:<;E$P"9@X -,V3)J=#D+;E-$F8S0SFY$_G^LGEZ'8.AC+]!BZ\/
M,7G]Z@UY19@@]XQSG-<3WZ!7EMM?%Q[,<P^B"QZ$$;F7PNPT>2\22.H$/H93
MQA2=8II'K8PQK'ND'UZ1*(CZ#0XMG@^/&N#Q\^%A2S3],D-]QS>XP+<L#IE+
MS!6),4L"DC)?_Y"'(R0@FH1O);8WRHW.Z!JF'EX9&M0!O-FOOX3#X+<FT;HD
MBSLBJPDZ* 4=./;^Q01M0"F4<"%3O#YUOK%OE:)B"WBE&3R"9H>[/F$'ENPI
MOR)+J8T"PU0^7VBOR9^?D9O<&4CU7TT)&'29@"[)XH[(:@FX+A-PW;JC3UMX
MC<=>L=7>Z9_A]K["H32CXJDVU21LOL"U6\ ^;8<9'O1#5:W<8ERQB'JCNDW\
MHTW8&Y<VM=B&96S#UMCNF6#I/FWRN17XTLW0)5G<$5E-L%$IV.AG.8VC+A/0
M)5G<$5DM >,R >/_>AJ!LRU;<2#X!4CDAD#QL=#XRK>O$H7D":AJ0BY:D2^5
MLB.RFI3O2BG?/4O*157*01"23^[U;E*ME?"E>[)+LK@CLIJ08?#]LS3X6:Z%
MPI..<M I6]P56ST+E>(@_+]?ZF*%ZE,=GCW5A4G]'3XSBAMX@K.GVJ^402FH
MK2LG-7JX%R:O'LK1LF2]=87:V?C<EK*NO/I.D]?!]U1M&=9''#9(&?1&Z(_*
M2\N\8V3FBJV5-%BZN>8.RW%0U@#G-U*:4\<N4!;XLW\!4$L#!!0    ( +Q@
M<EGXT_R8[P(  '(*   :    >&PO=V]R:W-H965T<R]S:&5E=#$P.2YX;6RU
M5FUOTS 0_BM6F- F09.F;V.TD;8%1"4*U<K@ ^*#EUP;:XD=;+?=)'X\9R<-
M[91%G12^M+9SS^.[Q_;=C;="WJL$0).'+.5JXB1:YQ>NJZ($,JHZ(@>.7Y9"
M9E3C5*Y<E4N@L05EJ>M[WM#-*.-.,+9K<QF,Q5JGC,-<$K7.,BH?KR 5VXG3
M=78+-VR5:+/@!N.<KF !^C:?2YRY%4O,,N"*"4XD+"?.9?<B'!E[:_"=P5;M
MC8F)Y$Z(>S.9QA/',PY!"I$V#!3_-G -:6J(T(W?):=3;6F ^^,=^T<;.\9R
M1Q5<B_0'BW4R<<X=$L.2KE-]([:?H(QG8/@BD2K[2[:EK>>0:*VTR$HP>I Q
M7OS3AU*'/4!W^ S +P'^4T#_&4"O!/2.!?1+0-\J4X1B=0BIIL%8BBV1QAK9
MS,"*:=$8/N/FV!=:XE>&.!W<0$HUQ&1.I7XDWR3EBMH34>0MN8QC9L8T)5->
M7#%S5J<A:,K2,[282\8CEJ/!URT'B2NWBY"<GIR1$\(XF;$T-5QC5Z.O9D<W
M*OVZ*OSRG_&KZY.9X#I1Y ./(3XD<#'(*E)_%^F5W\@80M0AO>X;XGM^K\:A
MZ^/A?@T\/![>;8BF5YU;S_+U7GINY.=G-"53#9GZ5:=[P=NOYS59YD+E-(*)
M@VE$@=R $[Q^U1UZ[^LT:Y,L;(GL0,]^I6>_B1WUY!IO,3Q@/E50IUN!/[=X
MDTPW@=<9C=W-OAQ'V(3--@?.#RKG!XW.SQAGV3HC?\@BQWPJ<3CE4:<NBD:B
MEYY^FV1A2V0' @XK 8?_Z34-V]2S3;*P);(#/4>5GJ/&"_D%E8LP?4N!^9^O
MB##%024LQZ*@ ??3II:9.UNG:<'][N"%>(,G3ZW1@9=JU1)9H96[5XTSD"O;
MU2C48\UU4:ZJU:IQNK3]PI/U*VRHBO[G'TW1C<VH7#$LT2DLD1+S!SX>670X
MQ42+W-;\.Z&Q@[##!)M"D,8 OR^%T+N)V:!J,X._4$L#!!0    ( +Q@<EFL
M4R'^10,  +(4   -    >&PO<W1Y;&5S+GAM;-U874_;,!3]*Y$9$T@3:1M(
MF]%6VBHA3=HF)'C8&W(;)[7DV)GCLI9?/]\X33_P18R'K5TJ&OL>GW./[1MB
M&%9F)=C=G#$3+ LAJQ&9&U-^#,-J-F<%K2Y4R:1%,J4+:FQ7YV%5:D;3"DB%
M"'N=3AP6E$LR'LI%<5.8*IBIA30CTF]#@;M]24>D&U^2P,E-5,I&Y.'L_<^%
M,M?O G<_^7!RTGDXO]Z/G]7 .0F]HE>O$+WHX+H6PZ3C5TF_H(P)]W>%Z]&G
M5L?Q3C':P$.S]C=,Z&#DQ$_>9:/T?@>A=W;H;L9A4P[C8:;DIBHBX@)6GQ8L
M>*1B1"94\*GFP,IHP<7*A7L0F"FA=&!L.=J$78A43P[NNAY4:J-3<*ETG=ME
M<-_39O@>L.Z!02Y$:[!'7& \+*DQ3,L;VZD'U\%G4-"T[U>E=9AKNNKVKLB&
M4-]LDJG2*=-MFBY9A\9#P3*PHWD^A[M190B@,:JPC9337$E:>U@SFH:5G3$A
M[N Q_I'M:"^SK9VK]TVV36NH:3H9UP'];36GO2U[^2;=H.2/RGQ>V.G(N@]/
M![O5+./+NK_,6@.8>A=7IV4I5I\$SV7!W.1?G7 \I&M>,%>:/]EL4"HS&V":
M!(],&S[;COS2M+QG2[,NIV6&>^X=H>>_N\XYDTQ3L6W:UOXAK_*;'3?OO7_A
MN?ZULN_8:S+J'[['YEU_Z";C8S!Y%-L]. :3R>&;C([ 8W/"/#B387,2VCIN
M[1RVVF@ A]H1^0Z'9+%)&DP77!@NF]Z<IRF3S\Y<5M[0J?V#;$??CD]91A?"
MW+?@B&S:WUC*%T72CKJ%A6A&;=I?87K=N#U1VUQ<IFS)TDG3U?FT;@:V8;,V
M%Q#VD9OZ\B,8QV%^!# L#^8 XS@6EN=_FL\ G8_#,&\#+S) .0.4XU@^9%)_
ML#Q^3F(O_TR3)(KB&%O1R<3K8(*M6QS#CU\-\P8,+ ]D^K.UQG<;KY"7ZP#;
MTY<J!)LI7HG83/&U!L2_;L!($O]N8WF @>T"5CN0WY\':LK/B2+85<P;]@3C
M2))@"-2BOT;C&%F=&#[^_<&>DBA*$C\"F-]!%&$(/(TX@CD #Q@21?5[<.]]
M%*[?4^'FOY3CWU!+ P04    " "\8')9EXJ[',     3 @  "P   %]R96QS
M+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D!5J(/V!(%BD6=OZ_:I7&0
M"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]ISI%"KM0L'C6'TD!$VV-#
ML%HL/D N&6:WO606IW.D5XA<UYVE/=LO3T%O@*\Z3'%":4A+,P[PS=)_,O?S
M##5%Y4HCE5L:>-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0T^FO8R*T>EOH^7%H
M5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0    ( +Q@<ED!QO0!G@<  ,M'   /
M    >&PO=V]R:V)O;VLN>&ULQ9Q;;]LV&(;_"N&;=<"RR ?)4M$4< Y= Z2Q
M$7O=9<'(=$Q4$CU*2IO^^E%RTGYTY!>[^>PK6P=+CTB1S\>3WWTS]NN],5_%
M]SPKRK/>NJHV;T]/RW2M<EG^:3:J<$=6QN:R<IOVX;3<6"67Y5JI*L].!T$0
MG>92%[WW[UZN-;.G=,-4*JVT*=S.9L=GK;Z5OXXWF^)1E_I>9[IZ.NNUWS/5
M$[DN=*Y_J.59+^B)<FV^?316_S!%);-Y:DV6G?7ZVP.?E:UT^FKWO(%<R/NR
MW5/)^SOI0,YZ4> NN-*VK-HSVNM+Q_BHW,G;K;HR'W16*7LI*_67-?5&%P_-
M9=Q3G)+':-/AY7.;B&_M_TE&LUKI5%V:M,Y546W3T:JL 2S*M=Z4/5'(7)WU
M+LRCLF(F'U3S4.XNU\OM U:.C"27?:O= 7N];!D9>::W\^G-]>5D<74ISB<W
MD]N+*S'_>'6UF!/  0 <' U0O)E) CD$D,,#0LX7[N/3U:T#G'X0%]-/,P(Y
M I"CHT'.%],+ AD"R/!X*3F9?R20$8",>"%G\DD\EF*F;/OS(E7B4I=I9LK:
MTG(]!HAC7L3KHM1+5],LK%RZNDY,K)7%@VI^51+"&!#&O(1WJKUS<Y8P*S&S
MZE&;NLR>Q'59UC09$P"9\$).[8,L](_V@)#%4MS*RN5Q WQ>EYK6X0&JQ ->
MS'F=Y](^-5AS_5!H]S/IDG62IJ8N*@\3NH99-A^DMN*SS&HE/BG9%);=][&/
M3--G5LTD_;=V-VWW4R8DECZS69I28NO4O71-*9YELJ!DR"9]9IW<N!Q47CHA
M;?29O7&G'E7AWJL[E1I7 )KC% W)HL]LBPNKEKH2-Z;<22^DASZS'_XR9OE-
M9UE;J5V[(+QX: C$Q$'Z)1(IHL_LB NW;3*]=+=?BG.9M:IMHWQQJ2H:_/61
M)/K,EK@N4I,KL9#?O0P>("4,N)50F?3KVF0N""A_$U>N9JN>*!ORP("[T6'R
M7%=MW=^^?RZ;*U>]J2+5?@+"=@=WP\,4CTU#M"D5<U5H8\6M:_QZ?,@, V8S
M7.6;S#PI)<Y5H5:N@FGDX-$A.PR8[7#7['2%=B9M]=1$H44ITUVS#I Q!LS&
M@#'3EP'%1/88,-L#ALD^)O+)@-DG.#6'%!,)9< LE#T1J'BSD [$>S>14 ;,
M0J&1Z O;[[2K YEER&R6UR%I)R(2S)!9,-O8M!,+*67(K)2.(+63$?9D<7=E
MT6BUDPYI9<BL%1RV"HJ)W#+D[L5"<:M7:0^16X;,;J%Q:V=6(Z,,N8W2$<!V
M0B*?#/D;*)U!XC,HQ40^&3+[! <1U,XC9);1 <RR'W-$,9%=1LQVP9@AQ42V
M&;';!F%&%!,)9W2 'J[]F&.*"0=/V!LT"#.FF,@\(V;SP YKSSPC9)X1LWEP
M<\$KZ<A!HZ.V:KR2CBPT8K80QO1*.K+0B-E"&).6]!!9*#SF8(I7TD-DH9#9
M0A@SH9C(0B&SA1#FEW;0["<FLE#(;"&,V:>8R$(ALX7V]5^<B/8!*"8<Q&>V
M$,!T5U]23&2AD-E"$-.398@L%#);:#_F9.G:ZA0362@\4M_:-C5I(R-$%@J9
M+80Q:>@1(0M%S!;RN@"?<]I]EYFX+MP%*2:R4,1LH1W,IN.CF7>RC3\7'B:R
M4'3 H7V'2=X!5^'?TG9ZA"P4,5MH!_.JK'3>]B']7:I5G5%,9*'H &VAG1Y@
M^H923&2AB'U.0 ?F+]%33#B9[  C/'LQ/0M%R$(1LX6>^]1?5T6YW)EM$2$+
M1<P6^HE)(KI/31O8,2NOASA"%HJ8+00QO4P?(PN-F2W4A3G=M/6[>U=O*":R
MT/@PXSW=F'YJ(@N-F2WT"[.)@NNLM<^\WFRR-@:AF,A"8V8+=6+^H_3#NE'1
MA&(B"XW9+?1Z-(V\ 10366A\^)EIM!*EF,A"8W8+@=3TBQ"<ULQL(7]X\I6,
M*":RT)A[7&@'\^6MG*[$),L\3&2A,;.%X'"JE^DQLE#,;"&,25N6,;)0S&PA
MC$E;EC&R4,QL(8Q).[5C9*&8>R("'$/W,AU9*.9>50,QO4Q'%HJ/.B/!RW1D
MH9A[KC3$I",9,;)0S&TAB$E',F*XPH;90M[\CA/QO'FNW,64VZ*8R$+Q :=/
M-WU(M;7N!W^XI%PIZRVH2I"%$F8+[6#.K&D87)CDKN:G9H(LE#!;: <3=!PF
MR$()LX5V,YV6*)?Q%!-9*&&VT YF$QT7J<[TMH.3!G()LE#";*$=3-(,=KO$
M'<5$%DJ8+013TXLW$V2AA'MV0M?4LU]%B6(B"R7'F"'G,K_9?7).6Y8)LE#"
M/3NA&_.E<YMBPI6>W+,3]J3F<U$BF/T K_4\PLJ>GZ!>(>H'<+5GP#U# 8(.
M/5"X[C/@GJ, 04<>*%P,&K"WB<#"*7'B@<*UH0%_JZA[7JPSO;36 X7+1@/^
M=M$^T*:Z]T#A(M* V4F3U)U2;Q=53:NULB[S\XU5:U64^M'[-Y$ +BP-F*W4
MO2[MISX]4+BV-&#_ X)]2]1:6 \4KBX-6C.=MJ>7[]\MW5,7:GGK;E*Z_:G,
MTID5S4=[K<$H;!:KKNHLNW#[IL6-D<N7_Z)Y^1^=]_\!4$L#!!0    ( +Q@
M<ED49*=F$P,   1    :    >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'/-
MVTM.W$ 4A>&MH%X KEOOBH!1)DPC-M!JS$/T2VU'@=VG!0,XI0PR0?Y'5MGR
M]1E]LNPZ5[_&[7I^/NRGI^?C=/&ZV^ZGZ]73/!]_#,.T>1IWZ^GR<!SWYRL/
MA]-N/9^7I\?AN-Z\K!_'P3N7A]/7&:N;JZ\S+^[>CN/_3#P\/#QOQI^'S>_=
MN)__,7CX<SB]3$_C.*\N[M:GQW&^7@VOV\_3T_!^L,OSY-7%[?WUZG1[;ZMA
MZ4!> OGE P4)%)8/%"507#Y0DD!I^4!9 N7E Q4)5)8/5"5073Y0DT!M^4#F
M5$8'B-1A#=#:E&L#>&T*M@'$-B7; &:;HFT M4W9-H#;IG ;0&Y3N@U@MRG>
M!M#;J]X>H+=7O3U ;]^]; /T]JJW!^CM56\/T-NKWAZ@MU>]/4!OKWI[@-Y>
M]?8 O;WJ[0%Z!]4[ /0.JG< Z!U4[P#0.W0?2P!Z!]4[ /0.JG< Z!U4[P#0
M.ZC> :!W4+T#0.^@>@> WE'UC@"]H^H= 7I'U3L"](ZJ=P3H';N/W0"]H^H=
M 7I'U3L"](ZJ=P3H'57O"- [JMX1H'=2O1- [Z1Z)X#>2?5. +V3ZIT >B?5
M.P'T3MW/2H#>2?5. +V3ZIT >B?5.P'T3JIW NB=5>\,T#NKWAF@=U:],T#O
MK'IG@-Y9]<X O;/JG0%ZYVZS"4#OK'IG@-Y9]<X O;/JG0%Z%]6[ /0NJG<!
MZ%U4[P+0NZC>!:!W4;T+0.^B>A> WD7U+@"]2[=9$*!W4;T+0.^B>A> WE7U
MK@"]J^I= 7I7U;L"]*ZJ=P7H757O"M"[JMX5H'=5O2M [ZIZ5X#>M=OL#="[
MJMX5H'=3O1M [Z9Z-X#>3?5N +V;ZMT >C?5NP'T;JIW ^C=5.\&T+NIW@V@
M=U.]&T#OUI5U 'J;Z^LZ +_-=84=!Q#<7%?9<0##S76E'0=0W%Q7VW$ Q\UU
MQ1T'D-Q<5]UQ ,O-=>4=!]#<7%??<0#/S74%'O>=HD_SVW:</A-]K#7 M[8M
MY_.]X^?SWY<?)_M^Y3O7P]<8T\U?4$L#!!0    ( +Q@<EG1G#.H=P(  )T]
M   3    6T-O;G1E;G1?5'EP97-=+GAM;,W;WVZ;,!3'\5>)N*T"M@$;IJ8W
M[6ZW7NP%&#@-"O^$W2Y]^SFDK;2IBU9ETKXW08GM\SOX2)^[7'][GJQ;'?IN
M<)MHY_WT*4E<O;-]Y>)QLD-8V8YS7_GP=7Y(IJK>5P\V44+HI!X';P>_]L<:
MT<WUG=U6CYU??3Z$GUT[#IMHMIV+5K>GC<>L351-4]?6E0_KR=/0_):R?DF(
MP\EEC]NUD[L*&Z+DW83CRI\#7LY]?;+SW#9V=5_-_DO5AUW)H4N<?^ZLB\^7
M>*?'<;MM:]N,]6,?CL1NFFW5N)VUON_B4]&K\\D^W+ ]?<J+\Y<RYP+#SOMY
MG%R8V&P_'O<ZDN/I]10*V=FWYU_Q+3&4OOC]['':C6W^,CM<[X]QWB_S<,GR
MN/R.?YWQ6_T/]J$@?:20/C)('SFD#PWIPT#Z*"!]E) ^I* T0A%54DB5%%,E
M!55)45526)445R4%5DF155%D5119%45619%54615%%D5159%D5519%4465.*
MK"E%UI0B:TJ1-:7(FE)D32FRIA194XJL*476C")K1I$UH\B:463-*+)F%%DS
MBJP91=:,(FM&D36GR)I39,TILN8467.*K#E%UIPB:TZ1-:?(FE-DU119-456
M39%54V35%%DU159-D5539-44635%5D.1U5!D-119#4560Y'54&0U%%D-159#
MD=509"THLA8460N*K 5%UH(B:T&1M:#(6E!D+2BR%A192XJL)476DB)K29&U
MI,A:4F0M*;*6%%E+BJPE158I*+1*0;%5"@JN4E!TE8+"JQ047Z6@ "L%15@I
M*,1*\3^-_3Z.^W\<OSSCOFJ'U_QD^5?VS4]02P$"% ,4    " "\8')9!T%-
M8H$   "Q    $               @ $     9&]C4')O<',O87!P+GAM;%!+
M 0(4 Q0    ( +Q@<EE@X^WK[P   "L"   1              "  :\   !D
M;V-0<F]P<R]C;W)E+GAM;%!+ 0(4 Q0    ( +Q@<EF97)PC$ 8  )PG   3
M              "  <T!  !X;"]T:&5M92]T:&5M93$N>&UL4$L! A0#%
M  @ O&!R68(7T5.##   Y$   !@              ("!#@@  'AL+W=O<FMS
M:&5E=',O<VAE970Q+GAM;%!+ 0(4 Q0    ( +Q@<EGQL"E:P @  /$V   8
M              " @<<4  !X;"]W;W)K<VAE971S+W-H965T,BYX;6Q02P$"
M% ,4    " "\8')9$5G#\N("  "="0  &               @(&]'0  >&PO
M=V]R:W-H965T<R]S:&5E=#,N>&UL4$L! A0#%     @ O&!R6;F$Z/F+"
M*2D  !@              ("!U2   'AL+W=O<FMS:&5E=',O<VAE970T+GAM
M;%!+ 0(4 Q0    ( +Q@<EG8]_A<?A   -_N   8              " @98I
M  !X;"]W;W)K<VAE971S+W-H965T-2YX;6Q02P$"% ,4    " "\8')9!+DV
M0_@+  !I.@  &               @(%*.@  >&PO=V]R:W-H965T<R]S:&5E
M=#8N>&UL4$L! A0#%     @ O&!R65^H]^IE @  AP8  !@
M ("!>$8  'AL+W=O<FMS:&5E=',O<VAE970W+GAM;%!+ 0(4 Q0    ( +Q@
M<EED.J)K0P(  (H&   8              " @1-)  !X;"]W;W)K<VAE971S
M+W-H965T."YX;6Q02P$"% ,4    " "\8')9:W?0RFT2  !K/   &
M        @(&,2P  >&PO=V]R:W-H965T<R]S:&5E=#DN>&UL4$L! A0#%
M  @ O&!R65_LM0=W!0  UPL  !D              ("!+UX  'AL+W=O<FMS
M:&5E=',O<VAE970Q,"YX;6Q02P$"% ,4    " "\8')9\+WW(74J  #\A@
M&0              @('=8P  >&PO=V]R:W-H965T<R]S:&5E=#$Q+GAM;%!+
M 0(4 Q0    ( +Q@<ED-HU=L0 L  . A   9              " @8F.  !X
M;"]W;W)K<VAE971S+W-H965T,3(N>&UL4$L! A0#%     @ O&!R64SJJX6-
M%@  3&,  !D              ("! )H  'AL+W=O<FMS:&5E=',O<VAE970Q
M,RYX;6Q02P$"% ,4    " "\8')9HU2#DAX(  !%%   &0
M@('$L   >&PO=V]R:W-H965T<R]S:&5E=#$T+GAM;%!+ 0(4 Q0    ( +Q@
M<EG?&>7"(0D  /H6   9              " @1FY  !X;"]W;W)K<VAE971S
M+W-H965T,34N>&UL4$L! A0#%     @ O&!R69?L\_#\$   _S$  !D
M         ("!<<(  'AL+W=O<FMS:&5E=',O<VAE970Q-BYX;6Q02P$"% ,4
M    " "\8')9J,$K?:P%   T#0  &0              @(&DTP  >&PO=V]R
M:W-H965T<R]S:&5E=#$W+GAM;%!+ 0(4 Q0    ( +Q@<EDC9'JRU @  !H7
M   9              " @8?9  !X;"]W;W)K<VAE971S+W-H965T,3@N>&UL
M4$L! A0#%     @ O&!R68Z*F>_D!   / L  !D              ("!DN(
M 'AL+W=O<FMS:&5E=',O<VAE970Q.2YX;6Q02P$"% ,4    " "\8')9P>#?
ML%@,   Q(0  &0              @(&MYP  >&PO=V]R:W-H965T<R]S:&5E
M=#(P+GAM;%!+ 0(4 Q0    ( +Q@<EF6\8TX)@P  /HC   9
M  " @3ST  !X;"]W;W)K<VAE971S+W-H965T,C$N>&UL4$L! A0#%     @
MO&!R6<-1#-7+"0  %A@  !D              ("!F0 ! 'AL+W=O<FMS:&5E
M=',O<VAE970R,BYX;6Q02P$"% ,4    " "\8')9+0""-M03   Z2P  &0
M            @(&;"@$ >&PO=V]R:W-H965T<R]S:&5E=#(S+GAM;%!+ 0(4
M Q0    ( +Q@<EF8PB6E+P0  ,,)   9              " @:8> 0!X;"]W
M;W)K<VAE971S+W-H965T,C0N>&UL4$L! A0#%     @ O&!R67)!A.DB P
M!P<  !D              ("!#",! 'AL+W=O<FMS:&5E=',O<VAE970R-2YX
M;6Q02P$"% ,4    " "\8')90K9>BM<[   TS@  &0              @(%E
M)@$ >&PO=V]R:W-H965T<R]S:&5E=#(V+GAM;%!+ 0(4 Q0    ( +Q@<EGB
M3'S9! X  &XN   9              " @7-B 0!X;"]W;W)K<VAE971S+W-H
M965T,C<N>&UL4$L! A0#%     @ O&!R69-"CA0I"0  @QD  !D
M     ("!KG ! 'AL+W=O<FMS:&5E=',O<VAE970R."YX;6Q02P$"% ,4
M" "\8')98_.S#]8&  #G%   &0              @($.>@$ >&PO=V]R:W-H
M965T<R]S:&5E=#(Y+GAM;%!+ 0(4 Q0    ( +Q@<EF3*'IUBP<  & C   9
M              " @1N! 0!X;"]W;W)K<VAE971S+W-H965T,S N>&UL4$L!
M A0#%     @ O&!R69XZ@.7T P  30D  !D              ("!W8@! 'AL
M+W=O<FMS:&5E=',O<VAE970S,2YX;6Q02P$"% ,4    " "\8')9,XON@UD%
M  "3#@  &0              @($(C0$ >&PO=V]R:W-H965T<R]S:&5E=#,R
M+GAM;%!+ 0(4 Q0    ( +Q@<EG1$7GZH@,  (H(   9              "
M@9B2 0!X;"]W;W)K<VAE971S+W-H965T,S,N>&UL4$L! A0#%     @ O&!R
M6?()O9<- P  XP8  !D              ("!<98! 'AL+W=O<FMS:&5E=',O
M<VAE970S-"YX;6Q02P$"% ,4    " "\8')9+W+V[CX%  "R#0  &0
M        @(&UF0$ >&PO=V]R:W-H965T<R]S:&5E=#,U+GAM;%!+ 0(4 Q0
M   ( +Q@<ED.3YU#U00  #L,   9              " @2J? 0!X;"]W;W)K
M<VAE971S+W-H965T,S8N>&UL4$L! A0#%     @ O&!R670^Y7!B"   T18
M !D              ("!-J0! 'AL+W=O<FMS:&5E=',O<VAE970S-RYX;6Q0
M2P$"% ,4    " "\8')9K_Y.C1 &  "V$   &0              @('/K $
M>&PO=V]R:W-H965T<R]S:&5E=#,X+GAM;%!+ 0(4 Q0    ( +Q@<EF#P$6^
M  ,  !('   9              " @1:S 0!X;"]W;W)K<VAE971S+W-H965T
M,SDN>&UL4$L! A0#%     @ O&!R638<<UEH @  =04  !D
M ("!3;8! 'AL+W=O<FMS:&5E=',O<VAE970T,"YX;6Q02P$"% ,4    " "\
M8')97#@;LID4   ]X@  &0              @('LN $ >&PO=V]R:W-H965T
M<R]S:&5E=#0Q+GAM;%!+ 0(4 Q0    ( +Q@<EG>T*Y1;@,  %4+   9
M          " @;S- 0!X;"]W;W)K<VAE971S+W-H965T-#(N>&UL4$L! A0#
M%     @ O&!R66!ZDJ9*$@  3Z@  !D              ("!8=$! 'AL+W=O
M<FMS:&5E=',O<VAE970T,RYX;6Q02P$"% ,4    " "\8')9UE@A&+ '  #L
M00  &0              @('BXP$ >&PO=V]R:W-H965T<R]S:&5E=#0T+GAM
M;%!+ 0(4 Q0    ( +Q@<EGCS&,8"!L   <! 0 9              " @<GK
M 0!X;"]W;W)K<VAE971S+W-H965T-#4N>&UL4$L! A0#%     @ O&!R62I=
MJ.T8 @  .00  !D              ("!" <" 'AL+W=O<FMS:&5E=',O<VAE
M970T-BYX;6Q02P$"% ,4    " "\8')9ZB@+Y'<.   DK0  &0
M    @(%7"0( >&PO=V]R:W-H965T<R]S:&5E=#0W+GAM;%!+ 0(4 Q0    (
M +Q@<EDX"6'K! 0  !<6   9              " @048 @!X;"]W;W)K<VAE
M971S+W-H965T-#@N>&UL4$L! A0#%     @ O&!R6=XL@L$J!@  81@  !D
M             ("!0!P" 'AL+W=O<FMS:&5E=',O<VAE970T.2YX;6Q02P$"
M% ,4    " "\8')91JG?&+T"   2"0  &0              @(&A(@( >&PO
M=V]R:W-H965T<R]S:&5E=#4P+GAM;%!+ 0(4 Q0    ( +Q@<EF <^@UZ04
M #,A   9              " @94E @!X;"]W;W)K<VAE971S+W-H965T-3$N
M>&UL4$L! A0#%     @ O&!R61E(Q^-J P  _!   !D              ("!
MM2L" 'AL+W=O<FMS:&5E=',O<VAE970U,BYX;6Q02P$"% ,4    " "\8')9
MSJD?VB$#    #0  &0              @(%6+P( >&PO=V]R:W-H965T<R]S
M:&5E=#4S+GAM;%!+ 0(4 Q0    ( +Q@<EG6S9UG(@,  "D-   9
M      " @:XR @!X;"]W;W)K<VAE971S+W-H965T-30N>&UL4$L! A0#%
M  @ O&!R6;&RNU#7 P  %10  !D              ("!!S8" 'AL+W=O<FMS
M:&5E=',O<VAE970U-2YX;6Q02P$"% ,4    " "\8')9-JQJ/F\"  !"!0
M&0              @($5.@( >&PO=V]R:W-H965T<R]S:&5E=#4V+GAM;%!+
M 0(4 Q0    ( +Q@<EF7_^R;:P,  ) /   9              " @;L\ @!X
M;"]W;W)K<VAE971S+W-H965T-3<N>&UL4$L! A0#%     @ O&!R6>Z@OIJ,
M"   BEX  !D              ("!74 " 'AL+W=O<FMS:&5E=',O<VAE970U
M."YX;6Q02P$"% ,4    " "\8')9Z+V$7KP#  #A#P  &0
M@($@20( >&PO=V]R:W-H965T<R]S:&5E=#4Y+GAM;%!+ 0(4 Q0    ( +Q@
M<EF&5]_%PP<  +]$   9              " @1-- @!X;"]W;W)K<VAE971S
M+W-H965T-C N>&UL4$L! A0#%     @ O&!R6>6XH@0&$0  \_(  !D
M         ("!#54" 'AL+W=O<FMS:&5E=',O<VAE970V,2YX;6Q02P$"% ,4
M    " "\8')9HOHGEPX#  #I"0  &0              @(%*9@( >&PO=V]R
M:W-H965T<R]S:&5E=#8R+GAM;%!+ 0(4 Q0    ( +Q@<EDRAU)^Z!4  )]4
M 0 9              " @8]I @!X;"]W;W)K<VAE971S+W-H965T-C,N>&UL
M4$L! A0#%     @ O&!R6:(?2$&;!P  V4$  !D              ("!KG\"
M 'AL+W=O<FMS:&5E=',O<VAE970V-"YX;6Q02P$"% ,4    " "\8')9N*YX
M<EL"  !2!0  &0              @(& AP( >&PO=V]R:W-H965T<R]S:&5E
M=#8U+GAM;%!+ 0(4 Q0    ( +Q@<EF0^<=!Q 4  *<J   9
M  " @1** @!X;"]W;W)K<VAE971S+W-H965T-C8N>&UL4$L! A0#%     @
MO&!R64UD.O@U!    10  !D              ("!#9 " 'AL+W=O<FMS:&5E
M=',O<VAE970V-RYX;6Q02P$"% ,4    " "\8')9O.F:MPD#  #H"   &0
M            @(%YE ( >&PO=V]R:W-H965T<R]S:&5E=#8X+GAM;%!+ 0(4
M Q0    ( +Q@<EDKXG[+"P0  %4.   9              " @;F7 @!X;"]W
M;W)K<VAE971S+W-H965T-CDN>&UL4$L! A0#%     @ O&!R6>V=1VB4 @
M-0@  !D              ("!^YL" 'AL+W=O<FMS:&5E=',O<VAE970W,"YX
M;6Q02P$"% ,4    " "\8')9D[_)KW8"  !V!@  &0              @('&
MG@( >&PO=V]R:W-H965T<R]S:&5E=#<Q+GAM;%!+ 0(4 Q0    ( +Q@<ED
MAF#/OP(  !X(   9              " @7.A @!X;"]W;W)K<VAE971S+W-H
M965T-S(N>&UL4$L! A0#%     @ O&!R67J[G).1 @  P 8  !D
M     ("!::0" 'AL+W=O<FMS:&5E=',O<VAE970W,RYX;6Q02P$"% ,4
M" "\8')9R6F12TP"   2!0  &0              @($QIP( >&PO=V]R:W-H
M965T<R]S:&5E=#<T+GAM;%!+ 0(4 Q0    ( +Q@<EF2]^9#700  %@1   9
M              " @;2I @!X;"]W;W)K<VAE971S+W-H965T-S4N>&UL4$L!
M A0#%     @ O&!R67V?!.<X!   &1T  !D              ("!2*X" 'AL
M+W=O<FMS:&5E=',O<VAE970W-BYX;6Q02P$"% ,4    " "\8')9Q^3>1O<"
M   J"   &0              @(&WL@( >&PO=V]R:W-H965T<R]S:&5E=#<W
M+GAM;%!+ 0(4 Q0    ( +Q@<EE3,(/I5@(  ,L%   9              "
M@>6U @!X;"]W;W)K<VAE971S+W-H965T-S@N>&UL4$L! A0#%     @ O&!R
M69M/VCO= @  W0<  !D              ("!<K@" 'AL+W=O<FMS:&5E=',O
M<VAE970W.2YX;6Q02P$"% ,4    " "\8')9J7R#FB0$    %0  &0
M        @(&&NP( >&PO=V]R:W-H965T<R]S:&5E=#@P+GAM;%!+ 0(4 Q0
M   ( +Q@<EDL%P$?VP4  %HD   9              " @>&_ @!X;"]W;W)K
M<VAE971S+W-H965T.#$N>&UL4$L! A0#%     @ O&!R6?Q$_&*V @  Y0<
M !D              ("!\\4" 'AL+W=O<FMS:&5E=',O<VAE970X,BYX;6Q0
M2P$"% ,4    " "\8')9&LX'8N8"  # "0  &0              @('@R (
M>&PO=V]R:W-H965T<R]S:&5E=#@S+GAM;%!+ 0(4 Q0    ( +Q@<EG[#Y84
MI@(  /X&   9              " @?W+ @!X;"]W;W)K<VAE971S+W-H965T
M.#0N>&UL4$L! A0#%     @ O&!R644I')#5 @  [P<  !D
M ("!VLX" 'AL+W=O<FMS:&5E=',O<VAE970X-2YX;6Q02P$"% ,4    " "\
M8')9\M]LPIX#  #%"P  &0              @('FT0( >&PO=V]R:W-H965T
M<R]S:&5E=#@V+GAM;%!+ 0(4 Q0    ( +Q@<EG-I=5<A@(  *,&   9
M          " @;O5 @!X;"]W;W)K<VAE971S+W-H965T.#<N>&UL4$L! A0#
M%     @ O&!R65-1$T+- @  NP<  !D              ("!>-@" 'AL+W=O
M<FMS:&5E=',O<VAE970X."YX;6Q02P$"% ,4    " "\8')9'R%AJ] "   T
M"   &0              @(%\VP( >&PO=V]R:W-H965T<R]S:&5E=#@Y+GAM
M;%!+ 0(4 Q0    ( +Q@<EF]>*NGO (  ! (   9              " @8/>
M @!X;"]W;W)K<VAE971S+W-H965T.3 N>&UL4$L! A0#%     @ O&!R64;
MPO?; @  Q@@  !D              ("!=N$" 'AL+W=O<FMS:&5E=',O<VAE
M970Y,2YX;6Q02P$"% ,4    " "\8')97(!$=<4%  !;(   &0
M    @(&(Y ( >&PO=V]R:W-H965T<R]S:&5E=#DR+GAM;%!+ 0(4 Q0    (
M +Q@<EFI]UL2500   @0   9              " @83J @!X;"]W;W)K<VAE
M971S+W-H965T.3,N>&UL4$L! A0#%     @ O&!R64]T:=%O!P  ^R4  !D
M             ("!$.\" 'AL+W=O<FMS:&5E=',O<VAE970Y-"YX;6Q02P$"
M% ,4    " "\8')9')\Z\9<"  #!!P  &0              @(&V]@( >&PO
M=V]R:W-H965T<R]S:&5E=#DU+GAM;%!+ 0(4 Q0    ( +Q@<EGX@..;0P,
M ),)   9              " @83Y @!X;"]W;W)K<VAE971S+W-H965T.38N
M>&UL4$L! A0#%     @ O&!R602\2!@/"@  I&P  !D              ("!
M_OP" 'AL+W=O<FMS:&5E=',O<VAE970Y-RYX;6Q02P$"% ,4    " "\8')9
MF$HU2,4#  #*$0  &0              @(%$!P, >&PO=V]R:W-H965T<R]S
M:&5E=#DX+GAM;%!+ 0(4 Q0    ( +Q@<ED5_"1IX@,  .@1   9
M      " @4 + P!X;"]W;W)K<VAE971S+W-H965T.3DN>&UL4$L! A0#%
M  @ O&!R65^$*: '!0  GQ,  !H              ("!60\# 'AL+W=O<FMS
M:&5E=',O<VAE970Q,# N>&UL4$L! A0#%     @ O&!R65).(#60 @  60<
M !H              ("!F!0# 'AL+W=O<FMS:&5E=',O<VAE970Q,#$N>&UL
M4$L! A0#%     @ O&!R6<&-K01>!   (P\  !H              ("!8!<#
M 'AL+W=O<FMS:&5E=',O<VAE970Q,#(N>&UL4$L! A0#%     @ O&!R6?$X
MI6FB @  A0<  !H              ("!]AL# 'AL+W=O<FMS:&5E=',O<VAE
M970Q,#,N>&UL4$L! A0#%     @ O&!R66I-I2O[ @  APH  !H
M     ("!T!X# 'AL+W=O<FMS:&5E=',O<VAE970Q,#0N>&UL4$L! A0#%
M  @ O&!R62K_FW:O P  [1$  !H              ("! R(# 'AL+W=O<FMS
M:&5E=',O<VAE970Q,#4N>&UL4$L! A0#%     @ O&!R6>R*M3:.&0  *6<!
M !H              ("!ZB4# 'AL+W=O<FMS:&5E=',O<VAE970Q,#8N>&UL
M4$L! A0#%     @ O&!R62W*IZEK @  #P<  !H              ("!L#\#
M 'AL+W=O<FMS:&5E=',O<VAE970Q,#<N>&UL4$L! A0#%     @ O&!R637+
MCZ") P  [ \  !H              ("!4T(# 'AL+W=O<FMS:&5E=',O<VAE
M970Q,#@N>&UL4$L! A0#%     @ O&!R6?C3_)CO @  <@H  !H
M     ("!%$8# 'AL+W=O<FMS:&5E=',O<VAE970Q,#DN>&UL4$L! A0#%
M  @ O&!R6:Q3(?Y% P  LA0   T              ( !.TD# 'AL+W-T>6QE
M<RYX;6Q02P$"% ,4    " "\8')9EXJ[',     3 @  "P
M@ &K3 , 7W)E;',O+G)E;'-02P$"% ,4    " "\8')9 <;T 9X'  #+1P
M#P              @ &430, >&PO=V]R:V)O;VLN>&UL4$L! A0#%     @
MO&!R611DIV83 P  !$   !H              ( !7U4# 'AL+U]R96QS+W=O
M<FMB;V]K+GAM;"YR96QS4$L! A0#%     @ O&!R6=&<,ZAW @  G3T  !,
M             ( !JE@# %M#;VYT96YT7U1Y<&5S72YX;6Q02P4&     '4
,=0 T(   4EL#

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>118
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// 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)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>119
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* 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;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>121
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.3</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>373</ContextCount>
  <ElementCount>563</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>115</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>9</UnitCount>
  <MyReports>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>100000 - Document - Cover Page</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/CoverPage</Role>
      <ShortName>Cover Page</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>100010 - Statement - CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>100050 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>100060 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>100070 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>100090 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>995410 - Disclosure - Pay vs Performance Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/PvpDisclosure</Role>
      <ShortName>Pay vs Performance Disclosure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>995445 - Disclosure - Insider Trading Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements</Role>
      <ShortName>Insider Trading Arrangements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>995455 - Disclosure - Restatement of Previously Issued Financial Statement</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatement</Role>
      <ShortName>Restatement of Previously Issued Financial Statement</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>995465 - Disclosure - Organization and Nature of Business</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/OrganizationAndNatureOfBusiness</Role>
      <ShortName>Organization and Nature of Business</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>995475 - Disclosure - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>995485 - Disclosure - Fair Value Measurements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurements</Role>
      <ShortName>Fair Value Measurements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>995495 - Disclosure - Acquisitions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/Acquisitions</Role>
      <ShortName>Acquisitions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>995505 - Disclosure - Restructuring Plan</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlan</Role>
      <ShortName>Restructuring Plan</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>995515 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/Leases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>995525 - Disclosure - Revenue Recognition</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognition</Role>
      <ShortName>Revenue Recognition</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>995535 - Disclosure - Credit Losses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/CreditLosses</Role>
      <ShortName>Credit Losses</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>995545 - Disclosure - Goodwill and Intangible Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssets</Role>
      <ShortName>Goodwill and Intangible Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>995555 - Disclosure - Consolidated Balance Sheet Detail</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetail</Role>
      <ShortName>Consolidated Balance Sheet Detail</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>995565 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>995575 - Disclosure - Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquity</Role>
      <ShortName>Stockholders' Equity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>995585 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>995595 - Disclosure - Convertible Senior Notes</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotes</Role>
      <ShortName>Convertible Senior Notes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>995615 - Disclosure - Employee Benefit Plans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlans</Role>
      <ShortName>Employee Benefit Plans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>995625 - Disclosure - Related Party Transactions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactions</Role>
      <ShortName>Related Party Transactions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>995645 - Disclosure - Summary of Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>995655 - Disclosure - Restatement of Previously Issued Financial Statement (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementTables</Role>
      <ShortName>Restatement of Previously Issued Financial Statement (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatement</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>995665 - Disclosure - Summary of Significant Accounting Policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables</Role>
      <ShortName>Summary of Significant Accounting Policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>995675 - Disclosure - Fair Value Measurements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsTables</Role>
      <ShortName>Fair Value Measurements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurements</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>995685 - Disclosure - Acquisitions (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables</Role>
      <ShortName>Acquisitions (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/Acquisitions</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>995695 - Disclosure - Restructuring Plan (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanTables</Role>
      <ShortName>Restructuring Plan (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlan</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>995705 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/LeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/Leases</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>995715 - Disclosure - Revenue Recognition (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognitionTables</Role>
      <ShortName>Revenue Recognition (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognition</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>995725 - Disclosure - Credit Losses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/CreditLossesTables</Role>
      <ShortName>Credit Losses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/CreditLosses</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>995735 - Disclosure - Goodwill and Intangible Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables</Role>
      <ShortName>Goodwill and Intangible Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssets</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>995745 - Disclosure - Consolidated Balance Sheet Detail (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetailTables</Role>
      <ShortName>Consolidated Balance Sheet Detail (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetail</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>995755 - Disclosure - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables</Role>
      <ShortName>Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>995765 - Disclosure - Stockholders' Equity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityTables</Role>
      <ShortName>Stockholders' Equity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquity</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>995775 - Disclosure - Convertible Senior Notes (Tables)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesTables</Role>
      <ShortName>Convertible Senior Notes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotes</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>995805 - Disclosure - Restatement of Previously Issued Financial Statements - Description of restatement adjustments - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsDescriptionOfRestatementAdjustmentsAdditionalInformationDetail</Role>
      <ShortName>Restatement of Previously Issued Financial Statements - Description of restatement adjustments - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>995815 - Disclosure - Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Condensed Consolidated Balance Sheets (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal</Role>
      <ShortName>Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Condensed Consolidated Balance Sheets (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>995825 - Disclosure - Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Condensed Consolidated Balance Sheets (Parenthetical) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal1</Role>
      <ShortName>Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Condensed Consolidated Balance Sheets (Parenthetical) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>995835 - Disclosure - Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Consolidated Statements of Comprehensive Income (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf</Role>
      <ShortName>Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Consolidated Statements of Comprehensive Income (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>995845 - Disclosure - Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Consolidated Statements of Stockholders' Equity (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf2</Role>
      <ShortName>Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Consolidated Statements of Stockholders' Equity (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>995855 - Disclosure - Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Consolidated Statements of Cash Flow (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1</Role>
      <ShortName>Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Consolidated Statements of Cash Flow (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>995865 - Disclosure - Organization and Nature of Business - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureOrganizationAndNatureOfBusinessAdditionalInformationDetail</Role>
      <ShortName>Organization and Nature of Business - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>995875 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>995885 - Disclosure - Summary of Significant Accounting Policies - Estimated Useful Life of Assets (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Estimated Useful Life of Assets (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>995895 - Disclosure - Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>995905 - Disclosure - Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (parenthetical) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (parenthetical) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>995915 - Disclosure - Summary of Significant Accounting Policies - Summary of Product Revenues by Product Line (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Summary of Product Revenues by Product Line (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>995925 - Disclosure - Summary of Significant Accounting Policies - Percentage of Revenue by Geographic Area (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Percentage of Revenue by Geographic Area (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>995935 - Disclosure - Summary of Significant Accounting Policies - Total Assets by Geographic Area (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Total Assets by Geographic Area (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>995945 - Disclosure - Summary of Significant Accounting Policies - Long Lived Assets by Geographic Area (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Long Lived Assets by Geographic Area (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>995955 - Disclosure - Fair Value Measurements - Summary of Company's Cash, Cash Equivalents and Marketable Securities Held to Maturity (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail</Role>
      <ShortName>Fair Value Measurements - Summary of Company's Cash, Cash Equivalents and Marketable Securities Held to Maturity (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>995965 - Disclosure - Fair Value Measurements - Schedule of Amortized Cost and Fair Value Held to Maturity Securities by Contractual Maturity (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAmortizedCostAndFairValueHeldToMaturitySecuritiesByContractualMaturityDetail</Role>
      <ShortName>Fair Value Measurements - Schedule of Amortized Cost and Fair Value Held to Maturity Securities by Contractual Maturity (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>995975 - Disclosure - Fair Value Measurements - Schedule of Financial Assets and Financial Liabilities Measured at Fair Value on a Recurring Basis (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail</Role>
      <ShortName>Fair Value Measurements - Schedule of Financial Assets and Financial Liabilities Measured at Fair Value on a Recurring Basis (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>995985 - Disclosure - Fair Value Measurements - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail</Role>
      <ShortName>Fair Value Measurements - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>995995 - Disclosure - Fair Value Measurements - Schedule of Reconciliation of the Change in the Fair Value of Contingent Consideration - Earnout (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail</Role>
      <ShortName>Fair Value Measurements - Schedule of Reconciliation of the Change in the Fair Value of Contingent Consideration - Earnout (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>996005 - Disclosure - Fair Value Measurements - Schedule of Contingent Consideration Earnout Expect to be Required to Settle include Significant unobservable Inputs (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail</Role>
      <ShortName>Fair Value Measurements - Schedule of Contingent Consideration Earnout Expect to be Required to Settle include Significant unobservable Inputs (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>996015 - Disclosure - Acquisitions - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail</Role>
      <ShortName>Acquisitions - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>996025 - Disclosure - Acquisitions - Consideration Transferred (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail</Role>
      <ShortName>Acquisitions - Consideration Transferred (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>996035 - Disclosure - Acquisitions - Fair Value of Net Assets Acquired (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail</Role>
      <ShortName>Acquisitions - Fair Value of Net Assets Acquired (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>996045 - Disclosure - Acquisitions - Estimated Useful Life and Fair Value (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail</Role>
      <ShortName>Acquisitions - Estimated Useful Life and Fair Value (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>996065 - Disclosure - Restructuring Plan - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail</Role>
      <ShortName>Restructuring Plan - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>996075 - Disclosure - Restructuring Plan - Summary of Restructuring Activities by Type of Cost (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail</Role>
      <ShortName>Restructuring Plan - Summary of Restructuring Activities by Type of Cost (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>996085 - Disclosure - Restructuring Plan - Summary of Activity Related to Restructuring Plan (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail</Role>
      <ShortName>Restructuring Plan - Summary of Activity Related to Restructuring Plan (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>67</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>996095 - Disclosure - Leases - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/LeasesAdditionalInformationDetail</Role>
      <ShortName>Leases - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>996105 - Disclosure - Leases - Summary of Maturities of Operating Lease Liabilities (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail</Role>
      <ShortName>Leases - Summary of Maturities of Operating Lease Liabilities (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>996115 - Disclosure - Leases - Summary of Maturities of Operating Lease Liabilities (parenthetical) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail</Role>
      <ShortName>Leases - Summary of Maturities of Operating Lease Liabilities (parenthetical) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>70</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>996125 - Disclosure - Leases - Summary of Operating Lease Liability (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail</Role>
      <ShortName>Leases - Summary of Operating Lease Liability (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>71</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>996135 - Disclosure - Leases - Summary of Operating Lease Cost (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseCostDetail</Role>
      <ShortName>Leases - Summary of Operating Lease Cost (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>72</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>996145 - Disclosure - Leases - Schedule of Supplemental Disclosure of Cash Flows Related to Operating Leases (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesDetail</Role>
      <ShortName>Leases - Schedule of Supplemental Disclosure of Cash Flows Related to Operating Leases (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>73</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>996155 - Disclosure - Leases - Schedule of Weighted Average Discount Rate and Lease Term Used in Calculating Lease Liabilities (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfWeightedAverageDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesDetail</Role>
      <ShortName>Leases - Schedule of Weighted Average Discount Rate and Lease Term Used in Calculating Lease Liabilities (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>74</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>996165 - Disclosure - Revenue Recognition - Summary of Disaggregation of Revenue (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail</Role>
      <ShortName>Revenue Recognition - Summary of Disaggregation of Revenue (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>75</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>996175 - Disclosure - Revenue Recognition - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail</Role>
      <ShortName>Revenue Recognition - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>76</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>996185 - Disclosure - Revenue Recognition - Summary of Receivables and Deferred Revenue from Contracts with Customers (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail</Role>
      <ShortName>Revenue Recognition - Summary of Receivables and Deferred Revenue from Contracts with Customers (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>77</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>996195 - Disclosure - Credit Losses - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesAdditionalInformationDetail</Role>
      <ShortName>Credit Losses - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>78</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>996205 - Disclosure - Credit Losses - Summary Of Allowance For Credit Losses For Accounts Receivables (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail</Role>
      <ShortName>Credit Losses - Summary Of Allowance For Credit Losses For Accounts Receivables (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>79</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>996215 - Disclosure - Goodwill and Intangible Assets - Changes in Carrying Value of Goodwill (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail</Role>
      <ShortName>Goodwill and Intangible Assets - Changes in Carrying Value of Goodwill (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>80</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>996225 - Disclosure - Goodwill and Intangible Assets - Schedule of Intangible Assets (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail</Role>
      <ShortName>Goodwill and Intangible Assets - Schedule of Intangible Assets (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>81</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>996245 - Disclosure - Goodwill and Intangible Assets - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail</Role>
      <ShortName>Goodwill and Intangible Assets - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>82</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>996255 - Disclosure - Goodwill and Intangible Assets - Amortization Expense for Amortized Intangible Assets (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail</Role>
      <ShortName>Goodwill and Intangible Assets - Amortization Expense for Amortized Intangible Assets (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>83</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>996265 - Disclosure - Consolidated Balance Sheet Detail - Schedule of Inventories (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail</Role>
      <ShortName>Consolidated Balance Sheet Detail - Schedule of Inventories (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>84</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>996275 - Disclosure - Consolidated Balance Sheet Detail - Prepaid Expenses and Other Current Assets (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail</Role>
      <ShortName>Consolidated Balance Sheet Detail - Prepaid Expenses and Other Current Assets (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>85</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>996285 - Disclosure - Consolidated Balance Sheet Detail - Property, Plant and Equipment (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail</Role>
      <ShortName>Consolidated Balance Sheet Detail - Property, Plant and Equipment (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>86</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>996295 - Disclosure - Consolidated Balance Sheet Detail - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail</Role>
      <ShortName>Consolidated Balance Sheet Detail - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>87</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R88.htm</HtmlFileName>
      <LongName>996305 - Disclosure - Consolidated Balance Sheet Detail - Schedule of Accrued Liabilities (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail</Role>
      <ShortName>Consolidated Balance Sheet Detail - Schedule of Accrued Liabilities (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>88</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R89.htm</HtmlFileName>
      <LongName>996315 - Disclosure - Income Taxes - Income Before Income Taxes (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail</Role>
      <ShortName>Income Taxes - Income Before Income Taxes (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>89</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R90.htm</HtmlFileName>
      <LongName>996325 - Disclosure - Income Taxes - Current, Deferred and Equity Income Taxes (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail</Role>
      <ShortName>Income Taxes - Current, Deferred and Equity Income Taxes (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>90</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R91.htm</HtmlFileName>
      <LongName>996335 - Disclosure - Income Taxes - Provision for Income Taxes by Jurisdiction (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail</Role>
      <ShortName>Income Taxes - Provision for Income Taxes by Jurisdiction (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>91</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R92.htm</HtmlFileName>
      <LongName>996345 - Disclosure - Income Taxes - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail</Role>
      <ShortName>Income Taxes - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>92</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R93.htm</HtmlFileName>
      <LongName>996355 - Disclosure - Income Taxes - Consolidated Deferred Tax Assets (Liabilities) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail</Role>
      <ShortName>Income Taxes - Consolidated Deferred Tax Assets (Liabilities) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>93</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R94.htm</HtmlFileName>
      <LongName>996365 - Disclosure - Income Taxes - Reconciliation of Federal Statutory Rate to Effective Income Tax Rate (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail</Role>
      <ShortName>Income Taxes - Reconciliation of Federal Statutory Rate to Effective Income Tax Rate (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>94</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R95.htm</HtmlFileName>
      <LongName>996375 - Disclosure - Income Taxes - Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail</Role>
      <ShortName>Income Taxes - Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>95</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R96.htm</HtmlFileName>
      <LongName>996385 - Disclosure - Income Taxes - Reconciliation of Unrecognized Tax Benefits (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail</Role>
      <ShortName>Income Taxes - Reconciliation of Unrecognized Tax Benefits (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>96</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R97.htm</HtmlFileName>
      <LongName>996395 - Disclosure - Stockholders' Equity - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail</Role>
      <ShortName>Stockholders' Equity - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>97</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R98.htm</HtmlFileName>
      <LongName>996405 - Disclosure - Stockholders' Equity - Stock-Based Compensation Expense (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail</Role>
      <ShortName>Stockholders' Equity - Stock-Based Compensation Expense (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>98</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R99.htm</HtmlFileName>
      <LongName>996415 - Disclosure - Stockholders' Equity - Estimated Weighted Average Assumptions (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail</Role>
      <ShortName>Stockholders' Equity - Estimated Weighted Average Assumptions (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>99</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R100.htm</HtmlFileName>
      <LongName>996425 - Disclosure - Stockholders' Equity - Summary of Option Activity (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail</Role>
      <ShortName>Stockholders' Equity - Summary of Option Activity (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>100</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R101.htm</HtmlFileName>
      <LongName>996435 - Disclosure - Stockholders' Equity - Summary of Option Activity (Parenthetical) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail</Role>
      <ShortName>Stockholders' Equity - Summary of Option Activity (Parenthetical) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>101</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R102.htm</HtmlFileName>
      <LongName>996445 - Disclosure - Stockholders' Equity - Summary of Restricted Stock Unit Activity (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail</Role>
      <ShortName>Stockholders' Equity - Summary of Restricted Stock Unit Activity (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>102</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R103.htm</HtmlFileName>
      <LongName>996455 - Disclosure - Stockholders' Equity - Summary of Restricted Stock Unit Activity (Parenthetical) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail</Role>
      <ShortName>Stockholders' Equity - Summary of Restricted Stock Unit Activity (Parenthetical) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>103</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R104.htm</HtmlFileName>
      <LongName>996465 - Disclosure - Commitments and Contingencies - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail</Role>
      <ShortName>Commitments and Contingencies - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>104</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R105.htm</HtmlFileName>
      <LongName>996475 - Disclosure - Convertible Senior Notes - Carrying Value of Convertible Senior Notes (Detail)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail</Role>
      <ShortName>Convertible Senior Notes - Carrying Value of Convertible Senior Notes (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>105</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R106.htm</HtmlFileName>
      <LongName>996485 - Disclosure - Convertible Senior Notes - Additional Information (Detail)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail</Role>
      <ShortName>Convertible Senior Notes - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>106</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R107.htm</HtmlFileName>
      <LongName>996495 - Disclosure - Accumulated Other Comprehensive Income (Loss) - Changes in Accumulated Other Comprehensive Income (Loss) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail</Role>
      <ShortName>Accumulated Other Comprehensive Income (Loss) - Changes in Accumulated Other Comprehensive Income (Loss) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>107</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R108.htm</HtmlFileName>
      <LongName>996505 - Disclosure - Employee Benefit Plans - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail</Role>
      <ShortName>Employee Benefit Plans - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>108</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R109.htm</HtmlFileName>
      <LongName>996515 - Disclosure - Related Party Transactions - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail</Role>
      <ShortName>Related Party Transactions - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>109</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-K/A" isDefinitelyFs="true" isUsgaap="true" original="rgen-20231231.htm">rgen-20231231.htm</File>
    <File>rgen-20231231.xsd</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="1">http://fasb.org/srt/2024</BaseTaxonomy>
    <BaseTaxonomy items="1796">http://fasb.org/us-gaap/2024</BaseTaxonomy>
    <BaseTaxonomy items="39">http://xbrl.sec.gov/dei/2024</BaseTaxonomy>
    <BaseTaxonomy items="4">http://xbrl.sec.gov/ecd/2024</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>false</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>124
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "rgen-20231231.htm": {
   "nsprefix": "rgen",
   "nsuri": "http://www.repligencorp.com/20231231",
   "dts": {
    "inline": {
     "local": [
      "rgen-20231231.htm"
     ]
    },
    "schema": {
     "local": [
      "rgen-20231231.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/arcrole/esma-arcrole-2018-11-21.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/2023/calculation-1.1.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/2024/elts/srt-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-roles-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd",
      "https://xbrl.sec.gov/country/2024/country-2024.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024.xsd",
      "https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd",
      "https://xbrl.sec.gov/ecd/2024/ecd-sub-2024.xsd",
      "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd"
     ]
    }
   },
   "keyStandard": 465,
   "keyCustom": 98,
   "axisStandard": 36,
   "axisCustom": 0,
   "memberStandard": 52,
   "memberCustom": 62,
   "hidden": {
    "total": 21,
    "http://fasb.org/us-gaap/2024": 13,
    "http://xbrl.sec.gov/ecd/2024": 4,
    "http://xbrl.sec.gov/dei/2024": 4
   },
   "contextCount": 373,
   "entityCount": 1,
   "segmentCount": 115,
   "elementCount": 1072,
   "unitCount": 9,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2024": 1796,
    "http://xbrl.sec.gov/dei/2024": 39,
    "http://xbrl.sec.gov/ecd/2024": 4,
    "http://fasb.org/srt/2024": 1
   },
   "report": {
    "R1": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage",
     "longName": "100000 - Document - Cover Page",
     "shortName": "Cover Page",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
     "longName": "100010 - Statement - CONSOLIDATED BALANCE SHEETS",
     "shortName": "CONSOLIDATED BALANCE SHEETS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R3": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical",
     "longName": "100050 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R4": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
     "longName": "100060 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME",
     "shortName": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R5": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
     "longName": "100070 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "shortName": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "C_e337dcc3-8c1c-48d1-8a8c-84c2b207455a",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_e54d09a6-b2af-4dea-9a1a-ccf608319a7f",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
     "longName": "100090 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "rgen:NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R7": {
     "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": "7",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R8": {
     "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": "8",
     "firstAnchor": null,
     "uniqueAnchor": null
    },
    "R9": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatement",
     "longName": "995455 - Disclosure - Restatement of Previously Issued Financial Statement",
     "shortName": "Restatement of Previously Issued Financial Statement",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/OrganizationAndNatureOfBusiness",
     "longName": "995465 - Disclosure - Organization and Nature of Business",
     "shortName": "Organization and Nature of Business",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:NatureOfOperations",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:NatureOfOperations",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPolicies",
     "longName": "995475 - Disclosure - Summary of Significant Accounting Policies",
     "shortName": "Summary of Significant Accounting Policies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurements",
     "longName": "995485 - Disclosure - Fair Value Measurements",
     "shortName": "Fair Value Measurements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/Acquisitions",
     "longName": "995495 - Disclosure - Acquisitions",
     "shortName": "Acquisitions",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlan",
     "longName": "995505 - Disclosure - Restructuring Plan",
     "shortName": "Restructuring Plan",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/Leases",
     "longName": "995515 - Disclosure - Leases",
     "shortName": "Leases",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognition",
     "longName": "995525 - Disclosure - Revenue Recognition",
     "shortName": "Revenue Recognition",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/CreditLosses",
     "longName": "995535 - Disclosure - Credit Losses",
     "shortName": "Credit Losses",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:CreditLossFinancialInstrumentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:CreditLossFinancialInstrumentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssets",
     "longName": "995545 - Disclosure - Goodwill and Intangible Assets",
     "shortName": "Goodwill and Intangible Assets",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetail",
     "longName": "995555 - Disclosure - Consolidated Balance Sheet Detail",
     "shortName": "Consolidated Balance Sheet Detail",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes",
     "longName": "995565 - Disclosure - Income Taxes",
     "shortName": "Income Taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquity",
     "longName": "995575 - Disclosure - Stockholders' Equity",
     "shortName": "Stockholders' Equity",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingencies",
     "longName": "995585 - Disclosure - Commitments and Contingencies",
     "shortName": "Commitments and Contingencies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotes",
     "longName": "995595 - Disclosure - Convertible Senior Notes",
     "shortName": "Convertible Senior Notes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:LongTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:LongTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlans",
     "longName": "995615 - Disclosure - Employee Benefit Plans",
     "shortName": "Employee Benefit Plans",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "24",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactions",
     "longName": "995625 - Disclosure - Related Party Transactions",
     "shortName": "Related Party Transactions",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "25",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies",
     "longName": "995645 - Disclosure - Summary of Significant Accounting Policies (Policies)",
     "shortName": "Summary of Significant Accounting Policies (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "26",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:UseOfEstimates",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:UseOfEstimates",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementTables",
     "longName": "995655 - Disclosure - Restatement of Previously Issued Financial Statement (Tables)",
     "shortName": "Restatement of Previously Issued Financial Statement (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "27",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables",
     "longName": "995665 - Disclosure - Summary of Significant Accounting Policies (Tables)",
     "shortName": "Summary of Significant Accounting Policies (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "28",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "rgen:ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "rgen:ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsTables",
     "longName": "995675 - Disclosure - Fair Value Measurements (Tables)",
     "shortName": "Fair Value Measurements (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "rgen:CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "rgen:CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
     "longName": "995685 - Disclosure - Acquisitions (Tables)",
     "shortName": "Acquisitions (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "C_932c309b-51cb-44b3-bc0b-590bd77b766c",
      "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_932c309b-51cb-44b3-bc0b-590bd77b766c",
      "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanTables",
     "longName": "995695 - Disclosure - Restructuring Plan (Tables)",
     "shortName": "Restructuring Plan (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/LeasesTables",
     "longName": "995705 - Disclosure - Leases (Tables)",
     "shortName": "Leases (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "32",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognitionTables",
     "longName": "995715 - Disclosure - Revenue Recognition (Tables)",
     "shortName": "Revenue Recognition (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "33",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/CreditLossesTables",
     "longName": "995725 - Disclosure - Credit Losses (Tables)",
     "shortName": "Credit Losses (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "34",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables",
     "longName": "995735 - Disclosure - Goodwill and Intangible Assets (Tables)",
     "shortName": "Goodwill and Intangible Assets (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "35",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetailTables",
     "longName": "995745 - Disclosure - Consolidated Balance Sheet Detail (Tables)",
     "shortName": "Consolidated Balance Sheet Detail (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "36",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables",
     "longName": "995755 - Disclosure - Income Taxes (Tables)",
     "shortName": "Income Taxes (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "37",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityTables",
     "longName": "995765 - Disclosure - Stockholders' Equity (Tables)",
     "shortName": "Stockholders' Equity (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "38",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesTables",
     "longName": "995775 - Disclosure - Convertible Senior Notes (Tables)",
     "shortName": "Convertible Senior Notes (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "39",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:ConvertibleDebtTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:ConvertibleDebtTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsDescriptionOfRestatementAdjustmentsAdditionalInformationDetail",
     "longName": "995805 - Disclosure - Restatement of Previously Issued Financial Statements - Description of restatement adjustments - Additional Information (Detail)",
     "shortName": "Restatement of Previously Issued Financial Statements - Description of restatement adjustments - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "C_d41a49c7-4e1a-4e04-88c8-9a0e57f6b897",
      "name": "rgen:CancelledPurchaseOrderPayments",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_d41a49c7-4e1a-4e04-88c8-9a0e57f6b897",
      "name": "rgen:CancelledPurchaseOrderPayments",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal",
     "longName": "995815 - Disclosure - Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Condensed Consolidated Balance Sheets (Detail)",
     "shortName": "Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Condensed Consolidated Balance Sheets (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_6d330e6c-613f-463b-8988-d1dd296d67dd",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R42": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal1",
     "longName": "995825 - Disclosure - Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Condensed Consolidated Balance Sheets (Parenthetical) (Detail)",
     "shortName": "Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Condensed Consolidated Balance Sheets (Parenthetical) (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "parenthetical",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R43": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf",
     "longName": "995835 - Disclosure - Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Consolidated Statements of Comprehensive Income (Detail)",
     "shortName": "Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Consolidated Statements of Comprehensive Income (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_f8079501-8ddb-4196-9cae-e8d19f192855",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R44": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf2",
     "longName": "995845 - Disclosure - Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Consolidated Statements of Stockholders' Equity (Detail)",
     "shortName": "Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Consolidated Statements of Stockholders' Equity (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "C_afc15e9e-909f-4bd6-be74-63ca7d294c34",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_06ed5cd2-5d02-4b7c-a060-089ca983ba21",
      "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R45": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1",
     "longName": "995855 - Disclosure - Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Consolidated Statements of Cash Flow (Detail)",
     "shortName": "Restatement of Previously Issued Financial Statements - Schedule of Restatement of Previously Issued Financial Statements - Consolidated Statements of Cash Flow (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_fca9e7be-b5e9-48d2-a590-994404346f46",
      "name": "us-gaap:NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R46": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureOrganizationAndNatureOfBusinessAdditionalInformationDetail",
     "longName": "995865 - Disclosure - Organization and Nature of Business - Additional Information (Detail)",
     "shortName": "Organization and Nature of Business - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "rgen:NumberOfManufacturingSites",
      "unitRef": "U_Sites",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:NatureOfOperations",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "rgen:NumberOfManufacturingSites",
      "unitRef": "U_Sites",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:NatureOfOperations",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R47": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
     "longName": "995875 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Detail)",
     "shortName": "Summary of Significant Accounting Policies - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R48": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail",
     "longName": "995885 - Disclosure - Summary of Significant Accounting Policies - Estimated Useful Life of Assets (Detail)",
     "shortName": "Summary of Significant Accounting Policies - Estimated Useful Life of Assets (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "C_86a748c8-c612-4cdb-ae92-87b947f1df49",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock",
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_86a748c8-c612-4cdb-ae92-87b947f1df49",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock",
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail",
     "longName": "995895 - Disclosure - Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (Detail)",
     "shortName": "Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:NetIncomeLossAttributableToParentDiluted",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R50": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail",
     "longName": "995905 - Disclosure - Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (parenthetical) (Detail)",
     "shortName": "Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (parenthetical) (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "C_dd71ae59-f1fd-409e-b94a-3357654f6efd",
      "name": "us-gaap:DebtInstrumentInterestRateStatedPercentage",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "5",
      "ancestors": [
       "span",
       "link:footnote",
       "div",
       "div",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R51": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail",
     "longName": "995915 - Disclosure - Summary of Significant Accounting Policies - Summary of Product Revenues by Product Line (Detail)",
     "shortName": "Summary of Significant Accounting Policies - Summary of Product Revenues by Product Line (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_45d4a4e0-a4ed-4901-b2d3-5c70924ea702",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
       "div",
       "us-gaap:SegmentReportingPolicyPolicyTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R52": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail",
     "longName": "995925 - Disclosure - Summary of Significant Accounting Policies - Percentage of Revenue by Geographic Area (Detail)",
     "shortName": "Summary of Significant Accounting Policies - Percentage of Revenue by Geographic Area (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "C_7f11107d-8c42-4922-babc-75a59b58c2c2",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
       "div",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7f11107d-8c42-4922-babc-75a59b58c2c2",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
       "div",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R53": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail",
     "longName": "995935 - Disclosure - Summary of Significant Accounting Policies - Total Assets by Geographic Area (Detail)",
     "shortName": "Summary of Significant Accounting Policies - Total Assets by Geographic Area (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:Assets",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_028f0a92-fc2f-4765-8d45-da300d48f16f",
      "name": "us-gaap:Assets",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock",
       "div",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R54": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail",
     "longName": "995945 - Disclosure - Summary of Significant Accounting Policies - Long Lived Assets by Geographic Area (Detail)",
     "shortName": "Summary of Significant Accounting Policies - Long Lived Assets by Geographic Area (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "rgen:AssetsNonCurrentExcludingDifferedTaxAssets",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock",
       "div",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "rgen:AssetsNonCurrentExcludingDifferedTaxAssets",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock",
       "div",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R55": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail",
     "longName": "995955 - Disclosure - Fair Value Measurements - Summary of Company's Cash, Cash Equivalents and Marketable Securities Held to Maturity (Detail)",
     "shortName": "Fair Value Measurements - Summary of Company's Cash, Cash Equivalents and Marketable Securities Held to Maturity (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "C_be9d030f-78a2-4010-a51c-2a17318bea4f",
      "name": "rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock",
       "div",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_be9d030f-78a2-4010-a51c-2a17318bea4f",
      "name": "rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock",
       "div",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R56": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAmortizedCostAndFairValueHeldToMaturitySecuritiesByContractualMaturityDetail",
     "longName": "995965 - Disclosure - Fair Value Measurements - Schedule of Amortized Cost and Fair Value Held to Maturity Securities by Contractual Maturity (Detail)",
     "shortName": "Fair Value Measurements - Schedule of Amortized Cost and Fair Value Held to Maturity Securities by Contractual Maturity (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "C_afc15e9e-909f-4bd6-be74-63ca7d294c34",
      "name": "rgen:DebtSecuritiesMaturityWithinOneYearAmortizedCost",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock",
       "div",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_afc15e9e-909f-4bd6-be74-63ca7d294c34",
      "name": "rgen:DebtSecuritiesMaturityWithinOneYearAmortizedCost",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock",
       "div",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R57": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail",
     "longName": "995975 - Disclosure - Fair Value Measurements - Schedule of Financial Assets and Financial Liabilities Measured at Fair Value on a Recurring Basis (Detail)",
     "shortName": "Fair Value Measurements - Schedule of Financial Assets and Financial Liabilities Measured at Fair Value on a Recurring Basis (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "rgen:ShortTermContingentConsideration",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "rgen:ShortTermContingentConsideration",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R58": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
     "longName": "995985 - Disclosure - Fair Value Measurements - Additional Information (Detail)",
     "shortName": "Fair Value Measurements - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "C_e0310568-ba23-447a-89dc-cc0078b4a0d9",
      "name": "us-gaap:TreasuryStockValueAcquiredCostMethod",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_e0310568-ba23-447a-89dc-cc0078b4a0d9",
      "name": "us-gaap:TreasuryStockValueAcquiredCostMethod",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R59": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail",
     "longName": "995995 - Disclosure - Fair Value Measurements - Schedule of Reconciliation of the Change in the Fair Value of Contingent Consideration - Earnout (Detail)",
     "shortName": "Fair Value Measurements - Schedule of Reconciliation of the Change in the Fair Value of Contingent Consideration - Earnout (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_c3b98cb2-71c9-4900-851c-19332d055ff6",
      "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R60": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
     "longName": "996005 - Disclosure - Fair Value Measurements - Schedule of Contingent Consideration Earnout Expect to be Required to Settle include Significant unobservable Inputs (Detail)",
     "shortName": "Fair Value Measurements - Schedule of Contingent Consideration Earnout Expect to be Required to Settle include Significant unobservable Inputs (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "C_ade650d3-99e2-445d-912a-b1fa113c189b",
      "name": "us-gaap:LiabilitiesFairValueDisclosure",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_fd1dc4c0-461d-4328-b57e-2aff96e9a0a7",
      "name": "us-gaap:LiabilitiesFairValueDisclosure",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R61": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
     "longName": "996015 - Disclosure - Acquisitions - Additional Information (Detail)",
     "shortName": "Acquisitions - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_afc15e9e-909f-4bd6-be74-63ca7d294c34",
      "name": "us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R62": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail",
     "longName": "996025 - Disclosure - Acquisitions - Consideration Transferred (Detail)",
     "shortName": "Acquisitions - Consideration Transferred (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "C_5b2f98f0-5aaf-47f7-a6c3-eb82a9a19723",
      "name": "rgen:CashConsiderationExcludingRestrictedCash",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_5b2f98f0-5aaf-47f7-a6c3-eb82a9a19723",
      "name": "rgen:CashConsiderationExcludingRestrictedCash",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R63": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
     "longName": "996035 - Disclosure - Acquisitions - Fair Value of Net Assets Acquired (Detail)",
     "shortName": "Acquisitions - Fair Value of Net Assets Acquired (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:Goodwill",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_e3f82ff6-645c-423c-9c11-f15ada748e62",
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R64": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
     "longName": "996045 - Disclosure - Acquisitions - Estimated Useful Life and Fair Value (Detail)",
     "shortName": "Acquisitions - Estimated Useful Life and Fair Value (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "64",
     "firstAnchor": {
      "contextRef": "C_e3f82ff6-645c-423c-9c11-f15ada748e62",
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_e3f82ff6-645c-423c-9c11-f15ada748e62",
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R65": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail",
     "longName": "996065 - Disclosure - Restructuring Plan - Additional Information (Detail)",
     "shortName": "Restructuring Plan - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "65",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:RestructuringCosts",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
       "div",
       "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "rgen:NoncashInventoryAdjustments",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R66": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail",
     "longName": "996075 - Disclosure - Restructuring Plan - Summary of Restructuring Activities by Type of Cost (Detail)",
     "shortName": "Restructuring Plan - Summary of Restructuring Activities by Type of Cost (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "66",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:RestructuringCosts",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
       "div",
       "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ea2f159d-1ada-4375-89ef-69b597936bc6",
      "name": "us-gaap:RestructuringCosts",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
       "div",
       "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R67": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail",
     "longName": "996085 - Disclosure - Restructuring Plan - Summary of Activity Related to Restructuring Plan (Detail)",
     "shortName": "Restructuring Plan - Summary of Activity Related to Restructuring Plan (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "67",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:RestructuringCosts",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
       "div",
       "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:PaymentsForRestructuring",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R68": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/LeasesAdditionalInformationDetail",
     "longName": "996095 - Disclosure - Leases - Additional Information (Detail)",
     "shortName": "Leases - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "68",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:AreaOfLand",
      "unitRef": "U_sqft",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R69": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail",
     "longName": "996105 - Disclosure - Leases - Summary of Maturities of Operating Lease Liabilities (Detail)",
     "shortName": "Leases - Summary of Maturities of Operating Lease Liabilities (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "69",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R70": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail",
     "longName": "996115 - Disclosure - Leases - Summary of Maturities of Operating Lease Liabilities (parenthetical) (Detail)",
     "shortName": "Leases - Summary of Maturities of Operating Lease Liabilities (parenthetical) (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "70",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "rgen:LeaseObligationsNotYetCommenced",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "link:footnote",
       "div",
       "div",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "rgen:LeaseObligationsNotYetCommenced",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "link:footnote",
       "div",
       "div",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R71": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail",
     "longName": "996125 - Disclosure - Leases - Summary of Operating Lease Liability (Detail)",
     "shortName": "Leases - Summary of Operating Lease Liability (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "71",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:OperatingLeaseLiabilityCurrent",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R72": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseCostDetail",
     "longName": "996135 - Disclosure - Leases - Summary of Operating Lease Cost (Detail)",
     "shortName": "Leases - Summary of Operating Lease Cost (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "72",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:OperatingLeaseCost",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:OperatingLeaseCost",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R73": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesDetail",
     "longName": "996145 - Disclosure - Leases - Schedule of Supplemental Disclosure of Cash Flows Related to Operating Leases (Detail)",
     "shortName": "Leases - Schedule of Supplemental Disclosure of Cash Flows Related to Operating Leases (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "73",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:OperatingLeasePayments",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:OperatingLeasePayments",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R74": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfWeightedAverageDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesDetail",
     "longName": "996155 - Disclosure - Leases - Schedule of Weighted Average Discount Rate and Lease Term Used in Calculating Lease Liabilities (Detail)",
     "shortName": "Leases - Schedule of Weighted Average Discount Rate and Lease Term Used in Calculating Lease Liabilities (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "74",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R75": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail",
     "longName": "996165 - Disclosure - Revenue Recognition - Summary of Disaggregation of Revenue (Detail)",
     "shortName": "Revenue Recognition - Summary of Disaggregation of Revenue (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "75",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R76": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
     "longName": "996175 - Disclosure - Revenue Recognition - Additional Information (Detail)",
     "shortName": "Revenue Recognition - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "76",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R77": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail",
     "longName": "996185 - Disclosure - Revenue Recognition - Summary of Receivables and Deferred Revenue from Contracts with Customers (Detail)",
     "shortName": "Revenue Recognition - Summary of Receivables and Deferred Revenue from Contracts with Customers (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "77",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:ContractWithCustomerReceivableAfterAllowanceForCreditLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:ContractWithCustomerReceivableAfterAllowanceForCreditLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R78": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesAdditionalInformationDetail",
     "longName": "996195 - Disclosure - Credit Losses - Additional Information (Detail)",
     "shortName": "Credit Losses - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "78",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:AccountsReceivableNetCurrent",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R79": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail",
     "longName": "996205 - Disclosure - Credit Losses - Summary Of Allowance For Credit Losses For Accounts Receivables (Detail)",
     "shortName": "Credit Losses - Summary Of Allowance For Credit Losses For Accounts Receivables (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "79",
     "firstAnchor": {
      "contextRef": "C_afc15e9e-909f-4bd6-be74-63ca7d294c34",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_82911078-bdd7-49a5-87bb-adfb316a68b0",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R80": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail",
     "longName": "996215 - Disclosure - Goodwill and Intangible Assets - Changes in Carrying Value of Goodwill (Detail)",
     "shortName": "Goodwill and Intangible Assets - Changes in Carrying Value of Goodwill (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "80",
     "firstAnchor": {
      "contextRef": "C_afc15e9e-909f-4bd6-be74-63ca7d294c34",
      "name": "us-gaap:Goodwill",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R81": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail",
     "longName": "996225 - Disclosure - Goodwill and Intangible Assets - Schedule of Intangible Assets (Detail)",
     "shortName": "Goodwill and Intangible Assets - Schedule of Intangible Assets (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "81",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R82": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail",
     "longName": "996245 - Disclosure - Goodwill and Intangible Assets - Additional Information (Detail)",
     "shortName": "Goodwill and Intangible Assets - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "82",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R83": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail",
     "longName": "996255 - Disclosure - Goodwill and Intangible Assets - Amortization Expense for Amortized Intangible Assets (Detail)",
     "shortName": "Goodwill and Intangible Assets - Amortization Expense for Amortized Intangible Assets (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "83",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R84": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail",
     "longName": "996265 - Disclosure - Consolidated Balance Sheet Detail - Schedule of Inventories (Detail)",
     "shortName": "Consolidated Balance Sheet Detail - Schedule of Inventories (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "84",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R85": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail",
     "longName": "996275 - Disclosure - Consolidated Balance Sheet Detail - Prepaid Expenses and Other Current Assets (Detail)",
     "shortName": "Consolidated Balance Sheet Detail - Prepaid Expenses and Other Current Assets (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "85",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "rgen:PrepaidServicesAndProfessionalFees",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "rgen:PrepaidServicesAndProfessionalFees",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R86": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail",
     "longName": "996285 - Disclosure - Consolidated Balance Sheet Detail - Property, Plant and Equipment (Detail)",
     "shortName": "Consolidated Balance Sheet Detail - Property, Plant and Equipment (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "86",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:Land",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:Land",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R87": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail",
     "longName": "996295 - Disclosure - Consolidated Balance Sheet Detail - Additional Information (Detail)",
     "shortName": "Consolidated Balance Sheet Detail - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "87",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:Depreciation",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:Depreciation",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R88": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail",
     "longName": "996305 - Disclosure - Consolidated Balance Sheet Detail - Schedule of Accrued Liabilities (Detail)",
     "shortName": "Consolidated Balance Sheet Detail - Schedule of Accrued Liabilities (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "88",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R89": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail",
     "longName": "996315 - Disclosure - Income Taxes - Income Before Income Taxes (Detail)",
     "shortName": "Income Taxes - Income Before Income Taxes (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "89",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R90": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail",
     "longName": "996325 - Disclosure - Income Taxes - Current, Deferred and Equity Income Taxes (Detail)",
     "shortName": "Income Taxes - Current, Deferred and Equity Income Taxes (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "90",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:CurrentIncomeTaxExpenseBenefit",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:CurrentIncomeTaxExpenseBenefit",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R91": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail",
     "longName": "996335 - Disclosure - Income Taxes - Provision for Income Taxes by Jurisdiction (Detail)",
     "shortName": "Income Taxes - Provision for Income Taxes by Jurisdiction (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "91",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R92": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail",
     "longName": "996345 - Disclosure - Income Taxes - Additional Information (Detail)",
     "shortName": "Income Taxes - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "92",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:OperatingLossCarryforwards",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:OperatingLossCarryforwards",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R93": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail",
     "longName": "996355 - Disclosure - Income Taxes - Consolidated Deferred Tax Assets (Liabilities) (Detail)",
     "shortName": "Income Taxes - Consolidated Deferred Tax Assets (Liabilities) (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "93",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R94": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail",
     "longName": "996365 - Disclosure - Income Taxes - Reconciliation of Federal Statutory Rate to Effective Income Tax Rate (Detail)",
     "shortName": "Income Taxes - Reconciliation of Federal Statutory Rate to Effective Income Tax Rate (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "94",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R95": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail",
     "longName": "996375 - Disclosure - Income Taxes - Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities (Detail)",
     "shortName": "Income Taxes - Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "95",
     "firstAnchor": null,
     "uniqueAnchor": null
    },
    "R96": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail",
     "longName": "996385 - Disclosure - Income Taxes - Reconciliation of Unrecognized Tax Benefits (Detail)",
     "shortName": "Income Taxes - Reconciliation of Unrecognized Tax Benefits (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "96",
     "firstAnchor": {
      "contextRef": "C_afc15e9e-909f-4bd6-be74-63ca7d294c34",
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_82911078-bdd7-49a5-87bb-adfb316a68b0",
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R97": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail",
     "longName": "996395 - Disclosure - Stockholders' Equity - Additional Information (Detail)",
     "shortName": "Stockholders' Equity - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "97",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:CommonStockSharesIssued",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R98": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail",
     "longName": "996405 - Disclosure - Stockholders' Equity - Stock-Based Compensation Expense (Detail)",
     "shortName": "Stockholders' Equity - Stock-Based Compensation Expense (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "98",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:ShareBasedCompensation",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_e72c853e-3631-476f-86e5-4087f150e6bf",
      "name": "us-gaap:ShareBasedCompensation",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R99": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail",
     "longName": "996415 - Disclosure - Stockholders' Equity - Estimated Weighted Average Assumptions (Detail)",
     "shortName": "Stockholders' Equity - Estimated Weighted Average Assumptions (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "99",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "4",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "4",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R100": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail",
     "longName": "996425 - Disclosure - Stockholders' Equity - Summary of Option Activity (Detail)",
     "shortName": "Stockholders' Equity - Summary of Option Activity (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "100",
     "firstAnchor": {
      "contextRef": "C_afc15e9e-909f-4bd6-be74-63ca7d294c34",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_afc15e9e-909f-4bd6-be74-63ca7d294c34",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R101": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail",
     "longName": "996435 - Disclosure - Stockholders' Equity - Summary of Option Activity (Parenthetical) (Detail)",
     "shortName": "Stockholders' Equity - Summary of Option Activity (Parenthetical) (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "parenthetical",
     "menuCat": "Details",
     "order": "101",
     "firstAnchor": {
      "contextRef": "C_d3d3487c-fcb3-4a02-bfae-0d51403d51fa",
      "name": "rgen:PercentageOfSharesSubjectToForfeiture",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R102": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail",
     "longName": "996445 - Disclosure - Stockholders' Equity - Summary of Restricted Stock Unit Activity (Detail)",
     "shortName": "Stockholders' Equity - Summary of Restricted Stock Unit Activity (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "102",
     "firstAnchor": {
      "contextRef": "C_afc15e9e-909f-4bd6-be74-63ca7d294c34",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_afc15e9e-909f-4bd6-be74-63ca7d294c34",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R103": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail",
     "longName": "996455 - Disclosure - Stockholders' Equity - Summary of Restricted Stock Unit Activity (Parenthetical) (Detail)",
     "shortName": "Stockholders' Equity - Summary of Restricted Stock Unit Activity (Parenthetical) (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "parenthetical",
     "menuCat": "Details",
     "order": "103",
     "firstAnchor": {
      "contextRef": "C_8b6b3e18-3b6d-4098-aefd-43335a60deea",
      "name": "rgen:PercentageOfSharesSubjectToForfeiture",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "link:footnote",
       "div",
       "div",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R104": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail",
     "longName": "996465 - Disclosure - Commitments and Contingencies - Additional Information (Detail)",
     "shortName": "Commitments and Contingencies - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "104",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:ContractualObligationDueInNextTwelveMonths",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:ContractualObligationDueInNextTwelveMonths",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R105": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail",
     "longName": "996475 - Disclosure - Convertible Senior Notes - Carrying Value of Convertible Senior Notes (Detail)",
     "shortName": "Convertible Senior Notes - Carrying Value of Convertible Senior Notes (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "105",
     "firstAnchor": {
      "contextRef": "C_3df3d059-d5c7-4da9-8a61-fe6695a2f828",
      "name": "us-gaap:ConvertibleNotesPayableCurrent",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_dd71ae59-f1fd-409e-b94a-3357654f6efd",
      "name": "us-gaap:ConvertibleNotesPayableCurrent",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ConvertibleDebtTableTextBlock",
       "div",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R106": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
     "longName": "996485 - Disclosure - Convertible Senior Notes - Additional Information (Detail)",
     "shortName": "Convertible Senior Notes - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "106",
     "firstAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "us-gaap:ProceedsFromConvertibleDebt",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee4c933a-9b57-4094-a6b0-2202001a520f",
      "name": "rgen:DebtInstrumentConvertibleIntoEquitySettled",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R107": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail",
     "longName": "996495 - Disclosure - Accumulated Other Comprehensive Income (Loss) - Changes in Accumulated Other Comprehensive Income (Loss) (Detail)",
     "shortName": "Accumulated Other Comprehensive Income (Loss) - Changes in Accumulated Other Comprehensive Income (Loss) (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "107",
     "firstAnchor": {
      "contextRef": "C_afc15e9e-909f-4bd6-be74-63ca7d294c34",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R108": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail",
     "longName": "996505 - Disclosure - Employee Benefit Plans - Additional Information (Detail)",
     "shortName": "Employee Benefit Plans - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "108",
     "firstAnchor": {
      "contextRef": "C_25ab9f38-2cca-4198-9d80-0cbd791565c7",
      "name": "us-gaap:DefinedBenefitPlanContributionsByEmployer",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_25ab9f38-2cca-4198-9d80-0cbd791565c7",
      "name": "us-gaap:DefinedBenefitPlanContributionsByEmployer",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R109": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail",
     "longName": "996515 - Disclosure - Related Party Transactions - Additional Information (Detail)",
     "shortName": "Related Party Transactions - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "109",
     "firstAnchor": {
      "contextRef": "C_b38c53a5-5d15-48a5-a872-0976ab51318c",
      "name": "us-gaap:PaymentsForRent",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_b38c53a5-5d15-48a5-a872-0976ab51318c",
      "name": "us-gaap:PaymentsForRent",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "rgen_APACMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "APACMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A P A C Member",
        "label": "APAC [Member]",
        "terseLabel": "APAC"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_APACOtherMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "APACOtherMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "APAC/Other",
        "label": "A P A C Other [Member]",
        "verboseLabel": "APAC Other [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "na",
        "label": "Abstract Of Operating Lease Liability From Balance Sheet Table Text Block [Table Text Block]",
        "terseLabel": "Summary of Operating Lease Liability"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_AcceleratedDepreciationMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AcceleratedDepreciationMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accelerated depreciation",
        "label": "Accelerated Depreciation [Member]",
        "documentation": "Accelerated depreciation."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountingChangesAndErrorCorrectionsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountingChangesAndErrorCorrectionsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Changes and Error Corrections [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountingStandardsUpdate202006Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountingStandardsUpdate202006Member",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Standards Update 2020-06 [Member]",
        "terseLabel": "Accounting Standards Update 2020-06",
        "documentation": "Accounting Standards Update 2020-06 Debt - Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging - Contracts in Entity's Own Equity (Subtopic 815-40): Accounting for Convertible Instruments and Contracts in an Entity's Own Equity."
       }
      }
     },
     "auth_ref": [
      "r742",
      "r743",
      "r744",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r750",
      "r751",
      "r752"
     ]
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Accounts Payable, Current, Total",
        "label": "Accounts Payable, Current",
        "terseLabel": "Accounts payable",
        "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": [
      "r110",
      "r1123"
     ]
    },
    "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CreditLossesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]",
        "terseLabel": "Summary Of Allowance For Credit Losses For Accounts Receivables",
        "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r1308"
     ]
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable [Member]",
        "terseLabel": "Accounts Receivable",
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold."
       }
      }
     },
     "auth_ref": [
      "r1043"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts receivable, net of reserves of $2,122 and $1,365 at December 31, 2023 and December 31, 2022, respectively",
        "totalLabel": "Accounts Receivable, after Allowance for Credit Loss, Current, Total",
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "verboseLabel": "Accounts receivable",
        "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": [
      "r1301"
     ]
    },
    "us-gaap_AccruedIncomeTaxesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedIncomeTaxesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income taxes payable",
        "label": "Accrued Income Taxes, Current",
        "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations."
       }
      }
     },
     "auth_ref": [
      "r112",
      "r194"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Liabilities, Current",
        "terseLabel": "Accrued liabilities",
        "totalLabel": "Total accrued liabilities",
        "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": [
      "r112"
     ]
    },
    "rgen_AccruedLiabilitiesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AccruedLiabilitiesPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrued Liabilities, Policy [Text Block]",
        "label": "Accrued Liabilities [Policy Text Block]",
        "terseLabel": "Accrued Liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_AccumulatedDeficitMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AccumulatedDeficitMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated Deficit [Member]",
        "label": "Accumulated Deficit [Member]",
        "documentation": "Accumulated deficit."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Ending Balance",
        "periodStartLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Beginning Balance",
        "totalLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Total",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "negatedLabel": "Less - Accumulated depreciation",
        "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": [
      "r61",
      "r269",
      "r885"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Accumulated Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Net of Tax, Ending Balance",
        "periodStartLabel": "Accumulated Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Net of Tax, Beginning Balance",
        "label": "Accumulated Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Net of Tax",
        "terseLabel": "Translation adjustment",
        "documentation": "Accumulated adjustment, net of tax, that results from the process of translating subsidiary financial statements and foreign equity investments into the reporting currency from the functional currency of the reporting entity, net of reclassification of realized foreign currency translation gains or losses."
       }
      }
     },
     "auth_ref": [
      "r284",
      "r285",
      "r286",
      "r287",
      "r777"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeLossLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Income (Loss) [Line Items]",
        "terseLabel": "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": [
      "r294",
      "r295",
      "r780",
      "r781",
      "r782",
      "r783",
      "r784",
      "r785"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Accumulated Other Comprehensive Income (Loss), Net of Tax, Total",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Accumulated other comprehensive loss",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r28",
      "r29",
      "r135",
      "r278",
      "r880",
      "r912",
      "r916"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeLossTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Income (Loss) [Table]",
        "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Table]",
        "documentation": "Disclosure of information about components of accumulated other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r294",
      "r295",
      "r780",
      "r781",
      "r782",
      "r783",
      "r784",
      "r785"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "AOCI Attributable to Parent [Member]",
        "terseLabel": "Accumulated Other Comprehensive Income (Loss)",
        "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": [
      "r6",
      "r18",
      "r29",
      "r735",
      "r738",
      "r812",
      "r907",
      "r908",
      "r1271",
      "r1272",
      "r1273",
      "r1286",
      "r1287",
      "r1288",
      "r1290"
     ]
    },
    "us-gaap_AccumulatedTranslationAdjustmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedTranslationAdjustmentMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Foreign Currency Adjustment Attributable to Parent [Member]",
        "verboseLabel": "Foreign Currency Translation Adjustment",
        "documentation": "Accumulated other comprehensive income (loss) resulting from foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r18",
      "r29",
      "r133",
      "r134",
      "r295",
      "r296",
      "r781",
      "r782",
      "r783",
      "r784",
      "r785",
      "r1271"
     ]
    },
    "us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AcquiredFiniteLivedIntangibleAssetResidualValue",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Acquired Finite-Lived Intangible Asset, Residual Value",
        "verboseLabel": "Intangible Asset Residual Value",
        "documentation": "Amount of residual value of finite-lived asset acquired in business combination, asset acquisition, and from joint venture formation. Excludes financial asset."
       }
      }
     },
     "auth_ref": [
      "r445",
      "r1056"
     ]
    },
    "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life",
        "verboseLabel": "Weighted Average Useful Life (in years)",
        "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r446",
      "r1056"
     ]
    },
    "rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AcquisitionDateFairValueOfContingentConsiderationEarnouts",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Acquisition date fair value of contingent consideration earnouts",
        "label": "Acquisition Date Fair Value of Contingent Consideration Earnouts",
        "documentation": "Acquisition date fair value of contingent consideration earnouts."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Additional402vDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Additional402vDisclosureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional 402(v) Disclosure [Text Block]",
        "terseLabel": "Additional 402(v) Disclosure"
       }
      }
     },
     "auth_ref": [
      "r1190"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdditionalPaidInCapitalCommonStock",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Additional Paid in Capital, Common Stock, Ending Balance",
        "periodStartLabel": "Additional Paid in Capital, Common Stock, Beginning Balance",
        "label": "Additional Paid in Capital, Common Stock",
        "terseLabel": "Additional paid-in capital",
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital."
       }
      }
     },
     "auth_ref": [
      "r124"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid-in Capital [Member]",
        "terseLabel": "Additional Paid-in Capital",
        "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": [
      "r931",
      "r1286",
      "r1287",
      "r1288",
      "r1290",
      "r1395",
      "r1473"
     ]
    },
    "ecd_AdjToCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation Amount",
        "terseLabel": "Adjustment to Compensation, Amount"
       }
      }
     },
     "auth_ref": [
      "r1203"
     ]
    },
    "ecd_AdjToCompAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToCompAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation [Axis]",
        "terseLabel": "Adjustment to Compensation:"
       }
      }
     },
     "auth_ref": [
      "r1203"
     ]
    },
    "ecd_AdjToNonPeoNeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToNonPeoNeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]",
        "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote"
       }
      }
     },
     "auth_ref": [
      "r1203"
     ]
    },
    "ecd_AdjToPeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToPeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment To PEO Compensation, Footnote [Text Block]",
        "terseLabel": "Adjustment To PEO Compensation, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1203"
     ]
    },
    "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsForNewAccountingPronouncementsAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Standards Update [Axis]",
        "terseLabel": "Adjustments for New Accounting Pronouncements [Axis]",
        "documentation": "Information by amendment to accounting standards."
       }
      }
     },
     "auth_ref": [
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r324",
      "r325",
      "r326",
      "r327",
      "r339",
      "r377",
      "r378",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r457",
      "r458",
      "r461",
      "r690",
      "r691",
      "r692",
      "r693",
      "r694",
      "r702",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r709",
      "r710",
      "r715",
      "r716",
      "r717",
      "r721",
      "r722",
      "r723",
      "r724",
      "r725",
      "r730",
      "r731",
      "r732",
      "r733",
      "r734",
      "r735",
      "r736",
      "r737",
      "r738",
      "r739",
      "r740",
      "r742",
      "r743",
      "r744",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r750",
      "r751",
      "r752",
      "r775",
      "r776",
      "r789",
      "r790",
      "r791",
      "r807",
      "r808",
      "r809",
      "r810",
      "r811",
      "r812",
      "r831",
      "r832",
      "r833",
      "r905",
      "r906",
      "r907",
      "r908",
      "r909",
      "r910",
      "r911",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916"
     ]
    },
    "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation",
        "negatedLabel": "Tax withholding on vesting of restricted stock",
        "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Additional Paid in Capital, Equity Component of Convertible Debt",
        "terseLabel": "Equity component of 0.375% senior convertible notes, net of tax",
        "verboseLabel": "Net adjustment for the initial",
        "documentation": "Adjustment to additional paid in capital resulting from the recognition of convertible debt instruments as two separate components - a debt component and an equity component. This bifurcation may result in a basis difference associated with the liability component that represents a temporary difference for purposes of applying accounting for income taxes. The initial recognition of deferred taxes for the tax effect of that temporary difference is as an adjustment to additional paid in capital."
       }
      }
     },
     "auth_ref": [
      "r64"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition, Total",
        "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition",
        "verboseLabel": "Stock-based compensation expense",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r74",
      "r75",
      "r610"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquityParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from issuance of common stock,issuance costs",
        "label": "Adjustments to Additional Paid in Capital, Stock Issued, Issuance Costs",
        "documentation": "Amount of decrease in additional paid in capital (APIC) resulting from direct costs associated with issuing stock. Includes, but is not limited to, legal and accounting fees and direct costs associated with stock issues under a shelf registration."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r171"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdvertisingCostsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdvertisingCostsPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Advertising Costs",
        "label": "Advertising Cost [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for advertising cost."
       }
      }
     },
     "auth_ref": [
      "r213"
     ]
    },
    "us-gaap_AdvertisingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdvertisingExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Advertising Expense",
        "documentation": "Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line."
       }
      }
     },
     "auth_ref": [
      "r647",
      "r1110"
     ]
    },
    "ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtChngPnsnValInSummryCompstnTblForAplblYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table [Member]",
        "terseLabel": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table"
       }
      }
     },
     "auth_ref": [
      "r1237"
     ]
    },
    "ecd_AggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Amount",
        "terseLabel": "Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r1161",
      "r1172",
      "r1182",
      "r1215"
     ]
    },
    "ecd_AggtErrCompNotYetDeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtErrCompNotYetDeterminedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]",
        "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined"
       }
      }
     },
     "auth_ref": [
      "r1164",
      "r1175",
      "r1185",
      "r1218"
     ]
    },
    "ecd_AggtPnsnAdjsSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtPnsnAdjsSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Pension Adjustments Service Cost [Member]",
        "terseLabel": "Aggregate Pension Adjustments Service Cost"
       }
      }
     },
     "auth_ref": [
      "r1238"
     ]
    },
    "ecd_AllAdjToCompMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllAdjToCompMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Adjustments to Compensation [Member]",
        "terseLabel": "All Adjustments to Compensation"
       }
      }
     },
     "auth_ref": [
      "r1203"
     ]
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllExecutiveCategoriesMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Executive Categories [Member]",
        "terseLabel": "All Executive Categories"
       }
      }
     },
     "auth_ref": [
      "r1210"
     ]
    },
    "ecd_AllIndividualsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": {
        "label": "All Individuals [Member]",
        "terseLabel": "All Individuals"
       }
      }
     },
     "auth_ref": [
      "r1165",
      "r1176",
      "r1186",
      "r1210",
      "r1219",
      "r1223",
      "r1231"
     ]
    },
    "ecd_AllTradingArrangementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllTradingArrangementsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Trading Arrangements [Member]",
        "terseLabel": "All Trading Arrangements"
       }
      }
     },
     "auth_ref": [
      "r1229"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllowanceForDoubtfulAccountsReceivable",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Accounts Receivable, Allowance for Credit Loss, Ending Balance",
        "periodStartLabel": "Accounts Receivable, Allowance for Credit Loss, Beginning Balance",
        "label": "Accounts Receivable, Allowance for Credit Loss",
        "negatedPeriodEndLabel": "Ending balance",
        "negatedPeriodStartLabel": "Beginning balance",
        "documentation": "Amount of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r279",
      "r380",
      "r400",
      "r403",
      "r406",
      "r1439"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "terseLabel": "Accounts receivable, reserve for doubtful accounts",
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r279",
      "r380",
      "r400"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff",
        "terseLabel": "Current period change for write-offs",
        "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance."
       }
      }
     },
     "auth_ref": [
      "r405"
     ]
    },
    "dei_AmendmentDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentDescription",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Description",
        "documentation": "Description of changes contained within amended document."
       }
      }
     },
     "auth_ref": []
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfDebtDiscountPremium": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AmortizationOfDebtDiscountPremium",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortization of debt discount and issuance costs",
        "label": "Amortization of Debt Discount (Premium)",
        "documentation": "Amount of noncash expense included in interest expense to amortize debt discount and premium associated with the related debt instruments. Excludes amortization of financing costs. Alternate captions include noncash interest expense."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r145",
      "r504",
      "r1417"
     ]
    },
    "rgen_AmortizationOfDebtIssuanceCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AmortizationOfDebtIssuanceCost",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Amortization of debt issuance costs",
        "documentation": "Amortization of debt issuance cost.",
        "label": "Amortization Of Debt Issuance Cost",
        "terseLabel": "Amortization of debt issuance costs"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfFinancingCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AmortizationOfFinancingCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortization of debt discount and issuance costs",
        "label": "Amortization of Debt Issuance Costs",
        "documentation": "Amount of amortization expense attributable to debt issuance costs."
       }
      }
     },
     "auth_ref": [
      "r145",
      "r504",
      "r1280",
      "r1417"
     ]
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Amortization of Intangible Assets, Total",
        "label": "Amortization of Intangible Assets",
        "verboseLabel": "Amortization expense",
        "terseLabel": "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": [
      "r13",
      "r443",
      "r450",
      "r1084"
     ]
    },
    "rgen_AmortizationOfInventoryStepUp": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AmortizationOfInventoryStepUp",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Inventory step-up charges",
        "label": "Amortization Of Inventory Step Up",
        "documentation": "Amortization of inventory step up."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "terseLabel": "Common stock excluded from calculation of diluted earnings per share",
        "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": [
      "r349"
     ]
    },
    "us-gaap_AreaOfLand": {
     "xbrltype": "areaItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AreaOfLand",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/LeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Area of Land",
        "terseLabel": "Expansion of existing premises",
        "verboseLabel": "Area Of Land",
        "documentation": "Area of land held."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ArtesynBiosolutionsHoldingsIrelandLimitedMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Metenova Holding AB",
        "documentation": "ARTeSYN Biosolutions Holdings Ireland Limited.",
        "label": "ARTeSYN Biosolutions Holdings Ireland Limited [Member]",
        "terseLabel": "ARTeSYN Biosolutions Holdings Ireland Limited"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ArtesynBiosolutionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ArtesynBiosolutionsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "ARTeSYN Biosolutions",
        "label": "ARTeSYN Biosolutions [Member]",
        "terseLabel": "ARTeSYN Biosolutions",
        "verboseLabel": "ARTeSYN"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetImpairmentCharges": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetImpairmentCharges",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impairment charges",
        "label": "Asset Impairment Charges",
        "totalLabel": "Asset Impairment Charges, Total",
        "documentation": "Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r59"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Assets",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets",
        "terseLabel": "Assets",
        "totalLabel": "Total assets",
        "documentation": "Amount of asset recognized for present right to economic benefit."
       }
      }
     },
     "auth_ref": [
      "r192",
      "r205",
      "r273",
      "r313",
      "r352",
      "r357",
      "r370",
      "r371",
      "r386",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r726",
      "r728",
      "r778",
      "r874",
      "r976",
      "r1077",
      "r1078",
      "r1123",
      "r1150",
      "r1345",
      "r1346",
      "r1428"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "Assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current",
        "totalLabel": "Total current assets",
        "documentation": "Amount of asset recognized for present right to economic benefit, classified as current."
       }
      }
     },
     "auth_ref": [
      "r264",
      "r283",
      "r313",
      "r386",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r726",
      "r728",
      "r778",
      "r1123",
      "r1345",
      "r1346",
      "r1428"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "Current assets:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsFairValueDisclosure",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Assets, fair value",
        "label": "Assets, Fair Value Disclosure",
        "totalLabel": "Assets, Fair Value Disclosure, Total",
        "documentation": "Fair value portion of asset recognized for present right to economic benefit."
       }
      }
     },
     "auth_ref": [
      "r754",
      "r755",
      "r1113"
     ]
    },
    "rgen_AssetsNonCurrentExcludingDifferedTaxAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AssetsNonCurrentExcludingDifferedTaxAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of total non-current assets excluding deferred tax assets.",
        "label": "Assets Non current Excluding Differed Tax Assets",
        "terseLabel": "Long Lived Assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsNoncurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total noncurrent assets",
        "label": "Assets, Noncurrent",
        "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 after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r313",
      "r386",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r726",
      "r728",
      "r778",
      "r1345",
      "r1346",
      "r1428"
     ]
    },
    "dei_AuditorFirmId": {
     "xbrltype": "nonemptySequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorFirmId",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Auditor Firm Id",
        "label": "Auditor Firm ID",
        "documentation": "PCAOB issued Audit Firm Identifier"
       }
      }
     },
     "auth_ref": [
      "r1155",
      "r1156",
      "r1168"
     ]
    },
    "dei_AuditorLocation": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorLocation",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Auditor Firm Location",
        "label": "Auditor Location"
       }
      }
     },
     "auth_ref": [
      "r1155",
      "r1156",
      "r1168"
     ]
    },
    "dei_AuditorName": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorName",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Auditor Firm Name",
        "label": "Auditor Name"
       }
      }
     },
     "auth_ref": [
      "r1155",
      "r1156",
      "r1168"
     ]
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAmortizedCostAndFairValueHeldToMaturitySecuritiesByContractualMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One",
        "terseLabel": "Maturity of one year or less, Estimated 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), 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": [
      "r385",
      "r871"
     ]
    },
    "rgen_AvailableForSaleSecuritiesEstimatedFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AvailableForSaleSecuritiesEstimatedFairValue",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Available for sale securities estimated fair value.",
        "label": "Available for Sale Securities Estimated Fair Value",
        "terseLabel": "Marketable securities, Estimated Fair Value"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_AvitideAndFlexbiosysMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AvitideAndFlexbiosysMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Avitide and Flexbiosys",
        "label": "Avitide and FlexBiosys [Member]",
        "documentation": "Avitide and FlexBiosys."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_AvitideIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AvitideIncMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Avitide, Inc. [Member]",
        "label": "Avitide, Inc. [Member]",
        "terseLabel": "Avitide, Inc."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_AvitideLlcMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AvitideLlcMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Avitide LLC [Member]",
        "documentation": "Avitide LLC.",
        "terseLabel": "Avitide"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AwardExrcPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardExrcPrice",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Exercise Price",
        "terseLabel": "Exercise Price"
       }
      }
     },
     "auth_ref": [
      "r1226"
     ]
    },
    "ecd_AwardGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardGrantDateFairValue",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Grant Date Fair Value",
        "terseLabel": "Fair Value as of Grant Date"
       }
      }
     },
     "auth_ref": [
      "r1227"
     ]
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgDiscLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Disclosures [Line Items]",
        "terseLabel": "Award Timing Disclosures"
       }
      }
     },
     "auth_ref": [
      "r1222"
     ]
    },
    "ecd_AwardTmgHowMnpiCnsdrdTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgHowMnpiCnsdrdTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing, How MNPI Considered [Text Block]",
        "terseLabel": "Award Timing, How MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r1222"
     ]
    },
    "ecd_AwardTmgMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Method [Text Block]",
        "terseLabel": "Award Timing Method"
       }
      }
     },
     "auth_ref": [
      "r1222"
     ]
    },
    "ecd_AwardTmgMnpiCnsdrdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMnpiCnsdrdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Considered [Flag]",
        "terseLabel": "Award Timing MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r1222"
     ]
    },
    "ecd_AwardTmgMnpiDiscTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMnpiDiscTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Disclosure [Text Block]",
        "terseLabel": "Award Timing MNPI Disclosure"
       }
      }
     },
     "auth_ref": [
      "r1222"
     ]
    },
    "ecd_AwardTmgPredtrmndFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgPredtrmndFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Predetermined [Flag]",
        "terseLabel": "Award Timing Predetermined"
       }
      }
     },
     "auth_ref": [
      "r1222"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r612",
      "r613",
      "r614",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640"
     ]
    },
    "ecd_AwardUndrlygSecuritiesAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardUndrlygSecuritiesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Underlying Securities Amount",
        "terseLabel": "Underlying Securities"
       }
      }
     },
     "auth_ref": [
      "r1225"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r1224"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures"
       }
      }
     },
     "auth_ref": [
      "r1223"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures, Table"
       }
      }
     },
     "auth_ref": [
      "r1223"
     ]
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BalanceSheetLocationAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position Location, Balance [Axis]",
        "documentation": "Information by location in statement of financial position where disaggregated cumulative balance has been reported."
       }
      }
     },
     "auth_ref": [
      "r460",
      "r1441",
      "r1442"
     ]
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BalanceSheetLocationDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position Location, Balance [Domain]",
        "documentation": "Location in statement of financial position where disaggregated cumulative balance has been reported."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r95",
      "r460",
      "r1441",
      "r1442"
     ]
    },
    "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basis of Presentation and Significant Accounting Policies [Text Block]",
        "terseLabel": "Basis of presentation",
        "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": [
      "r154"
     ]
    },
    "rgen_BioflexAndNtmAcquisitionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BioflexAndNtmAcquisitionMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "BioFlex And NTM Acquisition",
        "label": "BioFlex And NTM Acquisition [Member]",
        "documentation": "NTM Acquisition [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_BioflexMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BioflexMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "BioFlex [Member]",
        "label": "BioFlex [Member]",
        "terseLabel": "BioFlex"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BuildingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BuildingMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Building [Member]",
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities."
       }
      }
     },
     "auth_ref": [
      "r160"
     ]
    },
    "us-gaap_BuildingsAndImprovementsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BuildingsAndImprovementsGross",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Buildings and Improvements, Gross, Total",
        "label": "Buildings and Improvements, Gross",
        "terseLabel": "Buildings",
        "documentation": "Amount before accumulated depreciation of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing."
       }
      }
     },
     "auth_ref": [
      "r160"
     ]
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessAcquisitionAcquireeDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition, Acquiree [Domain]",
        "terseLabel": "Business Acquisition, Acquiree [Domain]",
        "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree."
       }
      }
     },
     "auth_ref": [
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r713",
      "r1102",
      "r1105"
     ]
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessAcquisitionAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition [Axis]",
        "terseLabel": "Business Acquisition [Axis]",
        "documentation": "Information by business combination or series of individually immaterial business combinations."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r81",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r713",
      "r1102",
      "r1105"
     ]
    },
    "us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessAcquisitionCostOfAcquiredEntityTransactionCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition, Transaction Costs",
        "terseLabel": "Transaction costs",
        "documentation": "Amount of direct costs of the business combination including legal, accounting, and other costs incurred to consummate the business acquisition."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1": {
     "xbrltype": "dateItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessAcquisitionEffectiveDateOfAcquisition1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business combination date of acquistion",
        "label": "Business Acquisition, Effective Date of Acquisition",
        "documentation": "Date when the acquirer obtains control of the acquiree, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r2",
      "r21"
     ]
    },
    "us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition, Equity Interest Issued or Issuable, Number of Shares",
        "terseLabel": "Shares issued for business acquisition",
        "verboseLabel": "Shares of common stock issued for acquisition",
        "documentation": "Number of shares of equity interests issued or issuable to acquire entity."
       }
      }
     },
     "auth_ref": [
      "r184"
     ]
    },
    "us-gaap_BusinessAcquisitionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessAcquisitionLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition [Line Items]",
        "terseLabel": "Business Acquisition [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": [
      "r713"
     ]
    },
    "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessAcquisitionPercentageOfVotingInterestsAcquired",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition, Percentage of Voting Interests Acquired",
        "terseLabel": "Business acquisition, voting interest acquired",
        "documentation": "Percentage of voting equity interests acquired at the acquisition date in the business combination."
       }
      }
     },
     "auth_ref": [
      "r79"
     ]
    },
    "us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessAcquisitionProFormaEarningsPerShareBasic",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition, Pro Forma Earnings Per Share, Basic",
        "terseLabel": "Basic",
        "documentation": "The pro forma basic net income per share for a period as if the business combination or combinations had been completed at the beginning of a period."
       }
      }
     },
     "auth_ref": [
      "r1252",
      "r1253"
     ]
    },
    "us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessAcquisitionProFormaEarningsPerShareDiluted",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition, Pro Forma Earnings Per Share, Diluted",
        "terseLabel": "Diluted",
        "documentation": "The pro forma diluted net income per share for a period as if the business combination or combinations had been completed at the beginning of a period."
       }
      }
     },
     "auth_ref": [
      "r1252",
      "r1253"
     ]
    },
    "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessAcquisitionProFormaInformationTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition, Pro Forma Information [Table Text Block]",
        "terseLabel": "Unaudited Supplemental Pro Forma Information",
        "documentation": "Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate."
       }
      }
     },
     "auth_ref": [
      "r1252",
      "r1253"
     ]
    },
    "rgen_BusinessAcquisitionWorkingCapitalAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessAcquisitionWorkingCapitalAdjustments",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Working capital adjustment",
        "label": "Business Acquisition Working Capital Adjustments",
        "documentation": "Business acquisition working capital adjustments."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessAcquisitionsProFormaNetIncomeLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition, Pro Forma Net Income (Loss)",
        "terseLabel": "Net income",
        "verboseLabel": "Business acquisitions proforma net loss",
        "documentation": "The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period."
       }
      }
     },
     "auth_ref": [
      "r711",
      "r712"
     ]
    },
    "us-gaap_BusinessAcquisitionsProFormaRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessAcquisitionsProFormaRevenue",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition, Pro Forma Revenue",
        "terseLabel": "Total revenue",
        "documentation": "The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period."
       }
      }
     },
     "auth_ref": [
      "r711",
      "r712"
     ]
    },
    "us-gaap_BusinessCombinationAcquisitionRelatedCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationAcquisitionRelatedCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Acquisition Related Costs",
        "terseLabel": "Business Combination, Acquisition Related Costs",
        "documentation": "This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities."
       }
      }
     },
     "auth_ref": [
      "r77"
     ]
    },
    "rgen_BusinessCombinationAdditionalCashForTransactionBonus": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessCombinationAdditionalCashForTransactionBonus",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination Additional Cash For Transaction Bonus",
        "documentation": "Business combination additional cash for transaction bonus."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationAndAssetAcquisitionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationAndAssetAcquisitionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Asset Acquisition, and Joint Venture Formation [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_BusinessCombinationConsiderationIndemnificationEscrow": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessCombinationConsiderationIndemnificationEscrow",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business Combination Consideration Indemnification Escrow",
        "label": "Business Combination Consideration Indemnification Escrow",
        "terseLabel": "Business acquisition, Indemnification escrow"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationConsiderationTransferred1",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Consideration Transferred",
        "terseLabel": "Business combination, consideration transferred",
        "totalLabel": "Fair value of net assets acquired",
        "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r4",
      "r15"
     ]
    },
    "us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Consideration Transferred, Equity Interests Issued and Issuable",
        "terseLabel": "Equity consideration",
        "verboseLabel": "Value of common stock issued",
        "documentation": "Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r4"
     ]
    },
    "us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationConsiderationTransferredLiabilitiesIncurred",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Business combination contingent consideration",
        "label": "Business Combination, Consideration Transferred, Liabilities Incurred",
        "terseLabel": "Contingent consideration - earnout",
        "negatedLabel": "Decrease in fair value of contingent consideration earnouts",
        "documentation": "Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r4",
      "r88",
      "r719"
     ]
    },
    "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contingent consideration",
        "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability",
        "verboseLabel": "Payment of contingent consideration earnouts",
        "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement."
       }
      }
     },
     "auth_ref": [
      "r720",
      "r1279"
     ]
    },
    "us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationContingentConsiderationLiabilityCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Contingent Consideration, Liability, Current",
        "terseLabel": "Current contingent consideration",
        "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r89",
      "r183"
     ]
    },
    "us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationContingentConsiderationLiabilityNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Noncurrent contingent consideration",
        "label": "Business Combination, Contingent Consideration, Liability, Noncurrent",
        "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled beyond one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r89",
      "r183"
     ]
    },
    "us-gaap_BusinessCombinationDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationDisclosureTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/Acquisitions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination Disclosure [Text Block]",
        "terseLabel": "Acquisitions",
        "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable)."
       }
      }
     },
     "auth_ref": [
      "r180",
      "r714"
     ]
    },
    "us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Indemnification Assets, Range of Outcomes, Value, High",
        "documentation": "For indemnification assets recognized in connection with a business combination, this element represents an estimate of the high-end of the potential range (undiscounted) of the indemnification benefit which may be realized."
       }
      }
     },
     "auth_ref": [
      "r83"
     ]
    },
    "us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual",
        "terseLabel": "Business acquisition, revenue",
        "documentation": "This element represents the amount of revenue of the acquiree since the acquisition date included in the consolidated income statement for the reporting period."
       }
      }
     },
     "auth_ref": [
      "r80"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net asset acquired",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets",
        "totalLabel": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets, Total",
        "documentation": "Amount of assets acquired at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r84"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents",
        "terseLabel": "Cash and cash equivalents",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. 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": [
      "r84"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other Assets",
        "terseLabel": "Prepaid expenses and other current assets",
        "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, acquired at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r84"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables",
        "terseLabel": "Accounts receivable",
        "documentation": "Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r84"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable",
        "negatedLabel": "Accounts payable",
        "documentation": "Amount of liabilities incurred for goods and services received that are used in an entity's business and related party payables, assumed at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r84"
     ]
    },
    "rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Accrued Liabilities",
        "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Accrued Liabilities",
        "negatedLabel": "Accrued liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long term deferred tax asset",
        "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Deferred Tax Asset Noncurrent",
        "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed deferred tax asset noncurrent."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long term deferred tax liability",
        "documentation": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liability Noncurrent",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liability Noncurrent",
        "negatedLabel": "Deferred tax liability, long-term"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair value of acquired finite lived intangible assets",
        "totalLabel": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill, Total",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill",
        "verboseLabel": "Business combination, intangible assets",
        "documentation": "Amount of intangible assets, excluding goodwill, acquired at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r84"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles",
        "verboseLabel": "Fair Value",
        "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r82",
      "r84"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Inventory",
        "terseLabel": "Inventory",
        "documentation": "The amount of inventory recognized as of the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r82",
      "r84"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net liabilities assumed",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities",
        "totalLabel": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities, Total",
        "documentation": "Amount of liabilities assumed at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r84"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other liabilities",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Noncurrent Liabilities, Other",
        "negatedLabel": "Other long-term liabilities",
        "documentation": "Amount of other liabilities due after one year or the normal operating cycle, if longer, assumed at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r84"
     ]
    },
    "rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Operating lease liability",
        "documentation": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Current.",
        "label": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Current",
        "verboseLabel": "Operating lease liability"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Operating lease liability, long-term",
        "documentation": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Non Current.",
        "label": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Non Current",
        "verboseLabel": "Operating lease liability, long-term"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Right Of Use Asset.",
        "label": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Right Of Use Asset",
        "verboseLabel": "Operating lease right of use asset"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other assets",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets",
        "documentation": "Amount of other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r84"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment, Total",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment",
        "terseLabel": "Property and equipment",
        "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r82",
      "r84"
     ]
    },
    "rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Tangible Assets",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Tangible Assets",
        "terseLabel": "Fair value of tangible assets acquired"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Fair value of net assets acquired",
        "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net",
        "terseLabel": "Fair value of net assets acquired",
        "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed."
       }
      }
     },
     "auth_ref": [
      "r84"
     ]
    },
    "rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business combination settlement of preexisting invoices.",
        "label": "Business Combination Separately Recognized Transactions Settlement Of Preexisting Invoices",
        "terseLabel": "Business Combination settlement of preexisting invoices",
        "verboseLabel": "Settlement of preexisting liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_BusinessCombinationTransactionCostPaidDuringPeriod": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessCombinationTransactionCostPaidDuringPeriod",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination Transaction Cost Paid During Period",
        "documentation": "Business combination transaction cost paid during period"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combinations [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_BusinessCombinationsCashDepositedInEscrowAccount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessCombinationsCashDepositedInEscrowAccount",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business combinations cash deposited in escrow account.",
        "label": "Business Combinations Cash Deposited In Escrow Account",
        "terseLabel": "Business combinations cash deposited in escrow account"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_CTechnologiesIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "CTechnologiesIncMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "C Technologies Inc Member",
        "label": "C Technologies Inc [Member]",
        "terseLabel": "C Technologies Inc"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_CTechnologiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "CTechnologiesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "C Technologies Member",
        "label": "C Technologies [Member]",
        "terseLabel": "C Technologies",
        "verboseLabel": "C Technologies, Inc."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_CancelledPurchaseOrderPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "CancelledPurchaseOrderPayments",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsDescriptionOfRestatementAdjustmentsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cancelled purchase order payments.",
        "label": "Cancelled Purchase Order Payments",
        "terseLabel": "Cancelled purchase order payment"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CapitalUnitsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CapitalUnitsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Capital Units",
        "label": "Capital Units [Member]",
        "verboseLabel": "Capital Stock",
        "documentation": "Type of ownership interest in a corporation. Class of capital units or capital shares."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CapitalizedComputerSoftwareGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CapitalizedComputerSoftwareGross",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capitalized Computer Software, Gross",
        "terseLabel": "Computer hardware and software",
        "documentation": "Amount before accumulated amortization of capitalized costs for computer software, including but not limited to, acquired and internally developed computer software."
       }
      }
     },
     "auth_ref": [
      "r449",
      "r1056"
     ]
    },
    "us-gaap_Cash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Cash",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash",
        "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": [
      "r209",
      "r877",
      "r942",
      "r971",
      "r1123",
      "r1150",
      "r1266"
     ]
    },
    "rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "CashAndCashEquivalentsAndMoneyMarketFundsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash and cash equivalents And money market funds.",
        "label": "Cash And Cash Equivalents And Money Market Funds [Member]",
        "terseLabel": "Cash equivalents and marketable securities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Cash and Cash Equivalents, at Carrying Value, Ending Balance",
        "periodStartLabel": "Cash and Cash Equivalents, at Carrying Value, Beginning Balance",
        "totalLabel": "Cash and Cash Equivalents, at Carrying Value, Total",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "terseLabel": "Cash and cash equivalents",
        "verboseLabel": "Cash and cash equivalents",
        "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": [
      "r35",
      "r267",
      "r1060"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents [Axis]",
        "documentation": "Information by type of cash and cash equivalent balance."
       }
      }
     },
     "auth_ref": [
      "r267"
     ]
    },
    "us-gaap_CashAndCashEquivalentsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents [Line Items]",
        "verboseLabel": "Cash and Cash Equivalents [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_CashAndCashEquivalentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents [Member]",
        "terseLabel": "Cash and cash equivalents",
        "documentation": "Currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. 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": []
    },
    "us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash, Cash Equivalents and Restricted Cash",
        "label": "Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]",
        "documentation": "Entity's cash and cash equivalents accounting policy with respect to restricted balances. Restrictions may include legally restricted deposits held as compensating balances against short-term borrowing arrangements, contracts entered into with others, or company statements of intention with regard to particular deposits; however, time deposits and short-term certificates of deposit are not generally included in legally restricted deposits."
       }
      }
     },
     "auth_ref": [
      "r36",
      "r191"
     ]
    },
    "rgen_CashAndMoneyMarketFundsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "CashAndMoneyMarketFundsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash and money market funds.",
        "label": "Cash and Money Market Funds [Member]",
        "terseLabel": "Cash and money market funds"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of cash, cash equivalents, and marketable securities held to maturity.",
        "label": "Cash, Cash Equivalents and Marketable Securities Held to Maturity [Table Text Block]",
        "terseLabel": "Summary of Cash, Cash Equivalents and Marketable Securities Held to Maturity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Cash and cash equivalents, beginning of period",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents",
        "totalLabel": "Total cash, cash equivalents, and restricted cash",
        "periodEndLabel": "Cash and cash equivalents, end of period",
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r151",
      "r310"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net increase (decrease) in cash and cash equivalents",
        "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": [
      "r5",
      "r151"
     ]
    },
    "rgen_CashConsiderationExcludingRestrictedCash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "CashConsiderationExcludingRestrictedCash",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash consideration excluding restricted cash.",
        "label": "Cash Consideration Excluding Restricted Cash",
        "terseLabel": "Cash consideration"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ChangeInContractWithCustomerAssetAndLiabilityAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Revenue recognized during periods presented relating to:",
        "label": "Change in Contract with Customer, Asset and Liability [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ChangedPeerGroupFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChangedPeerGroupFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changed Peer Group, Footnote [Text Block]",
        "terseLabel": "Changed Peer Group, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1201"
     ]
    },
    "ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year [Member]",
        "terseLabel": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year"
       }
      }
     },
     "auth_ref": [
      "r1198"
     ]
    },
    "ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested [Member]",
        "terseLabel": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested"
       }
      }
     },
     "auth_ref": [
      "r1196"
     ]
    },
    "rgen_ChromatographyProductsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ChromatographyProductsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Chromatography Products [Member]",
        "label": "Chromatography Products [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ClassOfStockDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ClassOfStockDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Domain]",
        "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock."
       }
      }
     },
     "auth_ref": [
      "r225",
      "r275",
      "r276",
      "r277",
      "r313",
      "r342",
      "r343",
      "r346",
      "r348",
      "r355",
      "r356",
      "r386",
      "r480",
      "r482",
      "r483",
      "r484",
      "r487",
      "r488",
      "r510",
      "r511",
      "r514",
      "r517",
      "r523",
      "r778",
      "r922",
      "r923",
      "r924",
      "r925",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935",
      "r936",
      "r937",
      "r938",
      "r939",
      "r940",
      "r941",
      "r943",
      "r963",
      "r985",
      "r1007",
      "r1035",
      "r1036",
      "r1037",
      "r1038",
      "r1039",
      "r1242",
      "r1281",
      "r1291"
     ]
    },
    "ecd_CoSelectedMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CoSelectedMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Amount",
        "terseLabel": "Company Selected Measure Amount"
       }
      }
     },
     "auth_ref": [
      "r1202"
     ]
    },
    "ecd_CoSelectedMeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CoSelectedMeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Name",
        "terseLabel": "Company Selected Measure Name"
       }
      }
     },
     "auth_ref": [
      "r1202"
     ]
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies",
        "terseLabel": "Commitments and contingencies (Note 14)",
        "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": [
      "r118",
      "r197",
      "r876",
      "r962"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "Commitments and Contingencies",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r164",
      "r474",
      "r475",
      "r1044",
      "r1336",
      "r1342"
     ]
    },
    "rgen_CommitmentsAndContingenciesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "CommitmentsAndContingenciesLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commitments and Contingencies [Line Items]",
        "label": "Commitments and Contingencies [Line Items]",
        "terseLabel": "Commitments and Contingencies [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_CommitmentsAndContingenciesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "CommitmentsAndContingenciesTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commitments and Contingencies [Table]",
        "label": "Commitments and Contingencies [Table]",
        "terseLabel": "Commitments and Contingencies [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockCapitalSharesReservedForFutureIssuance",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Capital Shares Reserved for Future Issuance",
        "verboseLabel": "Common stock shares reserved for Issuance",
        "documentation": "Aggregate number of common shares reserved for future issuance."
       }
      }
     },
     "auth_ref": [
      "r123"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r1140",
      "r1141",
      "r1142",
      "r1144",
      "r1145",
      "r1146",
      "r1147",
      "r1286",
      "r1287",
      "r1290",
      "r1395",
      "r1472",
      "r1473"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Par or Stated Value Per Share",
        "terseLabel": "Common stock, par value",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r123"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares Authorized",
        "terseLabel": "Common stock, shares authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r123",
      "r963"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal1",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Common Stock, Shares, Issued, Total",
        "label": "Common Stock, Shares, Issued",
        "terseLabel": "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": [
      "r123"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Common Stock, Shares, Outstanding, Ending Balance",
        "periodStartLabel": "Common Stock, Shares, Outstanding, Beginning Balance",
        "label": "Common Stock, Shares, Outstanding",
        "terseLabel": "Common stock, shares outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r123",
      "r963",
      "r982",
      "r1473",
      "r1474"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Common stock, $0.01 par value; 80,000,000 shares authorized; 55,766,078 shares at December 31, 2023 and 55,557,698 shares at December 31, 2022 issued and outstanding",
        "periodEndLabel": "Common Stock, Value, Issued, Ending Balance",
        "periodStartLabel": "Common Stock, Value, Issued, Beginning Balance",
        "totalLabel": "Common Stock, Value, Issued, Total",
        "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": [
      "r123",
      "r879",
      "r1123"
     ]
    },
    "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Company Selected Measure"
       }
      }
     },
     "auth_ref": [
      "r1207"
     ]
    },
    "ecd_CompActuallyPaidVsNetIncomeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsNetIncomeTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Net Income [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Net Income"
       }
      }
     },
     "auth_ref": [
      "r1206"
     ]
    },
    "ecd_CompActuallyPaidVsOtherMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsOtherMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Other Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Other Measure"
       }
      }
     },
     "auth_ref": [
      "r1208"
     ]
    },
    "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return"
       }
      }
     },
     "auth_ref": [
      "r1205"
     ]
    },
    "us-gaap_CompensationAndEmployeeBenefitPlansTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CompensationAndEmployeeBenefitPlansTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlans"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation and Employee Benefit Plans [Text Block]",
        "terseLabel": "Employee Benefit Plans",
        "documentation": "The entire disclosure for an entity's employee compensation and benefit plans, including, but not limited to, postemployment and postretirement benefit plans, defined benefit pension plans, defined contribution plans, non-qualified and supplemental benefit plans, deferred compensation, share-based compensation, life insurance, severance, health care, unemployment and other benefit plans."
       }
      }
     },
     "auth_ref": [
      "r172",
      "r175",
      "r176",
      "r177"
     ]
    },
    "us-gaap_CompensationAndRetirementDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CompensationAndRetirementDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement Benefits [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CompensationExpenseExcludingCostOfGoodAndServiceSold",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Expense, Excluding Cost of Good and Service Sold",
        "documentation": "Amount of expense for salary, wage, profit sharing; incentive and equity-based compensation; and other employee benefit. Other employee benefit expense includes, but is not limited to, service component of net periodic benefit cost for defined benefit plan. Excludes compensation cost in cost of good and service sold."
       }
      }
     },
     "auth_ref": [
      "r1077",
      "r1274"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Comprehensive income",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "totalLabel": "Comprehensive income",
        "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": [
      "r30",
      "r290",
      "r292",
      "r299",
      "r868",
      "r890",
      "r891"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNetOfTaxAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeNoteTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNoteTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income (Loss) Note [Text Block]",
        "terseLabel": "Accumulated Other Comprehensive Income (Loss)",
        "documentation": "The entire disclosure for comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income."
       }
      }
     },
     "auth_ref": [
      "r132",
      "r298",
      "r867",
      "r889"
     ]
    },
    "rgen_ComputerHardwareAndSoftwareMemberMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ComputerHardwareAndSoftwareMemberMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Computer Hardware And Software Member Member",
        "label": "Computer Hardware And Software member [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Domain]",
        "terseLabel": "Concentration Risk Benchmark [Domain]",
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r48",
      "r50",
      "r102",
      "r103",
      "r376",
      "r1043"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "terseLabel": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r48",
      "r50",
      "r102",
      "r103",
      "r376",
      "r918",
      "r1043"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Axis]",
        "terseLabel": "Concentration Risk Type [Axis]",
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender."
       }
      }
     },
     "auth_ref": [
      "r48",
      "r50",
      "r102",
      "r103",
      "r376",
      "r1043",
      "r1251"
     ]
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskCreditRisk",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]",
        "terseLabel": "Concentrations of Credit Risk and Significant Customers (As Restated)",
        "documentation": "Disclosure of accounting policy for credit risk."
       }
      }
     },
     "auth_ref": [
      "r109",
      "r216"
     ]
    },
    "us-gaap_ConcentrationRiskLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk [Line Items]",
        "verboseLabel": "Concentration Risk [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": [
      "r1043"
     ]
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts receivable, percentage by customer",
        "label": "Concentration Risk, Percentage",
        "verboseLabel": "Revenue from significant customers as a percentage of total revenue",
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division."
       }
      }
     },
     "auth_ref": [
      "r48",
      "r50",
      "r102",
      "r103",
      "r376"
     ]
    },
    "us-gaap_ConcentrationRiskTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk [Table]",
        "verboseLabel": "Concentration Risk [Table]",
        "documentation": "Disclosure of information about concentration risk. Includes, but is not limited to, percentage of concentration risk and benchmark serving as denominator in calculation of percentage of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r48",
      "r50",
      "r51",
      "r102",
      "r187",
      "r1043"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Domain]",
        "terseLabel": "Concentration Risk Type [Domain]",
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration."
       }
      }
     },
     "auth_ref": [
      "r48",
      "r50",
      "r102",
      "r103",
      "r376",
      "r1043"
     ]
    },
    "us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Financial Information of Parent Company Only Disclosure [Text Block]",
        "terseLabel": "Restatement of Previously Issued Financial Statements",
        "documentation": "The entire disclosure for condensed financial information, including the financial position, cash flows, and the results of operations of the registrant (parent company) as of the same dates or for the same periods for which audited consolidated financial statements are being presented. Alternatively, the details of this disclosure can be reported by the specific parent company taxonomy elements, indicating the appropriate date and period contexts in an instance document."
       }
      }
     },
     "auth_ref": [
      "r320",
      "r1243"
     ]
    },
    "us-gaap_ConstructionInProgressGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConstructionInProgressGross",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Construction in Progress, Gross",
        "terseLabel": "Construction in progress",
        "documentation": "Amount of structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service."
       }
      }
     },
     "auth_ref": [
      "r160"
     ]
    },
    "us-gaap_ContingentConsiderationByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContingentConsiderationByTypeAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contingent Consideration by Type [Axis]",
        "terseLabel": "Contingent Consideration by Type [Axis]",
        "documentation": "Information by type of contingent consideration."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ContingentConsiderationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ContingentConsiderationExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contingent consideration",
        "label": "Contingent Consideration Expense",
        "documentation": "Contingent consideration expense.",
        "verboseLabel": "Contingent consideration"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ContingentConsiderationMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ContingentConsiderationMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contingent Consideration",
        "documentation": "Contingent consideration.",
        "label": "Contingent Consideration [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ContingentConsiderationObligationEstimated": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ContingentConsiderationObligationEstimated",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contingent consideration obligation estimated",
        "label": "Contingent Consideration Obligation Estimated",
        "documentation": "Contingent Consideration Obligation Estimated"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContingentConsiderationTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContingentConsiderationTypeDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contingent Consideration Type [Domain]",
        "terseLabel": "Contingent Consideration Type [Domain]",
        "documentation": "Description of contingent payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerAssetAndLiabilityAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Abstract]",
        "verboseLabel": "Balances from contracts with customers only:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognitionTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]",
        "verboseLabel": "Summary of Receivables and Deferred Revenue from Contracts with Customers",
        "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability."
       }
      }
     },
     "auth_ref": [
      "r1350"
     ]
    },
    "us-gaap_ContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerLiability",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Contract with Customer, Liability, Total",
        "label": "Contract with Customer, Liability",
        "terseLabel": "The beginning deferred revenue balance",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r525",
      "r526",
      "r538"
     ]
    },
    "us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerReceivableAfterAllowanceForCreditLoss",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts receivable",
        "label": "Contract with Customer, Receivable, after Allowance for Credit Loss",
        "totalLabel": "Contract with Customer, Receivable, after Allowance for Credit Loss, Total",
        "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right to consideration is unconditional."
       }
      }
     },
     "auth_ref": [
      "r525",
      "r527",
      "r538",
      "r1042"
     ]
    },
    "us-gaap_ContractualObligationDueInNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractualObligationDueInNextTwelveMonths",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contractual Obligation, to be Paid, Year One",
        "terseLabel": "Outstanding obligation",
        "documentation": "Amount of contractual obligation 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": []
    },
    "us-gaap_ConvertibleDebtNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConvertibleDebtNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Total convertible senior notes",
        "terseLabel": "Convertible Senior Notes due 2028, net",
        "label": "Convertible Debt, Noncurrent",
        "documentation": "Carrying amount of long-term convertible debt as of the balance sheet date, net of the amount due in the next twelve months or greater than the normal operating cycle, if longer. The debt is convertible into another form of financial instrument, typically the entity's common stock."
       }
      }
     },
     "auth_ref": [
      "r26"
     ]
    },
    "us-gaap_ConvertibleDebtTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConvertibleDebtTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Convertible Debt [Table Text Block]",
        "terseLabel": "Carrying Value of Convertible Senior Notes",
        "documentation": "Tabular disclosure of convertible debt instrument. Includes, but is not limited to, principal amount and amortized premium or discount."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConvertibleNotesPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConvertibleNotesPayableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Total convertible senior notes",
        "terseLabel": "Convertible Senior Notes due 2024, net",
        "label": "Convertible Notes Payable, Current",
        "documentation": "Carrying value as of the balance sheet date of the portion of long-term debt due within one year or the operating cycle if longer identified as Convertible Notes Payable. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder."
       }
      }
     },
     "auth_ref": [
      "r112"
     ]
    },
    "rgen_ConvertibleNotesTransactionCostsOfEquityComponent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ConvertibleNotesTransactionCostsOfEquityComponent",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Convertible notes transaction costs of equity component.",
        "label": "Convertible Notes Transaction Costs Of Equity Component",
        "verboseLabel": "Transaction costs attributable to equity component"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ConvertibleNotesTransactionCostsOfLiabilityComponent",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Convertible notes transaction costs of liability component.",
        "label": "Convertible Notes Transaction Costs Of Liability Component",
        "verboseLabel": "Transaction costs attributable to liability component"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ConvertibleSeniorNotes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ConvertibleSeniorNotes",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Convertible senior notes.",
        "label": "Convertible Senior Notes",
        "terseLabel": "Total convertible senior notes"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_CoronavirusAidReliefAndEconomicSecurityFundValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "CoronavirusAidReliefAndEconomicSecurityFundValue",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Coronavirus Aid Relief and Economic Security Fund Value.",
        "label": "Coronavirus Aid Relief and Economic Security Fund Value",
        "terseLabel": "Coronavirus aid relief and economic security fund value"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostOfGoodsAndServicesSold",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Cost of Goods and Services Sold, Total",
        "label": "Cost of Goods and Services Sold",
        "terseLabel": "Cost of product revenue",
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities."
       }
      }
     },
     "auth_ref": [
      "r137",
      "r138",
      "r829"
     ]
    },
    "us-gaap_CostOfSalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostOfSalesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of Sales [Member]",
        "terseLabel": "Cost of product revenue",
        "documentation": "Primary financial statement caption encompassing cost of sales."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostsAndExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostsAndExpenses",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Costs and Expenses",
        "totalLabel": "Total costs and operating expenses",
        "documentation": "Total costs of sales and operating expenses for the period."
       }
      }
     },
     "auth_ref": [
      "r147"
     ]
    },
    "us-gaap_CostsAndExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostsAndExpensesAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Costs and Expenses [Abstract]",
        "verboseLabel": "Costs and operating expenses:"
       }
      }
     },
     "auth_ref": []
    },
    "srt_CounterpartyNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "CounterpartyNameAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsDetailParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Counterparty Name [Axis]",
        "documentation": "Information by name of counterparty. A counterparty is the other party that participates in a financial transaction. Examples include, but not limited to, the name of the financial institution."
       }
      }
     },
     "auth_ref": [
      "r251",
      "r252",
      "r317",
      "r318",
      "r492",
      "r512",
      "r818",
      "r826",
      "r873",
      "r1067",
      "r1069"
     ]
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditLossAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CreditLossAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Loss [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditLossFinancialInstrumentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CreditLossFinancialInstrumentPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Loss, Financial Instrument [Policy Text Block]",
        "terseLabel": "Allowance for credit losses",
        "documentation": "Disclosure of accounting policy for credit loss on financial instrument measured at amortized cost basis, net investment in lease, off-balance sheet credit exposure, and available-for-sale debt security. Includes, but is not limited to, methodology used to estimate allowance for credit loss, how writeoff of uncollectible amount is recognized, and determination of past due status and nonaccrual status."
       }
      }
     },
     "auth_ref": [
      "r397",
      "r398",
      "r399",
      "r401",
      "r402",
      "r407",
      "r408",
      "r410",
      "r411",
      "r412",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r423"
     ]
    },
    "us-gaap_CreditLossFinancialInstrumentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CreditLossFinancialInstrumentTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CreditLosses"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Loss, Financial Instrument [Text Block]",
        "terseLabel": "Credit Losses",
        "documentation": "The entire disclosure for credit loss on financial instrument measured at amortized cost basis, net investment in lease, off-balance sheet credit exposure, and available-for-sale debt security."
       }
      }
     },
     "auth_ref": [
      "r381",
      "r382",
      "r402",
      "r409",
      "r410",
      "r413",
      "r414",
      "r422",
      "r423"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Current Income Tax Expense (Benefit), Total",
        "label": "Current Income Tax Expense (Benefit)",
        "terseLabel": "Current",
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r689",
      "r1284"
     ]
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CustomerConcentrationRiskMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer Concentration Risk [Member]",
        "terseLabel": "Customer Concentration Risk",
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer."
       }
      }
     },
     "auth_ref": [
      "r156",
      "r376"
     ]
    },
    "rgen_CustomerNumberOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "CustomerNumberOneMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer number one member.",
        "label": "Customer Number One [Member]",
        "terseLabel": "Customer Number One"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CustomerRelationshipsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CustomerRelationshipsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer Relationships [Member]",
        "terseLabel": "Customer relationships",
        "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships."
       }
      }
     },
     "auth_ref": [
      "r87",
      "r1323",
      "r1325",
      "r1326",
      "r1327",
      "r1329",
      "r1330",
      "r1333",
      "r1334"
     ]
    },
    "rgen_DaylightSolutionsIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DaylightSolutionsIncMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsDetailParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Daylight solutions Inc.",
        "label": "Daylight Solutions Inc.[Member]",
        "terseLabel": "Daylight Solutions Inc.[Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtConversionConvertedInstrumentAmount1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtConversionConvertedInstrumentAmount1",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Conversion, Converted Instrument, Amount",
        "terseLabel": "Total consideration on conversion",
        "verboseLabel": "Fair value of 2,316,229 shares of common stock issued for conversion of convertible notes",
        "documentation": "The value of the financial instrument(s) that the original debt is being converted into in a noncash (or part noncash) transaction. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period."
       }
      }
     },
     "auth_ref": [
      "r38",
      "r40"
     ]
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DebtInstrumentAccruedAndUnpaidInterest": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtInstrumentAccruedAndUnpaidInterest",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued and unpaid interest",
        "label": "Debt Instrument, Accrued and Unpaid Interest",
        "documentation": "Debt instrument, accrued and unpaid interest."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument [Axis]",
        "terseLabel": "Debt Instrument [Axis]",
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r111",
      "r112",
      "r193",
      "r196",
      "r320",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r1085",
      "r1086",
      "r1087",
      "r1088",
      "r1089",
      "r1121",
      "r1282",
      "r1337",
      "r1338",
      "r1339",
      "r1416",
      "r1418"
     ]
    },
    "us-gaap_DebtInstrumentCarryingAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentCarryingAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Debt, Gross",
        "terseLabel": "Principal amount",
        "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r196",
      "r506"
     ]
    },
    "us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentConvertibleBeneficialConversionFeature",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Convertible, Beneficial Conversion Feature",
        "terseLabel": "Proceeds allocated to the conversion feature",
        "documentation": "Amount of a favorable spread to a debt holder between the amount of debt being converted and the value of the securities received upon conversion. This is an embedded conversion feature of convertible debt issued that is in-the-money at the commitment date."
       }
      }
     },
     "auth_ref": [
      "r69"
     ]
    },
    "us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Convertible, Carrying Amount of Equity Component",
        "verboseLabel": "Equity component of converted debt",
        "documentation": "The carrying amount of the equity component of convertible debt which may be settled in cash upon conversion."
       }
      }
     },
     "auth_ref": [
      "r65"
     ]
    },
    "us-gaap_DebtInstrumentConvertibleConversionPrice1": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentConvertibleConversionPrice1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Convertible, Conversion Price",
        "terseLabel": "Notes initial conversion price",
        "documentation": "The price per share of the conversion feature embedded in the debt instrument."
       }
      }
     },
     "auth_ref": [
      "r166",
      "r491"
     ]
    },
    "us-gaap_DebtInstrumentConvertibleConversionRatio1": {
     "xbrltype": "pureItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentConvertibleConversionRatio1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Convertible, Conversion Ratio",
        "terseLabel": "Notes conversion ratio per $1,000 principal amount",
        "documentation": "Ratio applied to the conversion of debt instrument into equity with equity shares divided by debt principal amount."
       }
      }
     },
     "auth_ref": [
      "r68",
      "r115",
      "r169",
      "r170",
      "r491"
     ]
    },
    "rgen_DebtInstrumentConvertibleIntoEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtInstrumentConvertibleIntoEquity",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt instrument convertible into equity.",
        "label": "Debt Instrument Convertible Into Equity",
        "terseLabel": "Debt instrument amount convertible into equity"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DebtInstrumentConvertibleIntoEquitySettled": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtInstrumentConvertibleIntoEquitySettled",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt instrument convertible in to equity settled",
        "label": "Debt Instrument Convertible Into Equity Settled",
        "documentation": "Debt instrument convertible in to equity settled"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentConvertibleThresholdConsecutiveTradingDays1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Convertible, Threshold Consecutive Trading Days",
        "terseLabel": "Notes threshold consecutive trading days",
        "documentation": "Threshold period of specified consecutive trading days within which common stock price to conversion price of convertible debt instrument must exceed threshold percentage for specified number of trading days to trigger conversion feature."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Convertible, Threshold Percentage of Stock Price Trigger",
        "terseLabel": "Notes threshold percentage of stock price trigger",
        "documentation": "Minimum percentage of common stock price to conversion price of convertible debt instruments to determine eligibility of conversion."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentConvertibleThresholdTradingDays": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentConvertibleThresholdTradingDays",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Convertible, Threshold Trading Days",
        "terseLabel": "Notes threshold trading days",
        "documentation": "Threshold number of specified trading days that common stock price to conversion price of convertible debt instruments must exceed threshold percentage within a specified consecutive trading period to trigger conversion feature."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DebtInstrumentExchangeAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtInstrumentExchangeAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Intrument Exchange Amount",
        "label": "Debt Instrument Exchange Amount",
        "documentation": "Debt Instrument Exchange Amount"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DebtInstrumentExchangedAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtInstrumentExchangedAmount",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt instrument exchanged amount",
        "label": "Debt Instrument Exchanged Amount",
        "documentation": "Debt Instrument Exchanged Amount"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DebtInstrumentExchangedAmountCancelled": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtInstrumentExchangedAmountCancelled",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt istrument cancelled",
        "label": "Debt Instrument Exchanged Amount Cancelled",
        "documentation": "Debt instrument exchanged amount cancelled"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentFaceAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate principal amount",
        "label": "Debt Instrument, Face Amount",
        "verboseLabel": "Principal amount",
        "documentation": "Face (par) amount of debt instrument at time of issuance."
       }
      }
     },
     "auth_ref": [
      "r489",
      "r787",
      "r788",
      "r1086",
      "r1087",
      "r1121"
     ]
    },
    "rgen_DebtInstrumentFaceAmountRemaining": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtInstrumentFaceAmountRemaining",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt instrument face amount remaining",
        "label": "Debt Instrument Face Amount Remaining",
        "terseLabel": "Face amount of remaining convertible debt"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentFrequencyOfPeriodicPayment": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentFrequencyOfPeriodicPayment",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Frequency of Periodic Payment",
        "terseLabel": "Notes, frequency of periodic payment",
        "documentation": "Description of the frequency of periodic payments (monthly, quarterly, annual)."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r108"
     ]
    },
    "us-gaap_DebtInstrumentIncreaseAccruedInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentIncreaseAccruedInterest",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Increase, Accrued Interest",
        "verboseLabel": "Accrued interest",
        "documentation": "Increase for accrued, but unpaid interest on the debt instrument for the period."
       }
      }
     },
     "auth_ref": [
      "r1282"
     ]
    },
    "us-gaap_DebtInstrumentInterestRateDuringPeriod": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentInterestRateDuringPeriod",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Premium over sale price",
        "label": "Debt Instrument, Interest Rate During Period",
        "documentation": "The average effective interest rate during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r114",
      "r501",
      "r1416"
     ]
    },
    "us-gaap_DebtInstrumentInterestRateEffectivePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentInterestRateEffectivePercentage",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Interest Rate, Effective Percentage",
        "terseLabel": "Effective interest rate on the Notes",
        "documentation": "Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium."
       }
      }
     },
     "auth_ref": [
      "r114",
      "r508",
      "r787",
      "r788",
      "r1121"
     ]
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Interest Rate, Stated Percentage",
        "terseLabel": "Notes, interest rate",
        "verboseLabel": "Senior convertible notes",
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement."
       }
      }
     },
     "auth_ref": [
      "r114",
      "r490"
     ]
    },
    "us-gaap_DebtInstrumentInterestRateTerms": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentInterestRateTerms",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Interest Rate Terms",
        "terseLabel": "Interest repayment terms",
        "documentation": "Description of the interest rate as being fixed or variable, and, if variable, identification of the index or rate on which the interest rate is based and the number of points or percentage added to that index or rate to set the rate, and other pertinent information, such as frequency of rate resets."
       }
      }
     },
     "auth_ref": [
      "r114"
     ]
    },
    "rgen_DebtInstrumentIssuedForCash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtInstrumentIssuedForCash",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Notes for cash",
        "label": "Debt Instrument Issued For Cash",
        "documentation": "Debt instrument issued for cash."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument [Line Items]",
        "terseLabel": "Debt Instrument [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": [
      "r320",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r1085",
      "r1086",
      "r1087",
      "r1088",
      "r1089",
      "r1121",
      "r1282",
      "r1416",
      "r1418"
     ]
    },
    "us-gaap_DebtInstrumentMaturityDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentMaturityDate",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Maturity Date",
        "terseLabel": "Notes, due date",
        "documentation": "Date when the debt instrument is scheduled to be fully repaid, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": [
      "r274",
      "r1085",
      "r1400",
      "r1401"
     ]
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentNameDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Name [Domain]",
        "terseLabel": "Debt Instrument, Name [Domain]",
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r320",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r1085",
      "r1086",
      "r1087",
      "r1088",
      "r1089",
      "r1121",
      "r1282",
      "r1337",
      "r1338",
      "r1339",
      "r1416",
      "r1418"
     ]
    },
    "us-gaap_DebtInstrumentRedemptionPeriodAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentRedemptionPeriodAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Redemption, Period [Axis]",
        "terseLabel": "Debt Instrument, Redemption, Period [Axis]",
        "documentation": "Information by period of debt redemption feature under terms of debt agreement."
       }
      }
     },
     "auth_ref": [
      "r201"
     ]
    },
    "us-gaap_DebtInstrumentRedemptionPeriodDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentRedemptionPeriodDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Redemption, Period [Domain]",
        "terseLabel": "Debt Instrument, Redemption, Period [Domain]",
        "documentation": "Period as defined under terms of the debt agreement for debt redemption features."
       }
      }
     },
     "auth_ref": [
      "r201"
     ]
    },
    "us-gaap_DebtInstrumentRedemptionPricePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentRedemptionPricePercentage",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Redemption Price, Percentage",
        "terseLabel": "Notes redemption price",
        "documentation": "Percentage price of original principal amount of debt at which debt can be redeemed by the issuer."
       }
      }
     },
     "auth_ref": [
      "r201"
     ]
    },
    "us-gaap_DebtInstrumentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Long-Term Debt Instruments [Table]",
        "terseLabel": "Schedule of Long-term Debt Instruments [Table]",
        "documentation": "Disclosure of information about long-term debt instrument or arrangement."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r68",
      "r69",
      "r107",
      "r168",
      "r170",
      "r320",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r1085",
      "r1086",
      "r1087",
      "r1088",
      "r1089",
      "r1121",
      "r1282",
      "r1416",
      "r1418"
     ]
    },
    "us-gaap_DebtInstrumentUnamortizedDiscount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentUnamortizedDiscount",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate debt discount",
        "totalLabel": "Debt Instrument, Unamortized Discount, Total",
        "label": "Debt Instrument, Unamortized Discount",
        "negatedLabel": "Unamortized debt discount",
        "documentation": "Amount, after accumulated amortization, of debt discount."
       }
      }
     },
     "auth_ref": [
      "r1348",
      "r1415",
      "r1416",
      "r1418"
     ]
    },
    "rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Cash and cash equivalents, Amortized Costs",
        "documentation": "Debt securities held to maturity and cash and cash equivalents amortized costs.",
        "label": "Debt Securities Held to Maturity and Cash and Cash Equivalents Amortized Costs",
        "terseLabel": "Cash and cash equivalents, Amortized Costs"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt securities held to maturity and cash and cash equivalents estimated fair value.",
        "label": "Debt Securities Held to Maturity and Cash and Cash Equivalents Estimated Fair Value",
        "terseLabel": "Cash and cash equivalents, Estimated Fair Value"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtSecuritiesHeldToMaturityEstimatedFairValue",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Marketable securities, Estimated Fair Value",
        "label": "Debt Securities Held to Maturity Estimated Fair Value",
        "documentation": "Debt securities held to maturity estimated fair value."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtSecuritiesHeldToMaturityGrossUnrealizedGain",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Marketable securities, Gross Unrealized Gains",
        "label": "Debt Securities Held to Maturity Gross Unrealized Gain",
        "documentation": "Debt securities held to maturity gross unrealized gain."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtSecuritiesMaturityWithinOneYearAmortizedCost",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAmortizedCostAndFairValueHeldToMaturitySecuritiesByContractualMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt securities maturity within one year amortized cost",
        "label": "Debt Securities Maturity Within One Year Amortized Cost",
        "documentation": "Debt securities maturity within one year amortized cost."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Postretirement Benefits, Individual Contracts, Type of Deferred Compensation [Axis]",
        "terseLabel": "Other Postretirement Benefits, Individual Contracts, Type of Deferred Compensation [Axis]",
        "documentation": "Information by type of deferred compensation related to other postretirement benefit arrangements that are not equivalent to a defined benefit other postretirement benefit plan. Includes, but is not limited to, employment contracts with one or more selected officers or key employees. Excludes equity-based compensation plans, defined benefit pension plans and defined benefit other postretirement benefit plans."
       }
      }
     },
     "auth_ref": [
      "r173",
      "r174"
     ]
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Compensation Arrangement with Individual, Postretirement Benefits [Line Items]",
        "terseLabel": "Deferred Compensation Arrangement with Individual, Postretirement Benefits [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_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetailTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block]",
        "verboseLabel": "Prepaid Expenses and Other Current Assets",
        "documentation": "Tabular disclosure of the amounts paid in advance for capitalized costs that will be expensed with the passage of time or the occurrence of a triggering event, and will be charged against earnings within one year or the normal operating cycle, if longer; the aggregate carrying amount of current assets, not separately presented elsewhere in the balance sheet; and other deferred costs."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredFinanceCostsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredFinanceCostsNet",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Debt Issuance Costs, Net, Total",
        "label": "Debt Issuance Costs, Net",
        "negatedLabel": "Unamortized debt issuance costs",
        "documentation": "Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs."
       }
      }
     },
     "auth_ref": [
      "r1348",
      "r1415",
      "r1416",
      "r1418"
     ]
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax assets",
        "label": "Deferred Income Tax Assets, Net",
        "totalLabel": "Deferred Income Tax Assets, Net, Total",
        "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": [
      "r654",
      "r655"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Deferred Income Tax Expense (Benefit), Total",
        "label": "Deferred Income Tax Expense (Benefit)",
        "terseLabel": "Deferred income taxes, net",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r221",
      "r1284"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Deferred Tax Liabilities, Gross, Total",
        "label": "Deferred Tax Liabilities, Gross",
        "negatedTotalLabel": "Total deferred tax liabilities",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences."
       }
      }
     },
     "auth_ref": [
      "r119",
      "r120",
      "r195",
      "r680"
     ]
    },
    "rgen_DeferredIncomeTaxLiabilitiesFixedAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DeferredIncomeTaxLiabilitiesFixedAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred income tax liabilities, fixed assets.",
        "label": "Deferred Income Tax Liabilities, Fixed Assets",
        "terseLabel": "Fixed assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredRevenue",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Deferred Revenue, Total",
        "label": "Deferred Revenue",
        "verboseLabel": "Deferred revenue (included in accrued liabilities and other noncurrent liabilities in the consolidated balance sheets)",
        "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r1269"
     ]
    },
    "us-gaap_DeferredRevenueCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredRevenueCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Deferred Revenue, Current, Total",
        "label": "Deferred Revenue, Current",
        "terseLabel": "Deferred revenue",
        "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r1268"
     ]
    },
    "us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAndOtherLiabilitiesNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax liabilities",
        "label": "Deferred Tax and Other Liabilities, Noncurrent",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences, with jurisdictional netting, and liabilities classified as noncurrent and other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsGross",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Gross",
        "totalLabel": "Total deferred tax assets",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r681"
     ]
    },
    "us-gaap_DeferredTaxAssetsInventory": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsInventory",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Inventory",
        "terseLabel": "Inventory",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory."
       }
      }
     },
     "auth_ref": [
      "r1391"
     ]
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsNet",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Net of Valuation Allowance",
        "totalLabel": "Net deferred tax assets",
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r1389"
     ]
    },
    "us-gaap_DeferredTaxAssetsNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsNetAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Net [Abstract]",
        "terseLabel": "Deferred tax assets:"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DeferredTaxAssetsOperatingLeases": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DeferredTaxAssetsOperatingLeases",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred Tax Assets Operating Leases.",
        "label": "Deferred Tax Assets Operating Leases",
        "terseLabel": "Operating leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Deferred Tax Assets, Operating Loss Carryforwards, Total",
        "label": "Deferred Tax Assets, Operating Loss Carryforwards",
        "terseLabel": "Net operating loss carryforwards",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards."
       }
      }
     },
     "auth_ref": [
      "r1391"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxCreditCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsTaxCreditCarryforwards",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Deferred Tax Assets, Tax Credit Carryforwards, Total",
        "label": "Deferred Tax Assets, Tax Credit Carryforwards",
        "terseLabel": "Business tax credit carryforwards",
        "documentation": "Amount, before allocation of a valuation allowances, of deferred tax assets attributable to deductible tax credit carryforwards including, but not limited to, research, foreign, general business, alternative minimum tax, and other deductible tax credit carryforwards."
       }
      }
     },
     "auth_ref": [
      "r1391"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsTaxCreditCarryforwardsResearch",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Credit Carryforwards, Research",
        "terseLabel": "Capitalized research and development",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards."
       }
      }
     },
     "auth_ref": [
      "r1391"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-Based Compensation Cost",
        "terseLabel": "Stock-based compensation expense",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation."
       }
      }
     },
     "auth_ref": [
      "r1391"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseOther",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Deferred Expense, Other",
        "terseLabel": "Other",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences from provisions, reserves, allowances, and accruals, classified as other."
       }
      }
     },
     "auth_ref": [
      "r1391"
     ]
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsValuationAllowance",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Deferred Tax Assets, Valuation Allowance, Total",
        "label": "Deferred Tax Assets, Valuation Allowance",
        "negatedLabel": "Less: valuation allowance",
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized."
       }
      }
     },
     "auth_ref": [
      "r682"
     ]
    },
    "rgen_DeferredTaxImpactOnConversionFeature": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DeferredTaxImpactOnConversionFeature",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax impact on conversion feature",
        "label": "Deferred Tax Impact On Conversion Feature",
        "documentation": "Deferred tax impact on conversion feature."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Deferred Tax Liabilities, Net, Total",
        "label": "Deferred Tax Liabilities, Net",
        "negatedTotalLabel": "Total net deferred tax liabilities",
        "terseLabel": "Deferred Tax Liabilities",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r1389"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxLiabilitiesAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Gross [Abstract]",
        "terseLabel": "Deferred tax liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred Tax Liabilities, Conversion Option on Convertible Notes",
        "label": "Deferred Tax Liabilities, Conversion Option on Convertible Notes",
        "negatedLabel": "Conversion option on convertible notes"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DeferredTaxLiabilitiesDebtDiscount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DeferredTaxLiabilitiesDebtDiscount",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Debt discount",
        "terseLabel": "Debt discount",
        "label": "Deferred Tax Liabilities, Debt discount",
        "documentation": "Deferred tax liabilities, debt discount."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Intangible Assets",
        "negatedLabel": "Acquired intangible assets",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill."
       }
      }
     },
     "auth_ref": [
      "r1391"
     ]
    },
    "rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred tax liabilities, operating lease right of use assets.",
        "label": "Deferred Tax Liabilities, Operating Lease Right Of Use Assets",
        "terseLabel": "Operating lease right of use assets"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DeferredTaxLiablitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DeferredTaxLiablitiesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred Tax Liablities Member",
        "label": "Deferred tax liablities [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DefinedBenefitPlanContributionsByEmployer": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedBenefitPlanContributionsByEmployer",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Plan Assets, Contributions by Employer",
        "terseLabel": "Defined contribution plan, company contribution",
        "documentation": "Amount of contribution received by defined benefit plan from employer which increases plan assets."
       }
      }
     },
     "auth_ref": [
      "r555",
      "r564",
      "r601",
      "r1098",
      "r1099",
      "r1100",
      "r1101"
     ]
    },
    "rgen_DefinedContribution401KPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DefinedContribution401KPlanMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Defined Contribution 401 K Plan [Member]",
        "label": "Defined Contribution 401 K Plan [Member]",
        "terseLabel": "Defined Contribution 401 K Plan"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DefinedContributionPlanEmployeeEligibilityAge": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DefinedContributionPlanEmployeeEligibilityAge",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Defined Contribution Plan Employee Eligibility Age",
        "label": "Defined Contribution Plan Employee Eligibility Age",
        "terseLabel": "Defined contribution plan, eligible age of employees"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Depreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Depreciation",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Depreciation, Total",
        "label": "Depreciation",
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r60"
     ]
    },
    "us-gaap_DepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DepreciationAndAmortization",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Depreciation, Depletion and Amortization, Nonproduction, Total",
        "label": "Depreciation, Depletion and Amortization, Nonproduction",
        "terseLabel": "Depreciation and amortization",
        "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r60"
     ]
    },
    "us-gaap_DerivativeContractTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DerivativeContractTypeDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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": [
      "r951",
      "r954",
      "r968",
      "r969",
      "r970",
      "r972",
      "r973",
      "r974",
      "r975",
      "r977",
      "r978",
      "r979",
      "r980",
      "r995",
      "r996",
      "r997",
      "r998",
      "r1001",
      "r1002",
      "r1003",
      "r1004",
      "r1024",
      "r1025",
      "r1026",
      "r1027",
      "r1140",
      "r1142",
      "r1402",
      "r1403",
      "r1404",
      "r1405",
      "r1406",
      "r1407",
      "r1408",
      "r1409"
     ]
    },
    "us-gaap_DerivativeFixedInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DerivativeFixedInterestRate",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Discount Rate",
        "label": "Derivative, Fixed Interest Rate",
        "documentation": "Fixed interest rate related to the interest rate derivative."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativeInstrumentRiskAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DerivativeInstrumentRiskAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instrument [Axis]",
        "documentation": "Information by type of derivative contract."
       }
      }
     },
     "auth_ref": [
      "r94",
      "r96",
      "r97",
      "r186",
      "r951",
      "r954",
      "r968",
      "r969",
      "r970",
      "r972",
      "r973",
      "r974",
      "r975",
      "r977",
      "r978",
      "r979",
      "r980",
      "r995",
      "r996",
      "r997",
      "r998",
      "r1001",
      "r1002",
      "r1003",
      "r1004",
      "r1024",
      "r1025",
      "r1026",
      "r1027",
      "r1069",
      "r1140",
      "r1142",
      "r1402",
      "r1403",
      "r1404",
      "r1405",
      "r1406",
      "r1407",
      "r1408",
      "r1409"
     ]
    },
    "us-gaap_DerivativesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DerivativesPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivatives, Policy [Policy Text Block]",
        "terseLabel": "Convertible Instruments",
        "documentation": "Disclosure of accounting policy for its derivative instruments and hedging activities."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r90",
      "r91",
      "r92",
      "r98",
      "r319",
      "r338"
     ]
    },
    "us-gaap_DevelopedTechnologyRightsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DevelopedTechnologyRightsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Developed Technology Rights [Member]",
        "terseLabel": "Technology\u2014developed",
        "verboseLabel": "Developed technology",
        "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": [
      "r182",
      "r1323",
      "r1325",
      "r1326",
      "r1327",
      "r1329",
      "r1330",
      "r1333",
      "r1334"
     ]
    },
    "rgen_DilutiveEffectOnSharesOfConversionPremium": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DilutiveEffectOnSharesOfConversionPremium",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dilutive effect on shares of conversion premium",
        "label": "Dilutive Effect On Shares Of Conversion Premium",
        "documentation": "Dilutive effect on shares of conversion premium."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DilutiveSecuritiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DilutiveSecuritiesAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dilutive Securities, Effect on Basic Earnings Per Share [Abstract]",
        "terseLabel": "Effect of dilutive securities:"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Dilutive securities effect on basic earnings per share contingent consideration.",
        "label": "Dilutive Securities Effect On Basic Earnings Per Share Contingent Consideration",
        "terseLabel": "Contingent consideration"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Dilutive securities effect on basic earnings per share convertible senior notes.",
        "label": "Dilutive Securities Effect On Basic Earnings Per Share Convertible Senior Notes",
        "verboseLabel": "Convertible Senior Notes"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DilutiveSharesEffectOnBasicEarningsPerShareAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "DilutivesharesAbstract",
        "label": "Dilutive shares, Effect on Basic Earnings Per Share [Abstract]",
        "terseLabel": "Effect of dilutive shares:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisaggregationOfRevenueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisaggregationOfRevenueAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisaggregationOfRevenueLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Line Items]",
        "verboseLabel": "Disaggregation of Revenue [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r537",
      "r1091",
      "r1092",
      "r1093",
      "r1094",
      "r1095",
      "r1096",
      "r1097"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisaggregationOfRevenueTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Table]",
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r537",
      "r1091",
      "r1092",
      "r1093",
      "r1094",
      "r1095",
      "r1096",
      "r1097"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognitionTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Table Text Block]",
        "verboseLabel": "Disaggregation of Revenue",
        "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": [
      "r1351"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisclosureTextBlockAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureTextBlockAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Disclosure Text Block [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DiscountRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DiscountRate",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Discount rate.",
        "label": "Discount Rate",
        "verboseLabel": "Discount rate"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r1155",
      "r1156",
      "r1168"
     ]
    },
    "dei_DocumentFinStmtErrorCorrectionFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFinStmtErrorCorrectionFlag",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Financial Statement Error Correction [Flag]",
        "label": "Document Financial Statement Error Correction [Flag]",
        "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction."
       }
      }
     },
     "auth_ref": [
      "r1155",
      "r1156",
      "r1168",
      "r1211"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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/2024",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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/2024",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r1189"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentType",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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": []
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Documents Incorporated by Reference",
        "label": "Documents Incorporated by Reference [Text Block]",
        "documentation": "Documents incorporated by reference."
       }
      }
     },
     "auth_ref": [
      "r1153"
     ]
    },
    "us-gaap_DomesticCountryMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DomesticCountryMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Domestic Tax Jurisdiction [Member]",
        "terseLabel": "Domestic Tax Authority",
        "documentation": "Designated federal jurisdiction entitled to levy and collect income tax in country of domicile. Includes, but is not limited to, national jurisdiction for non-U.S. jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r659"
     ]
    },
    "ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year [Member]",
        "terseLabel": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year"
       }
      }
     },
     "auth_ref": [
      "r1200"
     ]
    },
    "us-gaap_EarliestTaxYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarliestTaxYearMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earliest Tax Year [Member]",
        "terseLabel": "Earliest Tax Year",
        "documentation": "Earliest identified tax year."
       }
      }
     },
     "auth_ref": [
      "r1388"
     ]
    },
    "us-gaap_EarlyRepaymentOfSeniorDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarlyRepaymentOfSeniorDebt",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Early Repayment of Senior Debt",
        "terseLabel": "Repayment Of Senior Debt",
        "documentation": "The cash outflow for the extinguishment of long-term borrowing, with the highest claim on the assets of the entity in case of bankruptcy or liquidation, before its maturity."
       }
      }
     },
     "auth_ref": [
      "r150"
     ]
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]",
        "terseLabel": "Earnings per share:",
        "verboseLabel": "Earnings per share"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Earnings Per Share, Basic, Total",
        "label": "Earnings Per Share, Basic",
        "terseLabel": "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": [
      "r300",
      "r328",
      "r329",
      "r331",
      "r332",
      "r333",
      "r335",
      "r340",
      "r342",
      "r346",
      "r347",
      "r348",
      "r351",
      "r709",
      "r725",
      "r751",
      "r752",
      "r869",
      "r892",
      "r1072"
     ]
    },
    "us-gaap_EarningsPerShareBasicAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareBasicAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Basic [Abstract]",
        "terseLabel": "Denominator:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Earnings Per Share, Diluted, Total",
        "label": "Earnings Per Share, Diluted",
        "terseLabel": "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": [
      "r300",
      "r328",
      "r329",
      "r331",
      "r332",
      "r333",
      "r335",
      "r342",
      "r346",
      "r347",
      "r348",
      "r351",
      "r709",
      "r725",
      "r751",
      "r752",
      "r869",
      "r892",
      "r1072"
     ]
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerSharePolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Policy [Policy Text Block]",
        "terseLabel": "Earnings Per Share",
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r46",
      "r350"
     ]
    },
    "rgen_EarnoutConsiderationEarned": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "EarnoutConsiderationEarned",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Earnout consideration earned",
        "label": "Earnout Consideration Earned",
        "documentation": "Earnout consideration earned."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Effect of exchange rate changes on cash and cash equivalents",
        "totalLabel": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations, Total",
        "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations",
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; 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": [
      "r1412"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income tax provision",
        "verboseLabel": "Income tax provision",
        "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": [
      "r659",
      "r1112"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Percent [Abstract]",
        "terseLabel": "Adjustments due to:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent",
        "verboseLabel": "Expected tax at statutory rate",
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)."
       }
      }
     },
     "auth_ref": [
      "r316",
      "r659",
      "r695",
      "r1112"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent",
        "terseLabel": "Change in valuation allowance",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r665",
      "r1112",
      "r1285",
      "r1385"
     ]
    },
    "rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationDebtDiscount",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt discount",
        "label": "Effective Income Tax Rate Reconciliation Debt discount",
        "documentation": "Effective income tax ratereconciliation debt discount."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt discount",
        "label": "Effective Income Tax Rate Reconciliation Debt Discount Percentage",
        "documentation": "Effective income tax rate reconciliation debt discount percentage."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationFdiiAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Foreign-derived intangible income",
        "terseLabel": "Foreign-derived intangible income",
        "label": "Effective Income Tax Rate Reconciliation, FDII, Amount",
        "documentation": "Amount of reported income tax benefit from difference to expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to foreign-derived intangible income (FDII)."
       }
      }
     },
     "auth_ref": [
      "r1112",
      "r1385",
      "r1387"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationFdiiPercent",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Foreign-derived intangible income",
        "terseLabel": "Foreign-derived intangible income",
        "label": "Effective Income Tax Rate Reconciliation, FDII, Percent",
        "documentation": "Percentage of reported income tax benefit from difference to income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to foreign-derived intangible income (FDII)."
       }
      }
     },
     "auth_ref": [
      "r1112",
      "r1385",
      "r1387"
     ]
    },
    "rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationForeignExchangeLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign exchange loss",
        "label": "Effective Income Tax Rate Reconciliation, Foreign Exchange Loss",
        "documentation": "Effective income tax rate reconciliation, foreign exchange loss.",
        "negatedLabel": "Foreign exchange loss"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign exchange loss",
        "label": "Effective Income Tax Rate Reconciliation, Foreign Exchange Loss, Percent",
        "documentation": "Effective Income Tax Rate Reconciliation, Foreign Exchange Loss, Percent"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent",
        "terseLabel": "Difference between U.S. and foreign tax",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile."
       }
      }
     },
     "auth_ref": [
      "r660",
      "r663",
      "r1112",
      "r1285",
      "r1385"
     ]
    },
    "rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationLossOnDebtExchange",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Loss on extinguishment of debt",
        "label": "Effective Income Tax Rate Reconciliation, Loss on Debt Exchange",
        "documentation": "Effective income tax rate reconciliation, loss on debt exchange."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Loss on extinguishment of debt",
        "label": "Effective Income Tax Rate Reconciliation, Loss on Debt Exchange, Percent",
        "documentation": "Effective income tax rate reconciliation, loss on debt exchange, percent"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective income tax rate reconciliation, nondeductible expense, contingent consideration,amount.",
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Contingent consideration,Amount",
        "terseLabel": "Contingent consideration"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective income tax rate reconciliation, nondeductible expense,contingent consideration , percent.",
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense,Contingent Consideration , Percent",
        "terseLabel": "Contingent consideration"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Executive Compensation",
        "label": "Effective Income Tax Rate Reconciliation Nondeductible Expense Executive Compensation",
        "verboseLabel": "Executive compensation"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-Based Payment Arrangement, Percent",
        "terseLabel": "Stock-based compensation expense",
        "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1112",
      "r1285",
      "r1385",
      "r1387"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Percent",
        "terseLabel": "Other",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments."
       }
      }
     },
     "auth_ref": [
      "r1112",
      "r1285",
      "r1385",
      "r1386"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Repatriation of Foreign Earnings, Percent",
        "verboseLabel": "U.S. taxation of foreign earnings",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to the repatriation of foreign earnings."
       }
      }
     },
     "auth_ref": [
      "r1285",
      "r1385",
      "r1386"
     ]
    },
    "rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective Income Tax Rate Reconciliation, Return to Provision Adjustments",
        "label": "Effective Income Tax Rate Reconciliation Return to Provision Adjustments",
        "verboseLabel": "Return to provision adjustments"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent",
        "terseLabel": "State income and franchise tax",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit)."
       }
      }
     },
     "auth_ref": [
      "r662",
      "r1112",
      "r1285",
      "r1385"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationTaxContingencies",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Effective Income Tax Rate Reconciliation, Tax Contingency, Percent, Total",
        "label": "Effective Income Tax Rate Reconciliation, Tax Contingency, Percent",
        "verboseLabel": "Uncertain tax provisions",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to income tax contingencies. Includes, but not limited to, domestic tax contingency, foreign tax contingency, state and local tax contingency, and other contingencies."
       }
      }
     },
     "auth_ref": [
      "r666",
      "r1112",
      "r1285",
      "r1385"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationTaxCredits",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Effective Income Tax Rate Reconciliation, Tax Credit, Percent, Total",
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Percent",
        "negatedLabel": "Business tax credits",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits."
       }
      }
     },
     "auth_ref": [
      "r664",
      "r667",
      "r1285",
      "r1385"
     ]
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Employee-related Liabilities, Current, Total",
        "label": "Employee-related Liabilities, Current",
        "terseLabel": "Employee compensation",
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r112"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]",
        "terseLabel": "Employee Service Share-based Compensation, Allocation of Recognized Period Costs [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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount",
        "terseLabel": "Total unrecognized compensation cost",
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r641"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition",
        "terseLabel": "Unrecognized compensation cost, weighted average remaining requisite service period",
        "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": [
      "r641"
     ]
    },
    "us-gaap_EmployeeSeveranceMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeSeveranceMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Severance &amp; employee-related costs",
        "label": "Employee Severance [Member]",
        "documentation": "Termination of an employee associated with exit from or disposal of business activities or restructurings pursuant to a plan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Stock Option [Member]",
        "terseLabel": "Employee Stock Option",
        "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": []
    },
    "rgen_EngineeredMoldingTechnologyLlcMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "EngineeredMoldingTechnologyLlcMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Engineered Molding Technology LLC",
        "label": "Engineered Molding Technology LLC [Member]",
        "terseLabel": "Engineered Molding Technology LLC"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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/2024",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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/2024",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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/2024",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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/2024",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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": [
      "r1152"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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/2024",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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_EntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLoss",
      "http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLossTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlans",
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/OrganizationAndNatureOfBusiness",
      "http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnaudited",
      "http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnauditedTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity [Domain]",
        "terseLabel": "Entity [Domain]",
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "terseLabel": "Emerging growth company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r1152"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities Act 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/2024",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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": [
      "r1152"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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/2024",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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": [
      "r1240"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Public Float",
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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": [
      "r1152"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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": [
      "r1152"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "terseLabel": "Smaller reporting company",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r1152"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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": [
      "r1152"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Voluntary Filers",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Well-known Seasoned Issuer",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A."
       }
      }
     },
     "auth_ref": [
      "r1241"
     ]
    },
    "us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EntityWideInformationRevenueFromExternalCustomerLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from External Customer [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": []
    },
    "ecd_EqtyAwrdsAdjFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsAdjFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards Adjustments, Footnote [Text Block]",
        "terseLabel": "Equity Awards Adjustments, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1194"
     ]
    },
    "ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards Adjustments, Excluding Value Reported in the Compensation Table [Member]",
        "terseLabel": "Equity Awards Adjustments, Excluding Value Reported in Compensation Table"
       }
      }
     },
     "auth_ref": [
      "r1236"
     ]
    },
    "ecd_EqtyAwrdsAdjsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsAdjsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards Adjustments [Member]",
        "terseLabel": "Equity Awards Adjustments"
       }
      }
     },
     "auth_ref": [
      "r1236"
     ]
    },
    "ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsInSummryCompstnTblForAplblYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table [Member]",
        "terseLabel": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table"
       }
      }
     },
     "auth_ref": [
      "r1236"
     ]
    },
    "us-gaap_EquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquipmentMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equipment [Member]",
        "documentation": "Tangible personal property used to produce goods and services."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Component [Domain]",
        "terseLabel": "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": [
      "r19",
      "r259",
      "r294",
      "r295",
      "r296",
      "r321",
      "r322",
      "r323",
      "r325",
      "r333",
      "r336",
      "r338",
      "r354",
      "r390",
      "r396",
      "r458",
      "r524",
      "r690",
      "r691",
      "r705",
      "r706",
      "r707",
      "r710",
      "r724",
      "r725",
      "r733",
      "r735",
      "r736",
      "r737",
      "r738",
      "r740",
      "r750",
      "r780",
      "r781",
      "r782",
      "r783",
      "r784",
      "r785",
      "r790",
      "r793",
      "r812",
      "r889",
      "r907",
      "r908",
      "r909",
      "r931",
      "r1007"
     ]
    },
    "ecd_EquityValuationAssumptionDifferenceFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EquityValuationAssumptionDifferenceFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Valuation Assumption Difference, Footnote [Text Block]",
        "terseLabel": "Equity Valuation Assumption Difference, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1204"
     ]
    },
    "ecd_ErrCompAnalysisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ErrCompAnalysisTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneous Compensation Analysis [Text Block]",
        "terseLabel": "Erroneous Compensation Analysis"
       }
      }
     },
     "auth_ref": [
      "r1161",
      "r1172",
      "r1182",
      "r1215"
     ]
    },
    "ecd_ErrCompRecoveryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ErrCompRecoveryTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneously Awarded Compensation Recovery [Table]",
        "terseLabel": "Erroneously Awarded Compensation Recovery"
       }
      }
     },
     "auth_ref": [
      "r1158",
      "r1169",
      "r1179",
      "r1212"
     ]
    },
    "us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Error Corrections and Prior Period Adjustments Restatement [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": [
      "r328",
      "r329",
      "r330",
      "r335",
      "r336",
      "r337",
      "r338",
      "r351"
     ]
    },
    "srt_EuropeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "EuropeMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Europe [Member]",
        "terseLabel": "Europe",
        "documentation": "Continent of Europe."
       }
      }
     },
     "auth_ref": [
      "r1260",
      "r1261",
      "r1262",
      "r1263",
      "r1475",
      "r1476",
      "r1477",
      "r1478"
     ]
    },
    "rgen_ExchangeAndSubscriptionAgreementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ExchangeAndSubscriptionAgreementsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exchange and Subscription Agreements",
        "label": "Exchange and Subscription Agreements [Member]",
        "documentation": "Exchange and subscription agreements."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ExchangeTransactionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ExchangeTransactionMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exchange Transaction",
        "label": "Exchange Transaction [Member]",
        "documentation": "Exchange Transaction [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ExchangedTwoZeroOneNineNotesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ExchangedTwoZeroOneNineNotesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exchanged 2019 Notes",
        "label": "Exchanged Two Zero One Nine Notes [Member]",
        "documentation": "Exchanged two zero one nine notes."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ExecutiveCategoryAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ExecutiveCategoryAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Category [Axis]",
        "terseLabel": "Executive Category:"
       }
      }
     },
     "auth_ref": [
      "r1210"
     ]
    },
    "srt_ExecutiveOfficerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ExecutiveOfficerMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Officer [Member]",
        "terseLabel": "Awards Granted to Executive Level Employees",
        "documentation": "Person with designation of executive officer."
       }
      }
     },
     "auth_ref": [
      "r1300"
     ]
    },
    "us-gaap_ExtinguishmentOfDebtAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ExtinguishmentOfDebtAmount",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Extinguished 2019 Notes",
        "label": "Extinguishment of Debt, Amount",
        "documentation": "Gross amount of debt extinguished."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_FacilityAndOtherExitCostsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "FacilityAndOtherExitCostsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Facility and Other Exit Costs [Member]",
        "documentation": "Facility and other exit costs.",
        "terseLabel": "Facility and Other Exit Costs"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_FacilityExitAndOtherExitCostsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "FacilityExitAndOtherExitCostsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Facility exit and other exit costs",
        "label": "Facility Exit and Other Exit Costs [Member]",
        "documentation": "Facility exit and other exit costs."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]",
        "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r754",
      "r755",
      "r768",
      "r1113"
     ]
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Recurring and Nonrecurring [Table]",
        "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis."
       }
      }
     },
     "auth_ref": [
      "r754",
      "r755",
      "r768",
      "r1113"
     ]
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Contingent Consideration Earnout Expect to be Required to Settle Include Significant Unobservable Inputs",
        "label": "Fair Value Measurement Inputs and Valuation Techniques [Table Text Block]",
        "documentation": "Tabular disclosure of input and valuation technique used to measure fair value and change in valuation approach and technique for each separate class of asset and liability measured on recurring and nonrecurring basis."
       }
      }
     },
     "auth_ref": [
      "r756",
      "r757",
      "r1117"
     ]
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asset Class [Domain]",
        "documentation": "Class of asset."
       }
      }
     },
     "auth_ref": [
      "r759",
      "r760",
      "r761",
      "r762",
      "r763",
      "r764",
      "r769",
      "r1115"
     ]
    },
    "us-gaap_FairValueByAssetClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueByAssetClassAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asset Class [Axis]",
        "documentation": "Information by class of asset."
       }
      }
     },
     "auth_ref": [
      "r759",
      "r760",
      "r761",
      "r762",
      "r763",
      "r764",
      "r769",
      "r1115"
     ]
    },
    "us-gaap_FairValueByBalanceSheetGroupingTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueByBalanceSheetGroupingTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, by Balance Sheet Grouping [Table]",
        "documentation": "Disclosure of information about the fair value of financial instruments, including financial assets and financial liabilities, and the measurements of those instruments, assets, and liabilities."
       }
      }
     },
     "auth_ref": [
      "r100",
      "r101"
     ]
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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": [
      "r497",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r753",
      "r755",
      "r756",
      "r757",
      "r758",
      "r767",
      "r768",
      "r770",
      "r821",
      "r822",
      "r823",
      "r1086",
      "r1087",
      "r1098",
      "r1099",
      "r1100",
      "r1113",
      "r1117"
     ]
    },
    "us-gaap_FairValueByMeasurementFrequencyAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueByMeasurementFrequencyAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Frequency [Axis]",
        "documentation": "Information by measurement frequency."
       }
      }
     },
     "auth_ref": [
      "r754",
      "r755",
      "r756",
      "r758",
      "r1113",
      "r1400",
      "r1410"
     ]
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueDisclosuresAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Disclosures [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueDisclosuresTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value Measurements",
        "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": [
      "r763",
      "r765",
      "r766",
      "r767",
      "r770",
      "r771",
      "r772",
      "r773",
      "r774",
      "r865",
      "r1113",
      "r1118"
     ]
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueInputsLevel1Member",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail"
     ],
     "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": [
      "r497",
      "r564",
      "r569",
      "r755",
      "r768",
      "r821",
      "r1098",
      "r1099",
      "r1100",
      "r1113"
     ]
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueInputsLevel3Member",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Level 3",
        "label": "Fair Value, Inputs, Level 3 [Member]",
        "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing."
       }
      }
     },
     "auth_ref": [
      "r497",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r755",
      "r756",
      "r757",
      "r758",
      "r768",
      "r823",
      "r1086",
      "r1087",
      "r1098",
      "r1099",
      "r1100",
      "r1113",
      "r1117"
     ]
    },
    "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Reconciliation of the Change in the Fair Value of Contingent Consideration - Earnout",
        "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]",
        "documentation": "Tabular disclosure of the fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability."
       }
      }
     },
     "auth_ref": [
      "r759",
      "r764",
      "r769"
     ]
    },
    "us-gaap_FairValueMeasurementFrequencyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueMeasurementFrequencyDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Frequency [Domain]",
        "documentation": "Measurement frequency."
       }
      }
     },
     "auth_ref": [
      "r754",
      "r755",
      "r756",
      "r758",
      "r1113",
      "r1400",
      "r1410"
     ]
    },
    "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueMeasurementPolicyPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Measurement, Policy [Policy Text Block]",
        "terseLabel": "Fair Value Measurement",
        "documentation": "Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Settlements",
        "terseLabel": "Acquisition date fair value of contingent consideration earnouts",
        "documentation": "Amount of settlements of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing."
       }
      }
     },
     "auth_ref": [
      "r762",
      "r769"
     ]
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Hierarchy and NAV [Domain]",
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value."
       }
      }
     },
     "auth_ref": [
      "r497",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r753",
      "r755",
      "r756",
      "r757",
      "r758",
      "r767",
      "r768",
      "r770",
      "r821",
      "r822",
      "r823",
      "r1086",
      "r1087",
      "r1098",
      "r1099",
      "r1100",
      "r1113",
      "r1117"
     ]
    },
    "us-gaap_FairValueMeasurementsRecurringMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueMeasurementsRecurringMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "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": [
      "r1113",
      "r1397",
      "r1398",
      "r1399",
      "r1400",
      "r1401",
      "r1410"
     ]
    },
    "us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Net Derivative Asset (Liability) Measured on Recurring Basis, Unobservable Input Reconciliation [Table]",
        "documentation": "Disclosure of information about financial instrument classified as a derivative asset (liability) after deduction of derivative liability (asset) using recurring unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing."
       }
      }
     },
     "auth_ref": [
      "r759",
      "r760",
      "r761",
      "r762",
      "r763",
      "r764",
      "r769"
     ]
    },
    "rgen_FairValueOfEmbeddedConversionOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "FairValueOfEmbeddedConversionOptionMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair value of embedded conversion option",
        "label": "Fair Value of Embedded Conversion Option [Member]",
        "documentation": "Fair value of embedded conversion option."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair value of shares of common stock issued for contingent consideration earnouts",
        "label": "Fair Value of Shares of Common Stock Issued for Contingent Consideration Earnouts",
        "documentation": "Fair value of shares of common stock issued for contingent consideration earnouts."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_FederalAndStateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "FederalAndStateMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Federal and State [Member]",
        "label": "Federal and State [Member]",
        "terseLabel": "Federal and State"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FederalIncomeTaxExpenseBenefitContinuingOperations",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Federal Income Tax Expense (Benefit), Continuing Operations, Total",
        "label": "Federal Income Tax Expense (Benefit), Continuing Operations",
        "terseLabel": "Federal",
        "documentation": "Amount of current and deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current and deferred national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r314",
      "r656",
      "r658"
     ]
    },
    "rgen_FiltrationProductsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "FiltrationProductsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Filtration Products [Member]",
        "label": "Filtration Products [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "verboseLabel": "Weighted Average Useful Life (in years)",
        "terseLabel": "Expected 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/2024",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "negatedLabel": "Accumulated Amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r271",
      "r427",
      "r449",
      "r1084"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2029 and thereafter",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Five",
        "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r1331",
      "r1479"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2024",
        "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": [
      "r451",
      "r1056",
      "r1084"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets Amortization Expense [Table Text Block]",
        "verboseLabel": "Schedule of Amortization Expense for Amortized Intangible Assets",
        "documentation": "Tabular disclosure of amortization expense of assets, excluding financial assets, that lack physical substance, having a limited useful life."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2028",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Five",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r451",
      "r1056",
      "r1084"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2027",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r451",
      "r1056",
      "r1084"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2026",
        "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": [
      "r451",
      "r1056",
      "r1084"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2025",
        "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": [
      "r451",
      "r1056",
      "r1084"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "documentation": "Information by major type or class of finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r442",
      "r444",
      "r445",
      "r446",
      "r448",
      "r449",
      "r453",
      "r454",
      "r830",
      "r834",
      "r1056"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsGross",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Finite-Lived Intangible Assets, Gross, Total",
        "label": "Finite-Lived Intangible Assets, Gross",
        "terseLabel": "Gross Carrying Value",
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r427",
      "r449",
      "r834",
      "r1084"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "terseLabel": "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": [
      "r442",
      "r444",
      "r445",
      "r446",
      "r448",
      "r449",
      "r453",
      "r454",
      "r1056"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net Carrying Value",
        "periodEndLabel": "Finite-Lived Intangible Assets, Net, Ending Balance",
        "periodStartLabel": "Finite-Lived Intangible Assets, Net, Beginning Balance",
        "label": "Finite-Lived Intangible Assets, Net",
        "terseLabel": "Net Carrying Value",
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r830",
      "r1330"
     ]
    },
    "rgen_FiniteLivedIntangibleLiabilitiesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "FiniteLivedIntangibleLiabilitiesLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Finite-Lived Intangible Liabilities [Line Items]",
        "label": "Finite Lived Intangible Liabilities [Line Items]",
        "terseLabel": "Finite-Lived Intangible Liabilities [Line Items]",
        "verboseLabel": "Finite-Lived Intangible Liabilities [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_FlexbiosysIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "FlexbiosysIncMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "FlexBiosys, Inc.",
        "label": "FlexBiosys, Inc. [Member]",
        "documentation": "FlexBiosys, Inc.",
        "verboseLabel": "FlexBiosys"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]",
        "terseLabel": "Foreign Currency",
        "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy."
       }
      }
     },
     "auth_ref": [
      "r779"
     ]
    },
    "rgen_ForeignEarningsSubjectToOneTimeTransitionTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ForeignEarningsSubjectToOneTimeTransitionTax",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Foreign Earnings Subject To One Time Transition Tax",
        "label": "Foreign Earnings Subject To One Time Transition Tax",
        "terseLabel": "Foreign earnings subject to one time transition tax"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ForeignIncomeTaxExpenseBenefitContinuingOperations",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Foreign Income Tax Expense (Benefit), Continuing Operations, Total",
        "label": "Foreign Income Tax Expense (Benefit), Continuing Operations",
        "terseLabel": "Foreign",
        "documentation": "Amount of current and deferred foreign income tax expense (benefit) attributable to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r314",
      "r658"
     ]
    },
    "us-gaap_ForeignPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ForeignPlanMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign Plan",
        "label": "Foreign Plan [Member]",
        "verboseLabel": "Sweden",
        "documentation": "Location of employer sponsoring plan, designed to provide retirement benefits, not determined as principal place of business. Includes, but is not limited to, defined benefit and defined contribution plans."
       }
      }
     },
     "auth_ref": [
      "r1355",
      "r1356",
      "r1357"
     ]
    },
    "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount",
        "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount"
       }
      }
     },
     "auth_ref": [
      "r1165",
      "r1176",
      "r1186",
      "r1219"
     ]
    },
    "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Expense of Enforcement, Amount",
        "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount"
       }
      }
     },
     "auth_ref": [
      "r1165",
      "r1176",
      "r1186",
      "r1219"
     ]
    },
    "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Violation of Home Country Law, Amount",
        "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount"
       }
      }
     },
     "auth_ref": [
      "r1165",
      "r1176",
      "r1186",
      "r1219"
     ]
    },
    "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Explanation of Impracticability [Text Block]",
        "terseLabel": "Forgone Recovery, Explanation of Impracticability"
       }
      }
     },
     "auth_ref": [
      "r1165",
      "r1176",
      "r1186",
      "r1219"
     ]
    },
    "ecd_ForgoneRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r1165",
      "r1176",
      "r1186",
      "r1219"
     ]
    },
    "ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year [Member]",
        "terseLabel": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year"
       }
      }
     },
     "auth_ref": [
      "r1199"
     ]
    },
    "us-gaap_FurnitureAndFixturesGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FurnitureAndFixturesGross",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Furniture and Fixtures, Gross",
        "terseLabel": "Furniture, fixtures and office equipment",
        "documentation": "Amount before accumulated depreciation of 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": [
      "r160"
     ]
    },
    "rgen_FurnitureFixturesAndOfficeEquipmentMemberMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "FurnitureFixturesAndOfficeEquipmentMemberMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Furniture Fixtures And Office Equipment Member Member",
        "label": "Furniture Fixtures And Office Equipment Member [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GainsLossesOnExtinguishmentOfDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GainsLossesOnExtinguishmentOfDebt",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Loss on extinguishment of debt",
        "terseLabel": "Loss on extinguishment of debt",
        "verboseLabel": "Loss on conversion of debt",
        "totalLabel": "Gain (Loss) on Extinguishment of Debt, Total",
        "label": "Gain (Loss) on Extinguishment of Debt",
        "documentation": "Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r66",
      "r67"
     ]
    },
    "us-gaap_GeographicConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GeographicConcentrationRiskMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographic Concentration Risk [Member]",
        "documentation": "Reflects the percentage that a specified dollar value on the balance sheet or income statement in the period from one or more specified geographic areas is to a corresponding consolidated, segment, or product line amount. Risk is the materially adverse effects of economic decline or antagonistic political actions resulting in loss of assets, sales volume, labor supply, or source of materials and supplies in a US state or a specified country, continent, or region such as EMEA (Europe, Middle East, Africa)."
       }
      }
     },
     "auth_ref": [
      "r49",
      "r1043"
     ]
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Goodwill",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Goodwill, Total",
        "label": "Goodwill",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "terseLabel": "Goodwill",
        "documentation": "Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r270",
      "r428",
      "r866",
      "r1078",
      "r1083",
      "r1114",
      "r1123",
      "r1312",
      "r1319"
     ]
    },
    "us-gaap_GoodwillAcquiredDuringPeriod": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillAcquiredDuringPeriod",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill, Acquired During Period",
        "terseLabel": "Goodwill arising from Acquisition",
        "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination."
       }
      }
     },
     "auth_ref": [
      "r432",
      "r1083"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Abstract]",
        "terseLabel": "Goodwill and Other Intangible Assets",
        "verboseLabel": "Goodwill and Other Intangible Assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Text Block]",
        "terseLabel": "Goodwill and Intangible Assets",
        "documentation": "The entire disclosure for goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r1310",
      "r1322"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets, Policy [Policy Text Block]",
        "verboseLabel": "Business Combinations, Goodwill and Intangible Assets",
        "documentation": "Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r1310",
      "r1322"
     ]
    },
    "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillForeignCurrencyTranslationGainLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill, Foreign Currency Translation Gain (Loss)",
        "negatedLabel": "Cumulative translation adjustment",
        "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) asset representing future economic benefit from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r436"
     ]
    },
    "us-gaap_GoodwillImpairedFactsAndCircumstancesLeadingToImpairment": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillImpairedFactsAndCircumstancesLeadingToImpairment",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill, Impaired, Facts and Circumstances Leading to Impairment",
        "terseLabel": "Reason for change in impairment assessment date",
        "documentation": "Description of the underlying cause of impairment of goodwill, such as a significant and more than temporary reduction in sales of a business unit."
       }
      }
     },
     "auth_ref": [
      "r440",
      "r1083"
     ]
    },
    "us-gaap_GoodwillImpairmentLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillImpairmentLoss",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impairment to goodwill",
        "label": "Goodwill, Impairment Loss",
        "documentation": "Amount of impairment loss from asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r429",
      "r435",
      "r441",
      "r1083",
      "r1114"
     ]
    },
    "us-gaap_GoodwillLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill [Line Items]",
        "terseLabel": "Goodwill [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": [
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r441",
      "r1083"
     ]
    },
    "us-gaap_GoodwillMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill [Member]",
        "verboseLabel": "Goodwill [Member]",
        "documentation": "Asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GoodwillPurchaseAccountingAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillPurchaseAccountingAdjustments",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Measurement period adjustments",
        "label": "Goodwill, Measurement Period Adjustment",
        "documentation": "Amount of increase (decrease) from measurement period adjustment of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r1318"
     ]
    },
    "us-gaap_HeldToMaturitySecuritiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "HeldToMaturitySecuritiesCurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Held-to-Maturity, Amortized Cost, before Allowance for Credit Loss, Current",
        "terseLabel": "Marketable securities held to maturity",
        "documentation": "Amount, before allowance for credit loss, of investment in debt security measured at amortized cost (held-to-maturity), classified as current."
       }
      }
     },
     "auth_ref": [
      "r384",
      "r1303",
      "r1307"
     ]
    },
    "dei_IcfrAuditorAttestationFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "IcfrAuditorAttestationFlag",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "auth_ref": [
      "r1155",
      "r1156",
      "r1168"
     ]
    },
    "us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ImpairmentOfIntangibleAssetsExcludingGoodwill",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impairment of intangible assets",
        "label": "Impairment of Intangible Assets (Excluding Goodwill)",
        "totalLabel": "Impairment of Intangible Assets (Excluding Goodwill), Total",
        "documentation": "The amount of impairment loss recognized in the period resulting from the write-down of the carrying amount of an intangible asset (excluding goodwill) to fair value."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r443",
      "r455"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Domestic",
        "terseLabel": "Domestic",
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations."
       }
      }
     },
     "auth_ref": [
      "r315",
      "r657"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "totalLabel": "Income before income taxes",
        "verboseLabel": "Income before income taxes",
        "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": [
      "r136",
      "r199",
      "r204",
      "r870",
      "r887",
      "r1074",
      "r1077",
      "r1293",
      "r1295",
      "r1296",
      "r1297",
      "r1298"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Foreign",
        "terseLabel": "Foreign",
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile."
       }
      }
     },
     "auth_ref": [
      "r315",
      "r657"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeStatementLocationAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Income Location, Balance [Axis]",
        "terseLabel": "Income Statement Location [Axis]",
        "documentation": "Information by location in statement of income where disaggregated amount has been reported."
       }
      }
     },
     "auth_ref": [
      "r459",
      "r460",
      "r466",
      "r760",
      "r764",
      "r769",
      "r902",
      "r904",
      "r992",
      "r1056",
      "r1116",
      "r1443"
     ]
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeStatementLocationDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Income Location, Balance [Domain]",
        "terseLabel": "Income Statement Location [Domain]",
        "documentation": "Location in statement of income where disaggregated amount has been reported."
       }
      }
     },
     "auth_ref": [
      "r460",
      "r466",
      "r760",
      "r764",
      "r769",
      "r902",
      "r904",
      "r992",
      "r1056",
      "r1116",
      "r1443"
     ]
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxAuthorityAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Jurisdiction [Axis]",
        "terseLabel": "Income Tax Authority [Axis]",
        "documentation": "Information by income tax jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r309",
      "r659",
      "r660",
      "r672",
      "r686",
      "r1112",
      "r1390"
     ]
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxAuthorityDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Jurisdiction [Domain]",
        "terseLabel": "Income Tax Authority [Domain]",
        "documentation": "Income tax jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r309",
      "r659",
      "r660",
      "r672",
      "r686",
      "r1112",
      "r1390"
     ]
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Text Block]",
        "terseLabel": "Income Taxes",
        "documentation": "The entire disclosure for income tax."
       }
      }
     },
     "auth_ref": [
      "r316",
      "r649",
      "r659",
      "r668",
      "r669",
      "r670",
      "r677",
      "r684",
      "r696",
      "r698",
      "r700",
      "r701",
      "r927",
      "r1112"
     ]
    },
    "us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Effects Allocated Directly to Equity, Equity Transactions",
        "terseLabel": "Equity",
        "documentation": "The tax effect of an increase or decrease in contributed capital (for example, deductible expenditures reported as a reduction of the proceeds from issuing capital stock) during the period charged or credited directly to shareholders' equity."
       }
      }
     },
     "auth_ref": [
      "r699",
      "r1394"
     ]
    },
    "us-gaap_IncomeTaxExaminationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxExaminationLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Examination [Line Items]",
        "terseLabel": "Income Tax Examination [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": [
      "r672"
     ]
    },
    "us-gaap_IncomeTaxExaminationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxExaminationTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax, Examination [Table]",
        "terseLabel": "Income Tax Examination [Table]",
        "documentation": "Disclosure of information about income tax examination currently in progress or completed during current period by tax authority. Includes, but is not limited to, description of examination, jurisdiction conducting examination, tax year under examination, likelihood of unfavorable settlement, range of possible loss, liability recorded, increase (decrease) of liability from prior period, and penalty and interest incurred or accrued."
       }
      }
     },
     "auth_ref": [
      "r1388"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income tax provision",
        "label": "Income Tax Expense (Benefit)",
        "totalLabel": "Total",
        "verboseLabel": "Income tax (benefit) provision",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r208",
      "r222",
      "r337",
      "r338",
      "r352",
      "r361",
      "r371",
      "r656",
      "r659",
      "r697",
      "r893",
      "r1112"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Expense (Benefit), Effective Income Tax Rate Reconciliation, Amount [Abstract]",
        "terseLabel": "Adjustments due to:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax, Policy [Policy Text Block]",
        "terseLabel": "Income Taxes",
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements."
       }
      }
     },
     "auth_ref": [
      "r293",
      "r652",
      "r653",
      "r677",
      "r678",
      "r683",
      "r688",
      "r921"
     ]
    },
    "rgen_IncomeTaxRateReconciliationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "IncomeTaxRateReconciliationLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income Tax Rate Reconciliation [Line Items]",
        "label": "Income Tax Rate Reconciliation [Line Items]",
        "terseLabel": "Income Tax Rate Reconciliation [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_IncomeTaxRateReconciliationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "IncomeTaxRateReconciliationTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income Tax Rate Reconciliation [Table]",
        "label": "Income Tax Rate Reconciliation [Table]",
        "terseLabel": "Income Tax Rate Reconciliation [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount",
        "terseLabel": "Change in valuation allowance",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r665",
      "r1112",
      "r1385"
     ]
    },
    "us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationForeignIncomeTaxRateDifferential",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Amount",
        "terseLabel": "Difference between U.S. and foreign tax",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to foreign income tax expense (benefit)."
       }
      }
     },
     "auth_ref": [
      "r660",
      "r663",
      "r1112",
      "r1385"
     ]
    },
    "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount",
        "terseLabel": "Expected tax at statutory rate",
        "documentation": "The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r659",
      "r1112"
     ]
    },
    "rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income Tax Reconciliation, Nondeductible Expense, Executive Compensation.",
        "label": "Income Tax Reconciliation Nondeductible Expense Executive Compensation",
        "verboseLabel": "Executive compensation"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-Based Payment Arrangement, Amount",
        "terseLabel": "Stock-based compensation expense",
        "documentation": "Amount of reported income tax expense (benefit) in excess of (less than) expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for award under share-based payment arrangement. Includes, but is not limited to, expense determined to be nondeductible upon grant or after for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1112",
      "r1385",
      "r1387"
     ]
    },
    "us-gaap_IncomeTaxReconciliationOtherReconcilingItems": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationOtherReconcilingItems",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Effective Income Tax Rate Reconciliation, Other Reconciling Items, Amount, Total",
        "label": "Effective Income Tax Rate Reconciliation, Other Reconciling Items, Amount",
        "terseLabel": "Other",
        "documentation": "Amount of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying statutory federal (national) tax rate to pretax income (loss) from continuing operation attributable to other reconciling item. Excludes state and local income tax expense (benefit), federal tax expense (benefit), statutory income tax expense (benefit) outside of country of domicile, tax credit, nondeductible expense, deduction, income tax settlement, income tax contingency, and cross-border tax law."
       }
      }
     },
     "auth_ref": [
      "r1385",
      "r1386"
     ]
    },
    "us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationRepatriationOfForeignEarnings",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Repatriation of Foreign Earnings, Amount",
        "verboseLabel": "U.S. taxation of foreign earnings",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to repatriation of foreign earnings."
       }
      }
     },
     "auth_ref": [
      "r1385",
      "r1386"
     ]
    },
    "rgen_IncomeTaxReconciliationReturnToProvisionAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "IncomeTaxReconciliationReturnToProvisionAdjustments",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income Tax Reconciliation Return to Provision Adjustments",
        "label": "Income Tax Reconciliation Return to Provision Adjustments",
        "verboseLabel": "Return to provision adjustments"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State income tax",
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit)."
       }
      }
     },
     "auth_ref": [
      "r662",
      "r1112",
      "r1385"
     ]
    },
    "us-gaap_IncomeTaxReconciliationTaxContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationTaxContingencies",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Effective Income Tax Rate Reconciliation, Tax Contingency, Amount, Total",
        "label": "Effective Income Tax Rate Reconciliation, Tax Contingency, Amount",
        "verboseLabel": "Uncertain tax provisions",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in income tax contingencies. Including, but not limited to, domestic tax contingency, foreign tax contingency, state and local tax contingency, and other contingencies."
       }
      }
     },
     "auth_ref": [
      "r666",
      "r1112",
      "r1385"
     ]
    },
    "us-gaap_IncomeTaxReconciliationTaxCredits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationTaxCredits",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Effective Income Tax Rate Reconciliation, Tax Credit, Amount, Total",
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Amount",
        "negatedLabel": "Business tax credits",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits."
       }
      }
     },
     "auth_ref": [
      "r664",
      "r667",
      "r1385"
     ]
    },
    "rgen_IncomeTaxesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "IncomeTaxesLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income Taxes [Line Items]",
        "label": "Income Taxes [Line Items]",
        "terseLabel": "Income Taxes [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxesPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income Taxes Paid, Net, Total",
        "label": "Income Taxes Paid, Net",
        "terseLabel": "Income taxes paid",
        "documentation": "Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r309",
      "r685",
      "r686"
     ]
    },
    "rgen_IncomeTaxesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "IncomeTaxesTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income Taxes [Table]",
        "label": "Income Taxes [Table]",
        "terseLabel": "Income Taxes [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsPayable",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Increase (Decrease) in Accounts Payable, Total",
        "label": "Increase (Decrease) in Accounts Payable",
        "terseLabel": "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": [
      "r12"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedLabel": "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": [
      "r12"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccruedLiabilities",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Increase (Decrease) in Accrued Liabilities, Total",
        "label": "Increase (Decrease) in Accrued Liabilities",
        "verboseLabel": "Accrued expenses",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Increase (Decrease) in Inventories, Total",
        "label": "Increase (Decrease) in Inventories",
        "negatedLabel": "Inventories",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "terseLabel": "Changes in operating assets and liabilities, excluding impact of acquisitions:"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_IncreaseDecreaseInOperatingLeaseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "IncreaseDecreaseInOperatingLeaseAsset",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/LeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Increase decrease in operating lease asset",
        "label": "Increase Decrease In Operating Lease Asset",
        "documentation": "Increase decrease in operating lease asset."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_IncreaseDecreaseInOperatingLeaseLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "IncreaseDecreaseInOperatingLeaseLiabilities",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/LeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents Increase Decrease In operating Lease Liabilities.",
        "label": "Increase Decrease In Operating Lease Liabilities",
        "terseLabel": "Increase in operating lease liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOperatingLeaseLiability",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Lease Liability",
        "terseLabel": "Operating lease liability",
        "documentation": "Amount of increase (decrease) in obligation for operating lease."
       }
      }
     },
     "auth_ref": [
      "r1255",
      "r1279"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Other Noncurrent Liabilities",
        "terseLabel": "Long-term liabilities",
        "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Other assets",
        "label": "Increase (Decrease) in Other Operating Assets",
        "totalLabel": "Increase (Decrease) in Other Operating Assets, Total",
        "documentation": "Amount of increase (decrease) in operating assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Increase (Decrease) in Prepaid Expense and Other Assets, Total",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "negatedLabel": "Prepaid expenses and other assets",
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "IncreasedecreaseInOperatingLeaseRightOfUseAsset",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase Decrease in Operating Lease Right Of Use Asset",
        "documentation": "The increase (decrease) during the reporting period in operating lease right of use asset.",
        "negatedLabel": "Operating lease right of use asset amortization"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "IndefiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accumulated Amortization",
        "documentation": "Indefinite Lived Intangible Assets Accumulated Amortization",
        "label": "Indefinite Lived Intangible Assets Accumulated Amortization",
        "terseLabel": "Accumulated Amortization"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IndefiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Indefinite-Lived Intangible Assets [Axis]",
        "terseLabel": "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": [
      "r442",
      "r447",
      "r452",
      "r1084"
     ]
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IndefiniteLivedIntangibleAssetsExcludingGoodwill",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Indefinite-lived Intangible Assets (Excluding Goodwill), Ending Balance",
        "periodStartLabel": "Indefinite-lived Intangible Assets (Excluding Goodwill), Beginning Balance",
        "totalLabel": "Indefinite-lived Intangible Assets (Excluding Goodwill), Total",
        "label": "Indefinite-Lived Intangible Assets (Excluding Goodwill)",
        "verboseLabel": "Gross Carrying Value",
        "documentation": "Amount of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit."
       }
      }
     },
     "auth_ref": [
      "r427",
      "r452",
      "r1084"
     ]
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IndefiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Indefinite-Lived Intangible Assets, Major Class Name [Domain]",
        "terseLabel": "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": [
      "r442",
      "r447",
      "r452",
      "r1084"
     ]
    },
    "rgen_IndefiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "IndefiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indefinite Lived Intangible Assets Net",
        "label": "Indefinite Lived Intangible Assets Net",
        "verboseLabel": "Net Carrying Value"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_IndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "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": {
        "label": "Individual [Axis]",
        "terseLabel": "Individual:"
       }
      }
     },
     "auth_ref": [
      "r1165",
      "r1176",
      "r1186",
      "r1210",
      "r1219",
      "r1223",
      "r1231"
     ]
    },
    "rgen_InflationReductionActOfTwoThousandTwentyTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "InflationReductionActOfTwoThousandTwentyTwoMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inflation reduction act of two thousand twenty two member.",
        "label": "Inflation Reduction Act Of Two Thousand Twenty Two [Member]",
        "terseLabel": "nflation Reduction Act Of Two Thousand Twenty Two"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arrangements [Line Items]",
        "terseLabel": "Insider Trading Arrangements:"
       }
      }
     },
     "auth_ref": [
      "r1229"
     ]
    },
    "ecd_InsiderTradingPoliciesProcLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTradingPoliciesProcLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures [Line Items]",
        "terseLabel": "Insider Trading Policies and Procedures:"
       }
      }
     },
     "auth_ref": [
      "r1157",
      "r1235"
     ]
    },
    "ecd_InsiderTrdPoliciesProcAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTrdPoliciesProcAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Adopted [Flag]",
        "terseLabel": "Insider Trading Policies and Procedures Adopted"
       }
      }
     },
     "auth_ref": [
      "r1157",
      "r1235"
     ]
    },
    "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]",
        "terseLabel": "Insider Trading Policies and Procedures Not Adopted"
       }
      }
     },
     "auth_ref": [
      "r1157",
      "r1235"
     ]
    },
    "us-gaap_IntangibleAssetsGrossExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IntangibleAssetsGrossExcludingGoodwill",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross Carrying Value",
        "label": "Intangible Assets, Gross (Excluding Goodwill)",
        "terseLabel": "Gross Carrying Value",
        "documentation": "Amount before accumulated amortization of intangible assets, excluding goodwill."
       }
      }
     },
     "auth_ref": [
      "r270"
     ]
    },
    "rgen_IntangibleAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "IntangibleAssetsLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Intangible Assets [Line Items]",
        "label": "Intangible Assets [Line Items]",
        "terseLabel": "Intangible Assets [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net Carrying Value",
        "label": "Intangible Assets, Net (Excluding Goodwill)",
        "terseLabel": "Intangible assets, net",
        "verboseLabel": "Net Carrying Value",
        "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": [
      "r442",
      "r1330",
      "r1332"
     ]
    },
    "us-gaap_InterestExpenseDebtExcludingAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestExpenseDebtExcludingAmortization",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Expense, Debt, Excluding Amortization",
        "terseLabel": "Contractual coupon interest",
        "documentation": "Represents the portion of interest incurred in the period on debt arrangements that was charged against earnings, excluding amortization of debt discount (premium) and financing costs."
       }
      }
     },
     "auth_ref": [
      "r145",
      "r503",
      "r1088",
      "r1089"
     ]
    },
    "us-gaap_InterestExpenseNonoperating": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestExpenseNonoperating",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Interest Expense, Nonoperating, Total",
        "label": "Interest Expense, Nonoperating",
        "negatedLabel": "Interest expense",
        "documentation": "Amount of interest expense classified as nonoperating."
       }
      }
     },
     "auth_ref": [
      "r360",
      "r1275"
     ]
    },
    "us-gaap_InterestOnConvertibleDebtNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestOnConvertibleDebtNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest on Convertible Debt, Net of Tax",
        "terseLabel": "Charges associated with convertible debt instruments, net of tax",
        "documentation": "Amount, after tax, of interest recognized on convertible debt instrument excluding interest on principal required to be paid in cash."
       }
      }
     },
     "auth_ref": [
      "r341",
      "r344",
      "r348"
     ]
    },
    "us-gaap_InterestPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities",
        "terseLabel": "Interest paid",
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount."
       }
      }
     },
     "auth_ref": [
      "r305",
      "r307",
      "r308"
     ]
    },
    "rgen_InventoryAdjustmentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "InventoryAdjustmentsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventory adjustments",
        "label": "Inventory Adjustments [Member]",
        "documentation": "Inventory adjustments."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryCurrentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryCurrentTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Current [Table]",
        "terseLabel": "Inventory, Current [Table]",
        "documentation": "Disclosure of information about inventory expected to be sold or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Finished Goods, Net of Reserves",
        "terseLabel": "Finished products",
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale."
       }
      }
     },
     "auth_ref": [
      "r159",
      "r1064"
     ]
    },
    "us-gaap_InventoryLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory [Line Items]",
        "terseLabel": "Inventory [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_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryNet",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Net",
        "terseLabel": "Inventories, net",
        "totalLabel": "Total inventories, net",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r281",
      "r1061",
      "r1123"
     ]
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Policy [Policy Text Block]",
        "terseLabel": "Inventories",
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost."
       }
      }
     },
     "auth_ref": [
      "r210",
      "r266",
      "r280",
      "r424",
      "r425",
      "r426",
      "r828",
      "r1070"
     ]
    },
    "us-gaap_InventoryRawMaterialsNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryRawMaterialsNetOfReserves",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Raw Materials, Net of Reserves",
        "terseLabel": "Raw materials",
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process."
       }
      }
     },
     "auth_ref": [
      "r159",
      "r1066"
     ]
    },
    "us-gaap_InventoryWorkInProcessNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryWorkInProcessNetOfReserves",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Work in Process, Net of Reserves",
        "terseLabel": "Work-in-process",
        "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing."
       }
      }
     },
     "auth_ref": [
      "r159",
      "r1065"
     ]
    },
    "us-gaap_InvestmentIncomeNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InvestmentIncomeNet",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Investment Income, Net, Total",
        "label": "Investment Income, Net",
        "terseLabel": "Investment income",
        "documentation": "Amount after accretion (amortization) of discount (premium), and investment expense, of interest income and dividend income on nonoperating securities."
       }
      }
     },
     "auth_ref": [
      "r142",
      "r143",
      "r145"
     ]
    },
    "us-gaap_InvestmentTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InvestmentTypeAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment Type [Axis]",
        "documentation": "Information by type of investments."
       }
      }
     },
     "auth_ref": [
      "r944",
      "r946",
      "r947",
      "r949",
      "r952",
      "r1015",
      "r1017",
      "r1019",
      "r1022",
      "r1023",
      "r1028",
      "r1030",
      "r1031",
      "r1032",
      "r1033",
      "r1034",
      "r1142"
     ]
    },
    "us-gaap_InvestmentTypeCategorizationMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InvestmentTypeCategorizationMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investments [Domain]",
        "documentation": "Asset obtained to generate income or appreciate in value."
       }
      }
     },
     "auth_ref": [
      "r944",
      "r946",
      "r947",
      "r949",
      "r952",
      "r1015",
      "r1017",
      "r1019",
      "r1022",
      "r1023",
      "r1028",
      "r1030",
      "r1031",
      "r1032",
      "r1033",
      "r1034",
      "r1142"
     ]
    },
    "us-gaap_Land": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Land",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Land",
        "terseLabel": "Land",
        "documentation": "Amount before accumulated depletion of real estate held for productive use, excluding land held for sale."
       }
      }
     },
     "auth_ref": [
      "r1267"
     ]
    },
    "us-gaap_LatestTaxYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LatestTaxYearMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Latest Tax Year [Member]",
        "terseLabel": "Latest Tax Year",
        "documentation": "Latest identified tax year."
       }
      }
     },
     "auth_ref": [
      "r1388"
     ]
    },
    "us-gaap_LeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeaseCost",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseCostDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease, Cost",
        "totalLabel": "Lease cost",
        "documentation": "Amount of lease cost recognized by lessee for lease contract."
       }
      }
     },
     "auth_ref": [
      "r798",
      "r1122"
     ]
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeaseCostTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease, Cost [Table Text Block]",
        "verboseLabel": "Lease, Cost",
        "terseLabel": "Summary of Operating Lease Cost",
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income."
       }
      }
     },
     "auth_ref": [
      "r1420"
     ]
    },
    "rgen_LeaseIncentives": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "LeaseIncentives",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lease incentives.",
        "label": "Lease Incentives",
        "terseLabel": "Less lease incentives",
        "negatedLabel": "Less lease incentives"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_LeaseObligationsNotYetCommenced": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "LeaseObligationsNotYetCommenced",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lease obligations not yet commenced",
        "label": "Lease Obligations Not Yet Commenced",
        "documentation": "Lease obligations not yet commenced."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseholdImprovementsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeaseholdImprovementsGross",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leasehold Improvements, Gross",
        "terseLabel": "Leasehold improvements",
        "documentation": "Amount before accumulated depreciation of additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r160"
     ]
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeaseholdImprovementsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leasehold Improvements [Member]",
        "documentation": "Additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r160",
      "r805"
     ]
    },
    "us-gaap_LeasesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeasesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_LegalEntityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LegalEntityAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLoss",
      "http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLossTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlans",
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/OrganizationAndNatureOfBusiness",
      "http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnaudited",
      "http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnauditedTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Legal Entity [Axis]",
        "terseLabel": "Legal Entity [Axis]",
        "documentation": "The set of legal entities associated with a report."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeLeaseDescriptionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeLeaseDescriptionTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Lease, Description [Table]",
        "documentation": "Disclosure of information about lessee's leases."
       }
      }
     },
     "auth_ref": [
      "r797",
      "r806"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lease obligation terms",
        "label": "Lessee, Operating Lease, Lease Not yet Commenced, Term of Contract",
        "documentation": "Term of lessee's operating lease not yet commenced, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r1419"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]",
        "terseLabel": "Summary of Maturities of Operating Lease Liabilities",
        "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": [
      "r1421"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "totalLabel": "Total future minimum lease payments",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r804"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2029 and thereafter",
        "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Five",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r804"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2024",
        "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": [
      "r804"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2028",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r804"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2027",
        "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": [
      "r804"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2026",
        "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": [
      "r804"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2025",
        "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": [
      "r804"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "verboseLabel": "Less amount of lease payment representing interest",
        "negatedLabel": "Less amount of lease payment representing interest",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r804"
     ]
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeasesTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/Leases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Leases [Text Block]",
        "verboseLabel": "Leases",
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r792"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Liabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities",
        "totalLabel": "Total liabilities",
        "documentation": "Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r111",
      "r112",
      "r113",
      "r116",
      "r117",
      "r118",
      "r121",
      "r313",
      "r386",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r727",
      "r728",
      "r729",
      "r778",
      "r961",
      "r1073",
      "r1150",
      "r1345",
      "r1428",
      "r1429"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity",
        "totalLabel": "Total liabilities and stockholders' equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r128",
      "r198",
      "r882",
      "r1123",
      "r1283",
      "r1304",
      "r1411"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "terseLabel": "Liabilities and Stockholders' Equity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current liabilities",
        "label": "Liabilities, Current",
        "totalLabel": "Total current liabilities",
        "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": [
      "r113",
      "r265",
      "r313",
      "r386",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r727",
      "r728",
      "r729",
      "r778",
      "r1123",
      "r1345",
      "r1428",
      "r1429"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesFairValueDisclosure",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Balance at December 31, 2023",
        "periodStartLabel": "Balance at December 31, 2022",
        "terseLabel": "Liabilities, fair value",
        "verboseLabel": "Balance as of December 31, 2021",
        "label": "Liabilities, Fair Value Disclosure",
        "totalLabel": "Liabilities, Fair Value Disclosure, Total",
        "documentation": "Fair value of financial and nonfinancial obligations."
       }
      }
     },
     "auth_ref": [
      "r755",
      "r1397"
     ]
    },
    "us-gaap_LiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total noncurrent liabilities",
        "label": "Liabilities, Noncurrent",
        "documentation": "Amount of obligation due after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r116",
      "r117",
      "r118",
      "r121",
      "r313",
      "r386",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r727",
      "r728",
      "r729",
      "r778",
      "r1345",
      "r1428",
      "r1429"
     ]
    },
    "us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LoansAndLeasesReceivableLeaseFinancingPolicy",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lease Accounting",
        "label": "Loans and Leases Receivable, Lease Financing, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for recording, valuing, and reporting amounts due from lessees pursuant to contractual arrangements, which are secured, at a minimum, by the asset being rented, and in measuring certain revenues, expenses and gains and losses arising from creating, acquiring, collecting, terminating, modifying and holding lease agreements."
       }
      }
     },
     "auth_ref": [
      "r188",
      "r189",
      "r190"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_LongTermContingentConsideration": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "LongTermContingentConsideration",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long-term contingent consideration.",
        "label": "Long Term Contingent Consideration",
        "terseLabel": "Long-term contingent consideration"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebt",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Debt",
        "terseLabel": "Notes, carrying value",
        "totalLabel": "Total convertible senior notes",
        "verboseLabel": "Total convertible senior notes",
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r196",
      "r496",
      "r507",
      "r1086",
      "r1087",
      "r1121",
      "r1438"
     ]
    },
    "us-gaap_LongTermDebtFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtFairValue",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Debt, Fair Value",
        "terseLabel": "Fair value of convertible senior notes",
        "verboseLabel": "Fair value of the note",
        "documentation": "The fair value amount of long-term debt whether such amount is presented as a separate caption or as a parenthetical disclosure. Additionally, this element may be used in connection with the fair value disclosures required in the footnote disclosures to the financial statements. The element may be used in both the balance sheet and disclosure in the same submission."
       }
      }
     },
     "auth_ref": [
      "r1397",
      "r1399",
      "r1400",
      "r1401"
     ]
    },
    "us-gaap_LongTermDebtTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Debt [Text Block]",
        "terseLabel": "Convertible Senior Notes",
        "documentation": "The entire disclosure for long-term debt."
       }
      }
     },
     "auth_ref": [
      "r165"
     ]
    },
    "us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Category of Item Purchased [Axis]",
        "documentation": "Information by category of items purchased under a long-term purchase commitment."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Purchase Commitment, Category of Item Purchased [Domain]",
        "documentation": "General description of the goods or services to be purchased from the counterparty to the long-term purchase commitment."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_LossOnDebtConversion": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "LossOnDebtConversion",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Loss on conversion of debt included in other expenses",
        "label": "Loss On Debt Conversion",
        "documentation": "Loss on debt conversion."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MachineryAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MachineryAndEquipmentGross",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Machinery and Equipment, Gross, Total",
        "label": "Machinery and Equipment, Gross",
        "terseLabel": "Equipment",
        "documentation": "Amount before accumulated depreciation of tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment."
       }
      }
     },
     "auth_ref": [
      "r160"
     ]
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]",
        "terseLabel": "Customer [Axis]",
        "documentation": "Information by name or description of a single external customer or a group of external customers."
       }
      }
     },
     "auth_ref": [
      "r376",
      "r1093",
      "r1133",
      "r1137",
      "r1351",
      "r1440",
      "r1444",
      "r1445",
      "r1447",
      "r1448",
      "r1449",
      "r1450",
      "r1451",
      "r1452",
      "r1453",
      "r1454",
      "r1455",
      "r1456",
      "r1457",
      "r1458",
      "r1459",
      "r1460",
      "r1461",
      "r1462",
      "r1463",
      "r1464",
      "r1465",
      "r1466",
      "r1467",
      "r1468",
      "r1469",
      "r1470",
      "r1471"
     ]
    },
    "rgen_ManufacturingLineExpansionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ManufacturingLineExpansionsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Manufacturing Line Expansions",
        "label": "Manufacturing Line Expansions [Member]",
        "documentation": "Manufacturing line expansions."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MarketableSecuritiesPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MarketableSecuritiesPolicy",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Investment Securities",
        "label": "Marketable Securities, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for investment classified as marketable security."
       }
      }
     },
     "auth_ref": [
      "r106"
     ]
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MaximumMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum",
        "documentation": "Upper limit of the provided range."
       }
      }
     },
     "auth_ref": [
      "r226",
      "r228",
      "r230",
      "r231",
      "r233",
      "r255",
      "r256",
      "r476",
      "r477",
      "r478",
      "r479",
      "r606",
      "r646",
      "r758",
      "r827",
      "r901",
      "r903",
      "r917",
      "r953",
      "r954",
      "r1016",
      "r1018",
      "r1020",
      "r1021",
      "r1029",
      "r1054",
      "r1055",
      "r1080",
      "r1090",
      "r1108",
      "r1117",
      "r1118",
      "r1119",
      "r1120",
      "r1134",
      "r1347",
      "r1430",
      "r1431",
      "r1432",
      "r1433",
      "r1434",
      "r1435"
     ]
    },
    "ecd_MeasureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MeasureAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure [Axis]",
        "terseLabel": "Measure:"
       }
      }
     },
     "auth_ref": [
      "r1202"
     ]
    },
    "ecd_MeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r1202"
     ]
    },
    "rgen_MeasurementInputEarnoutDiscountRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "MeasurementInputEarnoutDiscountRateMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Earnout Discount Rate",
        "documentation": "Measurement Input Earnout Discount Rate.",
        "label": "Measurement Input Earnout Discount Rate [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MeasurementInputPriceVolatilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MeasurementInputPriceVolatilityMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Volatility",
        "label": "Measurement Input, Price Volatility [Member]",
        "documentation": "Measurement input using rate at which price of security will increase (decrease) for given set of returns."
       }
      }
     },
     "auth_ref": [
      "r1117",
      "r1399",
      "r1400",
      "r1401"
     ]
    },
    "rgen_MeasurementInputProbabilityOfSuccessMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "MeasurementInputProbabilityOfSuccessMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Probability of Success",
        "documentation": "Measurement Input Probability of Success.",
        "label": "Measurement Input Probability of Success [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_MeasurementInputRevenueVolumeDiscountRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "MeasurementInputRevenueVolumeDiscountRateMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue and Volume Based Payments",
        "documentation": "Measurement Input Revenue &amp; Volume Discount Rate.",
        "label": "Measurement Input Revenue &amp; Volume Discount Rate [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MeasurementInputTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MeasurementInputTypeAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Input Type [Axis]",
        "documentation": "Information by type of measurement input used to determine value of asset and liability."
       }
      }
     },
     "auth_ref": [
      "r756",
      "r757",
      "r758",
      "r1117"
     ]
    },
    "us-gaap_MeasurementInputTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MeasurementInputTypeDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Input Type [Domain]",
        "documentation": "Measurement input used to determine value of asset and liability."
       }
      }
     },
     "auth_ref": [
      "r756",
      "r757",
      "r758",
      "r1117"
     ]
    },
    "rgen_MetenovaHoldingAbMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "MetenovaHoldingAbMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Metenova Holding AB",
        "label": "Metenova Holding AB [Member]",
        "documentation": "Metenova Holding AB."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_MilliporeSigmaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "MilliporeSigmaMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Millipore Sigma.",
        "label": "Millipore Sigma [Member]",
        "terseLabel": "MilliporeSigma"
       }
      }
     },
     "auth_ref": []
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MinimumMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum",
        "documentation": "Lower limit of the provided range."
       }
      }
     },
     "auth_ref": [
      "r226",
      "r228",
      "r230",
      "r231",
      "r233",
      "r255",
      "r256",
      "r476",
      "r477",
      "r478",
      "r479",
      "r606",
      "r646",
      "r758",
      "r827",
      "r901",
      "r903",
      "r917",
      "r953",
      "r954",
      "r1016",
      "r1018",
      "r1020",
      "r1021",
      "r1029",
      "r1054",
      "r1055",
      "r1080",
      "r1090",
      "r1108",
      "r1117",
      "r1118",
      "r1119",
      "r1134",
      "r1347",
      "r1430",
      "r1431",
      "r1432",
      "r1433",
      "r1434",
      "r1435"
     ]
    },
    "us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MinorityInterestOwnershipPercentageByNoncontrollingOwners",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsidiary, Ownership Percentage, Noncontrolling Owner",
        "terseLabel": "Non controlling ownership interest minimum",
        "documentation": "The equity interest of noncontrolling shareholders, partners or other equity holders in consolidated entity."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_MnpiDiscTimedForCompValFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MnpiDiscTimedForCompValFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "MNPI Disclosure Timed for Compensation Value [Flag]",
        "terseLabel": "MNPI Disclosure Timed for Compensation Value"
       }
      }
     },
     "auth_ref": [
      "r1222"
     ]
    },
    "rgen_ModificationOfDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ModificationOfDebt",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Modification of debt",
        "label": "Modification of Debt",
        "documentation": "Modification of debt."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ModifiedTwoZeroOneNineNotesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ModifiedTwoZeroOneNineNotesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Modified 2019 Notes",
        "label": "Modified Two Zero One Nine Notes [Member]",
        "documentation": "Modified Two Zero One Nine Notes [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MoneyMarketFundsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MoneyMarketFundsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Money Market",
        "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": [
      "r1353"
     ]
    },
    "rgen_MonteCarloSimulationMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "MonteCarloSimulationMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Monte Carlo Simulation",
        "documentation": "Monte Carlo Simulation.",
        "label": "Monte Carlo Simulation [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_MtrlTermsOfTrdArrTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MtrlTermsOfTrdArrTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Terms of Trading Arrangement [Text Block]",
        "terseLabel": "Material Terms of Trading Arrangement"
       }
      }
     },
     "auth_ref": [
      "r1230"
     ]
    },
    "rgen_NGLImpactAMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "NGLImpactAMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "NGL Impact A[Member]",
        "label": "NGL Impact A [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Domain]",
        "terseLabel": "Customer [Domain]",
        "documentation": "Single external customer or group of external customers."
       }
      }
     },
     "auth_ref": [
      "r376",
      "r1093",
      "r1133",
      "r1137",
      "r1351",
      "r1440",
      "r1444",
      "r1445",
      "r1447",
      "r1448",
      "r1449",
      "r1450",
      "r1451",
      "r1452",
      "r1453",
      "r1454",
      "r1455",
      "r1456",
      "r1457",
      "r1458",
      "r1459",
      "r1460",
      "r1461",
      "r1462",
      "r1463",
      "r1464",
      "r1465",
      "r1466",
      "r1467",
      "r1468",
      "r1469",
      "r1470",
      "r1471"
     ]
    },
    "ecd_NamedExecutiveOfficersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NamedExecutiveOfficersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Named Executive Officers, Footnote [Text Block]",
        "terseLabel": "Named Executive Officers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1203"
     ]
    },
    "us-gaap_NatureOfOperations": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NatureOfOperations",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/OrganizationAndNatureOfBusiness"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nature of Operations [Text Block]",
        "terseLabel": "Organization and Nature of Business",
        "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward."
       }
      }
     },
     "auth_ref": [
      "r212",
      "r223"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total cash provided by (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": [
      "r306"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "terseLabel": "Cash flows from financing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Total cash 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": [
      "r306"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "terseLabel": "Cash flows from investing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "totalLabel": "Total cash provided by 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": [
      "r151",
      "r152",
      "r153"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Cash flows from operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf2",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss)",
        "terseLabel": "Net Income (Loss)",
        "totalLabel": "Net income",
        "netLabel": "Net income",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r139",
      "r153",
      "r200",
      "r263",
      "r288",
      "r291",
      "r296",
      "r313",
      "r324",
      "r328",
      "r329",
      "r331",
      "r332",
      "r333",
      "r337",
      "r338",
      "r345",
      "r386",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r709",
      "r725",
      "r752",
      "r778",
      "r888",
      "r984",
      "r1005",
      "r1006",
      "r1148",
      "r1345"
     ]
    },
    "us-gaap_NetIncomeLossAttributableToParentDiluted": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLossAttributableToParentDiluted",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Numerator for diluted earnings per share - net income available to common stockholders after the effect of dilutive securities",
        "label": "Net Income (Loss) Attributable to Parent, Diluted",
        "terseLabel": "Numerator for diluted earnings per share - net income available to common stockholders after the effect of dilutive securities",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent, and includes adjustments resulting from the assumption that dilutive convertible securities were converted, options or warrants were exercised, or that other shares were issued upon the satisfaction of certain conditions."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLossAvailableToCommonStockholdersBasicAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss) Available to Common Stockholders, Basic [Abstract]",
        "terseLabel": "Numerator:"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_NetWorkingCapitalExcludingCashAndInventory": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "NetWorkingCapitalExcludingCashAndInventory",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Net working capital excluding cash and inventory",
        "label": "Net working capital excluding cash and inventory",
        "terseLabel": "Net working capital (excluding cash and inventory step-up)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "terseLabel": "Recent Accounting Standards Updates",
        "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": []
    },
    "us-gaap_NewDateOfAnnualGoodwillImpairmentTest": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NewDateOfAnnualGoodwillImpairmentTest",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impairment assessment date",
        "label": "New Date of Annual Goodwill Impairment Test",
        "documentation": "The new date of the annual goodwill impairment test."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_NewtonNewJerseyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "NewtonNewJerseyMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Newton, New Jersey [Member]",
        "documentation": "Newton, New Jersey Member.",
        "terseLabel": "NTM"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_NonEmployeeDirectorStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "NonEmployeeDirectorStockOptionMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Non Employee Director Stock Option[Member]",
        "label": "Non Employee Director Stock Option[Member]",
        "terseLabel": "Non-Employee Directors"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_NonExecutiveMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "NonExecutiveMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Non-Executive [Member]",
        "label": "Non-Executive [Member]",
        "terseLabel": "Awards Granted to Non-Executive Level Employees"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonGaapMeasureDescriptionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonGaapMeasureDescriptionTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-GAAP Measure Description [Text Block]",
        "terseLabel": "Non-GAAP Measure Description"
       }
      }
     },
     "auth_ref": [
      "r1202"
     ]
    },
    "rgen_NonMetallicSolutionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "NonMetallicSolutionsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non Metallic Solutions",
        "documentation": "Non-metallic solutions [Member].",
        "label": "Non Metallic Solutions [Member]",
        "verboseLabel": "NMS"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonNeosMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonNeosMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-NEOs [Member]",
        "terseLabel": "Non-NEOs"
       }
      }
     },
     "auth_ref": [
      "r1165",
      "r1176",
      "r1186",
      "r1210",
      "r1219"
     ]
    },
    "ecd_NonPeoNeoAvgCompActuallyPaidAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoAvgCompActuallyPaidAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Compensation Actually Paid Amount",
        "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r1193"
     ]
    },
    "ecd_NonPeoNeoAvgTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoAvgTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Total Compensation Amount",
        "terseLabel": "Non-PEO NEO Average Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r1192"
     ]
    },
    "ecd_NonPeoNeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO [Member]",
        "terseLabel": "Non-PEO NEO"
       }
      }
     },
     "auth_ref": [
      "r1210"
     ]
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r1230"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r1230"
     ]
    },
    "rgen_NoncashInterestIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "NoncashInterestIncome",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Non-cash interest income",
        "label": "Noncash Interest Income",
        "documentation": "Noncash interest income."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_NoncashInventoryAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "NoncashInventoryAdjustments",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non cash inventory adjustment",
        "label": "Noncash Inventory Adjustments",
        "documentation": "The amount of non cash adjustments of inventory."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncash or Part Noncash Acquisition, Intangible Assets Acquired",
        "terseLabel": "Acquisition of intangible assets",
        "verboseLabel": "Acquisition of intangible assets and issuance of financing liability",
        "documentation": "The amount of intangibles that an Entity acquires in a noncash (or part noncash) acquisition. Noncash is defined as information about all investing and financing activities of an enterprise during a period that affect recognized assets or liabilities but that do not result in cash receipts or cash payments in the period. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period."
       }
      }
     },
     "auth_ref": [
      "r38",
      "r39",
      "r40"
     ]
    },
    "rgen_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Noncash or part noncash aquisition intangible assets acquired and financing liability.",
        "label": "Noncash or Part Noncash Acquisition, Intangible Assets Acquired And Financing Liability",
        "terseLabel": "Acquisition of intangible assets and issuance of financing liability"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoncompeteAgreementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NoncompeteAgreementsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncompete Agreements [Member]",
        "verboseLabel": "Non-compete agreements",
        "terseLabel": "Non-competition agreements",
        "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r1323",
      "r1325",
      "r1326",
      "r1327",
      "r1329",
      "r1330",
      "r1333",
      "r1334"
     ]
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NonoperatingIncomeExpense",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Other income (expenses), 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": [
      "r144"
     ]
    },
    "us-gaap_NonrecurringAdjustmentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NonrecurringAdjustmentAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonrecurring Adjustment [Axis]",
        "documentation": "Information by nonrecurring adjustment directly attributable to business combination included in pro forma revenue and earnings."
       }
      }
     },
     "auth_ref": [
      "r24"
     ]
    },
    "us-gaap_NonrecurringAdjustmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NonrecurringAdjustmentDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonrecurring Adjustment [Domain]",
        "documentation": "Material, nonrecurring adjustment(s) allocated (included) to (in) reported pro forma revenue and earnings (supplemental pro forma information)."
       }
      }
     },
     "auth_ref": [
      "r24"
     ]
    },
    "srt_NorthAmericaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "NorthAmericaMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "North America [Member]",
        "terseLabel": "North America",
        "documentation": "Continent of North America."
       }
      }
     },
     "auth_ref": [
      "r1260",
      "r1261",
      "r1262",
      "r1263",
      "r1475",
      "r1476",
      "r1477",
      "r1478"
     ]
    },
    "us-gaap_NotesIssued1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NotesIssued1",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Issuance of 2023 Notes in exchange of 2019 Notes",
        "label": "Notes Issued",
        "documentation": "The fair value of notes issued in noncash investing and financing activities."
       }
      }
     },
     "auth_ref": [
      "r38",
      "r39",
      "r40"
     ]
    },
    "rgen_NotesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "NotesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exchanged 2019 Notes",
        "documentation": "Exchanged 2019 notes.",
        "label": "2019 Notes [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_NumberOfManufacturingSites": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "NumberOfManufacturingSites",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureOrganizationAndNatureOfBusinessAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of manufacturing sites.",
        "label": "Number of Manufacturing Sites",
        "terseLabel": "Number of manufacturing sites"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NumberOfOperatingSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NumberOfOperatingSegments",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "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": [
      "r1078",
      "r1294"
     ]
    },
    "us-gaap_NumberOfReportingUnits": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NumberOfReportingUnits",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of reporting units",
        "label": "Number of Reporting Units",
        "documentation": "Number of reporting units tested for impairment of goodwill. A reporting unit is an operating segment or one level below an operating segment."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_NumberOfSharesBasicOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "NumberOfSharesBasicOutstanding",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares basic outstanding.",
        "label": "Number Of Shares Basic Outstanding",
        "verboseLabel": "Weighted average shares used in computing net income per share - basic"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "1.00% Convertible Senior Notes due 2028",
        "label": "One Point Zero Zero Percent Convertible Senior Notes Due Twenty Twenty Eight [Member]",
        "documentation": "One point zero zero percent convertible senior notes due twenty twenty eight."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OpenTaxYear": {
     "xbrltype": "gYearListItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OpenTaxYear",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Open Tax Year",
        "verboseLabel": "Fiscal year subject to examination",
        "documentation": "Tax year that remains open to examination under enacted tax laws, in YYYY format."
       }
      }
     },
     "auth_ref": [
      "r672"
     ]
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Income (Loss)",
        "totalLabel": "Income from operations",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r204",
      "r1074",
      "r1293",
      "r1295",
      "r1296",
      "r1297",
      "r1298"
     ]
    },
    "us-gaap_OperatingLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseCost",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseCostDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Cost",
        "terseLabel": "Operating lease cost",
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability."
       }
      }
     },
     "auth_ref": [
      "r799",
      "r1122"
     ]
    },
    "rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/LeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Minimum operating lease payments",
        "terseLabel": "Operating lease liabilities excluding control not conveyed leases",
        "label": "Operating Lease Liabilities Excluding Control not Conveyed Leases",
        "documentation": "Operating lease liabilities excluding control not conveyed leases."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/LeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease liabilities",
        "verboseLabel": "Minimum operating lease payments",
        "label": "Operating Lease, Liability",
        "totalLabel": "Minimum operating lease payments",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r795"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Current",
        "verboseLabel": "Operating lease liability",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r795"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease liability, long-term",
        "verboseLabel": "Noncurrent operating lease liability",
        "label": "Operating Lease, Liability, Noncurrent",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r795"
     ]
    },
    "us-gaap_OperatingLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Payments",
        "negatedLabel": "Operating lease cost",
        "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": [
      "r796",
      "r800"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal",
      "http://www.repligencorp.com/20231231/taxonomy/role/LeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Operating lease right of use assets",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r794"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfWeightedAverageDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "verboseLabel": "Weighted average discount rate",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r803",
      "r1122"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfWeightedAverageDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "verboseLabel": "Weighted average remaining lease term (years)",
        "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": [
      "r802",
      "r1122"
     ]
    },
    "us-gaap_OperatingLeasedAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeasedAssetsLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Leased 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_OperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLossCarryforwards",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Operating Loss Carryforwards, Total",
        "label": "Operating Loss Carryforwards",
        "terseLabel": "Net operating loss carry forwards",
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws."
       }
      }
     },
     "auth_ref": [
      "r687"
     ]
    },
    "rgen_OptionToPurchaseAdditionalDebtFaceAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "OptionToPurchaseAdditionalDebtFaceAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Option to purchase additional debt face amount.",
        "label": "Option to Purchase Additional Debt Face Amount",
        "verboseLabel": "Additional Notes issued"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_OptionToPurchaseCommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "OptionToPurchaseCommonStockMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Option To Purchase Common Stock [Member]",
        "label": "Option To Purchase Common Stock [Member]",
        "terseLabel": "Option To Purchase Common Stock"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAccruedLiabilitiesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Accrued Liabilities, Current",
        "terseLabel": "Other",
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r112"
     ]
    },
    "rgen_OtherAdjustmentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "OtherAdjustmentsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other adjustments.",
        "label": "Other Adjustments [Member]",
        "terseLabel": "Other Adjustments"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAssetsCurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets, Current",
        "terseLabel": "Other",
        "documentation": "Amount of current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r282",
      "r1123"
     ]
    },
    "us-gaap_OtherAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAssetsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets [Member]",
        "documentation": "Primary financial statement caption encompassing other assets."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r99"
     ]
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other noncurrent assets",
        "totalLabel": "Other Assets, Noncurrent, Total",
        "label": "Other Assets, Noncurrent",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r272"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Total",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax",
        "verboseLabel": "Foreign currency translation adjustment",
        "terseLabel": "Translation adjustment",
        "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": [
      "r7",
      "r889"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent, Total",
        "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent",
        "terseLabel": "Other comprehensive loss",
        "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r18",
      "r185",
      "r289",
      "r292",
      "r333"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]",
        "terseLabel": "Other comprehensive income (loss):"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_OtherDirectorsOrOfficersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "OtherDirectorsOrOfficersMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other directors or officers.",
        "label": "Other Directors Or Officers [Member]",
        "terseLabel": "Other directors or officers"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherInformationPertainingToIncomeTaxes": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherInformationPertainingToIncomeTaxes",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Information Pertaining to Income Taxes",
        "terseLabel": "Net operating loss and business tax credit carry forwards expiration date",
        "documentation": "Description of events or transactions pertaining to income taxes classified as other."
       }
      }
     },
     "auth_ref": [
      "r76"
     ]
    },
    "us-gaap_OtherIntangibleAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherIntangibleAssetsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Intangible Assets [Member]",
        "terseLabel": "Other intangibles",
        "documentation": "Intangible assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r1084",
      "r1323",
      "r1325",
      "r1326",
      "r1327",
      "r1328",
      "r1329",
      "r1330",
      "r1332",
      "r1333",
      "r1334"
     ]
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherLiabilitiesNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other noncurrent liabilities",
        "totalLabel": "Other Liabilities, Noncurrent, Total",
        "label": "Other Liabilities, Noncurrent",
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r117"
     ]
    },
    "us-gaap_OtherNoncashIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherNoncashIncomeExpense",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Other Noncash Income (Expense), Total",
        "label": "Other Noncash Income (Expense)",
        "negatedLabel": "Other",
        "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other."
       }
      }
     },
     "auth_ref": [
      "r153"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherNonoperatingIncomeExpense",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other income (expenses)",
        "verboseLabel": "Other expenses",
        "totalLabel": "Other Nonoperating Income (Expense), Total",
        "label": "Other Nonoperating Income (Expense)",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r146"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpenseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherNonoperatingIncomeExpenseAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other income (expenses):",
        "label": "Other Nonoperating Income (Expense) [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_OtherPerfMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OtherPerfMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Performance Measure, Amount",
        "terseLabel": "Other Performance Measure, Amount"
       }
      }
     },
     "auth_ref": [
      "r1202"
     ]
    },
    "us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Postretirement Benefits, Individual Contracts, Type of Deferred Compensation [Domain]",
        "terseLabel": "Other Postretirement Benefits, Individual Contracts, Type of Deferred Compensation [Domain]",
        "documentation": "Deferred compensation related to other postretirement benefit arrangements that are not equivalent to a defined benefit other postretirement benefit plan. Includes, but is not limited to, employment contracts with one or more selected officers or key employees. Excludes equity-based compensation plans, defined benefit pension plans and defined benefit other postretirement benefit plans."
       }
      }
     },
     "auth_ref": [
      "r173",
      "r174"
     ]
    },
    "rgen_OtherProductsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "OtherProductsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other products [Member]",
        "label": "Other products [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_OutstandingAggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingAggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Aggregate Erroneous Compensation Amount",
        "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r1163",
      "r1174",
      "r1184",
      "r1217"
     ]
    },
    "ecd_OutstandingRecoveryCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingRecoveryCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery Compensation Amount",
        "terseLabel": "Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r1166",
      "r1177",
      "r1187",
      "r1220"
     ]
    },
    "ecd_OutstandingRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r1166",
      "r1177",
      "r1187",
      "r1220"
     ]
    },
    "rgen_OutstandingTwoZeroTwoThreeNotesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "OutstandingTwoZeroTwoThreeNotesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Outstanding 2023 Notes",
        "label": "Outstanding Two Zero Two Three Notes [Member]",
        "documentation": "Outstanding two zero two three notes."
       }
      }
     },
     "auth_ref": []
    },
    "srt_OwnershipAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "OwnershipAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership [Axis]",
        "documentation": "Information by name of entity in which ownership interest is disclosed. Excludes equity method investee and named security investment."
       }
      }
     },
     "auth_ref": []
    },
    "srt_OwnershipDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "OwnershipDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership [Domain]",
        "documentation": "Name of entity in which ownership interest is disclosed. Excludes equity method investee and named security investment."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PatentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PatentsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Patents [Member]",
        "terseLabel": "Patents",
        "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": [
      "r182",
      "r1323",
      "r1325",
      "r1326",
      "r1327",
      "r1329",
      "r1330",
      "r1333",
      "r1334"
     ]
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Line Items]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r1191"
     ]
    },
    "us-gaap_PayablesAndAccrualsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PayablesAndAccrualsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Payables and Accruals [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentForContingentConsiderationLiabilityFinancingActivities",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Payment of earnout consideration",
        "terseLabel": "Payment of earnout consideration",
        "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": [
      "r9"
     ]
    },
    "rgen_PaymentToPurchaseComponentOfProductRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "PaymentToPurchaseComponentOfProductRevenue",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsDescriptionOfRestatementAdjustmentsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payment To Purchase Component Of Product Revenue",
        "label": "Payment To Purchase Component Of Product Revenue",
        "terseLabel": "Payment to purchase component of product revenue"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsForProceedsFromOtherInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsForProceedsFromOtherInvestingActivities",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments for (Proceeds from) Other Investing Activities",
        "terseLabel": "Other investing activities",
        "negatedLabel": "Other investing activities",
        "documentation": "Amount of cash (inflow) outflow from investing activities classified as other."
       }
      }
     },
     "auth_ref": [
      "r1244",
      "r1276"
     ]
    },
    "us-gaap_PaymentsForRent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsForRent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments for Rent",
        "terseLabel": "Rental expense",
        "documentation": "Cash payments to lessor's for use of assets under operating leases."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "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": [
      "r149"
     ]
    },
    "us-gaap_PaymentsForRestructuring": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsForRestructuring",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments for Restructuring",
        "negatedLabel": "Amounts Paid",
        "documentation": "Amount of cash payments made as the result of exit or disposal activities. Excludes payments associated with a discontinued operation or an asset retirement obligation."
       }
      }
     },
     "auth_ref": [
      "r465",
      "r1278"
     ]
    },
    "us-gaap_PaymentsOfDebtIssuanceCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsOfDebtIssuanceCosts",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Payment of debt issuance costs",
        "terseLabel": "Payment of debt issuance costs",
        "label": "Payments of Debt Issuance Costs",
        "documentation": "The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt."
       }
      }
     },
     "auth_ref": [
      "r34"
     ]
    },
    "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payment, Tax Withholding, Share-Based Payment Arrangement",
        "negatedLabel": "Payment of tax withholding obligation on vesting of restricted stock",
        "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r304"
     ]
    },
    "us-gaap_PaymentsToAcquireBusinessesGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquireBusinessesGross",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Cash consideration",
        "terseLabel": "Upfront payment",
        "label": "Payments to Acquire Businesses, Gross",
        "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r718"
     ]
    },
    "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Payments to Acquire Businesses, Net of Cash Acquired, Total",
        "label": "Payments to Acquire Businesses, Net of Cash Acquired",
        "terseLabel": "Acquisitions, net of cash acquired",
        "negatedLabel": "Acquisitions, net of cash acquired",
        "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase."
       }
      }
     },
     "auth_ref": [
      "r32"
     ]
    },
    "us-gaap_PaymentsToAcquireHeldToMaturitySecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquireHeldToMaturitySecurities",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire Held-to-Maturity Securities",
        "negatedLabel": "Purchase of marketable securities held to maturity",
        "documentation": "Amount of cash outflow through purchase of long-term held-to-maturity securities."
       }
      }
     },
     "auth_ref": [
      "r31",
      "r383"
     ]
    },
    "us-gaap_PaymentsToAcquireIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquireIntangibleAssets",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire Intangible Assets",
        "negatedLabel": "Purchase of intellectual property",
        "documentation": "The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill."
       }
      }
     },
     "auth_ref": [
      "r148"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Payments to Acquire Property, Plant, and Equipment, Total",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Purchases of 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": [
      "r148"
     ]
    },
    "us-gaap_PaymentsToAcquireSoftware": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquireSoftware",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire Software",
        "negatedLabel": "Additions to capitalized software costs",
        "documentation": "The cash outflow associated with the acquisition from vendors of software programs or applications for internal use (that is, not to be sold, leased or otherwise marketed to others) that qualify for capitalization."
       }
      }
     },
     "auth_ref": [
      "r148"
     ]
    },
    "ecd_PeerGroupIssuersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeerGroupIssuersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Issuers, Footnote [Text Block]",
        "terseLabel": "Peer Group Issuers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1201"
     ]
    },
    "ecd_PeerGroupTotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeerGroupTotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Total Shareholder Return Amount",
        "terseLabel": "Peer Group Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r1201"
     ]
    },
    "us-gaap_PensionPlansDefinedBenefitMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PensionPlansDefinedBenefitMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Plan [Member]",
        "terseLabel": "Pension Plans, Defined Benefit",
        "documentation": "Plan designed to provide participant with pension benefits. Includes, but is not limited to, defined benefit and defined contribution plans. Excludes other postretirement benefits."
       }
      }
     },
     "auth_ref": [
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r607",
      "r1100",
      "r1101",
      "r1105",
      "r1106",
      "r1107"
     ]
    },
    "ecd_PeoActuallyPaidCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoActuallyPaidCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Actually Paid Compensation Amount",
        "terseLabel": "PEO Actually Paid Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r1193"
     ]
    },
    "ecd_PeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO [Member]",
        "terseLabel": "PEO"
       }
      }
     },
     "auth_ref": [
      "r1210"
     ]
    },
    "ecd_PeoName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Name",
        "terseLabel": "PEO Name"
       }
      }
     },
     "auth_ref": [
      "r1203"
     ]
    },
    "ecd_PeoTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Total Compensation Amount",
        "terseLabel": "PEO Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r1192"
     ]
    },
    "rgen_PercentOfExciseTaxOnNetStockRepurchases": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "PercentOfExciseTaxOnNetStockRepurchases",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percent of excise tax on net stock repurchases.",
        "label": "Percent Of Excise Tax On Net Stock Repurchases",
        "terseLabel": "Percent of excise tax on net stock repurchases"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_PercentageOfCurrentFederalTaxExpenseBenefit": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "PercentageOfCurrentFederalTaxExpenseBenefit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage Of Current Federal Tax Expense Benefit",
        "label": "Percentage Of Current Federal Tax Expense Benefit",
        "terseLabel": "Percentage of alternative minimum tax"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_PercentageOfSharesSubjectToForfeiture": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "PercentageOfSharesSubjectToForfeiture",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of shares subject to forfeiture.",
        "label": "Percentage of Shares Subject to Forfeiture",
        "terseLabel": "Estimated forfeiture rates"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_PfizerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "PfizerMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Pfizer Inc.",
        "terseLabel": "Pfizer",
        "documentation": "Pfizer member.",
        "label": "Pfizer [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1358",
      "r1359",
      "r1360",
      "r1361",
      "r1362",
      "r1363",
      "r1364",
      "r1365",
      "r1366",
      "r1367",
      "r1368",
      "r1369",
      "r1370",
      "r1371",
      "r1372",
      "r1373",
      "r1374",
      "r1375",
      "r1376",
      "r1377",
      "r1378",
      "r1379",
      "r1380",
      "r1381",
      "r1382",
      "r1383"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Domain]",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1358",
      "r1359",
      "r1360",
      "r1361",
      "r1362",
      "r1363",
      "r1364",
      "r1365",
      "r1366",
      "r1367",
      "r1368",
      "r1369",
      "r1370",
      "r1371",
      "r1372",
      "r1373",
      "r1374",
      "r1375",
      "r1376",
      "r1377",
      "r1378",
      "r1379",
      "r1380",
      "r1381",
      "r1382",
      "r1383"
     ]
    },
    "ecd_PnsnAdjsPrrSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnAdjsPrrSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Adjustments Prior Service Cost [Member]",
        "terseLabel": "Pension Adjustments Prior Service Cost"
       }
      }
     },
     "auth_ref": [
      "r1194"
     ]
    },
    "ecd_PnsnAdjsSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnAdjsSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Adjustments Service Cost [Member]",
        "terseLabel": "Pension Adjustments Service Cost"
       }
      }
     },
     "auth_ref": [
      "r1239"
     ]
    },
    "ecd_PnsnBnftsAdjFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnBnftsAdjFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Benefits Adjustments, Footnote [Text Block]",
        "terseLabel": "Pension Benefits Adjustments, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1193"
     ]
    },
    "rgen_PolymemSAMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "PolymemSAMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Polymem S.A.",
        "documentation": "Polymem S.A. [Member]",
        "label": "Polymem S.A. [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PostemploymentBenefitsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PostemploymentBenefitsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Postemployment Benefits [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Par or Stated Value Per Share",
        "terseLabel": "Preferred stock, par value",
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer."
       }
      }
     },
     "auth_ref": [
      "r122",
      "r510"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockSharesAuthorized",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Shares Authorized",
        "terseLabel": "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": [
      "r122",
      "r963"
     ]
    },
    "us-gaap_PreferredStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockSharesIssued",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Preferred Stock, Shares Issued, Total",
        "label": "Preferred Stock, Shares Issued",
        "terseLabel": "Preferred stock, shares issued",
        "documentation": "Number of shares issued for nonredeemable preferred shares and preferred shares redeemable solely at option of issuer. Includes, but is not limited to, preferred shares issued, repurchased, and held as treasury shares. Excludes preferred shares classified as debt."
       }
      }
     },
     "auth_ref": [
      "r122",
      "r510"
     ]
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockSharesOutstanding",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Preferred Stock, Shares Outstanding, Ending Balance",
        "periodStartLabel": "Preferred Stock, Shares Outstanding, Beginning Balance",
        "label": "Preferred Stock, Shares Outstanding",
        "terseLabel": "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": [
      "r122",
      "r963",
      "r982",
      "r1473",
      "r1474"
     ]
    },
    "us-gaap_PreferredStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockValue",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Preferred stock, $0.01 par value, 5,000,000 shares authorized, no shares issued or outstanding",
        "periodEndLabel": "Preferred Stock, Value, Issued, Ending Balance",
        "periodStartLabel": "Preferred Stock, Value, Issued, Beginning Balance",
        "totalLabel": "Preferred Stock, Value, Issued, Total",
        "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": [
      "r122",
      "r878",
      "r1123"
     ]
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Expense and Other Assets, Current",
        "terseLabel": "Prepaid expenses and other current assets",
        "totalLabel": "Total prepaid expenses and other current assets",
        "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": [
      "r1270"
     ]
    },
    "rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "PrepaidExpensesAndOtherCurrentAssetsLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Prepaid Expenses And Other Current Assets [Line Items]",
        "label": "Prepaid Expenses And Other Current Assets [Line Items]",
        "terseLabel": "Prepaid Expenses And Other Current Assets [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_PrepaidExpensesAndOtherCurrentAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "PrepaidExpensesAndOtherCurrentAssetsTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Prepaid Expenses And Other Current Assets [Table]",
        "label": "Prepaid Expenses And Other Current Assets [Table]",
        "terseLabel": "Prepaid Expenses And Other Current Assets [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PrepaidInsurance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrepaidInsurance",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Insurance",
        "terseLabel": "Prepaid insurance",
        "documentation": "Amount of asset related to consideration paid in advance for insurance that provides economic benefits within a future period of one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r1062",
      "r1081",
      "r1309"
     ]
    },
    "rgen_PrepaidServicesAndProfessionalFees": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "PrepaidServicesAndProfessionalFees",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Prepaid Services and Professional Fees",
        "label": "Prepaid Services and Professional Fees",
        "terseLabel": "Equipment maintenance and services"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PrepaidTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrepaidTaxes",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Prepaid income taxes",
        "label": "Prepaid Taxes",
        "documentation": "Amount of asset related to consideration paid in advance for income and other taxes that provide economic benefits within a future period of one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r1063",
      "r1082",
      "r1309"
     ]
    },
    "us-gaap_PrincipalOwnerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrincipalOwnerMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Principal Owner [Member]",
        "terseLabel": "Principal Owner",
        "documentation": "Owner of record or known beneficial owner of more than 10 percent of the voting interests of the entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PrivatePlacementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrivatePlacementMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Private Placement",
        "label": "Private Placement [Member]",
        "documentation": "A private placement is a direct offering of securities to a limited number of sophisticated investors such as insurance companies, pension funds, mezzanine funds, stock funds and trusts."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ProbabilityOfSuccess": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ProbabilityOfSuccess",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Probability of Success",
        "documentation": "Probability of success.",
        "label": "Probability of Success"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ProbabilityWeightedPresentValueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ProbabilityWeightedPresentValueMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Probability Weighted Present Value",
        "label": "Probability-Weighted Present Value [Member]",
        "documentation": "Probability-weighted present value."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromConvertibleDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromConvertibleDebt",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from issuance of 2023 Convertible Senior Notes",
        "label": "Proceeds from Convertible Debt",
        "verboseLabel": "Proceeds from issuance of senior convertible notes, net of issuance costs",
        "documentation": "The cash inflow from the issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder."
       }
      }
     },
     "auth_ref": [
      "r33"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Issuance of Common Stock",
        "terseLabel": "Net proceeds from public offering",
        "verboseLabel": "Proceeds from issuance of common stock, net of issuance costs",
        "documentation": "The cash inflow from the additional capital contribution to the entity."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Redemption of marketable securities",
        "label": "Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-Sale",
        "documentation": "Amount of cash inflow from maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r302",
      "r303",
      "r1302"
     ]
    },
    "us-gaap_ProceedsFromPaymentsForOtherFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromPaymentsForOtherFinancingActivities",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other financing activities",
        "label": "Proceeds from (Payments for) Other Financing Activities",
        "documentation": "Amount of cash inflow (outflow) from financing activities classified as other."
       }
      }
     },
     "auth_ref": [
      "r1245",
      "r1277"
     ]
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromStockOptionsExercised",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Stock Options Exercised",
        "terseLabel": "Proceeds from exercise of stock options",
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r25"
     ]
    },
    "rgen_ProcessAnalyticsProductsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ProcessAnalyticsProductsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Process Analytics Products Member",
        "label": "Process Analytics Products [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProductMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsDescriptionOfRestatementAdjustmentsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Product Revenue",
        "label": "Product [Member]",
        "verboseLabel": "Products",
        "documentation": "Article or substance produced by nature, labor or machinery."
       }
      }
     },
     "auth_ref": [
      "r1091"
     ]
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsDescriptionOfRestatementAdjustmentsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]",
        "documentation": "Information by product and service, or group of similar products and similar services."
       }
      }
     },
     "auth_ref": [
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r253",
      "r373",
      "r829",
      "r894",
      "r895",
      "r896",
      "r897",
      "r898",
      "r899",
      "r900",
      "r1058",
      "r1091",
      "r1132",
      "r1134",
      "r1135",
      "r1138",
      "r1139",
      "r1264",
      "r1343",
      "r1344",
      "r1351",
      "r1440",
      "r1444",
      "r1445",
      "r1446",
      "r1447",
      "r1448",
      "r1449",
      "r1450",
      "r1451",
      "r1452",
      "r1453",
      "r1454",
      "r1455",
      "r1456",
      "r1457",
      "r1458",
      "r1459",
      "r1460",
      "r1461",
      "r1462",
      "r1463",
      "r1464",
      "r1465",
      "r1466",
      "r1467",
      "r1468",
      "r1469",
      "r1470",
      "r1471"
     ]
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsDescriptionOfRestatementAdjustmentsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Domain]",
        "documentation": "Product or service, or a group of similar products or similar services."
       }
      }
     },
     "auth_ref": [
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r253",
      "r373",
      "r829",
      "r894",
      "r895",
      "r896",
      "r897",
      "r898",
      "r899",
      "r900",
      "r1058",
      "r1091",
      "r1132",
      "r1134",
      "r1135",
      "r1138",
      "r1139",
      "r1264",
      "r1343",
      "r1344",
      "r1351",
      "r1440",
      "r1444",
      "r1445",
      "r1446",
      "r1447",
      "r1448",
      "r1449",
      "r1450",
      "r1451",
      "r1452",
      "r1453",
      "r1454",
      "r1455",
      "r1456",
      "r1457",
      "r1458",
      "r1459",
      "r1460",
      "r1461",
      "r1462",
      "r1463",
      "r1464",
      "r1465",
      "r1466",
      "r1467",
      "r1468",
      "r1469",
      "r1470",
      "r1471"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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": [
      "r14",
      "r805"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Property, Plant and Equipment, Gross, Ending Balance",
        "periodStartLabel": "Property, Plant and Equipment, Gross, Beginning Balance",
        "label": "Property, Plant and Equipment, Gross",
        "totalLabel": "Total property, plant and equipment",
        "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": [
      "r160",
      "r268",
      "r886"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Line Items]",
        "terseLabel": "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": [
      "r805"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Property, Plant and Equipment, Net, Ending Balance",
        "periodStartLabel": "Property, Plant and Equipment, Net, Beginning Balance",
        "label": "Property, Plant and Equipment, Net",
        "terseLabel": "Property, plant and equipment, net",
        "totalLabel": "Total 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": [
      "r14",
      "r805",
      "r872",
      "r886",
      "r1123"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentOther",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Other, Gross",
        "verboseLabel": "Other",
        "documentation": "Amount before accumulated depreciation, depletion and amortization of other physical assets used in the normal conduct of business to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "terseLabel": "Property, Plant &amp; Equipment",
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r217",
      "r220",
      "r884"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetailTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Table Text Block]",
        "verboseLabel": "Property, Plant and Equipment",
        "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": [
      "r14"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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": [
      "r160",
      "r805"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Useful Life",
        "terseLabel": "Estimated Useful Life",
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, Plant, and Equipment, Useful Life, Term, Description [Extensible Enumeration]",
        "label": "Property, Plant, and Equipment, Useful Life, Term, Description [Extensible Enumeration]",
        "documentation": "Indicates description of term of useful life for property, plant, and equipment when not stated as numeric value."
       }
      }
     },
     "auth_ref": [
      "r1335"
     ]
    },
    "rgen_ProteinsProductsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ProteinsProductsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Protein Products [Member]",
        "label": "Proteins Products [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ProvisionForDeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ProvisionForDeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Provision for Deferred Income Tax Expense (Benefit)",
        "label": "Provision for Deferred Income Tax Expense (Benefit)",
        "terseLabel": "Deferred"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProvisionForDoubtfulAccounts",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Credit Loss Expense (Reversal)",
        "terseLabel": "Current period change for expected credit losses",
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r301",
      "r404"
     ]
    },
    "rgen_PuroliteMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "PuroliteMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Purolite",
        "label": "Purolite [Member]",
        "documentation": "Purolite member."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PvpTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PvpTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Table]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r1191"
     ]
    },
    "ecd_PvpTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PvpTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance [Table Text Block]",
        "terseLabel": "Pay vs Performance Disclosure, Table"
       }
      }
     },
     "auth_ref": [
      "r1191"
     ]
    },
    "us-gaap_QuarterlyFinancialInformationDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "QuarterlyFinancialInformationDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Quarterly Financial Information Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_QuarterlyFinancialInformationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "QuarterlyFinancialInformationTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Quarterly Financial Information [Text Block]",
        "terseLabel": "Selected Quarterly Financial Data (Unaudited)",
        "documentation": "The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information."
       }
      }
     },
     "auth_ref": [
      "r155",
      "r353"
     ]
    },
    "rgen_RDAndCommercializationBasedPaymentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "RDAndCommercializationBasedPaymentsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "R D And Commercialization Based Payments",
        "documentation": "R&amp;D and Commercialization-based payments.",
        "label": "R&amp;D and Commercialization-based Payments [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]",
        "terseLabel": "Range [Axis]",
        "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median."
       }
      }
     },
     "auth_ref": [
      "r226",
      "r228",
      "r230",
      "r231",
      "r233",
      "r255",
      "r256",
      "r476",
      "r477",
      "r478",
      "r479",
      "r562",
      "r606",
      "r637",
      "r638",
      "r639",
      "r646",
      "r758",
      "r824",
      "r825",
      "r827",
      "r901",
      "r903",
      "r917",
      "r953",
      "r954",
      "r1016",
      "r1018",
      "r1020",
      "r1021",
      "r1029",
      "r1054",
      "r1055",
      "r1080",
      "r1090",
      "r1108",
      "r1117",
      "r1118",
      "r1119",
      "r1120",
      "r1134",
      "r1142",
      "r1340",
      "r1347",
      "r1400",
      "r1431",
      "r1432",
      "r1433",
      "r1434",
      "r1435"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]",
        "terseLabel": "Range [Domain]",
        "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median."
       }
      }
     },
     "auth_ref": [
      "r226",
      "r228",
      "r230",
      "r231",
      "r233",
      "r255",
      "r256",
      "r476",
      "r477",
      "r478",
      "r479",
      "r562",
      "r606",
      "r637",
      "r638",
      "r639",
      "r646",
      "r758",
      "r824",
      "r825",
      "r827",
      "r901",
      "r903",
      "r917",
      "r953",
      "r954",
      "r1016",
      "r1018",
      "r1020",
      "r1021",
      "r1029",
      "r1054",
      "r1055",
      "r1080",
      "r1090",
      "r1108",
      "r1117",
      "r1118",
      "r1119",
      "r1120",
      "r1134",
      "r1142",
      "r1340",
      "r1347",
      "r1400",
      "r1431",
      "r1432",
      "r1433",
      "r1434",
      "r1435"
     ]
    },
    "us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ReconciliationOfAssetsFromSegmentToConsolidatedTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reconciliation of Assets from Segment to Consolidated [Table]",
        "terseLabel": "Reconciliation of Assets from Segment to Consolidated [Table]",
        "documentation": "Disclosure of information about identification, description, and amounts of all significant reconciling items in the reconciliation of total assets from reportable segments to the entity's consolidated assets."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r56"
     ]
    },
    "us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reconciliation of Assets from Segment to Consolidated [Table Text Block]",
        "terseLabel": "Total Assets by Geographic Area",
        "documentation": "Tabular disclosure of all significant reconciling items in the reconciliation of total assets from reportable segments to the entity's consolidated assets."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r56"
     ]
    },
    "rgen_ReconciliationOfBasicAndDilutedAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ReconciliationOfBasicAndDilutedAbstract",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reconciliation of basic and diluted.",
        "label": "Reconciliation of Basic and Diluted [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]",
        "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure"
       }
      }
     },
     "auth_ref": [
      "r1158",
      "r1169",
      "r1179",
      "r1212"
     ]
    },
    "us-gaap_RelatedPartyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RelatedPartyDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related and Nonrelated Parties [Domain]",
        "terseLabel": "Related Party [Domain]",
        "documentation": "Related and nonrelated parties. Related party includes, but is not limited to, affiliate, other entity for which investment is accounted for under equity method, trust for benefit of employee, principal owner, management, and member of immediate family, and other party that may be prevented from pursuing separate interests because of control, significant influence, or ownership interest."
       }
      }
     },
     "auth_ref": [
      "r379",
      "r587",
      "r816",
      "r817",
      "r875",
      "r883",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960",
      "r981",
      "r983",
      "r1014"
     ]
    },
    "us-gaap_RelatedPartyTransactionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RelatedPartyTransactionLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transaction [Line Items]",
        "terseLabel": "Related Party Transaction [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": [
      "r379",
      "r988",
      "r989",
      "r992"
     ]
    },
    "us-gaap_RelatedPartyTransactionsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RelatedPartyTransactionsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transactions [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RelatedPartyTransactionsByRelatedPartyAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related and Nonrelated Parties [Axis]",
        "terseLabel": "Related Party [Axis]",
        "documentation": "Information by related and nonrelated parties. Related party includes, but is not limited to, affiliate, other entity for which investment is accounted for under equity method, trust for benefit of employee, principal owner, management, and member of immediate family, and other party that may be prevented from pursuing separate interests because of control, significant influence, or ownership interest."
       }
      }
     },
     "auth_ref": [
      "r379",
      "r587",
      "r816",
      "r817",
      "r875",
      "r883",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960",
      "r981",
      "r983",
      "r1014",
      "r1427"
     ]
    },
    "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RelatedPartyTransactionsDisclosureTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transactions Disclosure [Text Block]",
        "terseLabel": "Related Party Transactions",
        "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates."
       }
      }
     },
     "auth_ref": [
      "r813",
      "r814",
      "r815",
      "r817",
      "r819",
      "r928",
      "r929",
      "r930",
      "r990",
      "r991",
      "r992",
      "r1011",
      "r1013"
     ]
    },
    "srt_RepurchaseAgreementCounterpartyNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RepurchaseAgreementCounterpartyNameDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsDetailParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Counterparty Name [Domain]",
        "documentation": "Named other party that participates in a financial transaction. Examples include, but not limited to, the name of the financial institution."
       }
      }
     },
     "auth_ref": [
      "r251",
      "r252",
      "r317",
      "r318",
      "r492",
      "r512",
      "r818",
      "r826",
      "r873",
      "r1068",
      "r1069"
     ]
    },
    "us-gaap_ResearchAndDevelopmentArrangementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ResearchAndDevelopmentArrangementMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and Development Arrangement [Member]",
        "documentation": "Contractual obligation to provide funding of research and development costs over periods that initially exceed one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ResearchAndDevelopmentExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Research and Development Expense, Total",
        "label": "Research and Development Expense",
        "terseLabel": "Research and development",
        "documentation": "Amount of expense for research and development. Includes, but is not limited to, cost for computer software product to be sold, leased, or otherwise marketed and writeoff of research and development assets acquired in transaction other than business combination or joint venture formation or both. Excludes write-down of intangible asset acquired in business combination or from joint venture formation or both, used in research and development activity."
       }
      }
     },
     "auth_ref": [
      "r648",
      "r1056",
      "r1077",
      "r1436"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ResearchAndDevelopmentExpenseMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and Development Expense [Member]",
        "terseLabel": "Research and development",
        "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included."
       }
      }
     },
     "auth_ref": []
    },
    "srt_RestatementAdjustmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RestatementAdjustmentMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revision of Prior Period, Adjustment [Member]",
        "terseLabel": "Revenue Adjustments",
        "documentation": "Cumulative increase (decrease) for adjustment to previously issued financial statements. Includes, but is not limited to, adjustment for retrospective application of amendment to accounting standards, other change in accounting principle, correction of error, and other revision."
       }
      }
     },
     "auth_ref": [
      "r321",
      "r322",
      "r323",
      "r335",
      "r336",
      "r351",
      "r750",
      "r751",
      "r791",
      "r1246",
      "r1247",
      "r1248",
      "r1249",
      "r1254",
      "r1258",
      "r1259",
      "r1299"
     ]
    },
    "srt_RestatementAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RestatementAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revision of Prior Period [Axis]",
        "documentation": "Information by adjustment to previously issued financial statements. Includes, but is not limited to, adjustment for retrospective application of amendment to accounting standards, other change in accounting principle, correction of error, and other revision."
       }
      }
     },
     "auth_ref": [
      "r254",
      "r260",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r328",
      "r329",
      "r330",
      "r331",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r351",
      "r391",
      "r392",
      "r706",
      "r707",
      "r709",
      "r710",
      "r724",
      "r725",
      "r746",
      "r750",
      "r751",
      "r752",
      "r789",
      "r791",
      "r811",
      "r812",
      "r907",
      "r908",
      "r909",
      "r910",
      "r911",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916",
      "r919",
      "r1299"
     ]
    },
    "ecd_RestatementDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDateAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date [Axis]",
        "terseLabel": "Restatement Determination Date:"
       }
      }
     },
     "auth_ref": [
      "r1159",
      "r1170",
      "r1180",
      "r1213"
     ]
    },
    "ecd_RestatementDeterminationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDeterminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date",
        "terseLabel": "Restatement Determination Date"
       }
      }
     },
     "auth_ref": [
      "r1160",
      "r1171",
      "r1181",
      "r1214"
     ]
    },
    "ecd_RestatementDoesNotRequireRecoveryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDoesNotRequireRecoveryTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Does Not Require Recovery [Text Block]",
        "terseLabel": "Restatement does not require Recovery"
       }
      }
     },
     "auth_ref": [
      "r1167",
      "r1178",
      "r1188",
      "r1221"
     ]
    },
    "srt_RestatementDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RestatementDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revision of Prior Period [Domain]",
        "documentation": "Adjustment to previously issued financial statements. Includes, but is not limited to, adjustment for retrospective application of amendment to accounting standards, other change in accounting principle, correction of error, and other revision."
       }
      }
     },
     "auth_ref": [
      "r254",
      "r260",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r328",
      "r329",
      "r330",
      "r331",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r351",
      "r391",
      "r392",
      "r706",
      "r707",
      "r709",
      "r710",
      "r724",
      "r725",
      "r746",
      "r750",
      "r751",
      "r752",
      "r789",
      "r791",
      "r811",
      "r812",
      "r907",
      "r908",
      "r909",
      "r910",
      "r911",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916",
      "r919",
      "r1299"
     ]
    },
    "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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": [
      "r267"
     ]
    },
    "rgen_RestrictedStockAndPerformanceStockUnitsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "RestrictedStockAndPerformanceStockUnitsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted Stock Units and Performance Stock Units",
        "label": "Restricted Stock And Performance Stock Units [Member]",
        "documentation": "Restricted stock units and performance stock units."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestrictedStockUnitsRSUMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Stock Units (RSUs) [Member]",
        "terseLabel": "Restricted Stock Units (RSUs)",
        "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_RestructuringAndRelatedActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestructuringAndRelatedActivitiesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Restructuring and Related Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestructuringAndRelatedActivitiesDisclosureTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlan"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restructuring Plan",
        "label": "Restructuring and Related Activities Disclosure [Text Block]",
        "documentation": "The entire disclosure for restructuring and related activities. Description of restructuring activities such as exit and disposal activities, include facts and circumstances leading to the plan, the expected plan completion date, the major types of costs associated with the plan activities, total expected costs, the accrual balance at the end of the period, and the periods over which the remaining accrual will be settled."
       }
      }
     },
     "auth_ref": [
      "r462",
      "r463",
      "r465",
      "r468",
      "r473"
     ]
    },
    "us-gaap_RestructuringCharges": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestructuringCharges",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restructuring charges",
        "label": "Restructuring Charges",
        "totalLabel": "Restructuring Charges, Total",
        "documentation": "Amount of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r469",
      "r470",
      "r1341"
     ]
    },
    "us-gaap_RestructuringCostAndReserveAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestructuringCostAndReserveAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restructuring Type [Axis]",
        "documentation": "Information by type of restructuring cost."
       }
      }
     },
     "auth_ref": [
      "r464",
      "r465",
      "r470",
      "r471"
     ]
    },
    "us-gaap_RestructuringCostAndReserveLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestructuringCostAndReserveLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restructuring Cost and Reserve [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r464",
      "r465",
      "r466",
      "r467",
      "r470",
      "r471",
      "r472"
     ]
    },
    "us-gaap_RestructuringCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestructuringCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restructuring Costs",
        "label": "Restructuring Costs",
        "totalLabel": "Restructuring Costs, Total",
        "documentation": "Amount, after cash payment, of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "us-gaap_RestructuringReserve": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestructuringReserve",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restructuring Liability",
        "label": "Restructuring Reserve",
        "periodEndLabel": "Restructuring Reserve, Ending Balance",
        "periodStartLabel": "Restructuring Reserve, Beginning Balance",
        "totalLabel": "Restructuring Reserve, Total",
        "documentation": "Carrying amount (including both current and noncurrent portions of the accrual) as of the balance sheet date pertaining to a specified type of cost associated with exit from or disposal of business activities or restructuring pursuant to a duly authorized plan."
       }
      }
     },
     "auth_ref": [
      "r465",
      "r471"
     ]
    },
    "us-gaap_RestructuringReserveSettledWithoutCash2": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestructuringReserveSettledWithoutCash2",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Non-Cash Restructuring Items",
        "label": "Restructuring Reserve, Settled without Cash",
        "documentation": "Amount of decrease in the reserve for full or partial settlement through consideration other than cash."
       }
      }
     },
     "auth_ref": [
      "r465",
      "r471"
     ]
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Retained Earnings (Accumulated Deficit), Ending Balance",
        "periodStartLabel": "Retained Earnings (Accumulated Deficit), Beginning Balance",
        "totalLabel": "Retained Earnings (Accumulated Deficit), Total",
        "label": "Retained Earnings (Accumulated Deficit)",
        "terseLabel": "Accumulated earnings",
        "verboseLabel": "Cumulative effect of accounting changes",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r125",
      "r171",
      "r881",
      "r911",
      "r916",
      "r926",
      "r964",
      "r1123"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings [Member]",
        "verboseLabel": "Accumulated Earnings",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r259",
      "r321",
      "r322",
      "r323",
      "r325",
      "r333",
      "r336",
      "r338",
      "r390",
      "r396",
      "r458",
      "r690",
      "r691",
      "r705",
      "r706",
      "r707",
      "r710",
      "r724",
      "r725",
      "r733",
      "r736",
      "r737",
      "r740",
      "r750",
      "r790",
      "r793",
      "r907",
      "r909",
      "r931",
      "r1473"
     ]
    },
    "us-gaap_RetirementPlanSponsorLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetirementPlanSponsorLocationAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement Plan Sponsor Location [Axis]",
        "documentation": "Information by location of employer sponsoring plan designed to provide retirement benefits. Includes, but is not limited to, defined benefit and defined contribution plans."
       }
      }
     },
     "auth_ref": [
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r1355",
      "r1356",
      "r1357"
     ]
    },
    "us-gaap_RetirementPlanSponsorLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetirementPlanSponsorLocationDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement Plan Sponsor Location [Domain]",
        "documentation": "Location of employer sponsoring plan designed to provide retirement benefits. Includes, but is not limited to, defined benefit and defined contribution plans."
       }
      }
     },
     "auth_ref": [
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r1355",
      "r1356",
      "r1357"
     ]
    },
    "us-gaap_RetirementPlanTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetirementPlanTypeAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement Plan Type [Axis]",
        "terseLabel": "Retirement Plan Type [Axis]",
        "documentation": "Information by type of retirement benefit plan. Includes, but is not limited to, retirement benefit arrangement for defined benefit pension and other postretirement plans, retirement benefit arrangement for defined contribution pension and other postretirement plans, and special and contractual termination benefits payable upon retirement."
       }
      }
     },
     "auth_ref": [
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r607",
      "r1100",
      "r1101",
      "r1102",
      "r1103",
      "r1104",
      "r1105",
      "r1106",
      "r1107"
     ]
    },
    "us-gaap_RetirementPlanTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetirementPlanTypeDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement Plan Type [Domain]",
        "terseLabel": "Retirement Plan Type [Domain]",
        "documentation": "Type of plan designed to provide participants with retirement benefits. Includes, but is not limited to, retirement benefit arrangement for defined benefit pension and other postretirement plans, retirement benefit arrangement for defined contribution pension and other postretirement plans, and special and contractual termination benefits payable upon retirement."
       }
      }
     },
     "auth_ref": [
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r607",
      "r1100",
      "r1101",
      "r1102",
      "r1103",
      "r1104",
      "r1105",
      "r1106",
      "r1107"
     ]
    },
    "rgen_RevenueAndVolumeBasedPaymentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "RevenueAndVolumeBasedPaymentsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue and Volume Based Payments",
        "documentation": "Revenue and volume based payments.",
        "label": "Revenue and Volume Based Payments [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_RevenueAndVolumeDiscountRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "RevenueAndVolumeDiscountRate",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue and volume discount rate",
        "documentation": "Revenue and volume discount rate.",
        "label": "Revenue and Volume Discount Rate"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerIncludingAssessedTax",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer, Including Assessed Tax",
        "terseLabel": "Revenue",
        "verboseLabel": "Total revenue",
        "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise."
       }
      }
     },
     "auth_ref": [
      "r202",
      "r203",
      "r352",
      "r358",
      "r359",
      "r369",
      "r371",
      "r373",
      "r374",
      "r376",
      "r536",
      "r537",
      "r829"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognition"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer [Text Block]",
        "verboseLabel": "Revenue Recognition",
        "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": [
      "r224",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r539"
     ]
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueRecognitionPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue [Policy Text Block]",
        "terseLabel": "Revenue Recognition",
        "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources."
       }
      }
     },
     "auth_ref": [
      "r986",
      "r1057",
      "r1071"
     ]
    },
    "us-gaap_Revenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Revenues",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsDescriptionOfRestatementAdjustmentsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Revenues, Total",
        "label": "Revenues",
        "terseLabel": "Revenue",
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss)."
       }
      }
     },
     "auth_ref": [
      "r202",
      "r203",
      "r297",
      "r313",
      "r352",
      "r358",
      "r359",
      "r369",
      "r371",
      "r373",
      "r374",
      "r376",
      "r386",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r778",
      "r870",
      "r1077",
      "r1345"
     ]
    },
    "us-gaap_RevenuesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenuesAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues [Abstract]",
        "terseLabel": "Revenue:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Assets acquired under operating leases",
        "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": [
      "r801",
      "r1122"
     ]
    },
    "us-gaap_RisksAndUncertaintiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RisksAndUncertaintiesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Risks and Uncertainties [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Risks and Uncertainties in Entities Business [Policy Text Block]",
        "label": "Risks and Uncertainties in Entities Business [Policy Text Block]",
        "terseLabel": "Risks and Uncertainties"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RoyaltyExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RoyaltyExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Royalty Expense",
        "terseLabel": "Royalty payments",
        "documentation": "Amount of expense related to royalty payments under a contractual arrangement such as payment for mineral and drilling rights and use of technology or intellectual property."
       }
      }
     },
     "auth_ref": [
      "r140"
     ]
    },
    "us-gaap_RoyaltyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RoyaltyMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Royalty and Other Income",
        "verboseLabel": "Royalty and Other Revenue",
        "label": "Royalty and other revenue",
        "documentation": "Money for usage-based right to asset."
       }
      }
     },
     "auth_ref": [
      "r1352"
     ]
    },
    "rgen_Rule10B51ArrModifiedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "Rule10B51ArrModifiedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rule 10b5 1 Arr modified flag.",
        "label": "Rule 10b5 1 Arr Modified Flag",
        "terseLabel": "Rule 10b5-1 Arrangement Modified"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r1230"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r1230"
     ]
    },
    "country_SE": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "SE",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SWEDEN",
        "terseLabel": "Sweden"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SaleOfStockNameOfTransactionDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SaleOfStockNameOfTransactionDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale of Stock [Domain]",
        "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SalesRevenueNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SalesRevenueNetMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Benchmark [Member]",
        "terseLabel": "Sales Revenue",
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation."
       }
      }
     },
     "auth_ref": [
      "r376",
      "r1250"
     ]
    },
    "rgen_SalesRevenuesGoodsNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "SalesRevenuesGoodsNetMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sales Revenues Goods Net.",
        "label": "Sales Revenues Goods Net [Member]",
        "terseLabel": "Total Revenue"
       }
      }
     },
     "auth_ref": []
    },
    "srt_ScenarioPreviouslyReportedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ScenarioPreviouslyReportedMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Previously Reported [Member]",
        "terseLabel": "As Previously Reported",
        "documentation": "Represents amount as previously reported before adjustment for retrospective application of amendment to accounting standards, other change in accounting principle, correction of error, and other revision."
       }
      }
     },
     "auth_ref": [
      "r260",
      "r321",
      "r323",
      "r324",
      "r325",
      "r328",
      "r329",
      "r338",
      "r351",
      "r706",
      "r709",
      "r710",
      "r724",
      "r725",
      "r746",
      "r750",
      "r751",
      "r789",
      "r791",
      "r907",
      "r908",
      "r909",
      "r910",
      "r911",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916",
      "r919",
      "r1254",
      "r1256",
      "r1257",
      "r1258",
      "r1289",
      "r1299",
      "r1305",
      "r1306",
      "r1396",
      "r1422",
      "r1423"
     ]
    },
    "rgen_ScheduleOfAccruedLiabilitiesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfAccruedLiabilitiesLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of Accrued Liabilities [Line Items]",
        "label": "Schedule of Accrued Liabilities [Line Items]",
        "terseLabel": "Schedule of Accrued Liabilities [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ScheduleOfAccruedLiabilitiesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfAccruedLiabilitiesTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of Accrued Liabilities [Table]",
        "label": "Schedule of Accrued Liabilities [Table]",
        "terseLabel": "Schedule of Accrued Liabilities [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetailTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Accrued Liabilities [Table Text Block]",
        "verboseLabel": "Accrued Liabilities",
        "documentation": "Tabular disclosure of the components of accrued liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLossTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]",
        "terseLabel": "Summary of Changes in Accumulated Other Comprehensive Income (Loss)",
        "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r29",
      "r1413",
      "r1414"
     ]
    },
    "us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]",
        "terseLabel": "Schedule of Identified Intangible Assets and Estimated Useful Lives",
        "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": [
      "r1324",
      "r1329"
     ]
    },
    "rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the fair value held to maturity securities by contractual maturity.",
        "label": "Schedule Of Amortized Cost and Fair Value Debt Securities Held to Maturity [Table Text Block]",
        "terseLabel": "Schedule of Amortized Cost and Fair Value Held to Maturity Securities by Contractual Maturity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Business Acquisitions, by Acquisition [Table]",
        "terseLabel": "Schedule of Business Acquisitions, by Acquisition [Table]",
        "documentation": "Disclosure of information about business combination. Includes, but is not limited to, recognized asset and liability."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r81",
      "r713"
     ]
    },
    "rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of business combination consideration transferred.",
        "label": "Schedule of Business Combination Consideration Transferred [Table Text Block]",
        "terseLabel": "Schedule of Business Combination Consideration Transferred"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of cash and cash equivalents and restricted cash.",
        "label": "Schedule Of Cash And Cash Equivalents And Restricted Cash [Table Text Block]",
        "verboseLabel": "Schedule of Cash, Cash Equivalents and Restricted Cash"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]",
        "terseLabel": "Income Tax Provision (Benefit)",
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years."
       }
      }
     },
     "auth_ref": [
      "r1392"
     ]
    },
    "us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Compensation Arrangement with Individual, Postretirement Benefit [Table]",
        "terseLabel": "Schedule of Deferred Compensation Arrangement with Individual, Postretirement Benefits [Table]",
        "documentation": "Disclosure of information about pension and other postretirement benefit arrangement between employer and individual employee with promise by employer to pay certain amount at future date. Includes, but is not limited to, amount of compensation expense recognized and amount of liability."
       }
      }
     },
     "auth_ref": [
      "r173",
      "r174"
     ]
    },
    "rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of Deferred Tax Assets and Liabilities [Line Items]",
        "label": "Schedule of Deferred Tax Assets and Liabilities [Line Items]",
        "terseLabel": "Schedule of Deferred Tax Assets and Liabilities [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of Deferred Tax Assets and Liabilities [Table]",
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table]",
        "terseLabel": "Schedule of Deferred Tax Assets and Liabilities [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]",
        "terseLabel": "Consolidated Deferred Tax Assets (Liabilities)",
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r1389"
     ]
    },
    "rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of discount rate and remaining lease term of operating and financial leases.",
        "label": "Schedule Of Discount Rate And Lease Term Used In Calculating Lease Liabilities And Assets [Table Text Block]",
        "terseLabel": "Schedule of Weighted Average Discount Rate and Lease Term Used in Calculating Lease Liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule Of Earnings Per Share Basic And Diluted [Line Items]",
        "label": "Schedule Of Earnings Per Share Basic And Diluted [Line Items]",
        "terseLabel": "Schedule Of Earnings Per Share Basic And Diluted [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule Of Earnings Per Share Basic And Diluted [Table]",
        "documentation": "Schedule Of Earnings Per Share Basic And Diluted [Table]",
        "label": "Schedule Of Earnings Per Share Basic And Diluted [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "terseLabel": "Reconciliation of Basic and Diluted Shares Amounts",
        "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": [
      "r1292"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "terseLabel": "Reconciliation of Federal Statutory Rate to Effective Income Tax Rate",
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r661",
      "r1112",
      "r1385"
     ]
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]",
        "terseLabel": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]",
        "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements."
       }
      }
     },
     "auth_ref": [
      "r73"
     ]
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]",
        "terseLabel": "Stock-Based Compensation Expense",
        "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": [
      "r73"
     ]
    },
    "us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Disclosure on Geographic Areas, Long-Lived Assets in Individual Foreign Countries by Country [Table Text Block]",
        "terseLabel": "Long Lived Assets by Geographic Area",
        "documentation": "Tabular disclosure of the names of foreign countries in which material long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets are located, and amount of such long-lived assets located in that country or foreign geographic area."
       }
      }
     },
     "auth_ref": [
      "r157"
     ]
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting, Revenue from External Customer, Product and Service [Table]",
        "documentation": "Disclosure of information about revenue from external customer by product and service when not provided as part of reportable operating segment information."
       }
      }
     },
     "auth_ref": [
      "r57"
     ]
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from External Customers by Products and Services [Table Text Block]",
        "terseLabel": "Summary of Product Revenues by Product Line",
        "documentation": "Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information."
       }
      }
     },
     "auth_ref": [
      "r57"
     ]
    },
    "us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Error Correction [Table]",
        "documentation": "Disclosure of information about prior period adjustment to correct error in previously issued financial statement. Includes, but is not limited to, effect of correction on financial statement line item, affected per-share amount, cumulative effect of change on retained earnings and other appropriate component of equity or net assets in statement of financial position, and effect of prior period adjustment on net income of each prior period presented."
       }
      }
     },
     "auth_ref": [
      "r328",
      "r329",
      "r330",
      "r335",
      "r336",
      "r337",
      "r338",
      "r351"
     ]
    },
    "us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Error Corrections and Prior Period Adjustments [Table Text Block]",
        "terseLabel": "Schedule of restatement on each financial statement",
        "documentation": "Tabular disclosure of prior period adjustments to previously issued financial statements including (1) the effect of the correction on each financial statement line item and any per-share amounts affected for each prior period presented (2) the cumulative effect of the change on retained earnings or other appropriate components of equity or net assets in the statement of financial position, as of the beginning of the earliest period presented, and (3) the effect of the prior period adjustments (both gross and net of applicable income tax) on the net income of each prior period presented in the entity's annual report for the year in which the adjustments are made."
       }
      }
     },
     "auth_ref": [
      "r41",
      "r42",
      "r43"
     ]
    },
    "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis",
        "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]",
        "documentation": "Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)."
       }
      }
     },
     "auth_ref": [
      "r1397",
      "r1398"
     ]
    },
    "rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Schedule of Intangible Assets",
        "documentation": "Schedule Of Finite Lived And Indefinite Lived Intangible Assets [Table Text Block]",
        "label": "Schedule Of Finite Lived And Indefinite Lived Intangible Assets [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Identified Intangible Assets and Estimated Useful Lives",
        "label": "Schedule of Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table Text Block]",
        "documentation": "Tabular disclosure of finite-lived intangible assets acquired as part of a business combination or through an asset purchase, by major class and in total, including the value of the asset acquired, any significant residual value (the expected value of the asset at the end of its useful life) and the weighted-average amortization period."
       }
      }
     },
     "auth_ref": [
      "r58"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible Asset, Finite-Lived [Table]",
        "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]",
        "documentation": "Disclosure of information about finite-lived intangible asset. Excludes indefinite-lived intangible asset."
       }
      }
     },
     "auth_ref": [
      "r442",
      "r449",
      "r453",
      "r454",
      "r456",
      "r830",
      "r1056",
      "r1084"
     ]
    },
    "us-gaap_ScheduleOfGoodwillTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfGoodwillTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill [Table]",
        "terseLabel": "Schedule of Goodwill [Table]",
        "documentation": "Disclosure of information about goodwill, including, but not limited to, change from acquisition, sale, impairment, and other reason."
       }
      }
     },
     "auth_ref": [
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r441",
      "r1083"
     ]
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfGoodwillTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Goodwill [Table Text Block]",
        "verboseLabel": "Changes in Carrying Value of Goodwill",
        "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule."
       }
      }
     },
     "auth_ref": [
      "r1083",
      "r1311",
      "r1312",
      "r1313",
      "r1314",
      "r1315",
      "r1316",
      "r1317",
      "r1318",
      "r1319",
      "r1320",
      "r1321"
     ]
    },
    "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]",
        "terseLabel": "Income Before Income Taxes",
        "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions."
       }
      }
     },
     "auth_ref": [
      "r1284"
     ]
    },
    "rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfIncomeBeforeIncomeTaxLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of Income Before Income Tax [Line Items]",
        "label": "Schedule of Income Before Income Tax [Line Items]",
        "terseLabel": "Schedule of Income Before Income Tax [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ScheduleOfIncomeBeforeIncomeTaxTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfIncomeBeforeIncomeTaxTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of Income Before Income Tax [Table]",
        "label": "Schedule of Income Before Income Tax [Table]",
        "terseLabel": "Schedule of Income Before Income Tax [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ScheduleOfIntangibleAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfIntangibleAssetsTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsDetailParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of Intangible Assets [Table]",
        "label": "Schedule of Intangible Assets [Table]",
        "terseLabel": "Schedule of Intangible Assets [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetailTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "verboseLabel": "Inventories",
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r27",
      "r129",
      "r130",
      "r131"
     ]
    },
    "rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule Of Property And Equipment Useful Lives Table [Text Block]",
        "label": "Schedule Of Property And Equipment Useful Lives [Table Text Block]",
        "terseLabel": "Property, Plant and Equipment"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Table]",
        "terseLabel": "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": [
      "r14",
      "r805"
     ]
    },
    "us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfQuarterlyFinancialInformationTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnauditedTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Quarterly Financial Information [Table Text Block]",
        "terseLabel": "Consolidated Statements of Operations Information for Each of Previous Eight Quarters",
        "documentation": "Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data."
       }
      }
     },
     "auth_ref": [
      "r211"
     ]
    },
    "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]",
        "terseLabel": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed",
        "documentation": "Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree."
       }
      }
     },
     "auth_ref": [
      "r181"
     ]
    },
    "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transaction [Table]",
        "terseLabel": "Schedule Of Related Party [Table]",
        "documentation": "Disclosure of information about related party transaction."
       }
      }
     },
     "auth_ref": [
      "r104",
      "r105",
      "r988",
      "r989",
      "r992"
     ]
    },
    "us-gaap_ScheduleOfRestructuringAndRelatedCostsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfRestructuringAndRelatedCostsTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restructuring Cost [Table]",
        "documentation": "Disclosure of information about restructuring cost. Includes, but is not limited to, expected cost, cost incurred, statement of income caption that includes restructuring cost recognized, and amount of restructuring reserve."
       }
      }
     },
     "auth_ref": [
      "r464",
      "r465",
      "r466",
      "r467",
      "r470",
      "r471",
      "r472"
     ]
    },
    "us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfRestructuringAndRelatedCostsTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Activity Related to Restructuring Plan",
        "label": "Restructuring and Related Costs [Table Text Block]",
        "documentation": "Tabular disclosure of costs incurred for restructuring including, but not limited to, exit and disposal activities, remediation, implementation, integration, asset impairment, and charges against earnings from the write-down of assets."
       }
      }
     },
     "auth_ref": [
      "r62",
      "r161",
      "r162"
     ]
    },
    "us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Restructuring Activities by Type of Cost",
        "label": "Schedule of Restructuring Reserve by Type of Cost [Table Text Block]",
        "documentation": "Tabular disclosure of an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost. This element may also include a description of any reversal and other adjustment made during the period to the amount of an accrued liability for restructuring activities. This element may be used to encapsulate the roll forward presentations of an entity's restructuring reserve by type of cost and in total, and explanation of changes that occurred in the period."
       }
      }
     },
     "auth_ref": [
      "r63",
      "r163"
     ]
    },
    "us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenue by Major Customers by Reporting Segments [Table Text Block]",
        "terseLabel": "Percentage of Revenue from Significant Customers",
        "documentation": "Tabular disclosure of the extent of the entity's reliance on its major customers, if revenues from transactions with a single external customer amount to 10 percent or more of entity revenues, including the disclosure of that fact, the total amount of revenues from each such customer, and the identity of the reportable segment or segments reporting the revenues. The entity need not disclose the identity of a major customer or the amount of revenues that each segment reports from that customer. For these purposes, a group of companies known to the entity to be under common control is considered a single customer, and the federal government, a state government, a local government such as a county or municipality, or a foreign government is each considered a single customer."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]",
        "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]",
        "documentation": "Disclosure of information about share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r609",
      "r611",
      "r612",
      "r613",
      "r614",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]",
        "terseLabel": "Summary of Restricted Stock Unit Activity",
        "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year."
       }
      }
     },
     "auth_ref": [
      "r178"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]",
        "terseLabel": "Summary of Option Activity",
        "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": [
      "r22",
      "r23",
      "r178"
     ]
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]",
        "terseLabel": "Estimated Weighted Average Assumptions",
        "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions."
       }
      }
     },
     "auth_ref": [
      "r179"
     ]
    },
    "rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of supplemental disclosure for the consolidated statements of cash flows related to operating leases",
        "label": "Schedule Of Supplemental Disclosure Of Cash Flows Related To Operating Leases [Table Text Block]",
        "verboseLabel": "Schedule of Supplemental Disclosure of Cash Flows Related to Operating Leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]",
        "terseLabel": "Reconciliation of Unrecognized Tax Benefits",
        "documentation": "Tabular disclosure of the change in unrecognized tax benefits."
       }
      }
     },
     "auth_ref": [
      "r673",
      "r1111"
     ]
    },
    "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]",
        "terseLabel": "Percentage by Geographic Area or Significant Customers",
        "documentation": "Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r48",
      "r50",
      "r51",
      "r102",
      "r187"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r1151"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r1154"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]",
        "terseLabel": "Geographical [Domain]",
        "documentation": "Geographical area."
       }
      }
     },
     "auth_ref": [
      "r227",
      "r229",
      "r232",
      "r234",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r374",
      "r375",
      "r835",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r843",
      "r844",
      "r845",
      "r846",
      "r847",
      "r848",
      "r849",
      "r850",
      "r851",
      "r852",
      "r853",
      "r854",
      "r855",
      "r856",
      "r857",
      "r858",
      "r859",
      "r860",
      "r861",
      "r862",
      "r863",
      "r864",
      "r945",
      "r948",
      "r950",
      "r1017",
      "r1019",
      "r1023",
      "r1030",
      "r1041",
      "r1045",
      "r1046",
      "r1047",
      "r1048",
      "r1049",
      "r1050",
      "r1051",
      "r1052",
      "r1053",
      "r1059",
      "r1092",
      "r1124",
      "r1125",
      "r1126",
      "r1127",
      "r1128",
      "r1129",
      "r1130",
      "r1131",
      "r1136",
      "r1142",
      "r1351",
      "r1440",
      "r1444",
      "r1445",
      "r1447",
      "r1448",
      "r1449",
      "r1450",
      "r1451",
      "r1452",
      "r1453",
      "r1454",
      "r1455",
      "r1456",
      "r1457",
      "r1458",
      "r1459",
      "r1460",
      "r1461",
      "r1462",
      "r1463",
      "r1464",
      "r1465",
      "r1466",
      "r1467",
      "r1468",
      "r1469",
      "r1470",
      "r1471"
     ]
    },
    "us-gaap_SegmentReportingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingAssetReconcilingItemLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingAssetReconcilingItemLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting, Asset Reconciling Item [Line Items]",
        "terseLabel": "Segment Reporting, Asset Reconciling Item [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_SegmentReportingPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingPolicyPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting, Policy [Policy Text Block]",
        "terseLabel": "Segment Reporting",
        "documentation": "Disclosure of accounting policy for segment reporting."
       }
      }
     },
     "auth_ref": [
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r372",
      "r374",
      "r1075",
      "r1076",
      "r1079"
     ]
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SellingGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Selling, General and Administrative Expense, Total",
        "label": "Selling, General and Administrative Expense",
        "terseLabel": "Selling, general and administrative",
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc."
       }
      }
     },
     "auth_ref": [
      "r141"
     ]
    },
    "us-gaap_SellingGeneralAndAdministrativeExpensesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SellingGeneralAndAdministrativeExpensesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling, General and Administrative Expenses [Member]",
        "terseLabel": "Selling, general and administrative",
        "documentation": "Primary financial statement caption encompassing selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation",
        "totalLabel": "Share-based Payment Arrangement, Noncash Expense, Total",
        "label": "Share-Based Payment Arrangement, Noncash Expense",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Incentive options, vesting period",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period",
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition."
       }
      }
     },
     "auth_ref": [
      "r1109"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Additional Disclosures [Abstract]",
        "terseLabel": "Weighted-Average Remaining Contractual Term (in years)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "negatedLabel": "Shares, Forfeited/cancelled",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r629"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value",
        "terseLabel": "Weighted Average, Forfeited/Cancelled",
        "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": [
      "r629"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "terseLabel": "Shares Awarded",
        "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": [
      "r627"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Weighted average grant date fair value of restricted stock units granted",
        "verboseLabel": "Weighted Average, Awarded",
        "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": [
      "r627"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Shares, Unvested at December 31, 2023",
        "periodStartLabel": "Shares, Unvested at December 31, 2022",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "terseLabel": "Restricted stock units, outstanding",
        "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": [
      "r624",
      "r625"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]",
        "terseLabel": "Options Outstanding",
        "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/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Weighted Average, Unvested at December 31, 2023",
        "periodStartLabel": "Weighted Average, Unvested at December 31,2022",
        "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": [
      "r624",
      "r625"
     ]
    },
    "rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares, Vested and expected to vest at December 31, 2023",
        "documentation": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Vested And Expected To Vest Number",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Vested And Expected To Vest Number"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average, Vested and expected to vest at December 31, 2023",
        "documentation": "Share based compensation arrangement by share based payment award equity instruments other than options vested and expected to vest outstanding weighted average grant date fair value.",
        "label": "Share Based Compensation Arrangement by Share Based Payment Award Equity Instruments Other Than Options Vested and Expected to Vest Outstanding Weighted Average Grant Date Fair Value"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "negatedLabel": "Shares, Vested",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r628"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value",
        "terseLabel": "Total grant date fair value of restricted stock units vested",
        "documentation": "Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash."
       }
      }
     },
     "auth_ref": [
      "r631"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Weighted Average, Vested",
        "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": [
      "r628"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate",
        "terseLabel": "Expected dividend yield",
        "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term."
       }
      }
     },
     "auth_ref": [
      "r638"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Maximum",
        "terseLabel": "Expected volatility (range), maximum",
        "documentation": "The estimated measure of the maximum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Minimum",
        "terseLabel": "Expected volatility (range), minimum",
        "documentation": "The estimated measure of the minimum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Maximum",
        "terseLabel": "Risk-free interest rate, maximum",
        "documentation": "The maximum risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Minimum",
        "terseLabel": "Risk-free interest rate, minimum",
        "documentation": "The minimum risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]",
        "terseLabel": "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": [
      "r609",
      "r611",
      "r612",
      "r613",
      "r614",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant",
        "terseLabel": "Incentive options, vesting period",
        "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": [
      "r71"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract]",
        "terseLabel": "Weighted-Average Remaining Contractual Term (in years)"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Aggregate Intrinsic Value [Abstract]",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Aggregate Intrinsic Value [Abstract]",
        "terseLabel": "Aggregate Intrinsic Value"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Options exercisable at December 31, 2023 | shares",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number",
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan."
       }
      }
     },
     "auth_ref": [
      "r618"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Options exercisable at December 31, 2023",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r618"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value",
        "terseLabel": "Aggregate intrinsic value of stock options exercised",
        "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares."
       }
      }
     },
     "auth_ref": [
      "r631"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTotalLabel": "Forfeited/expired/cancelled | Shares",
        "terseLabel": "Forfeited/expired/cancelled | Shares",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period",
        "totalLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period, Total",
        "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": [
      "r1364"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forfeited/expired/cancelled",
        "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": [
      "r1364"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Net of Forfeitures, Total",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Net of Forfeitures",
        "terseLabel": "Granted | shares",
        "documentation": "Net number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r1365"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Weighted average grant date fair value of share-based awards granted",
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology."
       }
      }
     },
     "auth_ref": [
      "r630"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Options outstanding at December 31, 2023 | shares",
        "periodStartLabel": "Options outstanding at December 31, 2022 | shares",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number",
        "terseLabel": "Stock options, outstanding",
        "documentation": "Number of options outstanding, including both vested and non-vested options."
       }
      }
     },
     "auth_ref": [
      "r616",
      "r617"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]",
        "terseLabel": "Options Outstanding",
        "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/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Options outstanding at December 31, 2023",
        "periodStartLabel": "Options outstanding at December 31, 2022",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "terseLabel": "Stock options, 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": [
      "r616",
      "r617"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]",
        "terseLabel": "Weighted-Average Exercise Price Per Share"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Exercise Price",
        "terseLabel": "Vested and expected to vest at December 31, 2023",
        "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": [
      "r633"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value",
        "terseLabel": "Vested and expectd to vest at December 31, 2023",
        "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": [
      "r632"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number",
        "terseLabel": "Vested and expected to vest at December 31, 2023 | shares",
        "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": [
      "r632"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Award Types",
        "terseLabel": "All Award Types",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r612",
      "r613",
      "r614",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price",
        "terseLabel": "Exercised",
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares."
       }
      }
     },
     "auth_ref": [
      "r621"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price",
        "terseLabel": "Granted",
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options."
       }
      }
     },
     "auth_ref": [
      "r620"
     ]
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement [Policy Text Block]",
        "terseLabel": "Stock Based Compensation",
        "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost."
       }
      }
     },
     "auth_ref": [
      "r608",
      "r615",
      "r634",
      "r635",
      "r636",
      "r637",
      "r640",
      "r642",
      "r643",
      "r644",
      "r645"
     ]
    },
    "us-gaap_SharePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharePrice",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Share Price",
        "label": "Share Price",
        "terseLabel": "Closing price of common stock",
        "documentation": "Price of a single share of a number of saleable stocks of a company."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Vested",
        "terseLabel": "Aggregate intrinsic value of restricted stock units vested",
        "documentation": "Intrinsic value of vested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term",
        "terseLabel": "Expected term (in years)",
        "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r636"
     ]
    },
    "rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Options and Equity Instruments Other Than Options, Nonvested, Number of Shares",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options and Equity Instruments Other Than Options, Nonvested, Number of Shares",
        "terseLabel": "Number of unvested options and restricted stock units"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term",
        "terseLabel": "Vested and expected to vest at December 31, 2023",
        "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": [
      "r632"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested in Period, Fair Value",
        "terseLabel": "Total fair value of stock options vested",
        "documentation": "Fair value of options vested. Excludes equity instruments other than options, for example, but not limited to, share units, stock appreciation rights, restricted stock."
       }
      }
     },
     "auth_ref": [
      "r631"
     ]
    },
    "us-gaap_SharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharesOutstanding",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares, Outstanding",
        "periodEndLabel": "Balance (in shares)",
        "periodStartLabel": "Balance (in shares)",
        "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/2024",
     "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation",
        "terseLabel": "Tax withholding on vesting of restricted stock (in shares)",
        "negatedLabel": "Tax withholding on vesting of restricted stock (in shares)",
        "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ShortTermContingentConsideration": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ShortTermContingentConsideration",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Short-term contingent consideration.",
        "label": "Short Term Contingent Consideration",
        "terseLabel": "Short-term contingent consideration"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermDebtTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermDebtTypeAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-Term Debt, Type [Axis]",
        "documentation": "Information by type of short-term debt arrangement."
       }
      }
     },
     "auth_ref": [
      "r111",
      "r1337",
      "r1338",
      "r1339"
     ]
    },
    "us-gaap_ShortTermDebtTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermDebtTypeDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-Term Debt, Type [Domain]",
        "documentation": "Type of short-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r1337",
      "r1338",
      "r1339"
     ]
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Significant Accounting Policies [Text Block]",
        "terseLabel": "Summary of Significant Accounting Policies",
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r154",
      "r311"
     ]
    },
    "us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Line Items]",
        "terseLabel": "Significant Change in Unrecognized Tax Benefits is Reasonably Possible [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": [
      "r206"
     ]
    },
    "us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in Unrecognized Tax Benefit, Reasonably Possible [Table]",
        "terseLabel": "Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Table]",
        "documentation": "Disclosure of information about unrecognized tax benefit for which significant change is reasonably possible within 12 months. Includes, but is not limited to, nature of uncertainty, nature of event that could cause significant change within 12 months, and estimate of range of reasonably possible change or statement of fact that estimate of range cannot be made."
       }
      }
     },
     "auth_ref": [
      "r206"
     ]
    },
    "rgen_SpectrumIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "SpectrumIncMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Spectrum Inc.",
        "documentation": "Spectrum Inc.",
        "label": "Spectrum Inc [Member]",
        "terseLabel": "Spectrum Inc."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StateAndLocalIncomeTaxExpenseBenefitContinuingOperations",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "State and Local Income Tax Expense (Benefit), Continuing Operations, Total",
        "label": "State and Local Income Tax Expense (Benefit), Continuing Operations",
        "terseLabel": "State",
        "documentation": "Amount of current and deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current and deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r658",
      "r1284",
      "r1384",
      "r1393"
     ]
    },
    "us-gaap_StateAndLocalJurisdictionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StateAndLocalJurisdictionMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "State and Local Jurisdiction [Member]",
        "terseLabel": "State",
        "documentation": "Designated state or local jurisdiction entitled to levy and collect income tax."
       }
      }
     },
     "auth_ref": [
      "r659"
     ]
    },
    "us-gaap_StatementClassOfStockAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementClassOfStockAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Axis]",
        "documentation": "Information by the different classes of stock of the entity."
       }
      }
     },
     "auth_ref": [
      "r225",
      "r275",
      "r276",
      "r277",
      "r313",
      "r342",
      "r343",
      "r346",
      "r348",
      "r355",
      "r356",
      "r386",
      "r480",
      "r482",
      "r483",
      "r484",
      "r487",
      "r488",
      "r510",
      "r511",
      "r514",
      "r517",
      "r523",
      "r778",
      "r922",
      "r923",
      "r924",
      "r925",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935",
      "r936",
      "r937",
      "r938",
      "r939",
      "r940",
      "r941",
      "r943",
      "r963",
      "r985",
      "r1007",
      "r1035",
      "r1036",
      "r1037",
      "r1038",
      "r1039",
      "r1242",
      "r1281",
      "r1291"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "terseLabel": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r123",
      "r126",
      "r127",
      "r259",
      "r294",
      "r295",
      "r296",
      "r321",
      "r322",
      "r323",
      "r325",
      "r333",
      "r336",
      "r338",
      "r354",
      "r390",
      "r396",
      "r458",
      "r524",
      "r690",
      "r691",
      "r705",
      "r706",
      "r707",
      "r710",
      "r724",
      "r725",
      "r733",
      "r735",
      "r736",
      "r737",
      "r738",
      "r740",
      "r750",
      "r780",
      "r781",
      "r782",
      "r783",
      "r784",
      "r785",
      "r790",
      "r793",
      "r812",
      "r889",
      "r907",
      "r908",
      "r909",
      "r931",
      "r1007"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]",
        "terseLabel": "Geographical [Axis]",
        "documentation": "Information by geographical components."
       }
      }
     },
     "auth_ref": [
      "r227",
      "r229",
      "r232",
      "r234",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r374",
      "r375",
      "r835",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r843",
      "r844",
      "r845",
      "r846",
      "r847",
      "r848",
      "r849",
      "r850",
      "r851",
      "r852",
      "r853",
      "r854",
      "r855",
      "r856",
      "r857",
      "r858",
      "r859",
      "r860",
      "r861",
      "r862",
      "r863",
      "r864",
      "r945",
      "r948",
      "r950",
      "r1017",
      "r1019",
      "r1023",
      "r1030",
      "r1041",
      "r1045",
      "r1046",
      "r1047",
      "r1048",
      "r1049",
      "r1050",
      "r1051",
      "r1052",
      "r1053",
      "r1059",
      "r1092",
      "r1124",
      "r1125",
      "r1126",
      "r1127",
      "r1128",
      "r1129",
      "r1130",
      "r1131",
      "r1136",
      "r1142",
      "r1351",
      "r1440",
      "r1444",
      "r1445",
      "r1447",
      "r1448",
      "r1449",
      "r1450",
      "r1451",
      "r1452",
      "r1453",
      "r1454",
      "r1455",
      "r1456",
      "r1457",
      "r1458",
      "r1459",
      "r1460",
      "r1461",
      "r1462",
      "r1463",
      "r1464",
      "r1465",
      "r1466",
      "r1467",
      "r1468",
      "r1469",
      "r1470",
      "r1471"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLoss",
      "http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLossTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsDescriptionOfRestatementAdjustmentsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlans",
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/OrganizationAndNatureOfBusiness",
      "http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnaudited",
      "http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnauditedTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "terseLabel": "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": [
      "r321",
      "r322",
      "r323",
      "r354",
      "r793",
      "r829",
      "r920",
      "r943",
      "r955",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960",
      "r963",
      "r966",
      "r967",
      "r968",
      "r969",
      "r970",
      "r972",
      "r973",
      "r974",
      "r975",
      "r977",
      "r978",
      "r979",
      "r980",
      "r981",
      "r983",
      "r986",
      "r987",
      "r993",
      "r994",
      "r995",
      "r996",
      "r997",
      "r998",
      "r999",
      "r1000",
      "r1001",
      "r1002",
      "r1003",
      "r1004",
      "r1007",
      "r1143"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLoss",
      "http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLossTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsDescriptionOfRestatementAdjustmentsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlans",
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/OrganizationAndNatureOfBusiness",
      "http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnaudited",
      "http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnauditedTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Table]",
        "terseLabel": "Statement [Table]",
        "documentation": "Disclosure of information about statement of comprehensive income, income, other comprehensive income, financial position, cash flows, and shareholders' equity."
       }
      }
     },
     "auth_ref": [
      "r321",
      "r322",
      "r323",
      "r354",
      "r379",
      "r793",
      "r829",
      "r920",
      "r943",
      "r955",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960",
      "r963",
      "r966",
      "r967",
      "r968",
      "r969",
      "r970",
      "r972",
      "r973",
      "r974",
      "r975",
      "r977",
      "r978",
      "r979",
      "r980",
      "r981",
      "r983",
      "r986",
      "r987",
      "r993",
      "r994",
      "r995",
      "r996",
      "r997",
      "r998",
      "r999",
      "r1000",
      "r1001",
      "r1002",
      "r1003",
      "r1004",
      "r1007",
      "r1143"
     ]
    },
    "ecd_StkPrcOrTsrEstimationMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "StkPrcOrTsrEstimationMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Price or TSR Estimation Method [Text Block]",
        "terseLabel": "Stock Price or TSR Estimation Method"
       }
      }
     },
     "auth_ref": [
      "r1162",
      "r1173",
      "r1183",
      "r1216"
     ]
    },
    "us-gaap_StockAppreciationRightsSARSMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockAppreciationRightsSARSMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Appreciation Rights (SARs) [Member]",
        "terseLabel": "Stock Appreciation Rights (SARs)",
        "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_StockIssued1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssued1",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Fair value of shares of common stock issued for acquisitions",
        "label": "Stock Issued",
        "documentation": "The fair value of stock issued in noncash financing activities."
       }
      }
     },
     "auth_ref": [
      "r38",
      "r39",
      "r40"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesAcquisitions": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesAcquisitions",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Shares, Acquisitions",
        "terseLabel": "Issuance of commons stock pursuant to the acquisition, (in shares)",
        "documentation": "Number of shares of stock issued during the period pursuant to acquisitions."
       }
      }
     },
     "auth_ref": [
      "r122",
      "r123",
      "r171"
     ]
    },
    "rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Issuance of common stock pursuant to the Avitide, Inc.contingent consideration earnout payment (in shares)",
        "label": "Stock Issued During Period, Shares,Contingent Consideration Earnout Payments",
        "documentation": "Stock Issued During Period, shares,contingent consideration earnout payments."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Shares, Conversion of Convertible Securities",
        "verboseLabel": "Conversion of Convertible Securities Stock Issued | shares",
        "documentation": "Number of shares issued during the period as a result of the conversion of convertible securities."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r68",
      "r123",
      "r126",
      "r171",
      "r499"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesConversionOfUnits",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Shares, Conversion of Units",
        "verboseLabel": "Issuance of common stock for debt conversion (in shares)",
        "documentation": "The number of shares issued during the period upon the conversion of units. An example of a convertible unit is an umbrella partnership real estate investment trust unit (UPREIT unit)."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r68",
      "r122",
      "r123",
      "r171"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Shares Issued, Shares, Share-based Payment Arrangement, after Forfeiture, Total",
        "label": "Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture",
        "terseLabel": "Exercise of stock options and vesting of stock units (in shares)",
        "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP)."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r122",
      "r123",
      "r171"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period",
        "terseLabel": "Exercised number of shares",
        "negatedLabel": "Exercised | shares",
        "documentation": "Number of share options (or share units) exercised during the current period."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r122",
      "r123",
      "r171",
      "r621"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueAcquisitions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodValueAcquisitions",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Value, Acquisitions",
        "terseLabel": "Issuance of commons stock pursuant to the acquisition",
        "documentation": "Value of stock issued pursuant to acquisitions during the period."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r123",
      "r126",
      "r127",
      "r171"
     ]
    },
    "rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Issuance of common stock pursuant to the Avitide, Inc. contingent consideration earnout payment",
        "label": "Stock Issued During Period, Value,Contingent Consideration Earnout Payment",
        "documentation": "Stock issued during period, value,contingent consideration earnout payment"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodValueConversionOfConvertibleSecurities",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Convertible note modification",
        "label": "Stock Issued During Period, Value, Conversion of Convertible Securities",
        "terseLabel": "Conversion of Convertible Securities Stock Issued | value",
        "documentation": "The gross value of stock issued during the period upon the conversion of convertible securities."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r123",
      "r126",
      "r127",
      "r171"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueConversionOfUnits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodValueConversionOfUnits",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Value, Conversion of Units",
        "verboseLabel": "Issuance of common stock for debt conversion",
        "documentation": "Value of stock issued during the period upon the conversion of units. An example of a convertible unit is an umbrella partnership real estate investment trust unit (UPREIT unit)."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r123",
      "r126",
      "r127",
      "r171"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodValueShareBasedCompensation",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture, Total",
        "label": "Shares Issued, Value, Share-Based Payment Arrangement, after Forfeiture",
        "terseLabel": "Exercise of stock options and vesting of stock units",
        "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)."
       }
      }
     },
     "auth_ref": [
      "r72",
      "r122",
      "r123",
      "r171"
     ]
    },
    "rgen_StockOptionAndIncentivePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "StockOptionAndIncentivePlanMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock Option and Incentive Plan [Member]",
        "label": "Stock Option And Incentive Plan [Member]",
        "terseLabel": "2018 Plan"
       }
      }
     },
     "auth_ref": []
    },
    "srt_StockRepurchaseProgramAuthorizedAmount1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "StockRepurchaseProgramAuthorizedAmount1",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share repurchase amount",
        "label": "Share Repurchase Program, Authorized, Amount",
        "documentation": "Amount authorized for purchase of share under share repurchase plan. Includes, but is not limited to, repurchase of stock and unit of ownership."
       }
      }
     },
     "auth_ref": [
      "r1349"
     ]
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockRepurchasedDuringPeriodShares",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "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": [
      "r19",
      "r122",
      "r123",
      "r171",
      "r925",
      "r1007",
      "r1038"
     ]
    },
    "us-gaap_StockRepurchasedDuringPeriodValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockRepurchasedDuringPeriodValue",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "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": [
      "r19",
      "r122",
      "r123",
      "r171",
      "r931",
      "r1007",
      "r1038",
      "r1149"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity, Attributable to Parent",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "totalLabel": "Total stockholders' equity",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r123",
      "r126",
      "r127",
      "r158",
      "r965",
      "r982",
      "r1008",
      "r1009",
      "r1123",
      "r1150",
      "r1283",
      "r1304",
      "r1411",
      "r1473"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsCondensedConsolidatedBal"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity, Attributable to Parent [Abstract]",
        "terseLabel": "Stockholders' equity:"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_StockholdersEquityNoteDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "StockholdersEquityNoteDisclosureLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stockholders Equity Note Disclosure [Line Items]",
        "label": "Stockholders Equity Note Disclosure [Line Items]",
        "terseLabel": "Stockholders Equity Note Disclosure [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_StockholdersEquityNoteDisclosureTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "StockholdersEquityNoteDisclosureTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stockholders Equity Note Disclosure [Table]",
        "label": "Stockholders Equity Note Disclosure [Table]",
        "terseLabel": "Stockholders Equity Note Disclosure [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Text Block]",
        "terseLabel": "Stockholders' Equity",
        "documentation": "The entire disclosure for equity."
       }
      }
     },
     "auth_ref": [
      "r167",
      "r312",
      "r509",
      "r511",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r524",
      "r741",
      "r1010",
      "r1012",
      "r1040"
     ]
    },
    "rgen_SubscriptionTransactionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "SubscriptionTransactionMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subscription Transaction",
        "label": "Subscription Transaction [Member]",
        "documentation": "Subscription Transaction [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_SubscriptionTransactionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "SubscriptionTransactionsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subscription Transactions",
        "label": "Subscription Transactions [Member]",
        "documentation": "Subscription transactions."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventTypeAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event Type [Axis]",
        "terseLabel": "Subsequent Event Type [Axis]",
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r786",
      "r820"
     ]
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventTypeDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event Type [Domain]",
        "terseLabel": "Subsequent Event Type [Domain]",
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r786",
      "r820"
     ]
    },
    "us-gaap_SubsidiarySaleOfStockAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsidiarySaleOfStockAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale of Stock [Axis]",
        "documentation": "Information by type of sale of the entity's stock."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SummaryOfIncomeTaxExaminationsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SummaryOfIncomeTaxExaminationsTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Summary of Income Tax Examinations [Table Text Block]",
        "terseLabel": "Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities",
        "documentation": "Tabular disclosure of income tax examinations that an enterprise is currently subject to or that have been completed in the current period typically including a description of the examination, the jurisdiction conducting the examination, the tax year(s) under examination, the likelihood of an unfavorable settlement, the range of possible losses, the liability recorded, the increase or decrease in the liability from the prior period, and any penalties and interest that have been recorded."
       }
      }
     },
     "auth_ref": [
      "r1388"
     ]
    },
    "rgen_SummaryOfSignificantAccountingPoliciesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "SummaryOfSignificantAccountingPoliciesLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Summary Of Significant Accounting Policies [Line Items]",
        "label": "Summary Of Significant Accounting Policies [Line Items]",
        "terseLabel": "Summary Of Significant Accounting Policies [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_SummaryOfSignificantAccountingPoliciesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "SummaryOfSignificantAccountingPoliciesTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Summary Of Significant Accounting Policies [Table]",
        "label": "Summary Of Significant Accounting Policies [Table]",
        "terseLabel": "Summary Of Significant Accounting Policies [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SupplementalBalanceSheetDisclosuresTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Balance Sheet Disclosures [Text Block]",
        "verboseLabel": "Consolidated Balance Sheet Detail",
        "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity."
       }
      }
     },
     "auth_ref": [
      "r1265"
     ]
    },
    "us-gaap_SupplementalCashFlowElementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SupplementalCashFlowElementsAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Elements [Abstract]",
        "verboseLabel": "Supplemental disclosure of non-cash investing and financing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SupplementalCashFlowInformationAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "terseLabel": "Supplemental disclosure of cash flow information:"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TabularListTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TabularListTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tabular List [Table Text Block]",
        "terseLabel": "Tabular List, Table"
       }
      }
     },
     "auth_ref": [
      "r1209"
     ]
    },
    "us-gaap_TaxCreditCarryforwardAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TaxCreditCarryforwardAmount",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tax Credit Carryforward, Amount",
        "terseLabel": "Business tax credits carry forwards",
        "documentation": "The amount of the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws."
       }
      }
     },
     "auth_ref": [
      "r687"
     ]
    },
    "us-gaap_TaxPeriodAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TaxPeriodAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tax Period [Axis]",
        "terseLabel": "Tax Period [Axis]",
        "documentation": "Information by period subject to enacted tax law."
       }
      }
     },
     "auth_ref": [
      "r1388"
     ]
    },
    "us-gaap_TaxPeriodDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TaxPeriodDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tax Period [Domain]",
        "terseLabel": "Tax Period [Domain]",
        "documentation": "Identified tax period."
       }
      }
     },
     "auth_ref": [
      "r1388"
     ]
    },
    "rgen_TaxYear2040Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "TaxYear2040Member",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tax Year 2040.",
        "label": "Tax Year 2040 [Member]",
        "terseLabel": "Tax Year 2040"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_TaxYear2041Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "TaxYear2041Member",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Tax Year 2041",
        "label": "Tax Year2041 [Member]",
        "documentation": "Tax Year2041 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_TaxYear2043Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "TaxYear2043Member",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Tax Year 2043 Member",
        "label": "Tax Year 2043 [Member]",
        "documentation": "Tax Year 2043 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_TaxYearTwoThousandThirtySevenMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "TaxYearTwoThousandThirtySevenMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Tax Year 2037",
        "label": "Tax Year Two Thousand Thirty Seven [Member]",
        "documentation": "Tax year 2037."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TextBlockAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TextBlockAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Text Block [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_TitleOfIndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "TitleOfIndividualAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title and Position [Axis]",
        "terseLabel": "Title of Individual [Axis]",
        "documentation": "Information by title and position of individual or group within organization."
       }
      }
     },
     "auth_ref": [
      "r1300",
      "r1426"
     ]
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title and Position [Domain]",
        "terseLabel": "Relationship to Entity [Domain]",
        "verboseLabel": "Title of Individual [Domain]",
        "documentation": "Title and position of individual or group within organization."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_TonyJHuntMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "TonyJHuntMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tony J. Hunt.",
        "label": "Tony J. Hunt [Member]",
        "terseLabel": "Tony J. Hunt"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Amount",
        "terseLabel": "Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r1201"
     ]
    },
    "ecd_TotalShareholderRtnVsPeerGroupTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TotalShareholderRtnVsPeerGroupTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Vs Peer Group [Text Block]",
        "terseLabel": "Total Shareholder Return Vs Peer Group"
       }
      }
     },
     "auth_ref": [
      "r1208"
     ]
    },
    "us-gaap_TradeAccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TradeAccountsReceivableMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade Accounts Receivable Member",
        "label": "Trade Accounts Receivable [Member]",
        "documentation": "Amount due from customers or clients for goods or services that have been delivered or sold in the normal course of business."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TradeNamesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TradeNamesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade Names [Member]",
        "terseLabel": "Trademark and tradename [Member]",
        "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof."
       }
      }
     },
     "auth_ref": [
      "r85",
      "r1323",
      "r1325",
      "r1326",
      "r1327",
      "r1328",
      "r1329",
      "r1330",
      "r1332",
      "r1333",
      "r1334"
     ]
    },
    "rgen_TrademarkMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "TrademarkMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trademark [Member]",
        "documentation": "Right acquired through registration of a trademark to gain or protect exclusive use of business name, symbol or other device or style.",
        "terseLabel": "Trademark"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TrademarksAndTradeNamesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TrademarksAndTradeNamesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trademarks and Trade Names [Member]",
        "verboseLabel": "Trademark and tradename",
        "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style, or rights either acquired through registration of a business name to gain or protect exclusive use thereof."
       }
      }
     },
     "auth_ref": [
      "r85",
      "r1323",
      "r1325",
      "r1326",
      "r1327",
      "r1328",
      "r1329",
      "r1330",
      "r1332",
      "r1333",
      "r1334"
     ]
    },
    "us-gaap_TrademarksMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TrademarksMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trademarks",
        "label": "Trademarks [Member]",
        "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style."
       }
      }
     },
     "auth_ref": [
      "r85",
      "r1084",
      "r1323",
      "r1325",
      "r1326",
      "r1327",
      "r1328",
      "r1329",
      "r1330",
      "r1332",
      "r1333",
      "r1334"
     ]
    },
    "ecd_TradingArrAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TradingArrAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement [Axis]",
        "terseLabel": "Trading Arrangement:"
       }
      }
     },
     "auth_ref": [
      "r1229"
     ]
    },
    "ecd_TradingArrByIndTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TradingArrByIndTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangements, by Individual [Table]",
        "terseLabel": "Trading Arrangements, by Individual"
       }
      }
     },
     "auth_ref": [
      "r1231"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TrdArrAdoptionDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrAdoptionDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Adoption Date",
        "terseLabel": "Adoption Date"
       }
      }
     },
     "auth_ref": [
      "r1232"
     ]
    },
    "ecd_TrdArrDuration": {
     "xbrltype": "durationItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrDuration",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Duration",
        "terseLabel": "Arrangement Duration"
       }
      }
     },
     "auth_ref": [
      "r1233"
     ]
    },
    "ecd_TrdArrExpirationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrExpirationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Expiration Date",
        "terseLabel": "Expiration Date"
       }
      }
     },
     "auth_ref": [
      "r1233"
     ]
    },
    "ecd_TrdArrIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r1231"
     ]
    },
    "ecd_TrdArrIndTitle": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrIndTitle",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Title",
        "terseLabel": "Title"
       }
      }
     },
     "auth_ref": [
      "r1231"
     ]
    },
    "ecd_TrdArrSecuritiesAggAvailAmt": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrSecuritiesAggAvailAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Securities Aggregate Available Amount",
        "terseLabel": "Aggregate Available"
       }
      }
     },
     "auth_ref": [
      "r1234"
     ]
    },
    "ecd_TrdArrTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrTerminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Termination Date",
        "terseLabel": "Termination Date"
       }
      }
     },
     "auth_ref": [
      "r1232"
     ]
    },
    "us-gaap_TreasuryStockValueAcquiredCostMethod": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockValueAcquiredCostMethod",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock, Value, Acquired, Cost Method",
        "terseLabel": "Purchase of treasury stock",
        "documentation": "Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r70",
      "r171"
     ]
    },
    "rgen_TrueUpCostsDecember2020Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "TrueUpCostsDecember2020Member",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "True Up Costs December 2020",
        "documentation": "True up costs December 2020.",
        "label": "True up costs December 2020 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TrustForBenefitOfEmployeesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TrustForBenefitOfEmployeesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trust for Benefit of Employees [Member]",
        "terseLabel": "Employees",
        "documentation": "Trust created by the entity that exists for the benefit of its employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management."
       }
      }
     },
     "auth_ref": [
      "r1354",
      "r1424",
      "r1425",
      "r1427"
     ]
    },
    "rgen_TwoZeroOneNineNotesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "TwoZeroOneNineNotesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2019 Notes",
        "label": "Two Zero One Nine Notes [Member]",
        "documentation": "Two zero one nine notes."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_TwoZeroTwoThreeNotesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "TwoZeroTwoThreeNotesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2023 Notes",
        "label": "Two Zero Two Three Notes [Member]",
        "documentation": "Two zero two three Notes."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TypeOfAdoptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TypeOfAdoptionMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Standards Update [Domain]",
        "terseLabel": "Type of Adoption [Domain]",
        "documentation": "Amendment to accounting standards."
       }
      }
     },
     "auth_ref": [
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r324",
      "r325",
      "r326",
      "r327",
      "r339",
      "r377",
      "r378",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r457",
      "r458",
      "r461",
      "r690",
      "r691",
      "r692",
      "r693",
      "r694",
      "r702",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r709",
      "r710",
      "r715",
      "r716",
      "r717",
      "r721",
      "r722",
      "r723",
      "r724",
      "r725",
      "r730",
      "r731",
      "r732",
      "r733",
      "r734",
      "r735",
      "r736",
      "r737",
      "r738",
      "r739",
      "r740",
      "r742",
      "r743",
      "r744",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r750",
      "r751",
      "r752",
      "r775",
      "r776",
      "r789",
      "r790",
      "r791",
      "r807",
      "r808",
      "r809",
      "r810",
      "r811",
      "r812",
      "r831",
      "r832",
      "r833",
      "r905",
      "r906",
      "r907",
      "r908",
      "r909",
      "r910",
      "r911",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916"
     ]
    },
    "us-gaap_TypeOfRestructuringDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TypeOfRestructuringDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Type of Restructuring [Domain]",
        "documentation": "Identification of the types of restructuring costs."
       }
      }
     },
     "auth_ref": [
      "r464",
      "r465",
      "r470",
      "r471"
     ]
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "US",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES",
        "terseLabel": "United States"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_USTreasuryBillSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "USTreasuryBillSecuritiesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "US Treasury Bill Securities [Member]",
        "terseLabel": "U.S. treasury bills",
        "documentation": "This category includes information about negotiable debt securities issued by the United States Department of the Treasury which generally have maturities of one year or less, are interest bearing, and are backed by the full faith and credit of the United States government."
       }
      }
     },
     "auth_ref": [
      "r1437"
     ]
    },
    "rgen_UncategorizedAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "UncategorizedAbstract",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Uncategorized [Abstract]",
        "label": "Uncategorized [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UndistributedEarningsOfForeignSubsidiaries": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UndistributedEarningsOfForeignSubsidiaries",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Undistributed Earnings of Foreign Subsidiaries",
        "verboseLabel": "Undistributed earnings of foreign subsidiaries",
        "documentation": "Amount of undistributed earnings of foreign subsidiaries intended to be permanently reinvested outside the country of domicile."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r17",
      "r207",
      "r650"
     ]
    },
    "ecd_UndrlygSecurityMktPriceChngPct": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "UndrlygSecurityMktPriceChngPct",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Underlying Security Market Price Change, Percent",
        "terseLabel": "Underlying Security Market Price Change"
       }
      }
     },
     "auth_ref": [
      "r1228"
     ]
    },
    "rgen_UnlimitedCarryforwardPeriodMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "UnlimitedCarryforwardPeriodMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unlimited Carryforward Period",
        "label": "Unlimited Carryforward Period [Member]",
        "documentation": "Unlimited carryforward period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnrecognizedTaxBenefits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UnrecognizedTaxBenefits",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits",
        "periodEndLabel": "Balance of gross unrecognized tax benefits, end of period",
        "periodStartLabel": "Balance of gross unrecognized tax benefits, beginning of period",
        "documentation": "Amount of unrecognized tax benefits."
       }
      }
     },
     "auth_ref": [
      "r651",
      "r673",
      "r1111"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrecognized tax benefits decreases resulting from current period tax positions",
        "label": "Unrecognized Tax Benefits, Decrease Resulting from Current Period Tax Positions",
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return."
       }
      }
     },
     "auth_ref": [
      "r675"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Gross amounts of decreases in unrecognized tax benefits as a result of tax positions taken in the prior period",
        "label": "Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions",
        "negatedLabel": "Gross amounts of decreases in unrecognized tax benefits as a result of tax positions taken in the prior period",
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns."
       }
      }
     },
     "auth_ref": [
      "r674",
      "r1111"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued, Total",
        "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued",
        "terseLabel": "Interest and penalties accrued",
        "documentation": "Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return."
       }
      }
     },
     "auth_ref": [
      "r671",
      "r1111"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense, Total",
        "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense",
        "terseLabel": "Interest and penalties related to income taxes",
        "documentation": "Amount of expense for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return."
       }
      }
     },
     "auth_ref": [
      "r671",
      "r1111"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions",
        "terseLabel": "Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period",
        "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return."
       }
      }
     },
     "auth_ref": [
      "r675",
      "r1111"
     ]
    },
    "rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unrecognized Tax Benefits, Period Gross Decreases Release",
        "label": "Unrecognized Tax Benefits, Period Gross Decreases Release",
        "negatedLabel": "Gross amounts of decrease due to release"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits that Would Impact Effective Tax Rate",
        "terseLabel": "Impact of unrecognized tax benefits on effective tax rate",
        "documentation": "The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate."
       }
      }
     },
     "auth_ref": [
      "r676",
      "r1111"
     ]
    },
    "rgen_UnvestedOptionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "UnvestedOptionsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unvested Options",
        "label": "Unvested Options [Member]",
        "documentation": "Unvested Options [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "terseLabel": "Use of Estimates",
        "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": [
      "r52",
      "r53",
      "r54",
      "r214",
      "r215",
      "r218",
      "r219"
     ]
    },
    "us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ValuationAllowanceDeferredTaxAssetChangeInAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount",
        "terseLabel": "Valuation allowance increase (decrease)",
        "documentation": "Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset."
       }
      }
     },
     "auth_ref": [
      "r679"
     ]
    },
    "us-gaap_ValuationTechniqueAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ValuationTechniqueAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation Approach and Technique [Axis]",
        "documentation": "Information by valuation approach and technique."
       }
      }
     },
     "auth_ref": [
      "r756",
      "r757",
      "r1117",
      "r1401"
     ]
    },
    "us-gaap_ValuationTechniqueDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ValuationTechniqueDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation Approach and Technique [Domain]",
        "documentation": "Valuation approach and technique."
       }
      }
     },
     "auth_ref": [
      "r756",
      "r757",
      "r1117",
      "r1401"
     ]
    },
    "rgen_VariableOperatingLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "VariableOperatingLeaseCost",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseCostDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for operating leases.",
        "label": "Variable Operating Lease cost",
        "terseLabel": "Variable operating lease cost"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VehiclesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "VehiclesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vehicles [Member]",
        "label": "Vehicles [Member]",
        "documentation": "Equipment used primarily for road transportation."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_VolatilityRateOfContingentConsideration": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "VolatilityRateOfContingentConsideration",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Volatility",
        "documentation": "Volatility rate of contingent consideration.",
        "label": "Volatility rate of Contingent Consideration"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year [Member]",
        "terseLabel": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year"
       }
      }
     },
     "auth_ref": [
      "r1197"
     ]
    },
    "rgen_WeightedAverageDiscountRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "WeightedAverageDiscountRate",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Discount Rate",
        "documentation": "Weighted average discount rate.",
        "label": "Weighted Average Discount Rate"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Diluted, Adjustment",
        "totalLabel": "Dilutive potential common shares",
        "verboseLabel": "Dilutive potential common shares",
        "terseLabel": "Dilutive potential common shares",
        "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation."
       }
      }
     },
     "auth_ref": [
      "r1292"
     ]
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "terseLabel": "Diluted",
        "totalLabel": "Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted",
        "verboseLabel": "Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - 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": [
      "r341",
      "r348"
     ]
    },
    "rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Dilutive Effect of Unvested Performance Stock Units",
        "documentation": "Weighted average number of shares dilutive effect of unvested performance stock units.",
        "terseLabel": "Dilutive effect of unvested performance stock units"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average common shares outstanding:",
        "terseLabel": "Weighted average common shares outstanding:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestatementOfPreviouslyIssuedFinancialStatementsScheduleOfRestatementOfPreviouslyIssuedFinancialStatementsConsolidatedStatementsOf"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Weighted Average Number of Shares Outstanding, Basic, Total",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "terseLabel": "Basic",
        "verboseLabel": "Weighted average shares used in computing net income per share - 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": [
      "r340",
      "r348"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesRestrictedStock": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesRestrictedStock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares, Restricted Stock",
        "verboseLabel": "Options and stock units",
        "documentation": "Number of shares of restricted stock determined by relating the portion of time within a reporting period that restricted shares have been outstanding to the total time in that period. Restricted shares are subject to sales, contractual, regulatory or other restrictions that prevent or inhibit the holder from freely disposing of them before the restriction ends."
       }
      }
     },
     "auth_ref": [
      "r44"
     ]
    },
    "ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested [Member]",
        "terseLabel": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested"
       }
      }
     },
     "auth_ref": [
      "r1195"
     ]
    },
    "rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Zero Point Three Seven Five Percent Convertible Senior Notes Due Twenty Twenty Four Member",
        "label": "Zero Point Three Seven Five Percent Convertible Senior Notes Due Twenty Twenty Four [Member]",
        "terseLabel": "0.375% Convertible Senior Notes due 2024"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Zero Point Three Seven Five Percentage Convertible Senior Notes Due Twenty Twenty Four Member",
        "label": "Zero Point Three Seven Five Percentage Convertible Senior Notes Due Twenty Twenty Four [Member]",
        "verboseLabel": "0.375% Convertible Senior Notes due 2024"
       }
      }
     },
     "auth_ref": []
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "16",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479405/805-10-25-16"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "6",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479405/805-10-25-6"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "7",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479405/805-10-25-7"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "7",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479637/805-30-30-7"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "8",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479637/805-30-30-8"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1"
  },
  "r6": {
   "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"
  },
  "r7": {
   "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"
  },
  "r8": {
   "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"
  },
  "r9": {
   "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"
  },
  "r10": {
   "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"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(g)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "r12": {
   "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"
  },
  "r13": {
   "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"
  },
  "r14": {
   "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"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "740",
   "Topic": "942",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477617/942-740-50-1"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "740",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478822/944-740-50-1"
  },
  "r18": {
   "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"
  },
  "r19": {
   "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"
  },
  "r20": {
   "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"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r22": {
   "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"
  },
  "r23": {
   "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"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(4)",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r25": {
   "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"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483489/210-10-50-1"
  },
  "r28": {
   "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"
  },
  "r29": {
   "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"
  },
  "r30": {
   "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"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r35": {
   "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"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-1"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-3"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-4"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-5"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-8"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-9"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-13"
  },
  "r45": {
   "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"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-16"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-20"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-21"
  },
  "r52": {
   "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"
  },
  "r53": {
   "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"
  },
  "r54": {
   "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"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-40"
  },
  "r58": {
   "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"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482130/360-10-45-4"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r61": {
   "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"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "420",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "420",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "25",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481284/470-20-25-22"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-4"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "50",
   "Section": "40",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481303/470-50-40-2"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "50",
   "Section": "40",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481303/470-50-40-4"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-3"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-8"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481549/505-30-45-1"
  },
  "r71": {
   "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"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r73": {
   "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"
  },
  "r74": {
   "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"
  },
  "r75": {
   "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"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-14"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "25",
   "Paragraph": "23",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479405/805-10-25-23"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-3"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "37",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-37"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "14",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-20"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "30",
   "Section": "25",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479668/805-30-25-5"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "30",
   "Section": "25",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479668/805-30-25-6"
  },
  "r90": {
   "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"
  },
  "r91": {
   "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"
  },
  "r92": {
   "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"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r94": {
   "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"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r96": {
   "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"
  },
  "r97": {
   "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"
  },
  "r98": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-7"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "182",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-182"
  },
  "r100": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-11"
  },
  "r101": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-12"
  },
  "r102": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-20"
  },
  "r103": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-21"
  },
  "r104": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "850",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r105": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "850",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-3"
  },
  "r106": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "320",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477268/942-320-50-5"
  },
  "r107": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "470",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477734/942-470-50-3"
  },
  "r108": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "470",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477734/942-470-50-3"
  },
  "r109": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "825",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478898/942-825-50-1"
  },
  "r110": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r111": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r112": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r113": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r114": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r115": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r116": {
   "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(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r117": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r118": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r119": {
   "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(26)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r120": {
   "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(26)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r121": {
   "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(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r122": {
   "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"
  },
  "r123": {
   "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"
  },
  "r124": {
   "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"
  },
  "r125": {
   "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"
  },
  "r126": {
   "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"
  },
  "r127": {
   "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"
  },
  "r128": {
   "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"
  },
  "r129": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r130": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r131": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r132": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/220/tableOfContent"
  },
  "r133": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r134": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r135": {
   "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"
  },
  "r136": {
   "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"
  },
  "r137": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r138": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r139": {
   "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"
  },
  "r140": {
   "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"
  },
  "r141": {
   "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"
  },
  "r142": {
   "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)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r143": {
   "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"
  },
  "r144": {
   "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"
  },
  "r145": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r146": {
   "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"
  },
  "r147": {
   "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)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r148": {
   "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"
  },
  "r149": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r150": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r151": {
   "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"
  },
  "r152": {
   "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"
  },
  "r153": {
   "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"
  },
  "r154": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/235/tableOfContent"
  },
  "r155": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "270",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/270/tableOfContent"
  },
  "r156": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r157": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "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"
  },
  "r158": {
   "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"
  },
  "r159": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480581/330-10-S99-2"
  },
  "r160": {
   "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"
  },
  "r161": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.P.3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-1"
  },
  "r162": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2"
  },
  "r163": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4.b.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2"
  },
  "r164": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/440/tableOfContent"
  },
  "r165": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/470/tableOfContent"
  },
  "r166": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-5"
  },
  "r167": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/505/tableOfContent"
  },
  "r168": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-6"
  },
  "r169": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-6"
  },
  "r170": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-7"
  },
  "r171": {
   "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"
  },
  "r172": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "710",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/710/tableOfContent"
  },
  "r173": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "710",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483070/710-10-25-9"
  },
  "r174": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "710",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483043/710-10-30-1"
  },
  "r175": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "712",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/712/tableOfContent"
  },
  "r176": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "715",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/715/tableOfContent"
  },
  "r177": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/718/tableOfContent"
  },
  "r178": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r179": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r180": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/805/tableOfContent"
  },
  "r181": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r182": {
   "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"
  },
  "r183": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479613/805-30-35-1"
  },
  "r184": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r185": {
   "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"
  },
  "r186": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r187": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-21"
  },
  "r188": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "840",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481440/840-10-50-1"
  },
  "r189": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "840",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481501/840-20-50-4"
  },
  "r190": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "840",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481161/840-30-50-4"
  },
  "r191": {
   "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(1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r192": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r193": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r194": {
   "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(15)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r195": {
   "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(15)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r196": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r197": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r198": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r199": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r200": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r201": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "470",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477734/942-470-50-3"
  },
  "r202": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r203": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r204": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r205": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r206": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15"
  },
  "r207": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482603/740-30-50-2"
  },
  "r208": {
   "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"
  },
  "r209": {
   "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/2147477796/946-210-45-20"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482989/270-10-45-6"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "35",
   "Topic": "720",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483406/720-35-50-1"
  },
  "r214": {
   "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"
  },
  "r215": {
   "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"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1"
  },
  "r217": {
   "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/2147477798/958-360-50-1"
  },
  "r218": {
   "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"
  },
  "r219": {
   "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"
  },
  "r220": {
   "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/2147477798/958-360-50-6"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r222": {
   "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"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/275/tableOfContent"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/606/tableOfContent"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "a",
   "Publisher": "SEC"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12",
   "Paragraph": "Column C",
   "Footnote": "5",
   "Publisher": "SEC"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12A",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12A",
   "Paragraph": "Column C",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12B",
   "Paragraph": "Column A",
   "Subparagraph": "(a)",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12B",
   "Paragraph": "Column A",
   "Subparagraph": "(b)",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12B",
   "Paragraph": "Column C",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "14",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "14",
   "Paragraph": "Column F",
   "Footnote": "7",
   "Publisher": "SEC"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column A",
   "Publisher": "SEC"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column B",
   "Publisher": "SEC"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column C",
   "Publisher": "SEC"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column D",
   "Publisher": "SEC"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column E",
   "Publisher": "SEC"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column F",
   "Publisher": "SEC"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column B",
   "Publisher": "SEC"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column C",
   "Publisher": "SEC"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column D",
   "Publisher": "SEC"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column E",
   "Publisher": "SEC"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column F",
   "Publisher": "SEC"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column G",
   "Publisher": "SEC"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column H",
   "Publisher": "SEC"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column I",
   "Publisher": "SEC"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "29",
   "Paragraph": "Column A",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "4",
   "Subsection": "08",
   "Paragraph": "m",
   "Subparagraph": "(1)(iii)",
   "Publisher": "SEC"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "4",
   "Subsection": "08",
   "Paragraph": "m",
   "Subparagraph": "(2)(ii)",
   "Publisher": "SEC"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 11",
   "Section": "L",
   "Publisher": "SEC"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 11",
   "Section": "M",
   "Paragraph": "Question 2",
   "Publisher": "SEC"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 5",
   "Section": "Y",
   "Paragraph": "Question 2",
   "Publisher": "SEC"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 5",
   "Section": "Y",
   "Paragraph": "Question 4",
   "Publisher": "SEC"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r259": {
   "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"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-7"
  },
  "r263": {
   "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"
  },
  "r264": {
   "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"
  },
  "r265": {
   "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"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483489/210-10-50-1"
  },
  "r267": {
   "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"
  },
  "r268": {
   "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"
  },
  "r269": {
   "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"
  },
  "r270": {
   "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"
  },
  "r271": {
   "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"
  },
  "r272": {
   "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"
  },
  "r273": {
   "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"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(27)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r278": {
   "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"
  },
  "r279": {
   "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"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r283": {
   "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"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r285": {
   "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"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14"
  },
  "r287": {
   "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"
  },
  "r288": {
   "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"
  },
  "r289": {
   "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"
  },
  "r290": {
   "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"
  },
  "r291": {
   "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"
  },
  "r292": {
   "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"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-1"
  },
  "r294": {
   "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"
  },
  "r295": {
   "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"
  },
  "r296": {
   "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"
  },
  "r297": {
   "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(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r299": {
   "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"
  },
  "r300": {
   "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"
  },
  "r301": {
   "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"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-11"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12"
  },
  "r304": {
   "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"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-17"
  },
  "r306": {
   "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"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2A"
  },
  "r310": {
   "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"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-1"
  },
  "r312": {
   "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(e)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r313": {
   "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"
  },
  "r314": {
   "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)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r315": {
   "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)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r316": {
   "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"
  },
  "r317": {
   "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(m)(1)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r318": {
   "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(m)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r319": {
   "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(n))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-3"
  },
  "r321": {
   "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"
  },
  "r322": {
   "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"
  },
  "r323": {
   "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"
  },
  "r324": {
   "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"
  },
  "r325": {
   "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"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r328": {
   "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"
  },
  "r329": {
   "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"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-12"
  },
  "r331": {
   "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"
  },
  "r332": {
   "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"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7"
  },
  "r335": {
   "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"
  },
  "r336": {
   "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"
  },
  "r337": {
   "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"
  },
  "r338": {
   "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"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480530/250-10-S99-5"
  },
  "r340": {
   "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"
  },
  "r341": {
   "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"
  },
  "r342": {
   "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"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-3"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "40",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-40"
  },
  "r345": {
   "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"
  },
  "r346": {
   "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"
  },
  "r347": {
   "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"
  },
  "r348": {
   "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"
  },
  "r349": {
   "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"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r351": {
   "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"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1B"
  },
  "r354": {
   "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"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482987/272-10-50-1"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482987/272-10-50-3"
  },
  "r357": {
   "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"
  },
  "r358": {
   "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"
  },
  "r359": {
   "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"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r361": {
   "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"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-29"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-29"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-29"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-29"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-29"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-29"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-29"
  },
  "r369": {
   "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"
  },
  "r370": {
   "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"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "36",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-36"
  },
  "r373": {
   "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"
  },
  "r374": {
   "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"
  },
  "r375": {
   "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"
  },
  "r376": {
   "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"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476173/280-10-65-1"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476173/280-10-65-1"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13"
  },
  "r380": {
   "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"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-42"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "44",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-44"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r384": {
   "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"
  },
  "r385": {
   "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"
  },
  "r386": {
   "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"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r390": {
   "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"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-5"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-5"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-5"
  },
  "r396": {
   "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"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479391/326-20-30-4A"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479391/326-20-30-5A"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "8A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479366/326-20-35-8A"
  },
  "r400": {
   "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"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479344/326-20-45-5"
  },
  "r402": {
   "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"
  },
  "r403": {
   "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"
  },
  "r404": {
   "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"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r406": {
   "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"
  },
  "r407": {
   "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"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-17"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-20"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-21"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-3C"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-3D"
  },
  "r413": {
   "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"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-8"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.M.2.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483530/326-20-S99-1"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479175/326-30-30-1B"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "13A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479148/326-30-35-13A"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479148/326-30-35-7A"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-3A"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-3C"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-3D"
  },
  "r422": {
   "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"
  },
  "r423": {
   "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"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/330/tableOfContent"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483080/330-10-50-1"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483080/330-10-50-4"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480265/350-10-S45-1"
  },
  "r428": {
   "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"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482598/350-20-45-2"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1A"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-2"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-2"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-2"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r447": {
   "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"
  },
  "r448": {
   "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"
  },
  "r449": {
   "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"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r452": {
   "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"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1"
  },
  "r459": {
   "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"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477123/405-50-65-1"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/420/tableOfContent"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1"
  },
  "r466": {
   "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"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.P.3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-1"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4.b.1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4.b.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4.d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4.e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2"
  },
  "r474": {
   "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"
  },
  "r475": {
   "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"
  },
  "r476": {
   "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"
  },
  "r477": {
   "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"
  },
  "r478": {
   "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"
  },
  "r479": {
   "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"
  },
  "r480": {
   "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"
  },
  "r481": {
   "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"
  },
  "r482": {
   "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"
  },
  "r483": {
   "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"
  },
  "r484": {
   "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"
  },
  "r485": {
   "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"
  },
  "r486": {
   "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"
  },
  "r487": {
   "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"
  },
  "r488": {
   "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"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r497": {
   "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"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r505": {
   "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"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-4"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-4"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-6"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r510": {
   "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"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-16"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2"
  },
  "r524": {
   "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"
  },
  "r525": {
   "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"
  },
  "r526": {
   "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"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-4"
  },
  "r528": {
   "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"
  },
  "r529": {
   "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"
  },
  "r530": {
   "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"
  },
  "r531": {
   "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"
  },
  "r532": {
   "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"
  },
  "r533": {
   "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"
  },
  "r534": {
   "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"
  },
  "r535": {
   "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"
  },
  "r536": {
   "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"
  },
  "r537": {
   "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"
  },
  "r538": {
   "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"
  },
  "r539": {
   "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"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480535/715-20-45-2"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(10)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(8)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(8)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r562": {
   "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"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r564": {
   "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"
  },
  "r565": {
   "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"
  },
  "r566": {
   "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"
  },
  "r567": {
   "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"
  },
  "r568": {
   "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"
  },
  "r569": {
   "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"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r577": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r579": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(j)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(n)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(q)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-2"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-3"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-3"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-4"
  },
  "r593": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-8"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "70",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480794/715-70-50-1"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480606/715-80-35-1"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-11"
  },
  "r606": {
   "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"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-9"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/718/tableOfContent"
  },
  "r609": {
   "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"
  },
  "r610": {
   "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"
  },
  "r611": {
   "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"
  },
  "r612": {
   "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"
  },
  "r613": {
   "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"
  },
  "r614": {
   "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"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r616": {
   "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"
  },
  "r617": {
   "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"
  },
  "r618": {
   "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"
  },
  "r619": {
   "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"
  },
  "r620": {
   "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"
  },
  "r621": {
   "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"
  },
  "r622": {
   "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"
  },
  "r623": {
   "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"
  },
  "r624": {
   "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"
  },
  "r625": {
   "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"
  },
  "r626": {
   "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"
  },
  "r627": {
   "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"
  },
  "r628": {
   "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"
  },
  "r629": {
   "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"
  },
  "r630": {
   "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"
  },
  "r631": {
   "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"
  },
  "r632": {
   "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"
  },
  "r633": {
   "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"
  },
  "r634": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r635": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r636": {
   "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"
  },
  "r637": {
   "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"
  },
  "r638": {
   "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"
  },
  "r639": {
   "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"
  },
  "r640": {
   "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"
  },
  "r641": {
   "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"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.C.Q3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.1.Q5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.2.Q6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.3.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "720",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483359/720-20-50-1"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "720",
   "SubTopic": "35",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483406/720-35-50-1"
  },
  "r648": {
   "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"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/740/tableOfContent"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482620/740-10-25-3"
  },
  "r651": {
   "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"
  },
  "r652": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-25"
  },
  "r653": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-28"
  },
  "r654": {
   "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"
  },
  "r655": {
   "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"
  },
  "r656": {
   "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"
  },
  "r657": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-10A"
  },
  "r658": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-10B"
  },
  "r659": {
   "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"
  },
  "r660": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r661": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r662": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r663": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r666": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(a)(8)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r667": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r668": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12B"
  },
  "r669": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12C"
  },
  "r670": {
   "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"
  },
  "r671": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15"
  },
  "r672": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15"
  },
  "r673": {
   "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"
  },
  "r674": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15A"
  },
  "r675": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15A"
  },
  "r676": {
   "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"
  },
  "r677": {
   "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"
  },
  "r678": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-19"
  },
  "r679": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2"
  },
  "r680": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2"
  },
  "r681": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2"
  },
  "r682": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2"
  },
  "r683": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-20"
  },
  "r684": {
   "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"
  },
  "r685": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-22"
  },
  "r686": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-23"
  },
  "r687": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-3"
  },
  "r688": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r689": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r690": {
   "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"
  },
  "r691": {
   "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"
  },
  "r692": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-9"
  },
  "r693": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "9",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-9"
  },
  "r694": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "9",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-9"
  },
  "r695": {
   "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.1.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r696": {
   "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"
  },
  "r697": {
   "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"
  },
  "r698": {
   "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"
  },
  "r699": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482659/740-20-45-2"
  },
  "r700": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "270",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477891/740-270-50-1"
  },
  "r701": {
   "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"
  },
  "r702": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r703": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r704": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r705": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r706": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r707": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r708": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r709": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r710": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r711": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r712": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r713": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-5"
  },
  "r714": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-5"
  },
  "r715": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479845/805-20-65-3"
  },
  "r716": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479845/805-20-65-3"
  },
  "r717": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479845/805-20-65-3"
  },
  "r718": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r719": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r720": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-4"
  },
  "r721": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r722": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r723": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r724": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r725": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r726": {
   "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"
  },
  "r727": {
   "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"
  },
  "r728": {
   "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"
  },
  "r729": {
   "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"
  },
  "r730": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r731": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r732": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r733": {
   "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"
  },
  "r734": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r735": {
   "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"
  },
  "r736": {
   "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"
  },
  "r737": {
   "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"
  },
  "r738": {
   "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"
  },
  "r739": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r740": {
   "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"
  },
  "r741": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-6"
  },
  "r742": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r743": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r744": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r745": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r746": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r747": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r748": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r749": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r750": {
   "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"
  },
  "r751": {
   "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"
  },
  "r752": {
   "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"
  },
  "r753": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "54B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482134/820-10-35-54B"
  },
  "r754": {
   "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"
  },
  "r755": {
   "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"
  },
  "r756": {
   "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"
  },
  "r757": {
   "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"
  },
  "r758": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r759": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r760": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r761": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r762": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r763": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r764": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r765": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r766": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r767": {
   "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"
  },
  "r768": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r769": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r770": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r771": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r772": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r773": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r774": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r775": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482477/820-10-65-13"
  },
  "r776": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482477/820-10-65-13"
  },
  "r777": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482736/825-10-45-5A"
  },
  "r778": {
   "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"
  },
  "r779": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/830/tableOfContent"
  },
  "r780": {
   "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"
  },
  "r781": {
   "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"
  },
  "r782": {
   "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"
  },
  "r783": {
   "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"
  },
  "r784": {
   "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"
  },
  "r785": {
   "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"
  },
  "r786": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-2"
  },
  "r787": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2"
  },
  "r788": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482900/835-30-50-1"
  },
  "r789": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-5"
  },
  "r790": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8"
  },
  "r791": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8"
  },
  "r792": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/842-20/tableOfContent"
  },
  "r793": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "12A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479165/842-20-35-12A"
  },
  "r794": {
   "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"
  },
  "r795": {
   "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"
  },
  "r796": {
   "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"
  },
  "r797": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3"
  },
  "r798": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r799": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r800": {
   "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"
  },
  "r801": {
   "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"
  },
  "r802": {
   "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"
  },
  "r803": {
   "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"
  },
  "r804": {
   "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"
  },
  "r805": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A"
  },
  "r806": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A"
  },
  "r807": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-1"
  },
  "r808": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r809": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r810": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r811": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r812": {
   "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"
  },
  "r813": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/850/tableOfContent"
  },
  "r814": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r815": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r816": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r817": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r818": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-3"
  },
  "r819": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-6"
  },
  "r820": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-2"
  },
  "r821": {
   "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"
  },
  "r822": {
   "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"
  },
  "r823": {
   "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"
  },
  "r824": {
   "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"
  },
  "r825": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7"
  },
  "r826": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-9"
  },
  "r827": {
   "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"
  },
  "r828": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "330",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478411/912-330-50-1"
  },
  "r829": {
   "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"
  },
  "r830": {
   "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"
  },
  "r831": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483194/926-20-65-2"
  },
  "r832": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483194/926-20-65-2"
  },
  "r833": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483194/926-20-65-2"
  },
  "r834": {
   "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/2147478859/928-340-50-1"
  },
  "r835": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478934/932-220-50-1"
  },
  "r836": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r837": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r838": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r839": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-19"
  },
  "r840": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r841": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r842": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r843": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r844": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r845": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r846": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r847": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r848": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r849": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r850": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r851": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r852": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r853": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r854": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r855": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r856": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r857": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r858": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-6"
  },
  "r859": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-7"
  },
  "r860": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r861": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r862": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r863": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "280",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478657/932-280-50-1"
  },
  "r864": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478988/932-323-50-1"
  },
  "r865": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "940",
   "SubTopic": "820",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478119/940-820-50-1"
  },
  "r866": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r867": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r868": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r869": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r870": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1"
  },
  "r871": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477268/942-320-50-3A"
  },
  "r872": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478451/942-360-50-1"
  },
  "r873": {
   "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)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r874": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r875": {
   "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)(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r876": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r877": {
   "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/2147478777/944-210-S99-1"
  },
  "r878": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r879": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r880": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r881": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r882": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r883": {
   "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)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r884": {
   "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)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r885": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r886": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r887": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r888": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r889": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r890": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r891": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r892": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r893": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r894": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r895": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r896": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r897": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r898": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r899": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r900": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4E"
  },
  "r901": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r902": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r903": {
   "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"
  },
  "r904": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-9"
  },
  "r905": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r906": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r907": {
   "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"
  },
  "r908": {
   "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"
  },
  "r909": {
   "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"
  },
  "r910": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r911": {
   "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"
  },
  "r912": {
   "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"
  },
  "r913": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r914": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r915": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r916": {
   "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"
  },
  "r917": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.W.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479583/944-40-S99-1"
  },
  "r918": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "825",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B"
  },
  "r919": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480424/946-10-50-3"
  },
  "r920": {
   "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"
  },
  "r921": {
   "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(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r922": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r923": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r924": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r925": {
   "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"
  },
  "r926": {
   "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"
  },
  "r927": {
   "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"
  },
  "r928": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-2"
  },
  "r929": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-5"
  },
  "r930": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-6"
  },
  "r931": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4"
  },
  "r932": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-2"
  },
  "r933": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "27",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-27"
  },
  "r934": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r935": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r936": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r937": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r938": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r939": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r940": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r941": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r942": {
   "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/2147477796/946-210-45-21"
  },
  "r943": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-4"
  },
  "r944": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r945": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r946": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r947": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r948": {
   "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/2147478795/946-210-50-2"
  },
  "r949": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r950": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r951": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r952": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r953": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r954": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r955": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r956": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r957": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r958": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r959": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r960": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r961": {
   "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/2147479170/946-210-S99-1"
  },
  "r962": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r963": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r964": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r965": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r966": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r967": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r968": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r969": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r970": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r971": {
   "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/2147479170/946-210-S99-1"
  },
  "r972": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r973": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r974": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r975": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r976": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r977": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r978": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r979": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r980": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r981": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2"
  },
  "r982": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2"
  },
  "r983": {
   "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/2147479105/946-220-45-3"
  },
  "r984": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-7"
  },
  "r985": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478297/946-220-50-3"
  },
  "r986": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r987": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r988": {
   "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)(c)(2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r989": {
   "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)(c)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r990": {
   "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)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r991": {
   "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)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r992": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(g)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r993": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r994": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r995": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r996": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r997": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r998": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r999": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r1000": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r1001": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r1002": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r1003": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r1004": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r1005": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r1006": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r1007": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r1008": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r1009": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r1010": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2"
  },
  "r1011": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2"
  },
  "r1012": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2"
  },
  "r1013": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2"
  },
  "r1014": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1"
  },
  "r1015": {
   "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 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r1016": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r1017": {
   "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/2147477271/946-320-S99-1"
  },
  "r1018": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r1019": {
   "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/2147477271/946-320-S99-2"
  },
  "r1020": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r1021": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r1022": {
   "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 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r1023": {
   "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/2147477271/946-320-S99-3"
  },
  "r1024": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column A)(Footnote 3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5"
  },
  "r1025": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column G)(Footnote 8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5"
  },
  "r1026": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5B",
   "Subparagraph": "(SX 210.12-13B(Column E)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B"
  },
  "r1027": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5C",
   "Subparagraph": "(SX 210.12-13C(Column H)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C"
  },
  "r1028": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5D",
   "Subparagraph": "(SX 210.12-13D(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5D"
  },
  "r1029": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r1030": {
   "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/2147477271/946-320-S99-6"
  },
  "r1031": {
   "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 A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-7"
  },
  "r1032": {
   "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/2147477271/946-320-S99-7"
  },
  "r1033": {
   "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/2147477271/946-320-S99-7"
  },
  "r1034": {
   "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/2147477271/946-320-S99-7"
  },
  "r1035": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-1"
  },
  "r1036": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2"
  },
  "r1037": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2"
  },
  "r1038": {
   "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/2147478448/946-505-50-2"
  },
  "r1039": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2"
  },
  "r1040": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-6"
  },
  "r1041": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Column A)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1"
  },
  "r1042": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479196/954-310-45-1"
  },
  "r1043": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478785/954-310-50-2"
  },
  "r1044": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "440",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478522/954-440-50-1"
  },
  "r1045": {
   "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 A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r1046": {
   "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/2147478979/970-360-S99-1"
  },
  "r1047": {
   "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/2147478979/970-360-S99-1"
  },
  "r1048": {
   "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/2147478979/970-360-S99-1"
  },
  "r1049": {
   "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/2147478979/970-360-S99-1"
  },
  "r1050": {
   "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/2147478979/970-360-S99-1"
  },
  "r1051": {
   "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/2147478979/970-360-S99-1"
  },
  "r1052": {
   "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/2147478979/970-360-S99-1"
  },
  "r1053": {
   "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/2147478979/970-360-S99-1"
  },
  "r1054": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477332/976-310-50-1"
  },
  "r1055": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479230/978-310-50-1"
  },
  "r1056": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2"
  },
  "r1057": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r1058": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r1059": {
   "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"
  },
  "r1060": {
   "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"
  },
  "r1061": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r1062": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r1063": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r1064": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r1065": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r1066": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r1067": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-16"
  },
  "r1068": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-21"
  },
  "r1069": {
   "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"
  },
  "r1070": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r1071": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r1072": {
   "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"
  },
  "r1073": {
   "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"
  },
  "r1074": {
   "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"
  },
  "r1075": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r1076": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r1077": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "48",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-48"
  },
  "r1078": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "49",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-49"
  },
  "r1079": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r1080": {
   "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"
  },
  "r1081": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482955/340-10-05-5"
  },
  "r1082": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482955/340-10-05-5"
  },
  "r1083": {
   "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"
  },
  "r1084": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482640/350-30-55-40"
  },
  "r1085": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r1086": {
   "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"
  },
  "r1087": {
   "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"
  },
  "r1088": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69E"
  },
  "r1089": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69F"
  },
  "r1090": {
   "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"
  },
  "r1091": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r1092": {
   "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"
  },
  "r1093": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r1094": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r1095": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r1096": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r1097": {
   "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"
  },
  "r1098": {
   "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"
  },
  "r1099": {
   "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"
  },
  "r1100": {
   "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"
  },
  "r1101": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480482/715-20-55-18"
  },
  "r1102": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-11"
  },
  "r1103": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-11"
  },
  "r1104": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-11"
  },
  "r1105": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-6"
  },
  "r1106": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-6"
  },
  "r1107": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-6"
  },
  "r1108": {
   "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"
  },
  "r1109": {
   "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"
  },
  "r1110": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "720",
   "SubTopic": "35",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483385/720-35-55-1"
  },
  "r1111": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "217",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-217"
  },
  "r1112": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "231",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-231"
  },
  "r1113": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "100",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100"
  },
  "r1114": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "100",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100"
  },
  "r1115": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "101",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-101"
  },
  "r1116": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "102",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-102"
  },
  "r1117": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "103",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-103"
  },
  "r1118": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r1119": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r1120": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r1121": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482949/835-30-55-8"
  },
  "r1122": {
   "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"
  },
  "r1123": {
   "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"
  },
  "r1124": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-17"
  },
  "r1125": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-21"
  },
  "r1126": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-29"
  },
  "r1127": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-3"
  },
  "r1128": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-2"
  },
  "r1129": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-4"
  },
  "r1130": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-5"
  },
  "r1131": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-6"
  },
  "r1132": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479401/944-30-55-2"
  },
  "r1133": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r1134": {
   "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"
  },
  "r1135": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r1136": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r1137": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r1138": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9E"
  },
  "r1139": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-18"
  },
  "r1140": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r1141": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r1142": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477439/946-210-55-1"
  },
  "r1143": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1"
  },
  "r1144": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r1145": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r1146": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r1147": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r1148": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-10"
  },
  "r1149": {
   "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/2147479168/946-830-55-11"
  },
  "r1150": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-12"
  },
  "r1151": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r1152": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r1153": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r1154": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r1155": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r1156": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r1157": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r1158": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r1159": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r1160": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r1161": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r1162": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r1163": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r1164": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r1165": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r1166": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r1167": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r1168": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r1169": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r1170": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r1171": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r1172": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r1173": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r1174": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r1175": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r1176": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r1177": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r1178": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r1179": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r1180": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r1181": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r1182": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r1183": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r1184": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r1185": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r1186": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r1187": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r1188": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r1189": {
   "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"
  },
  "r1190": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r1191": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r1192": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r1193": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r1194": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Subclause": "ii"
  },
  "r1195": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "i"
  },
  "r1196": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "ii"
  },
  "r1197": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "iii"
  },
  "r1198": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "iv"
  },
  "r1199": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "v"
  },
  "r1200": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "vi"
  },
  "r1201": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r1202": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r1203": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r1204": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r1205": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r1206": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r1207": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r1208": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r1209": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r1210": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r1211": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w"
  },
  "r1212": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r1213": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r1214": {
   "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"
  },
  "r1215": {
   "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"
  },
  "r1216": {
   "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"
  },
  "r1217": {
   "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"
  },
  "r1218": {
   "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"
  },
  "r1219": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r1220": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r1221": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r1222": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r1223": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r1224": {
   "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"
  },
  "r1225": {
   "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"
  },
  "r1226": {
   "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"
  },
  "r1227": {
   "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"
  },
  "r1228": {
   "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"
  },
  "r1229": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r1230": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r1231": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r1232": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r1233": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r1234": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "D"
  },
  "r1235": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r1236": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Number": "229",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1"
  },
  "r1237": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "A",
   "Number": "229"
  },
  "r1238": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Number": "229"
  },
  "r1239": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Subclause": "i",
   "Number": "229"
  },
  "r1240": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r1241": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r1242": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483014/272-10-45-3"
  },
  "r1243": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-11"
  },
  "r1244": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12"
  },
  "r1245": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r1246": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "SubTopic": "10",
   "Topic": "250",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r1247": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "SubTopic": "10",
   "Topic": "250",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r1248": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "250",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11"
  },
  "r1249": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "250",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11"
  },
  "r1250": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r1251": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "SubTopic": "825",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B"
  },
  "r1252": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r1253": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(3)",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r1254": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "SubTopic": "10",
   "Topic": "250",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-3"
  },
  "r1255": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(1)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r1256": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "250",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7"
  },
  "r1257": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "250",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7"
  },
  "r1258": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "SubTopic": "10",
   "Topic": "250",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-8"
  },
  "r1259": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "SubTopic": "10",
   "Topic": "250",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-9"
  },
  "r1260": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12",
   "Paragraph": "Column A",
   "Subparagraph": "(ii)",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r1261": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12A",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r1262": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12B",
   "Paragraph": "Column A",
   "Subparagraph": "(b)",
   "Footnote": "1",
   "Publisher": "SEC"
  },
  "r1263": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "14",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r1264": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 5",
   "Section": "Y",
   "Paragraph": "Question 2",
   "Publisher": "SEC"
  },
  "r1265": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/210/tableOfContent"
  },
  "r1266": {
   "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"
  },
  "r1267": {
   "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(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r1268": {
   "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(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r1269": {
   "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(26)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r1270": {
   "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"
  },
  "r1271": {
   "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"
  },
  "r1272": {
   "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"
  },
  "r1273": {
   "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"
  },
  "r1274": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r1275": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r1276": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r1277": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14"
  },
  "r1278": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-17"
  },
  "r1279": {
   "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"
  },
  "r1280": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r1281": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r1282": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(f))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r1283": {
   "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"
  },
  "r1284": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r1285": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r1286": {
   "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"
  },
  "r1287": {
   "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"
  },
  "r1288": {
   "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"
  },
  "r1289": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-12"
  },
  "r1290": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6"
  },
  "r1291": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "55",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-55"
  },
  "r1292": {
   "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"
  },
  "r1293": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r1294": {
   "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"
  },
  "r1295": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r1296": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r1297": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r1298": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r1299": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "34",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-34"
  },
  "r1300": {
   "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"
  },
  "r1301": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1302": {
   "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"
  },
  "r1303": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1304": {
   "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"
  },
  "r1305": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r1306": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r1307": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1308": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r1309": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483032/340-10-45-1"
  },
  "r1310": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-20/tableOfContent"
  },
  "r1311": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r1312": {
   "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"
  },
  "r1313": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r1314": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r1315": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r1316": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r1317": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r1318": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r1319": {
   "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"
  },
  "r1320": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1A"
  },
  "r1321": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-2"
  },
  "r1322": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-30/tableOfContent"
  },
  "r1323": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1"
  },
  "r1324": {
   "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"
  },
  "r1325": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r1326": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r1327": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r1328": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1329": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1330": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r1331": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1332": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r1333": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r1334": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r1335": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482190/360-10-35-3"
  },
  "r1336": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/405-30/tableOfContent"
  },
  "r1337": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r1338": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r1339": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r1340": {
   "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"
  },
  "r1341": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482047/420-10-45-3"
  },
  "r1342": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/450/tableOfContent"
  },
  "r1343": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1344": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1345": {
   "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"
  },
  "r1346": {
   "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"
  },
  "r1347": {
   "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"
  },
  "r1348": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r1349": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "505",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-4"
  },
  "r1350": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-10"
  },
  "r1351": {
   "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"
  },
  "r1352": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r1353": {
   "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"
  },
  "r1354": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(n)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r1355": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480606/715-80-35-1"
  },
  "r1356": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-11"
  },
  "r1357": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-9"
  },
  "r1358": {
   "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"
  },
  "r1359": {
   "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"
  },
  "r1360": {
   "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"
  },
  "r1361": {
   "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"
  },
  "r1362": {
   "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"
  },
  "r1363": {
   "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"
  },
  "r1364": {
   "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"
  },
  "r1365": {
   "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"
  },
  "r1366": {
   "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"
  },
  "r1367": {
   "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"
  },
  "r1368": {
   "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"
  },
  "r1369": {
   "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"
  },
  "r1370": {
   "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"
  },
  "r1371": {
   "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"
  },
  "r1372": {
   "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"
  },
  "r1373": {
   "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"
  },
  "r1374": {
   "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"
  },
  "r1375": {
   "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"
  },
  "r1376": {
   "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"
  },
  "r1377": {
   "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"
  },
  "r1378": {
   "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"
  },
  "r1379": {
   "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"
  },
  "r1380": {
   "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"
  },
  "r1381": {
   "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"
  },
  "r1382": {
   "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"
  },
  "r1383": {
   "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"
  },
  "r1384": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1385": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1386": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r1387": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r1388": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15"
  },
  "r1389": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2"
  },
  "r1390": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-3"
  },
  "r1391": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-6"
  },
  "r1392": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r1393": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1394": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482659/740-20-45-11"
  },
  "r1395": {
   "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"
  },
  "r1396": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1397": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1398": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1399": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1400": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1401": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1402": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1403": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1404": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1405": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1406": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1407": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1408": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r1409": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r1410": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r1411": {
   "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"
  },
  "r1412": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "230",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1"
  },
  "r1413": {
   "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"
  },
  "r1414": {
   "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"
  },
  "r1415": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-1A"
  },
  "r1416": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2"
  },
  "r1417": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-3"
  },
  "r1418": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482900/835-30-50-1"
  },
  "r1419": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3"
  },
  "r1420": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r1421": {
   "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"
  },
  "r1422": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r1423": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1424": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r1425": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r1426": {
   "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"
  },
  "r1427": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-3"
  },
  "r1428": {
   "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"
  },
  "r1429": {
   "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"
  },
  "r1430": {
   "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"
  },
  "r1431": {
   "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"
  },
  "r1432": {
   "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"
  },
  "r1433": {
   "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"
  },
  "r1434": {
   "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"
  },
  "r1435": {
   "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"
  },
  "r1436": {
   "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/2147479532/912-730-25-1"
  },
  "r1437": {
   "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/2147477268/942-320-50-2"
  },
  "r1438": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r1439": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r1440": {
   "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"
  },
  "r1441": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3"
  },
  "r1442": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3"
  },
  "r1443": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3"
  },
  "r1444": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r1445": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r1446": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4C"
  },
  "r1447": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4D"
  },
  "r1448": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4G",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4G"
  },
  "r1449": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r1450": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r1451": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r1452": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r1453": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1454": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1455": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1456": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1457": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1458": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1459": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1460": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1461": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1462": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1463": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1464": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1465": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1466": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1467": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r1468": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r1469": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r1470": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r1471": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r1472": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4"
  },
  "r1473": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r1474": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r1475": {
   "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/2147477271/946-320-S99-1"
  },
  "r1476": {
   "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/2147477271/946-320-S99-2"
  },
  "r1477": {
   "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/2147477271/946-320-S99-3"
  },
  "r1478": {
   "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/2147477271/946-320-S99-6"
  },
  "r1479": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>125
<FILENAME>0000950170-24-127842-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0000950170-24-127842-xbrl.zip
M4$L#!!0    ( +Q@<EGP^[38KF@% .1.3P 1    <F=E;BTR,#(S,3(S,2YH
M=&WLO5N74TF2)OH^OX+A//3,FF.)WR]T5<XBN50SG0DL(+NGSTLM<W=ST%2$
M%"TI2&)^_3&3 @@"$@1((5= K:P@0GMK;]_;S,T^N__E?[X^/KKQBN:+R6SZ
MUW_2/ZE_ND'3.FN3Z8N__M.=9W<?/ORG__GS?_G+?P6X<>_!PT<W'M$?-^[4
MY>05W9LLZM%L<3JG&__MV6___<;#Z=%D2C?^]R]/?[UQ;U9/CVFZO $W7BZ7
M)[=OW?KCCS]^:GTR7<R.3I=\K\5/=79\ZP; ^<7OS@GE\QOW<$DW;AME'&@-
M.CW7^K;-MY7Y*45K_X=2MY6Z\+79R=E\\N+E\L9_J__]AGR+[SV=TM$1G=UX
M,)GBM$[PZ,:S-W?]?WF9]:<;=XZ.;CR5KRUN/*4%S5]1^VE]T9=+?A_\3J:+
MO]Z\L/0_[$^S^8M;.N=\Z[6<<W-]TNW797[4)F_/E3]79QJEPJWUP?=.77[T
M5+\^=7GQU,E["[AXMKW%[W')CT9OSN<W_X]/G"Z'"R[>GO[Z@_/?>SXY^N;4
MR>L_NZZ690C)A>)O3I_.IH^8\O-)_?C7VG)^:WEV0K?X1)BNSWR[JL7D8VOB
M)]"W_O=OOSZK+^D8X?*CGR[@!>+)VV]V7)35]\X/W!*F>',RWQ[D]HO/K(Z_
M8T!9L/K--^OL=+J<G[U/O075GU[,7MTZ/_C>K2:OE\#'W[O1F_/?O;=;RSE.
M%WTV/UYQO[Q6#RI=N#'5!HO3\O$;GQ]\[\:+^?+#E\$?OG?2Z7+^I_R2;_'1
MMV^,)A^_-1]X_WD7,V=T_!33KL^X\&!_^E#O79F83\S'MHU1M^CUDJ:+23DB
MH!4[K5[C LQ/ZLW7YR]H^MZJYG1R-'DA4FY^LI)"?"6KS;M7SJ3[^&-\BF["
M, 9TN/GS?[GQEY>$C?^]\9?E9'E$/VL%_WKKSE]NK?^2SX]IB2O1"/2?IY-7
M?[UY=S;E)UG"<V:_FS?J^J^_WESR ]Y:R9M;<MU;YQ?^2YFULQN+Y=D1_?7F
M,<Y?3*:W;^#I<O9?)\<GLSEOD.4_GV 3*7[[1CIY_<^R;GA)(O)NW]#_?'.U
MB#9Y]>8:;;(X.<(SV;_$1_\R>7U;;D7S]:^3UFBZ^O7=!K\Q8?H]^+M2W6G,
M#1!5!6=;!2Q108W&A9)#C)IW^!2/Y2XTN7U_RF_A["X_W1R/'DX;O?Y7.CM_
MXM?+I]3Y7?R=R-5L+4(N/H)3V0&&HL (T95&;U2_^;/B_T6K3#1_N?7>TOYD
MI3Y5HUL#XZT'UYV'8F,#FXQKRE.N_>U*F0=O/YI-GYX>D5;%ZSOS^?/Y\739
M'ASAB\NKM;G:[FT&BJ;P*X@:L(<(*71,4?M0O;UY8\TL?[W)W'6[3UY3@XY'
M+)-_?B#_;/0$R?N*H2K FAJXT T49$594['&D++-XR>>X$Z;G2QIOX^@@^K\
MUCT$(J9L;AZ2YHT3,S6C8LQ%^XOL<O=T/F=>><!@ X_^@W!^?]H$(GP5Q[SW
M (VO L=\D9?0\.SFS]JPU-WH&;JA8KT*H!LR&7S.S/PY@3.N1]>ULEY??(8W
M:&C]$$_X2K/V@#];?!W;/_B/S9BE=?[/=="5MZ.+E5?)K, _*(58LJY67626
MT3C%%Z=:C@Y,;QF<8U67@G*0//5(N80L%/WX^@?8JY1*#)@JI%8"WRAT2#&S
MW FVZFI,1_L>H]]A#FDK+OG(JK^<N]>K7LY/>='R\T_6_&".=06[SQ?MG*+.
M;QI-,>"2TI!$MH?66W(FU!3><O8YOKI]=W9\/%G*RA=WIDWT&&L=UJX3^H"_
M;>N6)6V&YBL_1L/,EP\:.H60/9J>3+IYXW0Z67_A][___NP>*^7%Y/9T<L3*
M4)[FUI\L'75WAIJ"$F7IVA(3-B$4%;)&U[/SZAN6CKUJ5A$$6>4.KK0 A9@Y
MF9H8F\FN6O>U2^^A$+-%A$J==RK+0<BN\UU8CK32C(W975[ZX^5+FO\ZP3(Y
MFBQYO2SJZUI4?L [N?-NYU=M$O*+J4+3JCOX5GD;L8XN77_MRA76WAIO2ELB
M7SN0X>VI"4KVB4T)&VK^EI>^2W[172E4C%:2;_RJ?;>0C*U@^-J-14(VI7S#
MTD.S5E&H$+3MLND+I)P2- 8@)H<68FM?NW2BGHT*CN$+\FO1K$V1GP6B;C4C
M-K=Z+5^]]%TR3,O)VJP*KU7)-NH!<G(%1(95GPII[)>7_F0^JT1M\6 ^.WZ"
M9ZMG>#";KW; N8D_?;'R2:QVP@>4,$FSX"+PR(SJ/+(4#5B!M4C3#/N\59M3
MXGT9GV,-/E&&&%@VN\KRH*3 3.IB5):A#LO+CSS-"<V79T^.&*0S*>XS_C^1
M9_I]0?WTZ-=)IWNTJ//)B;RVQ_TYS8_OO[5R[K\S<CYX3H<LL 4<JD*L[UE'
M%.T29!-SJ&B3"WCSYT]9R?_/NR4\>\E6!,W7MW_<?R5<T./YG<6"EK\O1>2<
M_4;'A>8;J<(L8BS'SDA;&*HSOQ8C_)I"U;;9T,P'\FV#UW3Y!>1,U@2#8#O+
M(2=OH:PVN DZM(3,=_7FST_L9O )O?95LS7>0A5]PO 0HV(@TJDX?IL^H-G&
MHFLK->L(W6?!DO)N/.^/$KW)G;P.16^^:+Z60F0!G USN&N,;G+U!4*D%%NM
M)JH/]/=7+)I\PUI<!-59;+)$"(QR^,]>BW+%=);+9?-%%UM84Y?(.U(S)!.E
MG2QS"R,^W6+6)6#\0/V=T/0YOA:#X/+B:NVY9:NAFA4Z9Q%3"HLOEHVE>$:5
MC8' ST;I+/Y")3^T_##RPVZT8M=RX;4Y4*@9]E/J@/P60#FC57.%K8$/=,>G
M5LRLR8O3(@5%BW8F/VL/8)#+V"*C9^VZ6G&ZL?&R;[UOML^I$X.#2HN?_R+N
MO=N+E3>-%W!CY>Z[+6ZOO]Y<3(Y/CL2UMOKLY5S6)_X3>.,B^>GUHHDTO'7I
MFJL_%[/3^>JOE?OR]OE#KM[9W;\GU1-#[@J:L9GL)U&(@055;YHA@R-">_/-
M5VGE)'CSUZ3)WWU"\QNK9=-'G6IW'_[K^RZ!RU]^<[D%O1#V7O_9^&:O3XXF
M=;)<2[0;;7(LPG8VO:@\^2G%82%R]^ED\8]?SG[A!W]YC/-_W'D]6=S\^<V9
MS_"(%D_I%4U/Z1$MWPC)C][IYS=+?+N@6Q][^I.5O?AV\4N<+\4 _EE(PAS#
M_[V]SMMC;U]C>W?JN7W[_I$W?[^YR:WW2/<GE-3,W@R1('39I0SR(!7&W,FE
MWGNV7>4P*B4?3NOLF)XM^=GEF[_.ZHJFEXA(1\S_+_Y&4U:U1RP2[[3CR72R
M6#' *[K_FK?R@A;7E+BE6,-FE$J"(KR)K*MS8G,SA^2HQ9C[J,1]2U918<LS
MAKPGL^D*\;Y'WCNUGAZ?'O&Y;84AY;PYO92KO:(U@WR&M)]=T6*^O/V4%F_6
ML[Z_?/B,Y0@R-9[,Z=5D=KHX.GM*XK"E=DVYJ7>J;%6)3F9%R4(_-\/:TOB2
MDDJ8?!V5F^Y163Z<\J8_?4="T86W'T_IR6PR7?Y_-)_)_Y_07+0#*XE7C*,$
MI3^CZ60V?S1;TN+>*3W_@X^>K7_>%P_\MW+76WX7D"X 798J@8.+BSQ=2IQ,
M(@#/_U@MD_]YSAJ=5LNZGMQF4@FJ:XC=,?K5C0 +6T"-3,=F"K8VG.P2H< (
MO)W6Y>/Y,YJ_FM2+9+S[DHU>7,Y>S/'DY=GYB=>5>EEK%1.4UB0R@!Y2+ 6P
M]<*V-(94U*ZIM\&;6L>?E_+P^OV'?W/DJQ[>>:L52EBD5S$#65 2V_*J6)_(
M=\U8:S36?6M LN'XB&V="VS[;#FK_WB\\F P?'JX0L^L7.7,[?/N.XJP,;8]
MBK#IS2K*L+TB@2HV(2&MXH:FFA9B\LD-J[I^.5U,IK18W*D,A!:3=PAW19PG
MLZ.S8SI^=F=;>N@!@^,E_<H$9E+S"W\A.G#E*UK\<O8;_I_9_.X1+BZAL.=S
M;"1LLVMI9C:79F:+TLS'%&LS4&MF]NFH&/G4+)Y48Y157O5RF.QS1]RL38#R
M+K<R"U>508>M;.6 T:6:H 8M#NW&2H6R$?627>RZ=9='I<6?>N=^.7N'^-X1
M;G(DB&^GA+%;E+$!6PVL\+ GB8P:@L)&)M_ :S35H;+#RM@-C<VGM$3>3.T^
MSJ=,F<\)NQ^6Y::L$[L/+K!1V;)D![0&N>0*)L16:@F]H3]PUI&0W6RZ@E([
MW=!FBQM:LBLDFI&MDUA;)TBD&,LR>N\Y^&##L%KO+BY>2FB4_Q&ZO,*C#TGR
M&].)$<W\'[1\<#IMW[R;WR(HG,S_#8].Z9>SM[_^"S\-SNO+LU_I%1V]OXZW
M)SV<GK"AOSI#'PR3H#:!M2YTBEF0-;.+41YRRLGU8+,9U];Y-#1Z<$2ORV2V
M.%M\'AWM%EW?$XY@Y-">4WTYG1W-7IRM\]VOIS*0^*%+C!>K.*TSKP%S9&.P
M,\#P/IO6AXTM79G3^MOVO]KB_B^A6&);W1;1WTJB"]3Y-VNMQZ :$8Y*K3M_
MX+Q=<K4*')M/*E-FI:M9ASRA^2H7;UII]='OO(.W@OR>2P+YX_YPVB:O)NT4
MCRXLX]%L>O\UU5-QM!R, 5!1*\L 3C4Q %K24+3/S!G>)>N8*QR-Q@I"A[78
M/5TL>=O-%Q=]*WWR?VF^8R&K-Q>R>HM"MG;'((ZE:J8.CHPXQ#33*I-RC8+2
M;EC$O1:0S_'UG=/ER]F<EW8IXBM"F#>NQ(./_M?I?+)HDU7:VL%LI*9JS9WA
ME$E!@+=D5R@+7O.O22-622,:DSB'@JG>[/>G=+2N,GHY.=D!GMH5@_@4"^-M
M0ZNDC>@@12_)2]WV2+UD.G2(](6NE@/U*[=<3&;9ZWQF"UNU#HRB M1,D;QK
MMJDV*AT/.Z)^_W5]R9*"3:IU/)T7_8C9[1J'TQLS5$5)89> ;)$\\, W2"&4
M;IU2U(<+I[]3^*\8E<N7/O22__[L^9QP<3H_^V5R=/2,(?-\E3A^,/X34K:K
MHJ"RX&8YP&@LZQ@@& ;1)?G@^[#Y=UL*+>U6T5_WT"1EW[ON@*LL:]L*%,\J
MA$*-S:OLL0SGI/U,FLRJ1(3).,6CL^6D+JYWHDPWNE<QFBFBE*(YR$UUT-AL
MUMYI<ZB9";],9IWA/AMBCY;'%T[9JS20RCI&G,0&XHLYK7#HX:B*7JDEB7<[
M7\$E%Z X_M-@=RV8FI0SH[+*RJW&FYBU\_3%W=E"HM_GS5HNJHQ:Z4@JHJC=
MHY,YU0ENDV,VRA>7Q3WNJ]3_:REPLLZ]=AN@U9K7+1Y*BQ6T)Q.U5=[KX13&
MQESTYL3[QR='LS-B2X-M#O'<'HIEGW6/I7L-L7:VYR7N@<T@Y-1<2S&IT(?U
MRVVVQQ]@794<\L%5[./^Z\E23MY:^/5'5<CG>,ST%I/X?E>]&*PE*,$GQHV.
MT6+K+;CA), 0F3*[4>O9FFI5+N!U+>!<L5"JXC^S8L$<2PSA^T* ![JK;$3>
M.$UZX3AP4JR=#$/Z[G)*4>N"ZB =+!_/I#F<S45&6D*!4\P4K$)Y<WDVE+&0
MTFQQZ4K#;:[/F\=+XG=R16;Q?MP:V?;HH_0BH96.J@ZPA@XA,4R5\O>BTFAT
MV[MG_$ %I\O%8JT0O)-.#^@@!;9*6"DVK:3!4QPVF/6]UV;L2&@[2MG6!EE)
MMP[;&)M:K2"P$*_!UX!MV/CW".G (VQJKWS.BMB.756>9^FCPVHXQV9-=MVD
M<=-"?U2>7\4>#]IU- 0M(4HC)PM9\Y_6LIJG4IK/P^8-'H+4OQI']PA(,5BK
M?3;0M8ZB+#(C?*I@/2)SE8X]#5</-L2^'H%V*70E'9)8/S1P3G<H4CS62%LV
MT[0W?LB,T8];9Q>J_.3H]=3KV;:0I>.O-.%;=V4(+D"*E?&Z#3WIX2BV=[ML
M<^3QB8RE9Z?E;2/!Y]*O?-V*\6!R%G..E ,+YKQ*:C6L\),-$6S'KBKFK+4;
MC7,.<J^O)AUL9Z]OTH)Q+(I]5:7UVX-;P>N25OA.H__&X.WX]/A@=BFFFE*N
MH#-O4+'3(!?6R+Q#0_'-M1R&S4C];94'N$)4JTK*#PE]^8PG<][0_S:3#/"+
M75"_58Q+,><JYKBJUYO\Y^E%.?Z;O.^[.#^:/9NLS,>K2G X+V]:=3/D'<&/
MS7KP%UQ0>].'=UO+N,<,]VH51WVG;J71XL562&]Z%HN673#UYUM]$1=*<"_0
M_,&<F!;3>JE>Y.W)%TY=/)5,TOD!M5_(1=O:B:]86&0[S 524@BYM<*V=NXJ
M#XO,#J5HY H+<7?%)#9'&PR@EX[=*B,D[17XZ(HU'BOV857Z <!WANB3-L'Y
MF:2//>[K"M+/0OC=,X]VVV$>)*LQ,1BH&IPMTMA:._ZS!P8)#;W]X=,=Q\%:
M2B+>T#)]PH/+1*P*O)/TA!X:&UUIW(*/'P#J^P%07V54X>N#,JI*S;WX!#Z+
MX$2G 5/DO:Y-YET8>G/#QCH.*)MR/Y7TN::>BBE  J2<#A82HVW(6 J3%DT9
MK^O!IQI@_+[*!6/]=[(C]^((7NR-YG2,2;.-/%MKN^ETSC8.R^,'D]?RC\P*
M>MS[I-(EA]</MU<F[UUI+)Q)["(4NUF[ JVK;KNV.NJ=MRO>-;1M;658X]$3
MG+#->Q=/)DL\.A0XBRJ59+*":J),#U,RX:M%2,6&&A7_'-<9?4@)@9?WE]I*
MTU94;(J(':(C\OY**4%QDN,>/=LBY%*SPY6U?#1(OR:;F(9WVO\Y7>=,'TQ>
M'6H52>9C$M4D*>HRX*\;8/B9G<=:T[CM)K:>5[?QG3_MG/R-EC2=O<)_F1U)
ML]X[Y5H")K2\>9,/,A2KRFA(F2&3 E!*5&/BO6V&!;D?F??T863H;[2>RC"I
M'YR^+3[Z_-RIM9/PPM"IQ=]FL[;8_>BI_63_H%-4?$%0F,1RDO$0KA$P,F>;
M*5JT=LC,K;>BZ!W3O.G=)X?OGPI"WR'7_.#>(41BJ"UDS3+0JBJ#)#L46]BD
M;.2HEY[,R)6ZR\G:32=6Y(?\]&3]!3FXN$==^G QL?F7K85*WE_!,];EB]G\
MX\ZE![,Y35Y,=S-N9  '$L80G)-J[X!*!D9Z\0Y&B#IUCZ;QW8;U#HX;D[M*
MG\0(TBA*VP!'@"2Y6AH;Y%0\1-=C,J$Z-I)'9:(12F9VXU;"9!JIU"$V+<,-
M^$?AS0Y=V129/)[BL&ZET<P>K4"9#7?5Q5._:5<EC]98@NQ; :?8XL%L,I2*
M6+K+-8=A=]7V<FJV0[LKEX@I\#MUG0$9&Q:NLD;-VG>HL8:8++_P.!SM]J:T
M]H1\4HE*:88Z0<0C(VHHN5@9)9VB8Y)U.RSRN>#^8X#ZB/ZX4^OL=!63?S*?
M3?G7NHZ#?Y!@<G[6,QGHB?.V^/VD\0N4KOPJ'(PG4?J'F\!7M.*-U]4R9L4*
M5F&Q46=O<-CDDMTT(-YL;W^LYNOBAV^9ZG 03JO*-@U4 X(C9H2B4P&TSOAN
M@HSO&)415JV_)7EGSI;'A8J:7\XN'KE<[S&9ULD)'CW^8[J=P.GJ0M)]_*(7
MY82JV%1;R'<]_-@LHC*Y)2E#:22*W$!"QY:R<S8V$T(>KS_2F!U.]^3F+=J1
ME6:561D90F_%S2N>#E/9-*6@S*'KBJOKYK GH%9TK=7(& II'BY^JH**6-V;
M5K!$ZFHX+#W4_--M0J]2C4;RDJHB/S1"28$M'#9)2[&,(N-P=93?WK]&P@R2
MO[1Q,YLM\<?5M;#;$;>T8&*T"="7S$#=>_XM,UPC[:.EU%0>5OANE'HJ#49E
ML")3Z+PZ9R6NUQFGUU.?-@I>-0LYBZO7^2:=4U@*Z(Y:VZI3'JY]Y\X3V\=!
MJV0JB^$&6CN4!KX>2F!5V9K.2H:&MS1LX[K1,@E'V&SD='2,?#KO-G!F54^3
M%-3$6\TKW[P?;CS'/A/7AB!9]*O1-F75\C.JR)9'0ZBA4B9L1H_I^/V$O;BB
MV[4>@X%4T5D=@7>8$,TBI-X+8"RQJD[4T\#9%(<RVV"?8&E/?-55T181F@Z.
M^<JPY5H[7]T[B]GJY&A8OOI.'=5#<$W5GI4%,&3K,I0G0*'H(-B*L9GLJMVY
MC;T_D[$W-#)F)KG4)-<WLR8M4;P,NII2JZ9A'0SCYB-MTN+KMUF3Y_^*F837
M ^)?ZE7PV<W^[M1OV>S,W*Y&BJ"Q6K;84($$IJ$[[TNGTG(>+K[P1<[-7X]V
MZ]QD&>VW)'N*3=5;].";]N 2^G6EM,HQ8/&:%?:PM-AY./$P=6FQV2'&!)X-
M,PG_)$@I!"!??%3!4<'AU,GG^_X]G9WAT6<[AAVF 5U<<Y1E_TEW%Z=-@6QE
M/HTWNC HJ"4,6^QSR*66V^G24X+7'4L HZ5#*]O.4&33Q<2ONW?;BSGT(K_]
MH)/]A%Y+Z*151TA8Q#'"/S#8#CH6Y0R&XMR0WJS#[MC"MHXEP@!!][P>PY>]
M:1![:"K&''L>UFUP"-WIK["1W@@*-9$VW3A ):5B5#MDQKF@$GFG6E0T;KN1
M3[;B8HQ4L*QZI_X["?T8Y,YIP7<X;P=U!;[-M>6,T]..YR[87YG][[\^P=55
MMN,.^YH$NLUWT#B]MKZ?.&W)*)U$,G2=6,([S(!9QN!:I(S:!Y>^D]*<W4KZ
MNZ>+)6_>^<H&EOWX<G)R,.U22RZN^!:@D6\,OD*%3#E+)5!V-:FN\K""^Q!@
MP->E=GT;>VS14\[LT4SV@2UCMK=<L$HFED6(D:WDT'NLXXV>N8J@Y8$ZJG(O
M2OL*WLJ\T,*ZH?2*0,E%2UK'KH>M1OH1_?TX29$I9WR!U*T5WR.;T9Z!MTTM
M^&Y-L&Y8);]SDFY95,@,X>ER-C^[NORB?3%5PJ("0H_$4M^K"(DP20L0<MEI
M2N/V4!\MI6!/<PRW"1%K-J51@TC-RI <#1E[@TX])JT[Z3J<B%D[Y 22G8/S
MQ46[[ORS1Z?RM<?3778RNM1!Z%*1K)BUQ&8H \D=KN$C$\_/W\"7]E(Z4.=4
M+5&K'D&MG5,V EHJ8(U7%GM-9=S:G@N>D[>__@M?453BV:^B$/_$>;*:_K-8
MG6$/1M(T$[-/&032@'.I0PF%(*@4<_8E=3VL,7K8>3GW7]>7X@'\BL2<<<*"
MS?F:G(:J)8YD&T&NW4,L(6B=>FA^6.[97PG?Y0!@!ATVD<^73OTF^=R2\XDM
M%Q5C8\))GSDM\:A6<U+*LS08SLEP^$7GA:+22C/(UXU!OG()DHFK'DZH0F\U
MCO?6O\D5]X3Y<]>MC+=*GQ1U<P@V>J9/8?,>2PX0?,[9H/5*'VB =B\5IQJT
M!I.W19D:G.7+,<&=U9E%E2V VL>:(_46AZN8VJUY/-"FR4U9U2$FE(&N6@%Z
M7<&@CE:G0NB&+0:^BPOQ<LD_0IQ7>/2.+FN[=7W";TPP%G+S?]#RP>FT'0QM
MJK::BO>@3!>%$UG-,U$@^MITBIU<'1:?W:-.\SDUV2]\;.VGG,\% ,B5_GVR
M?/EPVB:O)NT4CY[,V QXV_WUO*WL8FV'/^X?O=0[(I\WHY78\WQ23N4HL_&_
M7MO>L%7W+!FRD"QE<6!G2<5$OD%*V71-S?](Q;P&-M\ 91#5U-B*D\G/5G!N
M%3^0=U LZXF &/JX?476L9+G^/K.Z9)I.GF39K]N=4GM?"K92KT?C$*P):=:
M#$1=)051*4BBK)D\UC3E?>_#XJB1TH<&B!A5;QG[I@[!)I0F+$$:*3G(/H02
MK*[&VU%)N?FX,5'9ITN:_PO.VQ\XEQ&9SV9]*;^N+[^+3+S#2BNN49&16DJ-
M0?.>9D;(G2+8FK$V%VNG84'>5WD5'LU$,I_0DNZ\F!-M$A3>DAE]95[!_41M
M:C36Y5X@%\WF@@SVQ6(SI*@*!JK)XK BY<=(DU&MC5BZ*Z6L6]RXKA-@=D;*
MOZD4'TMMPSG5/M,YY>[+^>P8EVM>.KO6?39K<DJ57 %--N"":I")H6,J1M>$
MK>8R;/[:G]J*!Q5CJZGJ$%0$UN19&C)F&<<ADUQ"JHHR6U'#4F#3TKM:3U=#
MUZFMFA+)>7-Z*5<3L"]FV*X=U5L#8V@S[PG9J>(-#:Q,B[4*B/=);!F]+<,E
M/GQF_-@J;69^=OO9_>MF02$F4RA#*]'+D.T$V1CIKY=]-"UY-9YL^WP1^?G1
MG637[:/?VYYXHZJ8%!8ICN4?.K%A[?CJGE*)M81DZG"\L>=*GJ'KK/?%159U
M2AU2CQ)_*02YA0Z^&Q.M"UZ3&96+_A0]K;SKXFI__I*M[V=BPSQ@/7WN<,<7
MM)'/_<'L= >M27;D86%-@39$*&S+@"O8V2YV3%"3"[_[HEL?UL,RVJ[<$>RJ
MA9K,U"K>,ETJFRE%)0N)H@]919_[L/TIOOMBZ)T[^#=>P8!%TQ<NOLHOOMS=
M[=)AR1Z9G2[O318KV/[TD&)3E;HAU\"VK-C0S45:D'LHAGIW.NN&PX6E]S9;
M;4_>H-ISRU9#-=C ^1Z@%-U!W$#%^^*:'[(N90/K]O=GUPU[MAX=F0*5;19P
MUO).BJI"T5DE=-(B9#B_ZR&5F7]%%.K;1.T6:\Q%TOH<#!C$*@WH-2!5!]TE
MIYUR9-NP@/93.7MOE>:7Y>M]#3[XZM(@?3#ZN&LTIB%@( 37B[A 3(/:&B:3
M6G9VYTSRI0^O EBUG8=/!3%KR"13Q7*MO$,*@O6)6JB^)S6L_V>8A.,!M& S
MR;AL$K0<+;@4A)U]8>S2NDPJ2F[<OM-W_L!YNX3W5V7SD\IFX&HP' O")S3O
ML_DQ3BNM/OJ===GUC$4VVZQ+L4*OA6F)RD#I2*":9Z5EF[2H/!!:OOGX_O')
MT>R,UI1[?+(-6U;P[O/)\H@>]W?YT>\%/Z?W7[.5*G;VH:BBYC2R#([KR72.
ME(.4:H*,BGSLH:2\\ZC:3N6=LMO:(\X6+%2!-+]]AXZ@\-N#G(LGC]Y&-9P1
M?8@=R*X&_8^@0+V.Y&R R-8DFY&JL!F)&8SV2)8_Q#@L0PV<B[4O8IJ2LS<R
M6%MZBR4#N<H0Y$PE%B?!JF'MOD]+AP=']+I,9HNSQ1;&6Q]<^[EMJEH?,55I
M/>/5JB>A ;05P=3:<LK:.CLLR/ID).4W><R[.#^:/9NLDHVV&#?8*&N8V>$=
ME_Z(F>P@9G+XN?PM2OJ8"]!D7HES3D%21K'RK2YT'RCH83L$/'U;?REE'1_:
M.D_67Y"#B_.2R_-"S6VQXOLK>';"[#Z;?[S'W8/9G"8OIE=0X[DG6SFQ52RM
MARU6!4[F-*-##;VT3"VK:.HAP;8K3>7_3,1(#C^:S9<O[QPS02I^!Y4#>T*K
MV0?3+*,0FR0_,UHH:#PTWY3*C@+AL,)PR,X"6XP@-<RE6$R074QL203I+%#9
M-E2.J@U!-3-<)/A[ZBRP)ZU3'$83,H1(#AQ*CX%*'<CDAC8'8_2P6N>0O$^[
M-"M'$/P,4KJWC<&+9NEO5O[+G*!U[[ 65YT:-IMOL[[&#["N<OKXX"J=_O[K
MR5).WII=N%&C9[GCX[X"%->3CVI12!XA*&?8F@H(15L/Y$.0=@?6A6$!Q ]Q
MM%,[NT7-G"&#6GH#IS)!R=+XS?H8O.N!QLT7_LK$_&N7E=]:TZH5!<HV!AN\
MG2%3JF"R=L66P)AT6 BZ@R2F<>A"O(<*ZVP?>5NY%-@J"!$A:U2-M*X5AZ/+
M!B;__5-I6K)#8_]'NX(1VA4T2J2;5Z!;]N!ZBY!9FH ..O&_WO0T;,+0@<S2
MVJ8;HGOC(GDP3A >M@XIJ  !2VDM.Q7SSJ-5!\+7O3@BYN9>& &[YA/D6@-D
MY5ISNL5.932^'K$-QWZH1\IJY4,2!ZAE2X;5:<JM0JW\OE-QK%EW;LE\N0M*
MJZMW03' 4%X;)S6V&5RI&@IC?8@A^!PPQ]9W7G+[9>+0@3(7VKI_BS@D:V.K
MU4*JNC+T:AH2,B1.KIIB5'3>CR .+SR\VIXN(-N3Z9V%O_-2U& K2SBMV<3S
MV#"Z1&'88NOM6OO#F +D6HF)Q4 F+S5(B@!9X0"U$&NR/O0RG"GP'2:3['X:
M\?>4IC+0[NN^%NFWIJ0"4+*F"Y8LUK@ML345QBNH'50@,I Q6R&)MR[4WJ$A
M,HXKB8G3G840T+1>8W5UV#%_6VJ-^<.:_01WN*8R!B@&.]MHA)"1L6NM/:AD
M=<8X["B%#8O.^//CV715[K)3JFP35_H8JW8=%/)V=9&-YF*ET- 29=V<*WHX
MR_F:-/'1&53<&AF;Q(XCJ-Y9](82(#7^L]>B7&'#(9EAR3AXO^S#FL)% 9%M
M9"/Q"<TZF$W$W)@E3.D]Z]!:V;V1O!.CY(IZ!7U/6'[C)7UAFYX+I'K<GYW6
MRKCJ</9/J=H$!YU9'$3] 7HETP>40UUK37I8##MN2?5^,F0HFIJ\);#!LBR,
M0>(GY*7N)W;M%=-Z6,3Y(\5I1<!L0ZH%LFHD];X("36O)1=69DUCS,.BFCU4
M](U@I0S!-46ZF2"4UC.+<&+^::V"+U%%E7-J8;@NU==C MCYX"_^9V5X7<WD
MK[VP6 K&AD#0J#9PM;%@"IZO'FHN.<72R[#MQZZL;?UFUM;E+MR7/WS;BOM@
M$&3VL5BJ4&(JTLA%BD>4AQI#LTD'_G18U#&NTOJ>&FM33HE9Q4#WMC):E=;]
MA=B0#[W[5)FW_'"PYRJKDT=(6<E$U9G"9J)C@Z*6 JG5#&@[=MMK5.U P_%[
M&::]S3!#[K%DZ>&RFMA<F3M2U1U\JY&R"Z6,U\[\FBI"-&QEYP8:&1\Y&SVD
M3!U"+CZ+95?JL.,X=UOH=*!JJ6 .)COPN'*B4(3L5>(;V$PZ:F7*<&KI$ N.
M[DDCU=D)M94;?'8T>W'V5"RXP_&AEAZM]/G(-:V:419 9WCW8RFN1 I]7 /\
M&[LB'0R)R)+67H%B$2W%@]))3R=0P7>7J;@X;KQP=V[NC13UG[2?7%71O&D]
M^;CW2?UL.'(@;G U6XML9O@H!8,.,!0%1G(-E$9OU,Y-U@/1@1TQ5>0K2N6M
M*RU"*28"L7PCT\@V-RSNWYMO\=OASGOS)C]+ZG>G?@NIN\::?:U@&,>R(1%D
MZDZ4D?)1N] (?1RNBO8S-24/)D?GQ7#7>JQK9Z$5E6E@O=1-%=N9<K4!ZS0;
M<ZO-M>%20W_4:(Y7H[DO[@TAIQRA8B^2P4,L<ISX,PH:],KE,"PTVXEKZ3I:
M6UMT>'7?*LF,5VHFL+5E"Z2B+* G'U2*.HPWZ/7KW"SB7KD"5\MN,'8/71O-
M^HC?893J-<=DR@J:#][%JJ-QP[9K.8"H]*>C2.=L=)XK][C?Y^NTMNI=Q@N5
M2VUG/,$F0?+?9DW(T<Z#Y?P*'[',O)I8^5YP-/-CRHX@A,AHS'L-)9$&,MI;
MI*1-&C:C[M/Z[/G\E'X_64FA>U17%Q&#^;N(C.XG[-8CAMY# )4EN*/5:G"1
M!1-5[2WD'.IPP9WMCGT[4$R;5,Q>0G&MR<#Q++YA)*#4=.XZF^2'RY?YTZ#<
M,U9QR,_^9$ZO)K/3Q='94SIA>4_M6H9]>M)!\[Z#9#H#%[0!2C110JNJLSVM
M/*;1:'= P&44I' 9];Y3_M^$>A-O^^#$F)4JW<#&2:ZN@L(BKM20R^Y;V'PM
M\QQ(B>8V;914BG*(T)J,HY*A\"CCY2JV$#)+<._';0^UA>F5]F!L_E3)A6 @
MV%R94!AY6UD#L5%7X@?P=*"8>K!1-]>W#7'/(8:*TD7(\EYOD:#P-@=CF[2"
M<XJ!]J@L=$B1K!T) )3WRH3SWK  T+JS(20^X]8U(<N"WH?S)OUY<.I"); <
MW5E>^?>&W$NPJA4VL]C"XBVN%: J%5JLB#'UKLJP>3B'W =XFX7]O5JD&C++
MY2I]OS(#Z&P:^!Z;D<FA)0V;1#E8#>.>7%8UQ-12XRLF!2[J"L6W!I2*ZJ%$
MAV.Z/M:PZ-R:>6^VR_EGCT[E:ZQQKRX2?*$V:7:Z+G2GR2ODS7ZE4?$W;^!+
M8^('JD48)%)D+5(\90E<&4"?%8LAYY2S+G2W<PET(%[.6IPVGL!$B^!<;Y";
MRI!9T^K:T*4X;$/ 0YKL(>L2LYY7<1Z]7T5)7LN0HAU,_1YA#S;=JI-9=T$W
MMO=-XMW(%IM!QOF!,BH<%LE]1ZTFO\<F,N,X+UN3DJ\*,CH/G.^!3>(:@8T=
M$WO*)OOA'!J?R==\]+=?'QZ?8%U^+BJX,5_\.IN^D&C#DU.6G[@@Z04Q6565
M_7)VEZ73B]G\['%_R-+WS1EM$]E[8<#<-96_K717"^A4I+]\C)"CM>!=[2;K
M$+,=3OY^WMWR=':&1\NSG;A;UNXXP0CO"A>OJ2.5JHO!2P>(+HUHNX5B,TK;
MJ&31J*C]L*CODW!KK:!Q>MKQ'!?^ROJ481:NKK(U;3E"V[<!FZ[M'T1\1VW?
M.E'-)CI062J@8H^02/H7FUQBJ*U1'G837ZJ'>\^B>U<2MZI_>_KL]]U3Q.2M
M4*0G$V-V$)MEL>I3AE14!'3*M8+>\.>C4F0S8_KA]!5?E@'73C7D;O:+,JI%
MZRS8U0CK5!T#HL342:HI'8O2XR:=CY&(QT@E@'G[8)_V1K]WZK> %26I :D7
M\*N9%=TTP% SF(Y9)V-JK\,!V1^) [O?S:DKS 9ZE5)'1K/2/=I#0ZM4<ZGK
M,*3I_)F"N4>S^?+EG6-^$14/AQ35&XP)8B;I_20%QM9E-CS)6C%#,0Z7X3Q>
MO'T_H3[EJ9!)E84K*7"F2^<W1*C&)F>"\[8-1[O1FD(-$,91(6+0VH$K4N.O
MO)7.:PZZ"^@Q4R<_+/(\R)$( SAQ5*#F:S/@FY*2\5@!55"@4JZ8DRUHAMVZ
M5];0\T!)&ZW&;@VTG@7<4&8K)1>@*O(Z^!#4L*;*AJ1]2DMDZ=WNXWS*%N=N
M<:?>(MB)*173"E\N6R:-9=P9BP-#I586P=6KX1HU;*E1%*O2C>V$+2GQ@QVT
MJ)+ST?L&BLU3<-0T&ZVV@O*A,FUM5^-%7T;JR;ZCS8L:>9M6:-2<3,H(4$I!
MT$I35+G8/FY.PH^ZL'UOZ=I22Q3 5N_!909=2+V!KUD[WUVMXWIWOTKRKR#7
MY=,/AEI-^AJ'!$TGZ79<&V"M" 5C;H2H20U+K0O.]0>\;^F/\^11UH!/YK,I
M_UK7 ;R/IICR62S!IPWG;?'[26-9OFJ)%W9O^#)8WJA3PZ53OPDIM]I01P=)
M>2T->R.49A"H(9N]SC>B88-@,CQ.L-3%EE&B3==]/1AM/5SEZHK)RV<>S,8C
MW:UM\7P CF[20EF4>#,NND*HPW!E/F.%6?9C<VK-VLUFF77JG/0.3!).9KJE
MU)KC;9;#L#MI%SU/#M.?RP:H8OT6H%-"-D]-AIRSALXVJHT8'/GA.D!^>3'%
MQ<YZG^^I]]D%?+)VY$F?_-]OG])Y$,4:^V)9U@S$5I@G7=A4SH5Q=2(P/5+W
MU -CEU%9]@",LM.RF+0)SL]DTSSNZU[3[Q9Z_W5]*7FPS^<X76"]@@C)?EIZ
M:8L,#LE#]4Z"E%5#2H%-N.BK=9V-!!Q6,![$H/>#;TJI;7.Z> .MALX<4@R4
MD*0S)245O ^M#MM)Y ";F%Y1UYD!@K/:ZY(S*SATG1G+L5A+B15<4*A<3+ZD
M<2VBPZMIOTCP=56[SAL0_/*IWT9PT[JN#8HOTCI.=(U"!.JI>M5T3.-.$3H
M1#-6>&*+KA/M:S&Z(]0LS2\D@:/HZIDQ<RLZZAK#<#[+SY2#K7S(5]2Y?T_F
M2V1<:94,[&7+Q577H32E('67=7$:\[@95'=Q(55Q\H]LIE=L(7RPCW[CS<5*
M?/X/6CXXG;;#@7-)LZ!%!=TSIG,RVPF52L#4TBGZY&H>+D%TMSD4&^WE?57%
M[4BBIJ("9LM;,FM@Y%5AE;QA?"#TKC1,/YA@'"88P0V>&MED67Z38W%NBX82
M0X;N6G#*U:#<L%;@ON>C;#>__5L>>Y1Q+'N")%E[WU2#%(P#UQB28/ =,B:#
M.:CF\K 3OX;OIK(ODKJ0,HLE)3Y,Z6($Z&('3RVJTIQ28<B67$-HDGV1#+LO
M;,TYS,2[,"/DJ"W4X%4OB5(8-Z[QV6K0-R?>/SXYFIVM'4!S&5RY+:$^O!S8
M$SQ!&T*N41)<5DPE^2[.2.9_CZ4:[<NPOL2]I_J.0+]BL!4IVJ#6P057(76R
M@*0SI>2#/E3Z;9H=L_'MOM,H5#%=BR>)U81,+(^L-5IB[*9=5+;I&.NPH_2N
MK*KGZZ#'Y0_?XH_K*6F((49ET)&H2_\GDP%;0O A-F^LH)!A"U6>R-30^?),
M\AX%>@@_K53[18-V74)_.F<I<3JG!Y/7\H\4J:PG6;_]SOHV6^$H291XQTN_
MX>O)\>GQP?C""&/M+4,)D:%#3 $P^0@U>DW1I>S[@0Y@^%+HL%L5M(_ ]KY$
M##:#*D'(8N%4UH/8C8-D8G.)8G5V6!&SH@ZU)_RBSB[D/C%=+QZYW.M_,JV3
M$SQZ_,?TLQ+E0(U6(C366W Y9"8I)<C*)S"4O(LM5&V'=1WMH=G*"+'HRX+
M@8Z;"8+W3OT6KN&KU:*85XA" ">ERMEX,6VJB8%_^''G/X]8KZRVI_6-HIQT
M]I"T. ZE34L)F8D4@E7DFLHX7#QC&,?A?M2JT;6$56,_6[TTO*I0JB'02%;U
MZDH:+Q'Q,VD@#R9'Y_&9:YT+8DST%/C.C:TKEH/: VM3@E*\JIVU:7/#RL&#
M;,.R&Q^,L2H@-@>!-QS+S!H@ZX90LM+&6^GN."RNW<AT?MO&EEY.ZDZFV.S&
MA#4V.*5, B]CZ%VMK,P,H].,RMH4V+P=+PIVP"G:5]05<*L[-[J:4H-B([(
M=AK0!F2+U#HL#5U+PU5Y;+\5W3=HZR_KLWZ@^,IIKR)?,4:MF4FZ@YRD<V'W
MCK(T3];#X:M#=(1=82QF!*[R:(IF6=-3E4E*9"!A<.!S1UM;,L8,JYNV//5N
MX_N.U'1Z#!8JN=L$1CJ5.)V3Q/X4J%I:S-H'/VZGXZ>TG*P;ZPOR_!!J/EE_
M00XN[E$75\HO-.5?ME87\OX*GIW,IHO9_..L_& VI\F+Z6[::HS 2,DK%?AR
MSJQ"/9H!470KQ!R+3CWE-C C'43JT=7- -T3"V5,*VA$:+M$ XA!4B\0HM/*
M:A=;'%:='5[1XF5S^5W-^S=90YF(,2W#6TU-1D Q) D.^4^=J[9L3-<T*@VW
M%\PYT/V'-KN<*V29=>"H&D"=,T0OGU=DN@X;B+LTW64]%VXV?2.P[[&:KHSG
M+C2[.A@'5''%2CF(UM) ,O8,0B6H(5@;C8SD&58J;@:V[]1*1S*4B=H].F%"
M3;8ZGVDCW?J,CHYXC7]C?#C'(U[FG7;,!NAB%4)X1>?YO==4[Q9'JEN$Y$-A
MF6T59,9N0+7%I+0*3@V;I?-C;.H*<%S7L:D;+^D+A[!)2'UVNKPW6:SZ5S[E
MK7,P^J!F7Y 0@O&L#Y1Q,INH _$V;5E1H#1LH_:U*'Z.K^^<+E_.YI/+V4XK
M(<V;1F3TT?]BK;%HDTWZ0VV\ +[UD]6[OMBK#U__!^'<*&</A@<:6=U95_1D
M)?F%D5IA:O$-5E3+2HW;66HOG68W7MVF^>2MK40^'CW!27LXO8LGDR4>'4S,
MBGPW-A=03AIO^JB@J)R@D^7/=4QAW*#F 72+^413<NF-5^>3E05R,0=TY\!R
M'PWP#&7/%DJ#I&*3$4$RZ:E8H$BE,\QLI?X EM^(9,ZKR_]M=L3[X0OPS';,
MI]62SI? >GN]BE]D'OH3/-LD:G+(F'-G0'P<G$$E:.<#6$J,,YRO4/2JGMA5
M,LXIG8?#&:,D&NPI'9!*J]I9*-E&<&BD%7HV8%KRQ@1BS3]<'MEG$CGYT)*8
MBZ]W&B?55M@$$=]>842/3KK!9"9C9XB6HJTT7!^V T)D?]Z1^$*A#<MR&7NP
M-C\.)N!"9&P*"JR1N6W!,)1/%B$F(H6EU.B&Q5A[[;Y^N;)R,MV@LO);'FV<
MINO[Z4EK>K'*JPS5-\E\LQ:P2(L\:7Z5>\XE#)L#-YI;8("H@57=A$P=4I)(
MKP3JT76"J!"S-LY3&3;AXQH*GA\#)?8)WZS.IH?J(3#&!M>DAC4'#XIJZJT7
M%\?ML;*KS7"86LKJFIH,CW)*LM=R=8"JLCU%MO<<-=;Q,K4_8T ]^MNO#X]/
ML"ZWUB?GU]GTA3@XGYS.ZTM<D!0;3Y;KDI^[_.9?S.9GC_M#5IEOSFB;=-&Z
M,Y^+;-P-_!Z!MQSF9 )"34[ZH]@*V%':M8?JF*^4T\-*B0.L)7HT$]?E"2WI
MSHLYT54D<>^)KWPD[[N%:G5@P<4JJ&@J8%6JWEOG606-RE>?]+.S4"M8)D>\
MX'\G<0A0>S)GT3%=GGMWK\K%_1M.3SN>)S+]RAOA_NL37%WE1UK'+ESLA]_Z
MR/H><TP93.X)7&4QG[48O[WDEIQKI0V7"'O]FK';8)PQ+D%+/4@M@B3+M P]
MNJ2-:LK:X:KC-VAI??]42JX/)=O AD(M! 4AQ0P.M0),30'OB59"S\J58=73
MWGS;6XGX7[U3*%?;O<U T4@K^Z@9X88(*71,47LVD7<>QOB*-Z7V\*:*LJ2*
M ].-U&YBA)*#D1DNOL0DT:!A4W"V-!SP0%T]M:%-)8,M7:298<(AZWGG8M6A
M&7%DCT:XST=8JY!SBD=GRTF]WI%6V[IMRF=HOD8VPC%+T;2&3B%DCZ8GLW-@
MMC\\1":7%%D@:WX#SO0"1<9N^^2RB\%4U8<M\=F;T_X@_-Y[\CQ0(JR(D"++
M0>=6Q6/\)XO&%"CJ:/RP P=&B^GM:,=W76./"1!E,(O")L4]$7C_)Q>QFN2'
M\V=?BZ+:+1I03C538W3@E81:NVZ D4G*(KNTW".24Z/2<"._\;64C4[GJ%)N
M(/,7UFWU4?I$>>.:]\UI7X8#BL,VF=T3"0WC(5,-=*6DDZDND%0/C)YZP9B+
M"V$XN+3O.00[$H'&9,W0'&J7]B*5>#-)O])N58ZY65/2L"-/#R _<HB*E=TD
M2#H33'?,-"5B!U=$#$M_@YR#-2JZ&K\C,;PEM7WU@Y/$16<VD?Z73OTVZ<](
M2SGF%W()7%,R4]T6,"EW1Q6U,L.FUH[>/6\WQHZSQMND(U].>G%JYR"E9,$6
M,BUEYX(?MC9Z8'-TB[WAG6TJ-EW!!9NDQPP!:E,A&M+6HRU>#6?*C%6?LI]L
M7^=Y-T4;0"G+^"LP',::$Q1MT=@8&^+ ]2E#UNEM$QU['[UEPJ2P"B85#\GQ
MKNJ8,6FCHSOXF>/[G.#VU5V1QU&,/BGG>X?2@WB02H5,F4 74R7B&%H;TI#]
M3![$%8WVOM*)Y@<P8GQ/SAC?'#I2P#^8AS.OH9AFP=>HLG&$40W)PR/-*-D3
M> BIN- C$/D(3C4VQDDI)I]5I=M2:QRNC/P0NY]?3<+SCC14-,DV=-"LY=WM
M39$I< 5Z15*]J5+'-;:OO%?([NM7?W3].#!K8JM;L>7<J4!IV8!,KH"2707;
M CEM4M4XG!=EE*X?>U*PR>:&04'VB234R,*S% 36KS+[O>?8A[7_MI1,N%O-
MNJ^Y(GM"VBDS#]4&C,U8 &0=(<G,*Z-]1T,N>CMLSLCHY-V1 R@K2Q83!)3)
MZ[YKMI)< VN*"KX@MD,5 $]F1PPICI]]KG9U(%(D6[!W4"D&B4%8P*P,4*E9
M*QUX9PW7%^$SKI:U)'YRY^[!(!@TN=J00-4H!J<+D&.LT)RSI"U3QPW7!>N
M"VV_,^V(I2>J&GRRFC=X[( 1%;2>F@F:O/'#A;#V.*_\JSCJ31;U4UH;S(N7
MDY-KZALKH1NVMUAS,WYW5)(,O0G@;2Y>HRW5#YO8M)=6S@<J-$KVS16"H#0#
MM-PS8.#?#/IN0U1.IV$A]=Y:X0[BA/J>*O/'@7 %O6Z5H!G51<L60"P>2C!L
MYS1C4QI.R_[HP_.EPG@_)8"NU!C8$(!FE9,23N:M%!H4E(H8K G5L'UX#JD@
M?4>2H;)Y'7H"M(; )<-"P3:$'!)2R8S%Z[ )O1\;4[8:DC6I2VKKMK33QJ3K
ML_FQ#)A<??0[(^CK68SK*.MFB@)=:@)G4H12<@+"DK6UF?RX"9N'G=;__(_5
MVOB?50W=:BT'(P&HDM&)F$VDIE$[Z9V@(MCN2PG14(S#88,#=N]<D3&^(W<L
M==;V9*'W)D-E:X=LK(9 N3;E72,:5EO\,+R^'\-KXR5]/Y/N7*<0T2?P#-@9
MIE-?MV)5H417;/69ADT;NP3T/A@@OO$<VHV,SN>3I8PU>#AMDU>3=OI>J[#7
MS("RA1[WSN;H%0R2W@[QO4K&J1"@E1R <6*%E L!Z_U(+==4_+!R^R!2&I[/
ML=$C/-XQ[-NB*O=:*ZO8;$\RK-:YBOP;&WY6EV8;A6K4L#4HAQ)X.>044J^#
M]])PP<M 3(<RD2!8 R$@4D/;0AC6K7-E53 #42N68(J!GAWOYN0DWQ ;%"(*
M1A5MQQ7PGYUK_H&^9[@\%W_.M8QA>FM[(U?9"D<O7:"8BDTGT*JSS([=M#(L
M4'LX?47K&.9'>GGA0CSC\H]LRU=X=%#BT$KM7PF0B_28;X459VL6;#6>P7,J
MU0R7B/2%XO I+9'5:A,CAW?BX2 9%Z)!5*"*-(=NQ0$6<N 8X;H08B_CE>.]
M>^<K]?.$)<O9Q7X@OYQ=//+!<+5IG9S@T>,_IKLP008(\'O7,,:>P9N<P5E*
MP!L,@6%'JJ1<9^ Z*DD/K\_:"$K/1ZVR)="^R&S47B7'D GNBW6IQ6+L<*T/
M-\WS7&'+;=DA/PIJ/\O!^PF^^5 \5KZSQU4G8TV %#40E=:\=4T=4B^.=[IF
M=?1Z4BP&KW(MD"JC.5>S!L3@@!2I4+)3+?Y(\Q^2;FAU"0$J8SMPID5 U8E-
M7YMC=BW$]D-7_- 5(\/;B)F5183FI1.F],1,A0I02Z8F9(2;AO6][AG>;F[T
M?B)=X_[K^E)R\BY87+LT=G4&%4'GK1B[#"RJB#P6@6SL%A4@>9F-:8HJ)I!C
M$3@:ZVRUB>K!@)H]&5)%)]M*!2\IF:ZLLC&=AEZ[P8ZL,<UPQ5JC\<=U+F[W
MQ?2<NF(S11JXQAZE@:L%*LE@1IVC&5;U##(I9T^8H235>K(0E9&:%[$O9394
M=ZGVR/:FQ>$$_U4'3P^ DW;D J_8J;#MVK*6N12Z0>E.2G1]Z[E9PC"<\V&H
M>:$C#$X=,#WN^K?G\4TW;WR6QG<%7' >L'L-OIF0;;39J6$GQQU\I&$?HP)]
M8Z1#.D$+J,#I[!@@>P_&>5-55=;ZX0@^1$>);:HKTI1D"(BN:,&1ZI!]+I)5
M'D+-J2@S;/WN5:<CCM;)? 0',,E -).A61DEH#.S3TLRQHDAD$X8C!D6[7PV
MV6G%1I)',UW.YF<[G1(]@CG:E76L9&42C72P+PY2[QER-S9[5VMMPY)R$'-T
M/X0+JF/HC)9LI@K.5L9-#2M8:U2UC3?A>'[(O<^^W'VGT8U"/ON:JKDG3M4=
M<V/IDB2'F85-@ZRU!<*D*:J"*0P;YMU-YMYF?#I0[_XM0L]@D@XU$7B4;@4>
MI=2=Y1;UV+3RY*T:+KMVWT/H1MC$ABBE;,#'RF0K3D'I1>8M1ZV:[;'@CX;6
M7P50&'^^*YCYX<K:8?GK%]::7O Z/N[/3JL,E3\4KUI@P\RVQC@^2/YN0X)4
M7(.@J:7<*9(9KAQE@PDI]T_GLY.#J0D*MCDR58&V74+!P0(:-K"HZ>HQ.*/#
M<*&^48+W^XGQ!8<N*:88JD+@(MO%1;L$V<0<*MKDPK -7)[(UI@OSYX<,;^R
M4A'$NNI_]3$+Y%>6=?1R=M0>'I_,9Z\.JS(R>*V*P\3HD46:J\I#5E;ZEBKO
M&]O$M0QK^NZD8<JW>Q&U!I,WV6R73OVFS>9==,%XT(ZRM/FW4(K7;":FD(B"
M,FI82/GU->KBXU@P@3<N6-\NVCR@F'KP1241P6P9\EY7/@-63Y!=4S9IW5T8
M+LWXRSU<Y^UC!6\3XV-FHX-P16T$)-8;X?P.BXL!?<9QC*MW73^\)Q#A>R\8
M*^A4I5(ULT@SJLD J-9-P*;&310Z["YP;]**6;Q>G/-^E;T?MC/E/01?;<N!
M!5Y <!2<.,G8AHNMN>YB\CF-RD*?3"=Z2T4Z.F)+_V\T91O_B.EUIQVS2EVL
M!- KR2_BR^ZBE\L(\B%47[,KX'MELU %&1IM&\2B;6:1D6,9+@%B^XU?QK$F
MHNZA,; UTJ_#6>G<D<54MZ1K3B:SE3$J.38+9C/$H"/QI5&[1R=SJI.#RA +
M,>:6(E\NM@@N)PU9HP=C5/&U6F-Q.%_6EQ'H =:5F_'^ZXF<L*I!D]_E"]<S
M[2!$K+EA86N2F*;>)\B]=%!4E,M47*_#IAULI."$=(_[*GQ]/9585L6(TR4H
MOJ;SD1$*:0(VS#SIE$P8%Z'<HT[S.36)YO*Q-?7>-8G_]\GRY;O>@T^8D'-:
M3M:! 3;BJ$_$R!?H^;A_]%+O-C8?EK"PQ#7FDW(J1YW2_RHNNNNYK7/)G=D"
M7.]-H(UB-5HLE*J++JW5U(=UZ>PIU']HTV=VY.LI+>A0/)"V2MJG*<@Y)0E:
MN=JINX3#8N)O] 4>#(F:M8I"A:!9[+M@"R0A4=.MF1RDZO]P$C?VE$>S351,
M :,TW6J&:>(B=4B\X<%$UV,.QF4_7)WI0764W<?0MCUA.<G$ZSV!\:*UT7=Q
M6&9I/&JI-)=+'#;JR4!-,-;FY%V/BW@C?0]FM_?BG7)\193NAXB!,14RKV1K
M4^K>-3TLW#[ &1&[["8]PH9G4SL89,.[B/5-WO*&=PUR-,:[''4TPT4H/C.-
M;.4S.3]^/8D6E6<HG G(E<P0N3#^:B6!S)4+T7M?QW.#?76^_6&:O]$HEYIT
M,"M!LE-ZA!(+0K2QI-J[+V$X$NV\"?07J/*#"1SMB[U:]U5G:+$9<)9_E**C
MC&HV42?KL0Z73_B%WA49^3B;KN:);"_O^-"*M'?3N"H:8LL]%B"?E71;E*+-
MVB$JQHX80^IQ./M]N ;: Q3?1JNIFU(AA2R.5O10LO&" U2,6(WKPQG^&Z1V
M/YK-ER_OL+W-'Q^*2RS:X#RZ#C+?@;>43I!S"1!C<4EK%5T8=DL==J;/;[,F
MS]_.YS[RFA_QQM_1V,?+33,N9OE\5O6_._7;-GWNQN4,'@/)3(H(:*UGQ@LI
MMEBU4</F0FZJ^M<-$S:9#KOQK0>I$!<_#>BPF:)X[]1OXYE:4)&!*+YZ9Z2E
MN\8"M1?FFI!UTL,IBF_RVJQ\ )=//QA=XK7)U2'X+N:]#A9R\@:"\:@14_9U
M.)_,^Y;;<WQ]YW3)0GOR9F#&>2N-OG:@/R5QSL@6K,O'?36J=W:ZP&E[HT%F
MUQ.OQ:94: 5*U(U%M\U2-$L07:G!^VIB'S:_;']6VSB2>Q\LDU1#&;?2F_AG
M;6E03$'6]CF$$BTY/ZRA_U62^PF_J5VG9V]35J=F<I%9?$IBKXJW-./^!C[7
M4+L-ELJP:2Y[Z[WRHT/*G_-3UCTEM,"\$Z1G=(3<,(*-.;54,+3QXC$[[Z?U
MA>CCA]_X$^P5?3&Y0RBLI5Q.$1+%"L6S'&M=ZZ*&-03&*3A0#G3<BO;(R2F=
M&E0K#KR0"%)W"JPS39O4O-+#YKJ-G&ZQ306?FPFE6#!=IKDV)G]A$XPAO#,Q
M-#=BRZJ/Q5KQ]?6-M>86L4JS;2U5(8U_9"OAC&:\1J<BTVLT$GUJ2NNZ <Y'
M1[3R)[^QV<5[:_X/6CXXG;;#0<J9@L%2(-8LI,( 2;L*64FBB70M#,/*NKVJ
MGLL[[*+R^?0.>^_4;]IA12?61\AZBC>XBST!.E9;+ (CF6"]*H<W _0@HAMO
MZIBO)KRQFXS%6!/5WB7<+*#3RN3FKA34[AUY59UQPU5X_1@2-^:0N#TAC.9-
MMPS,C942MU@2E! RM-IZSJV'9+\#LVGC6U[5C)D#928VL[6*#1)+/K;!&605
M+!6B1Y_9$*^F#CLC_8>$&I:IK$V8/9@6O.2;:JFBEAN$'J//VO5ALP*^J%W=
MVX/?RDI7:23O"%=UWYI*"J@TQE4I9T"J#2BV'(KV:/.PL8<?J9AO:%A[4*&!
M2A+?$QJFI#5@Z:TJK5JJPUG%>W,O756UQ2G#EQ5]?O^[Y"!16UD"B\?]/"GQ
MWNSH".>+9R]Q_@[VK;H$T,5+/&+>9@TU>_N*C]=MA7^>+&;.Z'C[]V?WWJS@
MS:$W?W_T^_+A/9K.CB?3CUWV_*W(JA:?NNY[E[CU_NHOG/:1MW%R>N&!W[^M
M'/K433]RM<5_]N4'5SM=SF_+@2^]UNJI_V1MGW\E'[GBLS67?G#)-;!8'_S2
M2S(O?;C&]07ET!=>[AZ>_<G5Y,@77HQY\8-K;<BG'[G:NH1Z,GTA^^?C:WSO
ME$]??O+Z]OQ"Z>V-H\GT'T]G1^\+//G"3[/YBUM&*7MKSH=OR7DW;^"\SC]]
M\OD9MV2P(?39;#EEK7+SQG+VE/KBKS<?/'K^]ZZ"BTERLER7K$LJD)SU$'PP
M/=CHE,LW;_3Y[/C\.W\WGF+*_ T=G0-7L4F4+0&A*D%70U;K&P_^WHHR*7@V
M*'T.X PFEOVF /62*/GH=" YS95B"^MZUNM\?\(*:&N"JLF30AG#I&[>&N)5
ME5XMELQK2PVE_8>TXW4%M _:*88EU"Z_JEQCB"S;*5@&,N3RNE>(B5F'U+6J
M+O [2$&S;FPK-<F&D\K\1B-_(<9.6GKD56/DM%P489"F:HE?/)&%I+TH!./Y
MBPR1^BBO*NF@NHX)LLQ=<X+E<JP&0FJ].NL\^?#^J_(I]MR2/%Q/,D&E +*Z
M$YXAKU/)VF9^!]WSVW&Z@F_2'+DW!>@\OU&'BE^+MPH=G^9TT5$38PZ2OKN-
M84VJK4-)'G7(F=<A;[0'RJL2-FWI_V?O39O;1K)TX>_OKT#43$W+$02+X$Y[
M[HU@R99+W>5E)%75]/NE(@$D*;1!@(5%,OO7W[-D)A)<)%DK96$^3)<I$D@D
M3I[U.<^!'9WX7:2I"]PPF/FP1%]V!P/XVF0TZ4R"CG1[?9Q#1/[HL-=W>[V^
MF,A!V)UT4.)];S:3(,$NO#N0^'X_P/N-7-GI>S+HC6<3.=R7]R-#K/[-7'@,
M>*))?^A.!J.1.Y1]V$9X'%AP_?UXHW L?=CI63B"7WC! -XM[,&L,PL'P\EP
MTAD+V(/>&'2&Q'F'TA_AJ,N^ZW>[TL47([NC 7KO\#4Q A4P&WIN;PBA7=_O
M@<3[-#"Z!^>^)V8C/X"O>7XW[(#$(%$=*(=Q=P!" 0= C,8CY(0(QV/\6B#E
MK(-M/]T>,JM,>J!T>LA+.I*CWK [&G=&(5ZMXX^$F W< ;P*K'CB3<.^.Q[Z
MHC<#)=3O[,OY@<"VXX<35(A=V.VN!T<]' :(CIN%<H":L5M_/[W1I!?.A("-
M!Y'K!Z!-?%]@L#R>!9U.UP]"W/B.F/D!/*T[\)'": 3AM/#&0U<(.#C]\;#3
MH_,#>]$=RF#B#E![8='>'??"H0NG;^ 'D]%P-L&-[XZ]#@AUB,<<1P(C2WFW
MX[M#A(AYLQ#V?H:*:S;H3SR0G?X +MD7L$ 1PAGN@_1YW4'HC<,1'C.O&_J3
M[@R'*&$ZO8O=6Y/ E1Y"2/WAR._CH0U&LVXGZ*!0=/&2N#9XSRX8B\D8M$4H
MNMZ>O,:.$&(0A+X;CB:@!KL#'TZ#P)FDP="3O>Y(KA^SP ^\":H/KS,#&],3
MV+8.YAAIHF<S-#.AW).'Z\XZPN]U08"8NSJ ]S"1'DB6-^J%@V 0C/OUAPLG
MGC\:@HF;A""HH+;'[GC0AS!?>MUAMPN^0Q?/*=B^61_MW#! Y31 /3J#_>O-
M/%#?(%DC#V44#-XD -O@@@K!3N3A#-O%)N[0[TU$T!^%DTX'KS;T.X.P,W8]
M@:;(X_PD2%6_VP>7HSL*>K,]V5$0Z)F$(^Y.O+"'S:\3UP^#'IRIWFP\ 4>K
MX_?J.RK"/IS%,2JRW@3['WSDSQ5N,(/-F8A!/^SU4/.AW/AP3501:N-'<&0"
MKS_R!R,/K27NP4^T"7E:9H',^9_G4H04XD(@]7__/\?Y;_A?)R]6^*Q+$8;@
MY[I%NGS=:0^BY,V_W2@)Y=?7;N\-!&+N.4VR5G];IIRD5]M\(=_XZ5<WC_X-
MEWCMIQG<QH5/WH!7O=1WF$'\BE^1K[W.LGBS$-D<+DOW>T-_FXE%%*]>GT$0
MGSL?Y:5SDBY$HK_HIT61+N"[& 2[(H[FR>M8S@J\1[X4B;[-Y3E$*2Y\$LC7
MRTRZEYE8OK'N#;>^\FYPJ\LH+,Y?SZ+"I9@[P7O\UW^ &_3FOW_"6\$.+JU=
M-$^H'AP?R6L/EH43IJ4?RS?VWIK[/_E.].]K)VI[\ #/ACDUF:T_79#&:?;Z
M/SKT?V]V/^LERZV?QJ&]\3U\0;=Z_M\^'I^]>^N<GDW/WIWJ;=B+E3DO]Z6<
MOCO\[>3X[/C=J3/]^-9Y][^'OTP_OG_G''[Z\.'X]/3XT\?F3=WCHT]N_>1_
M"+#(R;Q(DY;SMGW8=KH=<"CO_^7<?H4[WXW:8U2UK_N='XU:5YM^GYK=F%!]
M92=/XRC4W\OHB7$-U[[G:XQ ]WD;@3U[NFOO]VSTZ=&GDP_.ME/Y35?_@5SQ
M)$VH2A %E'@%;[\S\,8B[+JA# <00V)N1_1"=SCN#R=^..S/>I,?'%7O /<8
M:U!2]H-)KR?<B8\Q<0?3$A -(*LZN.2>&'0[LQ^<1&"%*931Z[=I4&K$ZKYL
MJM=Q__'3U(A5;6O^[_.P3XT.;'3@B_!3#J:@/4+4(,['M.UXKYY\)Q[S/1<X
MV&O;F1=ED>J3B4O!>!_6CE]W8[%*RP(N_U6&;_A67J?3AA.J?A!@27J9R]>Y
M7 J<[U$_RW3M'_#^L(!,W_TBRB.>:OM:_UY]";X5FLVAV_5_M/,0ZADY$?'3
MCI],AM?]YK]_*K+U1:EDR 3V?.MKN80'=OU,BB^OZ?^[^,&69=>S+ATO2MX0
M="00L9(%^,NZDNU@ D9]E*FD#/WT";(MZT=MA\4':]^;# *) V6[V/W2=\>S
M2<\5G5""Z<>BP^B^+/XT24H1<^7V!V>69@M1_)\?(GB,7 :@(-+8%W&<%O"*
MOUW7[#Y%DU%_^.8:VTYIHR)\$C'@]_-0<G ;-;UK+Z<?/_XV_=4Y>??YT\F9
M\_FWD]/?IA_/G+-/#D3Y9Q#*.U[/^73B>(.#\)7SZ<@Y^^6=8R4 3/ _/3S#
M/WN37G_;&] '&_X7]=>#J_5;Y.A>M/$>WSYZ23.G.)?.+,KA"#DK*3('K+D,
MKXYHKK_A#O76Z<XZDTXP<X-!KP>J:D::K>/V!M*;=3K!<-2Y-_7VF5!A[Q@K
M5M-OKW&.AKN NYSCS]Q0K%Q\=%<F>_)>MD:43[68MS)@U&#/:UT3ZMY:,/I!
M-Q@/?:RB#G PXFCB^AU_YG:#OC?JB)XW'O3N2S".2-C_"2_\"#[)]^25(YKX
M.JNXTU@^S[3+[3?KT\D^'9#'3%(_M6UL IXFX+G/@&?BCWN3WJCGSH:#T.W/
M(/3Q0\3!#0(Q$CTY#"?>O:4X,Y%P.?XI@IY^$_3<1]!S=C+]>'I,T4T3^#2!
MSQT#G\*H!(>[2 AIY&S]OR+=*Z=CZ_^]8)\0R2JC')N:G*,(?!10KQBT/%#
MXO6&WJSKC]U9Z/?=_G D71&$:(/"R;@_'O=&" 2\F]UZ1ZU4^##\+'NRT7 W
MU^L/!\-'*] ]@&O>U.?VL(IO/4KG=L=2S#K@-P[@, ['<,3$;.).!O[$A9/5
M"?SQ>.:'P?T<RQ,Y)Y;!I,!Y8O=Z-*]]^%TO$ARB7X_?O_OH''XZ^?QHI_/6
MR_UT,CU[$,#9K5?TW.%FMU>4!^^^BJ @*7?2F9,9Z79$[N1+&=!8!B=*G*C(
MG>!<9+#X5XVJ?R&J_C%#FF&3KWH]@+M=FW_:DN::M"?7IKJN2%N-ORUMM?F>
MK\Q=W#AQ\<#IJNN<C_'N=)4WFPPF?8&TH7T<J3OLN&("OD(P[ 1=;S22@_X]
MN?W(?IPM4R;%(<J"0QP(GZT.TU!N9JYH%O8R2R_P.O=2Q]I=#HK%I4!^@+MG
ML[X#B1B/N_WN<-QW1R*$0' PF;E^"('@;.*'DV$WE&%PY\H52\29^'JLB#Z8
M"?O>HL*=D5[?[8ZZD][XNE!O6]+LN:F7\=[Y=3M]-5('3IHY*1(6.O\JLR@/
M(YK! LZ;_5+N]SG157K4)XUL)4@/G,U%$OV;_OWJ,57-,Y*.X_9)^[3MJ'FN
MV7<D#G7UAWC3K3+P7#70/IBS<#CI]&9^UPV[P0R[9GUW D;-'?EB-)AU)^+>
M\IK3,,R0R9+_Y]<HD=X#BD[?<T[E"H3FM,BD+%K.SW$X;SM>RSDMX;H.^/<W
ML''W_-)N=(!N]-H&0]CGR43 :T/N#XE#W\6XYXZ&X[$'+VWFS?Q[?6V'\)^?
MLK/T\B%=S3]$7)R+Q>/EF?%5[EC+M="GW2^G,^IT1\.^YPK1'6"+.X8/_L3U
M?#D4L_ZHXPW">WTYY!]\RCY#.  6]#Z2D[MVY<-U73JWM,U\0)Z7ZAQT_6 X
M1&Z(F4=CO,<X_V/HCOLS.>R/1Z.^+^[U-7].(>J+__]H22'A X8!7; #302P
M3SZ>D@!,U2XS../14L2._"J#$DDFX&-PDF3>>,C;=P^.C(-GYDKO\1M!'_M6
M1[]M"<DD_O_K/\9=;_0F=PH9R^5YFD@GH81#RP&!BTN4"D? 6065%LK7SL'U
M]O$6!;UN7\Q&X^[([0KD%_,]#_Q1T)>C$5C5B9AX8%?OJE31EYG"@]R3&KW[
M2QB-O4?U>6ZSQJVUGSN_[O%(#/L^>$DR&/:Q?NNY?B\,W+'LCF:R@V1LW;N^
M;APD%W]&@7X(6,5MJU?=0<?M>)[G?,.;_Z;M;JICSP<(\30R> KN0Q85$7R9
MZ[\RDZ&S++.\Q$)PD4((S4E&KWO@OT+G S%TTZ!XO3]ZZ>E+^,^QO#EYU.IF
M;]SNW *1W_7:H]L413OM[AUKHKX(OLRSM$Q"5TGUC/[O46.9W3%Q7;%VB%*-
M5*NC3]\.E_W>4-\/[[2?145,T!0I@G,GP)$S#Y9C>!'[F0GRX$]7"_C>P9UC
MQ9>]FQ\5;HJ$4ZHQ;PY82K@L?%*9TYOF2^Y#X]RCAGGH-W1CF- WT$X^?-:Q
M>?YG\/R/8-H?_* ]4J?>^*I.O2'.$Y_T>Z[O>R%S=$_D3+J]P=#K#</9;#*6
M=PW-502R\KH^V?O[:\'#[A"J_J7!EP?(K=C'86<!"9QIYT+$I73^$YOQL./(
MH6DF#W9LM[SY)RV>7"5?_@"GG85#-^ATAVY_,@!9F02^ZW?ZG;'L]OV9-[ZK
M?"FGAWV>^Q.ND_?O/CYV'>PYO=I^K]/O>[.>.Y(X1Z$[ZKEBU@%%"HJC,Q2]
MCM>[\ZO5JD//V*6NC V8)+IFMT5([O2DSZ7S4>2A^,MY'Z>^B)U3&<N@<'BN
M]RT*9X_5;_KT^8MGUV#Q&*FU>2VUYGQ,$_D,\FM-(OFFLDZKPID!2?&ZU^[_
M>,6^W"&S?)=&_#M)R'$2(D)/.O[*"<YE\,6!57YQ(A9IJ[,HRAWA7,HX=K\D
MZ24L4HH<9#V$/^0EUAE%[H1R%B7<>'12QM+I=P;Z<%AG"LY)V^I^OM>2U&P8
M"MGQ<1Z'P,D<DY$["8:A.\3Y+N-PXOO#.U<@&=;Q!VS%/W G3M5&'-,^/,4[
M=/X)7WLP/_FVBU+D@>A"?4P=1]%JM)]N0<T)O_:$)VD!G_Q51FCPP,[-L#<_
M(_Z5?+L!["'0V_R+*#PJ<XC'G(13O_V'.O9^7PP"OR?=&0Z([P]EUYV,>H'K
M#;N=4;<C/.G?.=SE8_][&I=)(3+J],]NRT=V-T'^F.[=8=>GO3G>3WZ\Z71?
MGDOJ-ED[X@?>*^<<##6>Z] 1<6P.MWWJ?:F^ )>L'_3: ;=,NH[C\-#CGY&C
MQPGAK\F<O@K/&TBJ8'A=A[@<<^< K@<1GY.7P;F3GZ?8HZQY78IS4:RO_5+D
MF[J)?JR>X17X($GH''3Y&7V(&^'O_K\PNH/OTU?A1[@*=1WDF<II$;1(D1?.
MI..$8I6WG8=258.Q)\*A'+G#H3]Q^Z- NN..UW>[$&W#"0IZ_G!P/ZKJL,PR
M>$ S[16!QK=F4+R3C#;^2:/ OM4_V:'!\&3#H5Y$10%J@%(W69I@$BY>.?)"
M9BOG&&-'$1"V]JTH!#,,K2FXZAJV6V-'+2=R7O*T/>?4/7,.,$P<O>GVNFT3
MUD1$KK!$<H6'UG:\7J/$9/[JX504J">O+[J^.QMVD==<X)C+4<_UA _:9N '
M8?>>L/'6J\(WI336$ZFHO=-0C8IZEBJ*,B4Q/(9T1!" BD)45DBG%M,DR=9/
M(?1*W*U_R!>@V^ NF;;C</(6L ,K=,C@:N#%X([-G7F67A;G^J]M\,\D+8VR
M,D2;1RT("!7O=M[L6B#]V7NCOW;M%W8N3W\/?3+UW1U+U=_4:2,/5$]7>YFV
M:[D'DG_K.X^>+6/Q-SWF;0L.ZP_Y3*E@O&%[<BU^<?-GPQN@'K= +.'1QK?X
M6?O:']U?4]AW@[;873"5PNN/.X,>TMCAF&F<#]Z5 S<<];U.V)UY]X"UJ-@E
MLT,0VWF:K;;42^E+I*4#]:7[+)W^NMUB[$=/Z7TUM-U2 =YT@LZ+WHSI3M%Y
MT=NR3CC^(,VY#P\OW<_-_;C-K6[D;HO<W=-5:[36+WAW3W?%1<^5;.'6_M&D
M'XR&<N"Y8B #MS^>#-Q)/PS<CO3[@Z$<CN7PGEAJ:,]_+O,HD7F^QP,C'E.M
MZW]3\-1I;QE(\9T<N&_6.\W.O"R-_&Y[]NG%Z>.!\&?]\6SF>CB[I]\//->?
M#7UWTA-^OSL(A_V[CV]C?:QW_#UM^"'O]S/0RULAO=][CGMV13(9641NB"+"
M AV5Y<#91CA1D3IESHEH>$J:5[EMD$N:T;WB%=[\,H);8X8[@66GZ$-=1#DY
M[XE(@DC$F(5 @EW\<EZ()!19F#O(J!N%NZ"ZO0/Q:FM2>0M(J2FW/)]RBX5G
M4<XVMG)BU4$4A42J97S]( G(A0^W%7/"?1C&')'GX"W23'0E'7(VDU233!1K
M$_XRPE)E J*'Z\S2V$G!$%@26?GY);R8"A/7[_0M^H53D?D"+NM^^AK+%<%E
M#KR!\UO[M'W8=D;=(7(UO,('KYY2H<_]&#2X)?>S*%MPZ1BV?BGP2W!4"(T;
MTHI%&4:%6E?[@4K%XU$XG$PZ/3 $/OCVO<[ '4]Z _#R.]U!;S89C8([4QD>
M![-LBL^29M/JC1[%8G[OIN3NLGOCD=DOZD#/G+P"BX&H?BMER4[[8^N$ZBP2
MOSJ#N])-F"OQ83%*G7^F(&$SZ@/"CX(TRZ1F:":SF&4($DOQJ%U$:9G'*WW2
MMMWUP>#MHA.,9N%@[$Y&8VR[Z\-Q"P9]U^N$TA>RU^O?G3FTFKR;G!:+XAT^
M^J'9D(UCQ]4V>(XXORT?U]T/W+5>WJ,OJ_$:]LQK(, $*H,4O%$^S]4QUTK)
M4AQD60T""UV+("5X&7@0\2J/V#%(L%,)/ 77%^B@H@LKDYQ=#D2!P9\(1FON
M;JNBO^4;+)!9;@/),G"D+U!GF9LK=]G6F5<(6K?GS;H/>/(($-?OM+W.6]<#
MC=V^.TQB?3%_.Y7S5#J_'2OND[^U<H@=P-9GT>P;*BK-0;@2K92?RS@VN**#
M+:U<-4P.6.17N\*FAVGK\@8BZ,^$V^ETP89U ]\5W0!L&!PQ.93C\6AP3XC$
M4]R);9F*I[9SIL/BL3D'O_/3@@WA8CZ'$X%'9D%=X(KX04G[14KQ%D:4"-)3
M_PR8HP(-1+%R0&I(SQ.*;X8N)5P-8TN\R-_+1#J]3LL!R>NUZ)HQ]AKXJE*!
M'0>;UL$$J(LT)PL ZP6WD[(D$K,KX%*G"3J@>0#>YU\E37EK$7+X/^\F#'=(
MNJGC>T2H7M@?10P[&TBOYX=N&'3&;G\T!H,Y"_NN[ T#SX?S&W8VSF\P\T2W
M&PHXM5*XX-CVW4F_&[I!&(IQ=QQ.^CUO\_Q^ICCY*$Y%\0-$XA%?[;<_?SM]
M^P,HM2!:P '^/S]TZF<[*1=NF!:N^L(/_W?8FO2\UK@_:G6Z8WW2]$,U7N7+
M4@_,I(PGE A@M@25YJPJK9 C<XV3E@4E)TE[T*^.I)_!.5TYWI"T09^/ZYZ=
M5F_2Z75'_L0=SB8SM]\;890Y&KO^)/1\OS<,^[/-@JWG=09>M^_BW!&W[V-1
M8>0)=S0<#B9#,1F%L^Z6%B7:+N+Y.:6M_51M6>WX\L;;)_CXX]$U9W@P:(U&
M7JLS&C0'>/, A]'%O;EGDW#<\0(<0#;Q>VX_""<@*[VN"Z]],N@$WFPH[NR>
MZ;1$7LW:D^'/*[B:S"2$86=PZ9]C$*0?' D&<8FJ*2OES8IPWPDGL-DCQ]XD
MY^>58[9I/[E)GI,YN=]=^%1FSF<L'*CN#+0KG[/TZ\HYU;D(TZ"*[J,S39(2
MW+T/4I(;"C\AS7D.R\'LP?Z\7\RH1+88@GN<:3'$<DKJ? :7U3D^/C;==-RK
M>B<E^8!"NA%P@0YM9O+N9R-&K]L>WH)^NCMN3V[14M$;MWO7WJVAK=X7BK"=
M '6N,CI'6%H]WDK_V^SE-^XE4OLU&WD/&XF34-!->"+:W =4+?O,AAF(_F3B
M!S-W..F&;M^;0&@SZL[<0<_OC;W1Q.OUAG<-;=0;1JUS'-X?_JW?W8_6K/UX
MD9.ND+#O/3?HCN%%]B8S>"FCONO[G4[0%>/1I#^YIQ=);*;W!UO-DKQP_DLL
MEF^<?\(9GCN__OJY>;,6UW5_V!L.!,X:@W?3'XN>.PZ[?7A?O4!,1G(VD:-[
M>K-:!]_?V_TYS8LT:3D?1)Z+X+S,95'D+>>W),*0B6+ ZX@I;HQ@?3R23S+$
M85K"$NX8R_2?"X'M+9Z-[GUO#X<)/9JT@B]Z+MTD#:7^#:S+RO?]FQ(L7U^[
MO3>S6'YUPTC!(#"L*A?)FS#*EQ#"O<:_;FB#]B#BE2D'@S_X5YD7T6RE;T@_
M=642OEFFC/1]G4EDT[F0=I1DQ.;K4Z#EKWL]]_5V.%%0I0O.C8^F%APE<93
M2@J1J=BW_@?81_Z87BP[96(&&O.UB"_%*E<1IOV.:YJ>WI#UUC?>WC-^2?=V
MAKXIG>/M6<;XUMOP[G\__SK].#W[=/)/Y^.GLW??KC'OLA7V"]\Q4E1TA=_S
MQJX,1A[XWX/0%9U1X,[&PUDP[@S](+B[V[:  X:9UK<R#[)H21:>KADEI0RG
MQ4T7\J=WEQ+EK=_AB5S";LK$.53)5BSE'2C.G4NYSMA3YNN?I&5%ZZ-RS>HO
MAS6&GE>(%E)X6<K7FIUS/J9MQT/@_5&:+1ROX_[CIZES8%W)?-5<JT@=@1\2
MLD)A[YP /%(1)0[LU )!]PZL[>ZHLEMOK<JVGYB^ O-X)BNO\!<K*3*'VUO>
MRD!2Q;CG:<Q'FD5P!HBDCGL5J,4%?X[0?YM*$S?#M*=@?33*<WJ?UEZ>OCLT
MNXAKTE7E;I>KRK4O?U*W5@^A?TB$W3&"L GDI;Y\3-M.[THCI.$U']$KUQ+B
MRSB]_"88T@:X:&OQ\=J7Q/Z_.I?"AI?<]&P^HCI[7#D]3K:?RY9S*2UL*U6,
MX$!MPMCA4I0X4R0)6Y#TC&! \=227US*^$)JAL,=LH_'7 %MZ4<@SV()^HH#
M*;IDU=.BQJ/'\,S<14.GX_UT^MDASX2Y$.G>T4*5O^!1)*AIPLC.F><,GCC*
MJ4<F2Q<(;US*()J!33G\]/OQ6U=?*H"'E+'B>%R*%6^8@>V"],.N)*H1@'O2
MN/M'P+,LTA OJ90MUB.X9RA>,<+KAP^PLWKW?N#C-BLS@F"&9&=\OL?'%-2>
MIY_K^O< %Y!1TG;.\$5;D&6'=4:^L3W5ME2[98\%9RB+WD34$55SQ)KR:#E^
M6<!6Q#'U]BDM13=,"VJ"XLLPQZ:Z];^E%AE8L-GF!#XY%R ^B#B-P,H$I%_Q
M6I;1(5"-):UF?8'(STD8Z3\0A7<A8MP%7\3X6K$'@W9H3=["*%0LYWD9%TI
M$)Q](;,L"@GTISJ\( R''R/&KL0.%"3PS$09\BE8.5_ G6X[QYM"POMIWDO+
M?B9X]>#[+0A:2PCSB*D^88E9"M*/)A VCQL>-P5"/1SB=66A3N3ZB>O2MFS\
MM-X30[LV SUNT1\3M'S7.>:KPG]X),DX" +_EU\<O>"T2%"2(78,XC0O80=:
ME0&QG )+'Z1T&LI$'\AHL8#_S5#@":&?WQTN<VN-ZFS')WR'A@,C191>LA5T
M)%4[I38BN59.94(]A6PN0IGDZX9#@5#)R]&J*TH8I45*=LM)5C[>_YB?GBA*
M<LO;^A^2TNKJ=5G](++@W +8[G:VP''"RWX0X"OI;Z^A<Z_]\;2<EWE1_1[/
MQ:E<%NJXW/Q"GX(BM2UEV_F#;;6(\U2;\[U["9;+JVZT]AH\C6R\T6LPW\9M
MM%_%32[P]Q+^I+^_S0C;L0?\?N/Q6C9):9'.N4-"W:;N1VVYG+J(]JB5,>">
M(F57;2? :,.Z=\9&$%^Y,AJATHM;K+^#Z2"*C4 PT&G*+3N.IAE-6PRV7WE*
M8%30>&F[3!HY2!=@6<17;I?/Z> GLE!_:>%+EJ"3G(#(F(,5=^NSE]3"OA!0
MS3*T+DGMQV!6Y5?L?<)/S)?@-BJD@>@H@47F[A+A(O8<Q<?7>4]I5=;Q1'8T
M\W@IJ/O'O]W! *F^^D/VNO!_<W#$.(V1/UT^ZG$%XX,A)B!"@TPR+8%JY9?8
MD&("IGO@*-CN.O9V1RD*JM=R,$/@3*8&LF<I,W+'4]U>3>ZMJ-P+N+_Q[BZE
M^$(+EU\Y \$N*_K#-W\$^$GE;-(_0:,%,D37DYQJ5(9FGW8]\IXH@ST7[OL^
M]%>DF9[/IMQM#\[J"51R]'([%\J1?*X[E-7!7XO(=0J/DG(M=EWLU 3E;2 \
MA<.&&4**+2NB SX=5D-+Y6G 1_>7*;HJ.=K&KE&D:EDLBVIPST*$<E?X6"[Q
MYLI+LN)-7&R.Q97=Z0OY-0!7W5D;KK%C2]1PH34'#MQ?\#/32^.=DXX&>7Z]
MNR"+?W?Q3;DRIDN1%($K],,V9&V_/>B.?ZQ782UQ1WCOUG(KU0_?D%R[O"+L
M2D>7<>,$5$()-^N-?GRJ(]%OCP9=;S0>]B?=WJ@_Z@Y^M/%G7Z1<PJIBLQ>J
M($I;<L4>8'D/G/**A\5*.!LX\H]K5WT:-<"&5=E5K^UH^DHC3/7:<2-4C5!]
MJU!-V\Y)E']QCD10I%DC68UDW56RM&B-VLZ'34:UMV"22ZY:HA,PM0A3CHR_
M &%>J(HU":92,!U/7_FTW(C]&D%M!/6N@@I*\'^0,B<J!(>#">4#8_WOMY8?
M.?73LL!\)G)!H.IL)+&1Q'N2Q'';4H*G5M"$981RN63IP5@-)^(U@M<(WCT)
MW@0TH,JQLK1]-MFR1LH:*;NCE/VN@XU!VWGW]3SR(VQCV*+IG-/@'*0N!JGS
MLY_NSL1Q7P#@G:+?@.GW$:?=H.F?PUOZKA/X^Z6_GJQ:TCS?\WZ^IZEV(=XE
ME$ADF!O,OX+7((<B07ZKXM)""HK,-5QGC:%4 3R1J 2109F9W(Y3TD\5^!=Q
M1*VU^LT5M^)R]*7,I(U#LLG#.;'0TLM^P$28-2!Y6PF0$$14-<OD(KV085.)
M:ASY;S^B'_5A$"$^$ DY@<4())T::;R!S]Q(62-E-Y:R"GS(4UOTYQHRB&A?
M9MXDG&8C?8WTW:/TO?OY^.SMM+U#JKY;?^P7.![@UUA>D>Y0,5.TDAO:@]:6
M;][\3+<,L?:V]X)(G;S*BMON6<I]8>8#9/#.0MWAII:'/64R(^P[]LWX,A X
MC>P2_S..Y 7A%"5\8A9@KD>NW[F,E[,RIO%1R87$/:.N5-XD@@ Q;7X6Y0S.
MQ)O;<$5VYWQ97**#IAL7R+E<I!G-4R^1 (_0^ 1#RIWS]-*:5$7=0/)204$W
MKMUV?DDOX4FRED/'T?2]X4NM>@'4:"R-R%)_V '=M^4!GAET9V@]\MJ.;?&=
M(_VD4:!NG&^!\!-@ONH^J;5)I9+QFX@')6R^=KWQVK.R0,@GMT@P3.ZJU>SP
MW[>XTFUG&@0I2='ZL4!DVAJX->+I">%%E%/L4>B0Y@8[I-Z0'12U7THL^,Z
M\&@^6<Q8QW0#@LA82&X-LV%^5O\9_H3VW()&7[7M(4=DB#CV(5)BY0//KR"%
M:A&ZS;I<++ 0AQRKL&,41,*RIE6_ZN<4XLZHBDO7FE3AD8EA"84C2O(B4^R\
MF_V?O6_M_VRM-^";$Z/!C-B?@8$DZA>:*$,Y3MXQ@D]NQ9/""5BDJ$/5K! \
M8-03<@G*U8G3](N:N:B74P$U=P2FN"85G/(41PMPJ=9(IXD7RE/L9B+0'Z/*
M!BOR)4DO$[U)^DQ63Z2ZI;8_$[]E0G->\2#Y>5KB$ >40:$51)0YY\92:IH)
MV*.<+F>_!-,/A-W&X@MV3H&^$09;R_*U99,N]?S"EFG<M'4.;A_U0A?B"VPB
MOWW#G="RK"-NG))CZJFU6KYPX4)G2[8M JXW1Q0$HU_I\JCZ2S^7?Y5X;7Y3
M&_IQR]-O;"/<_%]ELM8@N][CJW4YB5.MS\M:A'K]U[SLJB.*9,2<$/HU3G]2
M]VJ0_T^3]E/"F!OTM/80X(5N);LS7";O_EFQ5VP3(BS)+"61AU\_.[.EV\WO
M&]#.YUA=?*-/!_W#^^C38;NEMQ"?0:'VW_WSQ3@2Z#Z2/B+GGK2&&5;E#12%
M!.F1BE_%'OV+V^5->FL.+_IT**>5'JD:0NU.!!Q.C*EKJ]?"-!7X*SW+,G=Z
M'6Z>GW2&5XR!A;]0F[UQW=>%^_ \DO!VS<"X3SPPCG+ABC<#^^;7!\J]HGOS
MCZND\_8?5Q)H?LRGHC)C2O=6'L3:IAS8'O8F-$ ?9(40H+5="1*P&W156WIN
M  9P'MIP(N#_=^'_=U^]9,%?KX'@YFTXB99<4U^N\A? .8+G$11485%\?1\;
M-,3>%@T;-,3S>4L/34&Z5\2"9Z2*P$0<\D?Y7;SM>U[;+=SO1Y6[:VW2MT *
MGND #P^TQRTF<8R[[7[WVW\VNN/PCF\@TG]PXOSQ8TON-ZC!A^<D?RE/OW/T
MQ;:'>,!]>O@!&)^G[]]MV\8KCB1I[X<\D_#Q$]#D[[M,/M+C"^<\0Z;?_U#9
M7)7,_;/*V.R6QEU#3^@VH0P4?>YKRAUP,7_'7A[QS5V=2JYZ><S^BGL;$^ \
MV#O;>I0?\BV2@W +?;%K:[QOU V#]FCPP-IA$85A+&]^0H;?E7YHGG[[T]_T
MI-W7?FP]:/>T(8]J>^V9H!0;?;LQMB_ATC7T#R@4JB*N![98$"L5?T:/89X^
M3T_.G&/;%#U7<]^8T(<VH=WFB.^+E"H:H._&14=D[)_>G[YB-7H,S:<9E)R#
M$T6H^NI!U6!S_)OC?[_'?_J]G7_Q9Q;E7_Z<,0'58R@!F_"J400W#:7'32S]
M7*+)E_WT32S=6-J'C9R/G[L);L+FYA _MT-\*W=Y])UYRZ,_J]ZO_,_0< C\
M*11_P)^SQU"##\AGL,,A;S360SOXO6&CN_9,=WUOL?Y(_/F7Q;.*_] <JW^J
M)K['T%ZWYWIML@4W%.!!IU$F>Z5,QM^9*AG_:1I2+&S/GQ8?0/8H0)^;T_4V
MNN.FNN-;43N-[GA8W3'YWOR0B?A3=5?F?U9SP1Y#7^P@66YTPT/IAJ8*T50A
MFBI$D\!\0D3?Q>,5)GYO,'U-JN\&5O1;4WV-%6VL:&-%&ROZ7"-8;_"=1;#>
MX$^IB$ZV)<+^S(/SQ_ Z;L[5TD2X>VF;8:%XL__S0_>'QE(UENI!+=4-9.WY
M6RVCI@UKTJ/D%4^/WW^<GOUV\NZT 4T\IK8>7EGGA/]%QI2]Y)&YU]$T#0G8
MWKZ>A@3L^;REI] 33T2S9?%G(W7D!X@,,@P=$&63.],\3R&2*#0I_*<R<W3K
MWK?S<PV?(XTC/K+NC$3:T;ST_Z7HEY-R(;.TS)V,-@MCKS)1@[*(QY3(L5=I
M:1$NBTN1$>5:E#CR0L0E#T!(K;NTG3.BIN>K*B;(%ORY</"W2#8=1XN(.<S7
MIF7=VU2I7KO7ZSW6Q!5ULR=ZW[UVOS^:>!.O/_ ZP]YD]-(&KJ"(+[,T+ .:
M8R&34CH+L4)Q3>2<3 &.95C C0OFS14H^TAV#(*L&@9;:UR\B-@C,14\.0(G
M<,B"0<>*X-R/4JKZYSG^:$'POA8=!8O/'8Q11 RJ"%8V@E_=/@:IDDX +R*%
MTYCS[P4SV/&T!UA]ND3B=1$0\Z\99P%7KR]!;4*N%\@S+#8N"7M9XE,C%2L=
MW.T7R4LDZ(U@CY%D'FGCX7T@)3N!HU9.<(X#]:(\+XGG-?P)E@CBD)5+WC%B
MJ*[?V3!5P\^7,I%%IAGK=ZR!-W77Y)Q&.S3:X5KM\ =."0!YVW'^2)@C.'EP
MPF@(A1D5J8C4M2PBE[LT7V?QOF1%P^,G'#V@91;14!%X\D A^>"JT6(APXB'
M\(#8)^RKTA2$F)C:"35L5M-R8#^"<U [:'AIR(6 >RGO1H00&N=FE +.):F-
M! IT?T3+3 ?"IZF:(WCLR;)D[=:<K^9\W6'\@E1JVCX+$(W+)8DT2#@*)S+9
M[U#RY3+5@U BA+7AIXU4-E)Y)_;ZNO)VPI0D4PUJ0X)_^74IR1]4XS;(45.N
MBHHF"QF<)[#<.5D/5LBUJV(\@[(08F3U%_A!*+<X9>=2*LV-=\G AP(',$YS
MXY^V<**46/'=,PE7@_]4IT@$>'309R2?%-Y83M,W<IY6%8J%F)MCU2CQYKC<
MSW$!D45Q+A/MQJR'"79T4<4&CNK$BC@(H%'9*E+ *R3H*M6')6J/Y#**8S05
MYR);X)E9BQ7F$!]0>*!#ND#G($)PXI(H/\=!'2K&F&=I3M$"B-<5L5]S1IHS
M<J<T X7@[+J3!<%17R4-%N1L%V7,6%"5CXZQL_+2K1S91O@@@G,<%4IF!\\3
M#LNA9 6<@EG$_GOMYO!O?3$:/UD9*SB)C9PW<GXG.=\>-1H-;*E6%FY.JRU3
MO 0&H+,8+$6I?H;35--,PHMT:/QB$JS@[*@16:CB&WEMY/5N\AJDV3)5W@+.
M0$6O):+IC#SM4E2%H',I0AK2QWXW96&T%F:Q)Q_&TL&YN(AH1"G+?_6E(BTH
MV9(KY!HZ^TFN"R?H3<WA)?#\4-@5$W'8J1V5,:U74)KCT!R'^W3E\:\1^M#P
MW^=40J#\'Z4Y\R_@A^,$2_!64O#78RK))7@1\M I]UAD:8G74M4(?;0X8M4%
M0!T@-.+;B.^]BF_JHZ2V0-PB&NM*L@?25FBW&H>=QCCMN01]#'\ 08(@DD!:
MN3TPNY[/WYZ]S\L@D)1P62QDANGT>-5(="/1MY;HPSC"PHW##B]X$;5_NUH\
M,SDO8V%(K7)X=A!UG1"!RP4R,S[XE<&ERL2@WV,Y[ZJ<A:.NHS 2621S/>(7
MKJ+FR,*1P!G@/!\]BFF>-?X[PM'J^1(G *LS<H[5J +K9LJ/X;1DDY-LSLT]
MG9N/"'L&?0YK$3AE&\1U+M-E"N>!D!5E@KX^J'&1@<LBLRS-HGS1TJ.XP<^/
MBW.%3V"849K,4W16X!XS^ K8!E\6EQ*<G1.DG!-T''[[DN$8>_KOXSP3,F:2
M!1%C>C]!.$7FI' YB#I$ 2L#<P/^O)I>O^;5XUT9+D$9?PB9$:N6P7\O*'4Y
ML\V1%15L!-AV#E47<%4Q RL%S4%K#MJ= FAK7/P"M#<(=[[*\?VUN#Z&B4YE
M02RL$DW8]#'P3@E H<\%7#K3L"J5C;=PA\'*EYD+UD,$7^A7.8].A^_!E@?G
M<NTP6%%Y!8&HD$9K0 T=HU#?&'PVS\3B)B')]PLXO\O\\;N-7KR;7$8-_/R9
MS0)^W!G43A3B];]Y/N,#BNS1IY,_IB=OW5\_??K'\<>[C*.^VSK>.Z=GT[-W
M']Y]/#M]NE7<8@;V7735TX'LS\ZCW)F"V(5D=? /X$/FSFQM?F<EG<K 89YC
M(4()3FN68R&=(BYT&L6,*N.@.-"(X51K%<2=LMEQNJ.IQJF<LOW$$OP47<69
MXTUZO1:B7 0N"JOK!_A%<DDZ;^K?IP^]-Z^8;U!?W7NWY>KO=-6FNDW?O@U!
M_Z]Z:@(FU_9* 7-@R\ 6%N!Y./-29+ 34M+C,H:YYNLZQ\F%S,GEP/T+0*T3
M[(;3[O(KO-E<82X13!E>O0"3J\=E@#</<0%XW1:"N_JUA1%O;06)6S>"<![V
M@*(-JGD5%%/SPU1 3>NQ6E;Y#/$*44;+J[9 BBSA.L1BDS8[)RCU',(,<$)4
M?)"2QP66B 117\9."=0+VJVM+A0E(S#X(2PI+ +%%G%(U7?@P64<TZXP:H-#
M)A$23@-7AD! JHZ$$?6RMG:D[/AG\J]2!(3""L0R*@A%GX.+%ZC,AMH_Q!#2
MPUK"LUOVVLXI9BVN$$X4 LM-M9L$KNR082\5Q!!\9,$/I.NG"."/((#+C.,*
MLC7+TH5RJ:TRT[7"12 U[JG!KN1HAJ)-+;WT)]@J.KGJC-O#B=0)9Z$@#YVO
M$V(% '/_FZ=" VOXZ[,(WV[.351K.@&_:?3"8;I81,3>WG;^H+);N<"3!;((
M*EIHR'.Y##$#AIFG]?<1)70@Z)M*CVY;8 LKR!(B;(%'C?HBJ 0=B\OV_AB\
M)KS8X_#":\*+)KRX+KRX;ICN8_:Z(C??773;/2^GFOR[#XMYBE"#)"2ZZ?31
MQ]R.8XC]'*_M_+Q'K^BWT^./[T[O%(X^O=#L=0\X?Q6O_!J]YBBXLFG'-%T[
MU?P?G4LU'>,W"67)"8Z2BS2^D+L\97 '$512YI8SE\EEFA7LV&+&/=>^*\8&
M2=C2;JOZM/*5U__BRQC!L^L?8[UFL>7K&#38+K'^.L&S[#_DX'W'(M,A)1=>
M\'GE2J$*R)GER$$UNA/.0#GHF]ZM'8XPGK@6+NCBT<TB!M7FFU\9<5-$A8@?
MG4;'J$IU.&YI?>:;Y++ :X*SS_'%-3&%C'-Y"7&"W/33'\$9O[G4?W?YJ)L_
M^HD$D<(V)!3?+"WG%%ZNIT)2\Z;E$AX!#NRA E:"[*LWWEK_SOKGEW+]DS)?
M_P1TC/E(]5^IOT $"=NUTN*5X;IQ8=M6Q TGU*IN@QH0L9!05LJY/$]CV0(I
MCE&949B,6_*UX,#V,LI19L,HJ*&0]^&%W496K[6#SX+2Y=.%S"XB>=DX"H\>
M$F\]9!$>I'F<^F"HXF@&UB&(6),$?%;9 5#Y0+8X%7@.UI,[Y_ VL TK2=(+
M3@;66X'MWA6VO%Q\UJX%-T%BNSLUG07Z:YC1B!1"2G%>J*NBF:L:V/ ><$>\
M 69TPZR<Y^WOS1CL>JE35GSI!29F8]UEBAEAO26Y 0A3QG*>I9<:SP[_TU+5
M]8B(EDSUGQ2V!RI:B0:^46SE@^67#-!A\2"5K!$!&YGE^CM*LSG\X-\6QH7S
MC[;859=U#M!1G#/ZX)59#UP.OI0IE-#2]),34+^%>5(1@,"T'!X;5W&;..3E
M87H: J<RBCD+'(:9LAVY-#"\5KTC\ES&2W*:L,L=G*\D%.C.SI1INT0(A-EK
MKOF8WLJ0,Z49/=@B*A14%7SN9<0]#.&%H.,&$EX_-F3BB@S>".*W158D,K/.
M@7YN]/CT=NAE\!DP>U8Y@(LT28.8R&70U?33D'9:6>?%U->VG.M%\ &\TRSB
M8TTU G@,'Q/T!4-T(]RM"Q$$&% PXC"0,5<(L%J JP5)M^]R^%]BL7SS_LS<
M22_3U&JB!17%8+WG)>RE!GM!%!&'< :H1D1* [Z"V"M\6W4E@YW;DA+."S5@
M2T&$X9C $Q \,XYE,N>-MWD+8I$OHM!Y^W'J' B'4H), *2@*?JUUU_!XN3C
M]%7UU 8-=B')GV9,);S1&$.'BR@K<UT-25+7ZE^!/\$]U*]>C!+[0^HZ&E*Y
M++DS&'8+.5GJAZ)JL:1JA2!]D4F(/G-F6($%VL [PK."QP'723'@6>8%",Z"
M:USI9:+^J>Y@CJ%M2^I:K.V0]J#3A*\>WK+3[S@K*;*<F=-".+'9BKD!"G!!
M"8I.?19*/6)GL^-GJ> .YQ E)>>"CR[18>@,$7R4\J$ /QF+:3GK)<'!/ JB
MMKG*6R876*EP=Q9E>0'_C*DPR%8\HWHA7@7E$.N%EDXF564WDZCZ'+Q:>M0E
MKJI,N#!$+>1?(83^-[>U(EN<7 =KP6$JB)%!127\$OB> 5DBQ'#B%5G!L,XG
MI-K:DU4N!QPAM'5SR<>M0(8M/#EVK7./BD3?[9FM-^9AWQU8W(PPXZA^XS30
M68P_4'N+1<OY )(K@O,2;&EA3G!%=[964=[B0%3%;<L6,$7-O]),<7N@ 'J3
MM9^"8"BO$M8@%SXRG%$E8&.U*,R_)<0C10SU()2'L-<@QDDD-IX!]^D7L&<Y
M-E[Q/_^.V/T5__<_T^P+W?5,?A7Y*TP+%1#+RLV[5%J"EPHK>0<'F>YYE#&$
MX+U$, %<^ACS4^B[X64^2K2Q^&\U5/)2@E7A#)3VZY#7\3RE$C9I'$1"^"7[
M3=NWH?:<]*MJ%YZ17;KOZ!7V]+,R+4T$^S1TIUO] 8QCR16(, >-L!I4 PO*
M@^+I.8?/\]<(=2A4X'M0><6SN(Q""W?SZ@WXAQFLI$!\\?)\]<8$G@(GUH.S
MG;^IVM2BQN \QH.>1A@?=CM>M]*5RS)#E@[0YCZ%=$(G(VI.E7&F;,<PQ32\
MC;'!3+L1E9;=#(O7=-G!J849C$CC1L9%FE4IC&*+XVCYF.BYK6'MM8-D_)]=
M:"P31IU0&/761%$:#,\9%@:,@9-5<XNVQJ*F%RV6ZUX7[3$BT\AEK3J_*#9-
M[&_'8/\Y/*V=3[HC70517&!VV,771'#2]-*@P<?PNO+;<6]S*CKA=N5+&<#;
M#-:.OQ7&86* 0$)F5]D$*B]30^CJR1#.@3#)D.3##O?( _ TV.U4UR(>,/J$
M_';);H) .L>@WH&WE:BET0H/!\Y-J04+CC@W0"*6T9FG(C8)FERN=P5_J9K%
M(@*;&O0HG<HJU+"C(TXSJ%-G3ENK7E#5F4TM5'4-H)-3="JX(S2#TZ"8MJ5B
MV,(%5<4_@7D./&^)E*K^"+$N171,PZ52#3IIB@>Z$"M'H$=.R2$MPJHK32N?
MC7[^)Q#2!E'WC!!UW091]STCZIZI^M\2_&M*P2CGY#5H38)8H M2+LC/483F
ME$ &#2,0D3]/C&^E/H?@UW:O**6EP/)"U<<R5LDV Y'(0AJC0#46<+[(;>,T
M!>MB8U#R0,2: H"BB;B<N_ ?+FHN7"X\!U=%N%FC9LD4'2,F!,"P,"\1W"%.
M,0#BH5+;?)(6VS_X[@*!+"JA75*EW"IC[')=&0A"N"%X)>S[(2B(ZXBF$*$J
M*1M-I<\C<[![LM9]A#'GT8PJ"B VQZK"A5D@,%OD2#Z+'7J@< Z/5$S97*]7
M)T04 7& $A$Z_3\K4O-U/EZPFXZ'I>+VQ7R?CB>0N!?C%JHO2::FUK,-U"2&
M!/=&L9.B<%,8J?Q[':1I4AH*U+1'6$BQT+ OL_ J[(#SH8+561FW.!Q"[42H
M+&F3ZZ5\\;E: &5)[3O&*[<J)-2/-N4W>:<J%F/T^<QN/8\#>!\8V01DJ]M3
MC346X2%ZY3*;4\HS"=>D##[0[Q-B>0@J."^JZB^<&5UCLDT9SI<2/LX<YUP?
M9_T^JC$8NFIXF69?9G%ZR4)C11T05D*0&9S30!^M+<B"&00EV/4H+*L"N 94
M51@OPD:I>$3_E8,C[FK"]Z'B)E4*PLJ.E6+GG:N28I14PT19Q:NQ\0NV26Y,
M#!M<V ZKE%G;.4H1;BGPD+>X\9'S;U563@=0LS2S*ZR<C,@H-((O+'/G0)?R
M7JFJ,[*;!46%<L3Z52V)IYK+MM\*[-Q,A?*.BI(6FK!'W; J%[YZ'J?H0<W8
M/^3*9,*=/T!'8<$"A1;$!.7YR*B<!X>Z82I[SW?KZ/C7LY/IV?&G)^P:?RE%
M@J/JB$?L,= 4)M <Q@Q6K8Z<SLL+X]^3.F<:H0O^CUV8@5JFS_D9#/(E>\%P
M/7"$#7M)CG@397F^P*G1EGE]&MI^*I$'@;_^[R%BA*9G1[<\#6NC8\&0R<Q:
MZ; ]NK>E0E ]ZK]Q]@D\3)MW(LEA!!$[93NV3RM\*:KF$\UE,NJF7ENJM9B3
M-U2(N4;.&( @HX;6@'NZK4,WU.CJXSJ^4G^.B03I' 1@KBC\KB-F7EF>%#N;
MYOQ5"6OK;D;A(7]!25BC U4U2<N<83<?78_!.HDJLLUDZ/JB0 <@<\Y7?A:%
MU>]?,2A08Y&L^M#WI@.OU7@J48+_RLP1KL)5SA/Q6]FH:<.BC5=]3OU=('TH
M8#IO]<N1R5=98@E2$R%\1#CXB_Q<"G1X%TL6,T;OPM5DQC=?%PY>!GG7*MF%
MXHI<7@523&"6BXJ'*@%EOVCX,DZ+*A.GDA\$;)+YQ6_F"J;);,45 *>Z00NL
MMLS/X2@5.&D'#M=![18T=^V5NLR,KJ!(5O0*Z[>FHP$. 4NM!?73#H"!L%XB
M+Z%9WR+%/.*!"D)D^*IV797>HR=B!'!DD1L(J_II'L3-D")&)A=1EB;F1&-<
M1C1IO(90TB@YW-O+U%48OTQ*MR"YP\*TYA]7#60\:8(*H1JJ;)U-M6MM9YJ;
MGK&*&&05R9B&'9G!1)JJ365,J,K*D2]$M[%*9%H+QYHN,]P0:'!6EQ5#Y; V
M?T8X\^@"XLD++-W(#7VHU]?>H;?$A8AB5;[&KB#$5V5$6('>%[4HF)@70</Q
M2BE,BJD-Q=V*LJ ZQS,KXQJ\G$2V>A8JR?%T3_B/00MTAP/[8J<XGX6'_SRU
MZ=DZ6J)"(E RT0+:@FC&H@2W'Y,R)JWO, U)KEF0TBR"IV0ZH(C;R4"^9&Q)
M'&O1W.X:B P*O8+]6E56ZW;(<!J9?(RB6C$-JU;6WR1RUBS"^CKPE";8R&%D
M'_,=IGL#<_D(M:79,OK9D!@UFI<:_\0/B*A 3?AN[T^$<RO!V..1@COS,3KH
MMIQ^RQG2M[T.IUXP>TJ]"M;/U2(/L J;YK0^=:.?^,J.ZB,HR#O .@9.0*ON
M,FSI>_#SJ^<T ]RJ_;!2O73\-UZR4DMYU0N@F&JP*034I$0:GD04.A5+GRO7
MYD*:-)U=XV'D:EFD8$DN].YI*U@K>)"X!*#+&=.NAVJ;A+*IZ&@\.]R)<#01
M)8-U6P_-A\,8\C*!BYY'RWVJVG^W:L;DD"^E#5E:+Q&0+#Y5)'MUW/J$4O(K
M&D?WE QMY6+F+3XGK#/U^$,=QYB 0F5BM3'&5+=K$LUX$&R-3&9<'WSK7BWM
M+]$UE.>,+5 1DK^I4ZN^SMEM..4TL8@/8PY""3H)5I1F^V/4&XS,'F-D>@U&
MIL'([)L9LWU)S/Z@[J30Q<W7M3/%4Z',8<%2.;$61H44K2_!F0:W9LFCATS5
MLH88:>DB&M7/16'\-ALR:S.35*DF:OM)P_6LTL%'UWNUUHKWO?DA-T^PGF%X
MRWB!([1:5LWCT*"<;E%Y>[996-Z0_VV\L#7G8;.A5#$9@=L4(\+^7,JJI^#H
MU.0/BTK"9IQHK#IGU+?/CJIT8T PFT):T_%*]NRP 2TBS+]5/&LY)5ZNGCMG
MB!DXB.UYN[66 B) 6:*^C) ?RK";.9/K)7OK:H0*KV+"T^/?;DM2]OU*24R3
M3RIMS"C*D@/WSR>?Z O,V*M>LPW?J()=%<-2OTR-_)CBUUS%RC$E;:CE _$S
M:JB$HGWXFP-B9>YCRK$5I%Z==.?TT'FK$ML81NL$S-] L*GQ^3R-T7^995(2
M@_',K0AGM02?'AH!QKOJ1#GG/"\IPZ=21R"]'R$8IW(.QH3?G>W9:6F.5,D"
M61PXGU9U.2UD<9Z&AA*A=D@WSB2G=1=I+(/2X)"BG/*U\<I4GPC06NNL44U%
M=?J1*ZE&V,_1DG)T6I,I$!#)\%B44TW2C5[S MYO)A)DAY +ZI'5R^2"'IWX
MB$::Q,2]34X1IK_6DL[V\MO.M/*PUCN:=>!+-_'!TR(JD%E<?N6$G'4?U>>1
M<]M]N>!O,5K0BJ,I7WU1$9^ MV_'N(3ITH^Y1- :9>KQ,C(YY]*2?5<>)4E8
M"/ >">!C*5-S3 EJ3>NC58 @"LQ@_5ME8&%YX4I5@[ &$$<^P^2(23!7KN::
MR=FT$=R[7/O$WNC]B=&_6VWP&\-KT8BNG2F=1968ETZX6]*%:)0(^@D_%\12
M)!0;%#1K:U[A",E0(R6_T+8\+O-S^,JKRITPQ2,R,L8ZX2HJ4+QEE-#B&.X?
M->27$8CZT(%8)^D"T>Y\;2[TJ>M:ED[K$32$U0/7*T\&4)2+15VQ<-))';G<
MJ#G:0G.UNL*JWX2*'.SG5+=26733;$"A&:C:(EK&LHXO:"'3)1R3V<HVUDY!
M;#9,0I,N&1O "<_.>L*3UOI>+!9;<OS&6L+)3D!@I50%OG-L&U7 5WLK; M"
M5%\@3\:FXXVJO>*ZHGD/<"-LW8CSU'K/RN[8G1*"BG<KS?2 54S0CDNR&\C[
MP"T2Q-6#S^1&62;"B%GZ=:&&'XYK#U7%I=)Q5L&#8;#HP*2J3L^$_;SN5M5=
M'H$#'N*$2.2+@%-0^CH)J9:GR^Q(_4-WMC:^6D35M4'L04PFI$F5+%JM]:8-
MKE9RC97;"95&KLRV+E>K76CIO;*JU"_&\6FBRMWFSOC>6K489C^*[C!:R&VH
MI!5J_G;TT]LC2S;]%=?GB*0%_EXN36%NW/FQ5:O.L4NO^UPST-FDL<DNV'-W
M=,%/S]2P^OZ=&,'X-,V#F\5)KY*/R4Q2BB@YJWP;\ 3I!?) &_;;(G@R4"8J
M&A6::AFNFBG**=@%N!:H&SA7B6H&8:)?5#:*\<92].0EJ7T ;]<O,^PRI]5S
M<?%<#47!V4$X3$_R2)*(?.BK])M3Z3<&Z.=I3'::"RJ(9:"%F184') C_@V6
M)2USPWO6N%?[ENA3N,_7SC^R-(<_-EC:V^SOT=$+RI(J2:FUOI ;3V ,U.;S
MA*JO/.:,T2(J^4]N)RQH$4'LJ<DUMT7=1W5TUM75A'R!\ ;0F.R=')145K#Q
M5*^TR]*J$<+JV.&7(U)J$.,KEU@A>W3Q5]J]6@SP4DZZ1C<FBI(=U?M:1Y-R
M.4.YC-,5&QL(9$$&R &V@D_7\)-0LG0IBO/;M-H]>\%:?_D@& GV/%3M<$KD
M6H9_A^1*1N2R6AF;RC3"#TP/)+QMA4QZ7N;H46NCMWVNC=KH4SS<4QF"9V9$
M]\F&@F<"[OTIN?>H -8:4EZ ^L.D2:WM&Q%*)V?R])\?G9^CM-)^OZ34J9YK
M!D?G5QP!:%4DU*],68)!A9@DI6F#JDF=$][$]*TU[\EI3?DJ:G75CZQXC6SZ
MBXJ:PM18[/39'"P=PS2KU$HM<[/:9#%[7BIYOR.$*YB234TJM0POO'X0P9QY
MH+001)3.ZX+CE :,\@4K&QFV#^2L9F9/G3QBLN[5&DJ#TT<T%^>ZNJY=\*$4
M5D[-]\N4L;2VA&JN!TS4E07V::-?1E4#%59OEI-T$*\K$E4>035@5*!BYF+^
MEQIXN\#,0:A2;BV"U;KJLRKG1K>X$$@YY\<I3J^W_&%8)D%S#;,"92-<\%=5
MUX)-B+R^SC9U2%NN9SHK,&W;,@G<EB[2J*SG^P^?>8<B2IHRNR&UMDAZ<-Y%
M=G*U9^Z:A"=[H5\0_4V5G2Q+N1*ZEKC !5D29.B:22/DE2,L;@MO;?"/+PO_
MV&_PCPW^<=]L)N>H \H!K/6!^5*E)*QN,-= QJOV+X64!-/7-@H3@M3*T!I'
M"^<!>!TN!R6<DR8LN<H/J+Q"D9HJI"[(Z(2&U^\X\'AQQ.D/TO"#S>ZR[\71
M:2*TQXC0?N%NX2/J%MX2H^W%(E\H:X!-88Y>=#('MRSA\I0@8F5""MDDUJ<X
MRS(K%_M9F'R$!/^N!:C\H&9XTG&WC6UD;(!%U;4M=TDZ^Q]I$I918<*3JD]I
MK8?H<Y8>8A3Q=3_?QQ/Z[E2S^BR*&FI,A2F1CMKT"^"+HWS#:[3?1F5>#<+E
M6^VK,:_=3>-J%1NJ,6/:&6##KSV"7?T.3>KC4;HQ)?%E(_YV#:%$U-RG3L^D
M0$"(MISKEH)^UKL/U?FF82ABR>4B(YRUJVX*9 T1591QM$08XQ>(_-T@R@*-
M?;W )$6LL5*$%^#0/%PEL N!@6@R#H 2)HK"3B"J2L^HP-E'BME<PT W<B(X
M\D*WS;0<Q?NPD4JIXRC7\RAV^J%H:3R5T8/>3UW<O]JIKK:Y@JJF94$D%+K#
M1V/ &&1$I;]9FA9+>"$%H<\JH$6-]E*3*JKMUZ2:G, P=3S5UV"TL56+XYE[
MYJ5I$I7UP1_U\0X6'AZ>IIXN8JM"+"I(M%[!N51Y2L%WL74TW^A+U^"RHVI]
M*AX112&HN\I^,L23* 1?E9)17(MJ=J:!-)KT[),VB']_+>*W1VR\E4N0Y$?'
M;8S:O>\ZHCD[>OMLV./V:N->2I3U!_I\,9(AU0HEUQ[/JKOM;=7>9OP'HJFN
M$S9C78Z'V.CA:LL8A]3:0#]#J:9);!4%E>(YJ! G=8\8U[!AW[2K4)4.$K!/
M,8/.E:.ZQ/'OI8\#1A"]8@#C>3U>X1M8D!7GCW/&XS-<I\:T55MRR[9GM>5:
M?"S&#R@3>+,!CJ4CAGQ<*'6O'/S7O'CCD?_]ZX=?7K7X3]4,7UP8W-N/0OHG
ME3VC)%I@_T_$L1WQV1OJ%HOV>Z,+;;WQK ;$1.<HFI5SRT$RVU;UFA M,W,
M;7V1[8TML-#JE.-+Y(Q'VJMQL/" ]3J2V@/MS;76W22%YI<:+*M%+LU%O#E1
M@)&P5>"*T-H7G$(\->D5W>5H'7S#6&RBO:G%#?Y2M*9VN]?0#)_3>+4 +73:
MGK:-BE0?&BT)7_U["5ZLU\(8S:,VDEF9$;2+)VVI4 WB>].$IOK]R[@V4MD.
MQ%23"GO?H(@40WO+-)SH/(SU>S-]%YWO7VI'DF:C$SD6MXSJ-ICZ9#&&5RA]
MK)_>I.JX>,V8<WP@G9##6QFD.375*OX\K;RUJES+<-2U\GI8HBBPMK^1BEVJ
MVMM:CR&-1X!(S-I&X;PK,S ZKD\!\,9/N(2(=Y%?T08@_..[4QO?>@1^CM*C
M&-Z.F=3A_/KKH3D+ZJ^U\>EPKP)^>T;R^L$Y3+-E=7@^GGVP#\Y;L(_47>P-
MK=-3R9D"[]>.D66<#+4UC:8A\=;KI96<?6 0"-[*9DA;#X"KO)J=,[5;/E7W
MD@C%LE!\3MBEM60A9A+*>H+/&EM# !),-+#K9&7QU&"%*P9TU^BYJTR=I-0?
M=2U0J[^=P>7ZLM13,"P_AY=5&_Y0]:[48VN%G>(.6BSO48?RYM)MNK]RN8RI
MN21*M K S"5F3Y!]\CPMXY"G<1L3C8E^1>NY@:S2M*AP4WP=-&S\Y9Q']9X0
M+(P"C8"Z%<C=<1)4IZGZ@WVHIN RQ8XW:BD>-VV,JF-ER/OH7&FO8.-8U*HO
ME0R2D*$_Q^9&8=VMR9'K ZQGMI34#4YM8,OZ7'O365Z?CZG,ROI,7#''J3CP
M$F,]%$;W&E8'\\5(SPYM_@')E],+H2&9SO1G(TSZ;[8H?0J*E,@?6A4G8*U:
M=XW<F 9A/? <%[$0\T1BX^<B^JHED;4"Z/4HV3)M%O6G39C@KYQYG/J@2S<I
M$@RG1D5T!Y)X-7-";>3ERY$2]*_4H%@UJ6%;@?8<NWXQ=V\ N7GI8X);=<W5
M3 :CS=3,'6PLE"KSS:X7;?TTCX2*X'A<,=LP:>"]*G'-IQSC0,.*0Q X6;/2
MBZD/_[X AQ"7VZ(8DO"026$&5=?PGNNOMX'6[3&T;M! ZQIHW?.9#W7XR\FG
M#].S3^]/II]_^>>S*H\_R\0-S9"KSSNKQAV9](,]DL2XDIJ2Q ZW2CO5:WD,
MK35W <V);@:U:(:LN0HTT80S&#@5@?T;6H RN!3;X'C$BJ*.DRJ?/C=4;5L(
M_:0+5_U"R3 TM54V[G/%9F;GH%Z,$X?X >U<@]N$XM.J< 0[VK,BB_)&Y1CK
MI\AT5*5T&1/\;>N6LAN4K1ZME.8L8F\QDM)0Y$"HHBKPK*4NS$%X,6]N&E:5
MF/KN&R6EG6!ZE;-91)L9B"65IL"[CA"/H<LJA_!Y=#%]&.4Q: \G@^>J/CYS
M'.!,S9XI2)(U_TE#<RI38<'>]$ 61=^B9??=K\>G4R+VHK:CEHE.UXU#*)?@
MDW+FG#H:"ZF&[BP@="HS55W5\1+</,9Q.#*TEJZ&3BC[,>/A,BI%-J-1%WIB
MS/=V@&Y>ZD+M!ULFW<]L+ [)6+R4,M:5WI"B?\PW:!MIS]BJYA:OF2IC:PM0
M965S*6*5E[?,LL[T1+B$-&(AIM-FTLY$NVCR@$0VQ!/H&1Y6#4U1B^'<3R85
ML."<SBH=3+46?>\Y1N_F5P0PW.[4M9V?5RI=B0;,?G+%"B:L[!,3"UD3?4-E
MZF")S!UG.$!KDW0M3U"3#&V99&? M=O'URD([AJ_^ EL1C27"25E?,QT2(66
MET87@$>D3#!3DR#]:+W.95XE\16JR54V!XJAK57OH+91V$BDA6,'CU6+YTNU
MK'9KVCT]1@OO4-4RHKH'HZYM98>K06(!>QA7S1"R>K>;<3%/T)O-/,1649H%
MN29"Y'YZ737@^H+T0J ]4>+$P4RB6$BJQRX5NATE476D+36O#:F=;H5EMX>5
ML?C3C<>=$QTX1,R0IJ?C5F26>&[21,W_)@\63[?J&D?N,$PLS65U8-/:_/*:
M"K"0Q7\H.F=DV?FKM/2P=ML$JTFKO1O'DZ=)-<0W6U?/"DJ],7.)!_8I#(RF
M_5'7E:&Z#Q;NJ!Y4Y^NUD&/X*]JV@8L;9X=5>OMH<)71AK5OU ;35;N)=-39
MA<8LU78+61ES6['G:_$VYG@MCL=*N^H]U.G?[8G>YO@_6OAIR>SFN6=:^BVD
M_!0'HO<--GW;S^H<[2>IG[)CU^1)ZO=O.1] -QVB"]ALS=J)1,WP.SQ5LSO;
M=D=;9@."W>:RFIS;VQK@![S(**R1G^BKV?$U 5,MH.[GMZ A,BF9'/LBRC -
M IYL1JC5ZIJP$7#T-=,J*0?T[NUOH.782* H^_NL<O#/TP3\44W^K4(S]/4-
MIJX:S8FV_[>$R)]."Z$Y8%5Q6". +.5?N00,Z= SQHF2$?^KHCG$8-!!D!*(
MPWF9A)EV*NJB4<^>5=X*0<B6<@V#1#'*Z(V*:1MI>A(*A),/SZ+G9=#;+Y;7
MP[K@ORR".CTL^89%D#F/R,E1)[GI# R5=$56M"Q"6$Q,[2B2:'X5NT.VGF2S
M&:\,A%(!E#0_785RLUH?ZR WBZ1UDXC.H7@73LNN=:(YQI:4B-B^K<$%>"V>
MWK#>5GNPV:N1ZXX56)K0$U,.U/1HFA"MHN@*O<K3'"#<?E7KS] LY=@9JL<S
M<YL'$Y2G%[IW9P?/EQJ3C(]<$:PI0\1\X#74K^D[Y=7JV]-/%II!S69<0]KT
M5U;@><,6VH/M3&OUSEF[-8D8V-$HJ=[95QCR%&5$33N:-LU4';1K!G>/5P6&
MP1;.7U$G-I;J*6$@GT\^';X[/76F'Z>__O/L^/#TA2C=3UNET^BU"H#,SGRY
MY%17#7C86M=>ZD RD,_4,Y#]7[$S$LF/3$+7#")8B"]P7 J7![AA9IS_4_AP
MNGPUFX;J;ER2,Z,,=#X?"W39PB)55 M8HQ1 TH'="[?'@%'Z.XIC%VNX^?GV
M$4Y[?6 >IC4-[OO[YW?/PKW;MY9FGD7R@C2+$A8GCS%8S*GY+,V#=+DRW<)Y
M;2JB0S0<X'FQLS2;F387K1MV*025 =ERY.N:(4JV)4IN A=#FG<:SK5'2>H&
M";W'2.AA@X1ND-#[;]&17N(96?2]2MB\.(NNA.4*BZ[&LZJ!BDA%3NV$F]]7
M40(S3FA_?[L)MRP]&?IK8H^=;KLS=7#*BZ*WX!&(475SS<.HO1(K5:V8%!VQ
M8S NH0&09,4FKF@B^4=78T\V _%9!R:<:'XA:DP)RM5!"68X$ESM''2%)EY1
MNL^ IT1!:L*7\)")ZIM&2@3%RZ/FB:'VP)$S/.5QCD1[!+2<8Z8AA9@'20SM
MZ9!M1R]1S3< CRRB?#.J&.J]QUI8&6M248MZD-HZB1)IEP+-]6Q(-:"!$%)J
M&*P%PH1%N899<9-AO +T;.<7_5[TSS4#IG?*4&[-0==<L-I6&'8E71#8;(G>
M ?_D6H10DXMM8JC??G=_Q_F:AONI[?RCLG2F+>$UO68SJU1W=R>EQ52EZO:"
MTOHT%92$<!<L]J?Z6FE$'O;WPD9':JHUX=Q87@_@QB46D7%KRMPYA^>GY/D"
M70$>RL[5CA8/$W&Q%4L4PH3C-$E>?SN3F(_4$7L%,.#2,_<XSX@._WL3S&\H
MQC9\]+<VC">?GTTA>Z_V[=1FM[',TS-STO8JUCPS)<,7XJ@=Z[%@AF *18B+
M/17$#?2[0&8P34),E7V>$YO7N+5)%K5G=8*>%"X$V[7(I'VH2L,:-0>G7\'F
M&O1A_?ZOK )VBRO8:(35OEV*^(LK+L7*HBS7S1X('JB\S+4IZVWG++W$[#]Y
M*00>JT3 N-WZI;X]Z4:HH<DE@/?JUI@IUZC$:VF ,XSZ+[D<R>T/."M7]1!8
M!.%,:I)FRY0@(I7[O67 PLRJ6N[(8EA$>3]C7:%<TJ[90DHS@I6,SN!YV;TC
M5M$*:H_ %9W#(+?,\IYX739->\6UW5)S@DT#D/XZX2I\A"+DJOX1!"4]<OT)
M%!@42?IPYW#!ZA(O98BPF4+WN0*PZ-S06MF)=Y(E/"L3-H:X=>?B0GG*H5R2
ME*-L4!)I62J0$41^+$JSZ"N^5U&<Q\3AI#U]%7,LSU,4"AJYY)S@:X2_:?JP
M!40'<[*[I/N8'1\$@8$V%8^CX@"SX#;4Y((-L#HRK#CUM[WT9Y'H>I;R=DIM
M5FSS_-*\#BV&_] J\*#K+'YUO<&OK\S(15"9AH6Q-D 1OEZ-4M7#*6Q%='0*
M5^++>H..OFZQ337W&,]5=8C@TB'$8_)A11J \R&(D7 =8Z=GBIDI)CP/I9YJ
MJ*=&K*:GVEDT9)<JI4R)WBH[FV.E*U<]:+KU"C%M3K *2 N37C?,S?#2U$@*
MU(U,4W=.A@6.$#=ABJ+((I^"6:)JK<'^Z"Y/.]O@Y4:\AV6\E,\FX-VK(.-_
M#G]UCT^<7Z._$"XY1438OV7V0I3MYS++2TQW@G80CC=PD<#4@>V2..5&S#.I
MH*,88Z!Z)8QLR/-NR<2^/3EUWHI5C-JF(N!=XP#57S M.> IGLIEP;RZQM]-
M_8(ASJ1QOP9QR12;=&W53*LO];<<\V-)42[ .02U&:*[G",70(4SU;>'5ZSO
M;/?I89;P:0_.DQ^3;SL49D-YUZH9#'K$%U,MJAA#QJ&B&:BL1%MM./ILS*0J
M@H),LHR)-*#0;A[W59/<E?EZ;1661Q++ZV)28!QA@&!T")@6N!356DT!"HJS
MJE84//F:C>,Z6;C\&N6%'294 %$#ZFP[TY!)':,0]^@ 322VDN(]%-*<MP\=
M"'!>:\ERDO.JAQF#LBB.J>V8LL859[C-021"Q>7 '+>N185LPJ_UZ$R]A[J1
MUJ@S?@@.M6)>%**WB8A:DGM>T>[B57##C<>CJ)N6L4C6QC?QYE:>":F)=)/Q
M0Y6LS31 #BN>>#!2\W_V_ST+7^JA ?)G[XX_WI;HCFYYR7@S/XW#!\H[OQ!'
M1:'VUP#V:$8RR914!;-:H;:Q^*@T'QDL'Y0.9QJXC_>"&EZV?X/[+MF ;+DK
MC8ZIIO[8HWCJS%>ZJ\#F\A(4IYD.*VKNL:^PD&$D3$>R8=VOZW%.TS&E,?TZ
M).O#FE7EQDR'T I-\?/*7'PO<5DEB5,M9[^RG.U3"/12E,@?4IU ,[J9,R?D
M4UZA--")H?1B',V0(9*(FW*+Q?U NT#<%W=)LS9J?'?<V+C.\=>V/C'ZA[KH
MK%$<RN?V(W+'*@HI2X%L6?N:QZ4ZR;5:V<8'!FJQ*)E.#!3*8NJK&31$$[O&
M.L2L?E91BM)4%2["F@>,'49Y?9'Z4<E<[X]>:EH+]KBU8-2T%GS/K07/TI[$
M*0J$S!9ZK)!)F"D<R$+\*]UM-:I,U.$*9$0X!T)U@\&%I>ZC1S0<_01\V\N$
MG=RW(A%HCPY5H18D[17R*L5Q!/^6I]%\P=,K/I=9BIQSB YSWL&N")\S<_J2
MABY'?;'*DX$1(TM19K"KZ&(R<6:EQ;=;&*R!)*&J.1R %;&M0H;=\& H>%;G
M9;J&^H,S0YQS2PUQPQ(*&B,U2"64"\H<*!#AAD%Y[>"^P2>_@F5I.:>7.->2
MI^R Z6(3#G_]0\3%N5C AH&N%\%YB7UNSZRTM]\.\O7N\';A0=^'>#1#RC+7
M^B25H,XAE#8]D]H9HE;(-7<&9[_X:;A27@R^?+$DM"GB@:6>Y*T['E29<5VF
M\&N,&I8QFO@+G.^#KA@YA9E>E2+LT>M1]XYTH2_(D"!;8R06T5=B5VQO^(/,
M?L&$L90[,VB-#88@9A["5:^6*O-:G(/VJ;-D$6<T'L)MS(]M9ZJ8'<%7JWEH
MBE$H9UR)\2EQFZM'XQGO='$5:$:YKA?R[10A;8424'5Y/5= /9DB.\H+N71\
M.<-!DHM4 P:6H);R<](.\/?FE#X-935HV[4 %FFKB4!7O*0AK,<X1Q5L3+?C
MC5L;!3%8354R(P?@H[B(YJD^6+GS?N'_4LV9I#^:*HKF=:@*7T'JKN'^3%2U
M$:/BKSG)5/$O@ZK,+?I7-3M,%3\V(C:N-ZA[XRQ$]FDJ%62J)^J>+>?C^U_=
M8ZKA[&<%[0F5Q;2%VJOROS1/K\5!_CD3,B_VM/CXA%OW=W#'X$A-!YUU [DQ
M/:"Q @^IZFHE>H_M_:$*'&AV+6NWO S0G6"P705;WM1>PDG HX_7E9>:GQB&
MF9I<,0<EJN:]1WE>$H].GH(*,\"^Y2^FWBIM;XO I($[*W/EYY#:)56'KM4F
MY04K.2YS@D?""VH4VQ7R_TNT_*6FVVP*<H%5X0)3?O3)]D/[O9\<'> *9W>"
M@,6XMH65S'&C>%JH!+"H9O!LIJ;QZ"R$&0'!\09&Q^IP!K:;]MV]@F]S8<UV
M3_5K>#ENJYF2J\%6L"YIYI7?6%#U1)!NI\>C$?PL%2&-V44X%6)<9&TRZH;
M(O&ZZE_D !T+JW-.FJU-V2BHCE+]PE#L;U/QU.% #Y5O4"0B1(8 +?PG?!MY
M-7_,>.<YQ:CSE<W\IG@1-"Q'$2JI,HB-R^'LP1Y[=$\()S-2H R"&:/F'!<5
M(X81,GHS51@DR+V@KO*I;Z3%2)1R,K@[?7H!TA/*-?RA^M0& :X)FD3U:X&Z
M:Q=E5=JN(BO";&G<-R.K UE?JGZ8O^6ZVNC*<(X0:YPO#I_4^HEX]ASE9:PY
M11L#H3=C.1"\-9]*99(L*%<"[V>1AMA4HWVD77.&7Y!!0%DZTK*T7IVG33I1
M.XD654G0"[$7G[80$O,&,/8EYG9\&J:])J)H7U3C&OWL]V,X"7(_->(3>M&'
MOT \)9P@2_,<(9R8\15S ?^4*F'-JK(&K5UC0T8-H9.GR@#!99%GPTJ!@[IR
M%73 ,K1:,1X)/Z\24"CHY^4"2:(7BS))L>R")T!_^WC^/J]-54"#W';J8WD4
M10AECL-5 OL2.'H!L%H1Z$PRW)LN E?UD)HC056;GR/;*CY[2%,&"]I074[5
MZ%T^F)=8E<(K*6NLXM 7K-.FL&FI.ZV"Y=^CK,P;[79M9J/6;TV3?M@5!-G=
MK@=;Q(M%8E=-MEO/:X11KBC*F1['0LN0MVI?^I(:$+E@3)40$&SJ/L.I%&44
MF\E"FWC$EBZ7&/^$L]%UIZM"9>.1T0Z 11P.[CZ^K+GE*S1YMD>1QB/I9Z4
M,=GL_.::7C7?\6IXEY6)018G5?1<K>6]+M/L"W:^JMG?ZK>-I=YZ?W<Z_7WR
MIMF=W;LS?D-*I-FAG3M$9SJ35E#IKRJ'&OM[,FD\/1V/LBD09-&M]/<%6703
MV$Y_-PZ94>F,;%<(@ *4.;;[3'\WGPLURMF@8'7*%M4'Z0W%Y+4R;B9BT(LJ
MC7\ALD@6:HH1^HM@Z1"+#AJ%*4QZ:!\Q[EPS0G@]6,J S1V%$DK3M=8ZCE[>
MJ'55H]!08K41N7*EX3S@.Z(<;W/4MKL,.B[0B3V>M/WYD/63FJBS:SY.:OKH
MZR-+Z6H")THO:"++^N^56]5V#@4B> ,$)RE,$0] QL &A\7$2&=A14CJ+=K0
M'XM!<7\\KP86O<>PZ'$#B_Z>8='/TY)AS$MCWS7_3RX"@A^B3;LR,51C.[%U
M<!S7^9_(:D76#% )MT_ADK5)O 27<I'O1->B\4:DG9OH]HER5.^Y0_*(YY\W
M;7"/+WP?<"[Z!@.O'KV7\MP[7>@55@_J0BP6 NF1ZQVK!DX,OC_I<!H.6$0T
M6$J:1M60?Z4Z9"E]++XR[Y#&^5.G*A]P@2N$WZ&4M.H]!!!V%)(*>/5V6SCZ
M>M8Z.%0EF+26"J:B;$N/+;?W7M&]RQ7""].I(9U?/WU\OY]>]Q,6=T_V;4=Z
M3[@9Q^^/'(]GR"L9=./HR[ID40Q@HH/\'&=%@Z3Z$LX:_H?7Z:C*QP+1\)IZ
MG(I C O"2R3Z%L[!UHE2KPBQETE_I<\@VD0<FXE<H8KDG."5%0,9I@YK1V(F
M,XS[MW!*-M;SX0@@=O)\&6;.XX32 ?@JGH"@XJ6;4--)_A8"F4MN6S*M>%4"
M0O6MX335OTH(NM24\1T-:.C[4I[08F"E^H\W&?.$!5\& CG[G&7IPT%$='XF
M>( KHW+YRT-EVM+%@F;3IP&19,917C BA/ N(@_%7\Y[7N('KF511S;].5\M
M0"AT?]/)^W<?5:*Q:N CZGVPX+!,6(G7&H/6DHMEG*ZD@IEP"Z-4^P!?XIU!
M>E;UC6T-@'$:T),CLE'W.]!GBE-H<T![2T]GIT1/KFW[$BX:1$MX//E5!B6!
MA<W-,VG?J.\YIW(%6W,*KHXL6CO>D=/I]@<]UN^7TL?UXL[>\@0^*'W-Y>5E
M.U,%P3:(PA.J:ST4&.1$+L^Q1S,IJ?@*6W<P&GNOG.Z@XW8\SWLY1D7EM?;$
MKF#*WIE6Y>A;]',]O\VX>63X0<)_I!?"^27E0OSTYT<U='?<GSN"P2SP<$L5
M=P@B48+^@S@J6[4JY('JN9[^W&)T V*5S.Y18$?]9."Z(&4>!* 2N]0XJ*N^
M2/ZL,CWFPU-P2V5FREW+&G7E*5[*.47V7-7W'IPCTM(@O6O7Y&]O?JD"B(9L
M&&A9%EBDQQO@''"@61T8;HY97[)UHJI+^PP'$6";YULW#J^T]M0\W:6DY!;7
M)S22"I8X!]<"-H+&QW*GNX\ %#:7\-'F/2P[OVLK&DW\.+D8]9XU0QBV4%?>
M(KM_'](8.2$TH4%+#\E:B'DBL>*TB+[J?J8P0R<'O$)TDS3 .)*J401?-?)1
M@R=&Q6$01>6B;@YDJG@J5 \W7#0H-O">=0<NS>;PFW]74P<L2;8.@^%KQ\02
M<KS+A DX9S'RC2ZJP105(EN#HG-#;/;82+]]MU)'L?SZ<Y3F*T6_^Z),U!2<
M_=CQ1MI";4Q06</Q8;I1J\NRH)0)C8B#+Q4K*L)G,N>6%'M?:U8G<=[QU[>8
M&S5[I?KEV>GTL_8?\GI[PL>_KQFWEO->P/8Y9R)3X$&(<Y)8KOB3%J<XP^@B
M"DO,W!Y@EY>AI^#.\[\;TV%9IFI!ZJ]Y=<LMMX&'1YRB;6QHII^F7!0JI*)/
M-Z_]O,[GW430?M6[5?G/A-GTRVS>HFO^'79)KHQ&EU\A8"X4#("8(7E.Q9J2
MG3F8R8NEBUB_.C%D13>'+@8= 7"QL"?JPII"8+Y%5D%GM^M7\L6<AP 4,0;8
MU*=;^F1G\AS<H3B2K.$MA:P;8S2KLLUA?(UZ9V9C&M'0I!:?(@3$A(G* GVB
MSK<2<5M-;G$?+?W/M9,ZY<YYFI?*;_#9[-3=) +=2^6_"FL/%"Y_<T2)45/8
M*8H%2@KRN/!23V;^9[<#OXUCY2RP0L>F6?4K$U,9IJ0M"]AZ8:]K+@RJE\8M
M2&Z;ZJFN /5KPR^\XQD4NK-&X6*17-6(FK;4?!05L@@"'!NG.A!!></_:B!I
MHX?WX[1_2),TB*G_?ZI[IE_4.9_6J=RJ2<Q,E @RG);$_TT$96OG;32P3_)Z
MN M'XT)B$V_$HQ<1Q*#+J."Q8*4 +O<O\*TUVUEN'6^LZNJ"A'&NULHBG1^I
MHMO]$0Y<4FJB-M5$WQVV.&1/,!8GP#3^^H+@&,9WP@)/'"44EM,PC*KIC2C6
MJH-NG6*BDL*6'NJCXT$<>03[#AH'1Q'K[%":17,<C8R7I':^*7W\5@:<\^IY
M)NF' ZV\08=W@2I5O%K.)%!5IGW:=H[2E(G?WF8E6B<<+Y7K60^F\_#MU*3R
M:+*SQ/R$$]($:6LW#;)\?W11 XC=8T#LI '$?L^ V&=IOWXV^!WGA'RKMV!V
M%@*=L"SUX3RKB3H$]B%@3[<%ZP'#1OD59"HP^K_((C0.:3)/%4.F\CPW1@TB
MR(T3N0DS7>R3#MUC?^[.[9PVLTB47$#,8-AMB-1C5U=P1>:A/1SFWE<P+@LP
M5OJ8L"1RJ.H&#O57Q3@6.$VJ..&@LOOY*\KXRT1F%""$W'0FXF+EK&7_+4<B
M1OZ=JPH$;7 6:@^Q91757*O0L:<0JS8W\B@(VY+.9CB153T/?H^A'? >?TLT
ML4\-_ &WK^A\U2!D9JM<W\8%0F3(5\R8?UOOOJZ>5"W0Y%SEC'/A%AXDI<L5
M-29ONIJR!7>IY^=LC#E!89E2*:;I98$"W^I78EKL$(P2ZQNC$Y7Q!$[+/V/R
M:[VWE1M<N[U5C*W-GL#7Z6I[PZ$C3;%&;"+X7C@\M_84Z%=$W,C4L@&"A-%E
M[[1ZHMSXM!N#F<TPY@9QOR\!Y2&=;'B![['9\TPUB;^HD-(TRZ)2Y3"I&HPB
MX(C.X!*8G<DYC4/M+! MBF44PEG&P(^4!AP=6],@23T&/9965[:=1KKHE).*
M0O4PE9DY@F3\_W-D(E85E7+ZG>*OGNT9K'L%5-:G*?2<6G)U:HEBY"PTHZ/J
M(6Z;-2E;*17)07S&;<E,@\8AGOEA)C4W&MS)),4XP#4AM<(\8XQY04P;/QIE
M9[9?;\&%@B,D(!Q.+JD?@/=?9<5H?D)AJ' ,(T(MY871J C.Z:662?17N4[Y
M:=HP#7-B0EW,BEB#M24.FS^7\5)[5K6F)#4ID8QC79OB\/ (X8;4\U ]8J4[
M6^H[)2C^:E*FG<##V@Q$EHMHRZ@R7(<F3]_803!N)Q^GFUSW>/=Y)A;&E+$@
M)T9RB2=,S9(TGH2_,N_@6NO?4B9)-VYG<HY]'RGZ-RJ70=YHM3R==*RDX=/O
MQV]=;^)0LF,1!78/%Q9JT>&1\#9A:=AZ+FA>)U<=3Z<GI^YA^KO;10ANFHAZ
M@[R^M,XU/*-N\@>H[YPJ@L.FJO-4B'&+EF^-X*_F9.TD^U/S%<((:Z7$#UL@
M=T+%)>AJ5@?=V$YNON'^L:F6*\H)+.?GU,H%0645J>SP,*WIN*&FBJC%)#PM
M7H]^U5V<9IQBY9-:_>X.,FER,YC](U5?,9PU7/%0;6-ZPR[TY$.EG''GHD+5
M=NQQ,IN-_6#-$(:G/Z5!O%&@6#FL;A=5FL?YOXT/^QB'!1$X/&6%V*_PP.#K
M U> 3 MFAJO8C6U@)?I&W"T)Y1$B]+9Q,E^"!ZO&JJ$C& :H:I.FB<!D_GI_
M7KR5@88;+ESL[' E8R[HIO!</ZSE.O%MONZU>[W>C_6T\YIFW9I?I@SI&Q(+
M%^^8OT933JT*ZP)4/8.ZV1-)5*_=[X\FWL3K#[S.L#<9_?@&E$C(6=S77Z1<
MPJ)BLQ4JXTL[<L468/X2/(FA26!:J5^^K]?I_+AVU7UIO3Y,F;$6?3V$9-ZU
M>>QN0DUN-0X1QT,>0&"%BT?]GZCV20B(L.99P5@#ZN11>AA_I53 &IY)F[<R
M64!HD4@9YK51NJ04TLMDVV1=6I3-[,M>,?[>T"2Q4LFB"X:_53<WQJ9&U->R
M1IVWMDU"OV+8?%[;I HMNS&MWO!<*[M68;"05ZZ&"K-AP;:CO0G.,M.+#7C8
M-M@"5:13UJASUFESDFHX?-CB_#;64S@*)O@P?J131,4./P,E @?B9?SUA13H
MK.2UM5O)*GA]$(#2N+T6M=$ZN4!^Q+S%V;=,VFY6?4JR/?F\7CQJ=&ZC<V^A
M<S\KK6'1=S)V_0F;U*<T@MRPW1-JPA#<&W>JQFY?2Y!$><40!W^C-#*%_QL-
M!RK?0 VEJBN]98W-TRJUI0?G57%,Q;(/NH3*'PK1+0M)2I$3%Z0'9S-*1E'G
M;9(0C!L3+"@^2+A575-B9")T),3N'M?DV=R(H.K?Q37C-FVD]T,(FFB.P$)\
M40V]6E'9Q9Q8^"9WI7>:-J[2H!*IPG"\':]W8\.W;RQL*ZY+H5YRE5],*\PF
MO=!*$Z/A"+ QJESJTHLIC*@T&GTII@PD[5EN^=<&QUL-)-F(3-MU"FBDMM6I
M.$RF5<4?'NEH3--6Z8(U&E-KFR!F,JALH(GH2"C4*"!\'GKKIFDE\LM"Y3VK
M*1><FFPWNK[1]?>HZ\]H4@EZ-ELZ:9_(P:[B:-NKM:>94DM+K3^&CK\.$2[D
MFOJI?*9\[0XQY8SG*H4#UTGCB!LI?1%3C)V?2\F>LNH.W7UMU9O Y42ZHF8)
MVAZ^8WF"OKQ%+R2HG+$\;AQQYV"WX_MJPTNW>,:,DTYV#&ZJN+?+7+%NA_\2
M ;NRRG@I=QRI&"K%Z6 90Z7;&C74J*%[95B3++<Z7N:Q1WNCAZQ^(%4'M8X%
M-Y;Q<58*2QGOV@!F3@F6A7V57%"C$I\[ D+,B$ZLEL:E;#CG>/' 0J -#D5)
MQ;>;',,&[[EO>$^OTP ^GRW@LS%PC8&[S2S'I1K%A_9-P\ON5-2^!P.72_G%
M-F]+*YLRCZR$@^FFAKC4E';M/+"JA/(?JOI3+76@237) -;S$PS0JR6.JR2V
M17=NYZJ5"4WUQJ)WRZM@RD#="R-H8)7]DUF:%LBS5>RLS.ZTJWM<OKQGD,,)
M.#4B"YCUU ++-CB,QZ>* -'5('S!$AHI.C@+FV'5EK$I"U$7+J,:=K7;\\%0
MK!+4ZUZOX< YIE Z7:LN%4RXZX 7NH'KV%'7JF ;@H9I?@-DHR(&C!CI16O0
MM4#,3P;4@\!@:@,DUF2@VF]7D]8<FEFEN <;7,03G%HDO.*@YH,.>QJ=\B0Z
M)3=OP@2@5=[?S!*F-);_+PYDB<AC(YUM9AW2X3(S>KC FM78.^Q@MJ75 R6C
M5*F[9=>Y\=M_E8(FDU!F/(U5<9P!S)9:JXH'E5I9PW]J*'!S[/<"TH\B>%BE
M4<[@A3^!(KCY>E^*:CBK^]FL)>8I@O6Q2D<3="E)!(^(/\M+1"%69:]+Q;7+
M'CSW**CDMG[7-N=:VSF-,'O6[7CCZL<8-A!R/BEPBJSN*=^>@;,OQXR-7J?7
M8I9%ZVL%JA10'+U^UR;]W=X[KNJ@AM*B.QHY2YDBL2]EY3%-I_5>[ARH3-Z.
M]!U_K/3>JY;3&UO7V@KD[(ZJ:C)A?.P,:;QJ.=ZHYRQHR;EVW]8?U>8+AHM]
MA#=Z[DP7V$DG6LYX@A]:),3C#GZ 5,3N9\'>FIG9]GEZ:%K?>5AOTQCU2%:Z
M,G.Z?J[J/FHL7M7M F]/8OU:35/V5_9O^1BKYLDHUU6>"IM6JS7=L)Q$!-\K
M+HBI+A?B<93AMI-@WWSC5!AW@<C(4BK"(X+:">(T-Q1QE96O.C4A\EFDB69K
M0'Q8O5A/+@=O4GO+W&>DKTE#&5/_3*[8*#79HX$W"%:&-HJ! =<X$!!.$&+U
M*.[B?:Z@#9&"M]5?SE,>GF=T>A[<IO-T:>>4VUT-%>*=*N#_C[UW[6[;2-:%
M_PK6G,F99"U((\EVG,3O^T%1XHSW[$Q\+,_.WI_. LFFB#$(< !"-//K3SUU
MZ0M(R?)=LC ?)A8) HWNZNJZ//74:(A\*'Y"M3;VM8_>5S8QX38#1;NNQ>F8
M+AHH%C-:!D#/&0A>@+31*F4M>2Z\#"B =BH]P;2JK"KG3@K[$%L,A+/6Q>>,
M-".H<7]%-23I '=>7BP+(WANR)-QPC$K%V;/M9W)Z<[S,TFW2"81X[^"WG].
M9S4[2-R?E'XYDZ,@[1<NT=J(";1<AZN!+P+E5A^%?.E'CR3T$H9HU^\,E2?(
MWF\X$,_$?71R@F'D;SF.!R<R#O"&#FLCK6Q]:\='9P43D[XK&4-A*5FMMV$D
M+32T(C/T7=JR>^4E17NAAS*@T=3Y#'&BX %D9W[K2@FXF<((]VFAU->G'?W5
MH2AX]LT]49!A6DQRKR(/5+I48:ZX0H?E@3'[&H;L_/K"VEE97-1-QR4!*1UW
M54S0-*3A4FS)+8Q;ZY-Q3D8%STR@X?F0!5U[)@%Q3PVY;M9153PSL/@]QV78
M7TM=M-:$6JL;JW VS?G-+2I NVW8A'=]KQUL EY.%G4/ZH"1(0K2P%B V:"A
MX_*#JM@V_9IN_]K-GLBCOC\Z//K*K@=#=['JW ^=(ZN*%*M-0<N*GF_])SR>
MGN]1*Y=EIU4M/]CO]2*Z:I;FZQ\]/GQX]/U7,9Y$WU, )7^]XG?'G^8GQX?'
MCQ]_'_WOUHYT?+GARYT\^.XC/.K_^^NZ'0J\8J6^H^T\*::O+LALK6<'JN/F
M_+_].BZ"Q AJ"Q_LT2K#L2;HK;(>-J44_;2#U*,+]P.TOOM .G _HF[OF[\%
M[&H]&]_?WI]D"M_\_W\Z/OK3>T^&!^X9D'.USAC\GMG!_#FFZUU\C>O"!S!&
M_H<ID7YF#S,.\W\T.;MF:D4?'#VXR[(X*L%1"=X")7@RZL WZT!D,D<]-VZW
M<;M]JNUV,FZW<;N-V^U3;;?C<;N-5OR=FOCQ_3^PGKNE6NRJF;DJ43D*R/C^
M7\X&&65A?/]Q+XRR\&DL5DZF[YJL4S+2Y].W,5G?VD2ECV\^S1\5;_ >)LF+
M@//PF+>_Q) /PW<$0N$/+IA[I>ACSB&#&.Z*VMJS]G=U&W]H:1GG8]P]]VYV
MQAD99V3<0:.\?#;3VJ+![VA%\WN!<JS6)^Q]D;>WM6/H*]\W?M#1$'Y["TWQ
MI$CW;87W)I-X3R3ZIM-4-V\W29_!L?MX+W]79>0]]M?#AU^XM*1S<]4T?'4?
MQ694+:-J^9BJY:V1=G=,6D;5,JJ64;5\%M7RUC"G.R8M[Z%:WCTM-/JN']9W
M%2ZI^[BU1_4_JO^/J/X??/N%2\MH68ZJ950MGT6U//["I654+:-J&57+9W%:
MC[YP:?FD3NN8</TX3BNHC?_Z&\A>[^/VON5'P+N6,-Z;0^+-$W0[Y.P]-NC)
M)SU&WKWJ\[8>-:,*&U78J,)&%3:JL%&%C2IL5&'OIL*.O[\E$G='5=@GSU)_
M(/_^]COP+V.JZO'TN.6GQ\GA"3;SK.E!6#V>'S>>HMLA:^]S@AQ]1BMX,*=W
M]! 9-=FHR49--FJR49.-FFS49*,F&S79Y]=DYMC3?]%4YXOO)-5*?[^Z\=VA
MN.%R:*[(;55]>RDWRXZ/OD+[V&73.NL/I>VF_C)L-#77E@U;;MG@=EHV<&=F
MZ8]\=')RF+V(A_!\3N_69L_JZ:'U:$4?6KHECV!^S;.N>-3Q+>I.-BLOLVE5
M=!VVY(4[J)N9L\M)%O"UCN\/AE^\_N'@P9-YY5X?2+/NLJG1D*E?UD]F9;>J
MBNT/^'9GFQX^*F50&IV2#_Y%RUO.M_9 _ND!3=H3:X']@W2KO'1Q!QV_WU_?
M<%._SZYX/[KA]UNLX[0^AQ9#_Q\KM_ !/QU]65=E3<-8%ZUVT4J_H'F5CWFA
M)>I7S.GE?BBJ3;'MM!M1O.:)EN85BZ1@9S4_[*)]TJYI;Q20FYL0MCZW6%M_
MX)::?^OIV^RL6*'!\&=H<7SW&QI_]-[./R]75;-UKKLS4_)^2__"K6@$KLY6
MKJ43><E=EXML0=-<;;F#J%N74%'T^8P.H=:Z^$Z;BYJ>K/8&]W=NN-$O]R>>
M<J?Z!>DSNJ)?H3,E76&]@M=-5JRYTVF>S<@<J)J5WG5=\.-)-9 IX[*U*Y9L
M.125V#(TB/*R1"?B[C!#,WEI$(WA9I=%16:%=L3L2*]V:*%J'>@WKJH.)JY$
M/]4YC\;94O/W#4U L=9>T_.B;*5A*JT&?5NT,[G*)N$@GAG^=]V%;O<35[LY
M&BM?5,VDJ*KM87;:X;$[MA0WTM:!D*66/_[NP6W4"Y]>+N<]+=>:+I;&V712
MRU]^T7*(B9O2X=RQ67OR\"3KRIJ$83C))VCX79JIJZUXN^P!_2"(0%FK#"_)
MB)Z6=&'<=3?[^N3QXVQ>NFK&X_GV$?V #(*ZJ+ZA9SS GV3#TO9VCEOVXJ(7
M_[M8KI[\E&??/GR [Y.FOGEV_!W_ZM\DR[0G\NR[$_RI[;"G"VR$MJE4.D^^
M_Y8WYHSF"WW3V6K(YGW- DY[X>=BNM@5[ 5Y"ATI&)*M OMS7@(77/(30_OP
MP^P?3>WLU_\\/#^,]P9W>:?M2/< /VE35;!FZ>D3TF<T2GY=W[3]$)MR45QB
M([HW72V;;;UILK[&:X@NX:=UF(]D><XWC@:?\VYK2^ZO7*Q6;?.Z7-*^I3E[
M])6]@JSTIFE?D4J;.AY32WMR@Q[G$(4WC8L>]RL:).L>Y9V_SMSK%9GR-"5K
M5C$.6F,>+GQT2+Y/]K0M2 BQZ(-)[,D<%(^'K#YWB;;:-0L7#97[,S?2ROGZ
M^66W:4EZLJKZ]F)[S70\O'(Z;H]3]>69?C>W-,[(@<0*_=C3XN&T/&MJ= MG
M8?B9Q'1Z[VP0WIG+9;G&44]&PE1F!+(]L5F"%IQ.R4?"-E,%LA +P'6T1S%Q
M).W^V%;EOW0%Z9=%L\&!J_?%YNA<=6D6 &T5.;!YKV T'#,AI51G<,!)A]+>
M(K6/95LUM+A;[:R^>4+ZP3?O+FB'SROQ^6T/3G$GVJCUM%R14C_,?J,/SQU&
M K8Y#G_PH:&=*;(;B(<]!OTL9 ;]$.9BER3/S/C;XR?9U\??9.N67F@#LCN^
M>TXGW#?H"[^B^]'9JY\]D,](-6M/:?KLX3=L'O&8,):O'WV#)ZT:-I^F9!+]
M0<;0HEQ]F'<DI5:AA3ULQJKR;QH; G*D0TK6BX:L@<VB88V+(_JB+<1NI-]'
MD2_Z=]OT9#06TW_WI7CCW:@8;X5B?(;E["# O]N1==\4X9+.?;A"HDNZINK7
M3E4CVR<DS/.F6ZNMZ=TE\5!L]J#$V#T*-ADVWJ0JNP7T*_M4\08@7=' ;V/C
MNF./"?\E:U.M$+J];3M8N\6%6$L884^K--B*'.)=%J8%TX'QLM)G]&"V9>FW
M]%*S%M_CIY':HM_*"[+1&EX1SM::E4(%'[(S59L8[ASDPWCXI,#7/S9T++ S
MQG'9ADS-KZ$93XZ>\%?\[^,GW_@SX3]=098;-!K[HX=W9ZN^GS0^$Y=H4;*4
MK>"NE[S(=(*2"\(KU>!K6;$E":1X,^0GS1!/Z&C^+<K_KV:BKC%I<U[C@IQ_
M6/H9_+I<[/)-R:M9\.E/[TLK#0>/GD\&K4EY9->35PW7$*LY1VA Y6XPE"D]
MN)S1.2!C%X\F,C/HN&*?3-P/_[O</[&K\&,\A4\CNM]:;'IQI_@A>+DI#LH9
MNTIX;X@FNW"Y)$@PM E$K&WH+_S@[*#K:?'L< MRC$M3_\4F#DLR;Z9]QY$.
MV<,V#&D2X6,JV)QYO%'Q2(W-\':OBIHW-MS$B4,0")MEVE=%2_.M5Y(U *-+
M[ZD*QSF)V/A C0QD5:X<0NAW:(]\LHAB]G.Z$#^%1;HGQQO,P8L&,1@VY^+(
MGQUX)%L6ZS/)G26"%LX.WJR0W"*3? IBE&3<P:X7S:4A37846)EKC,=2I1H7
MN%!Y-Z\@VC"D%R[=ED<+5YSV00=IP9W\00A%MQ*7G>YX.IN5ZM1/R6^HL9^A
M"_:=FQJ*,IL4<^:@!P[HAS.X+ XG5T=J@4,O&/O9HG3S[.?7;MKS"_\VIUU/
M.M1.L+.??TO.KTZTRZ:FF:IH*"VM.=V*/Z[D7.-9V-&)'(<H+GIGH5[1+"0:
MTT6(H1735W6SH?%=<$@+ 0@WQ8&NUL+456[2RM^.(U0H]/Y+Q['BMIST;'?S
MI?0M])L&D2 J]"X'>/4],](Y6I=,UIYT,U:99YE^DA4;'ZW%=V7=+_4S&W[K
M\&<:QR;%#$^2SG<?Z-5 <YB*CCT+-J26-'4<66.MJSNZ;AB",'@YFDRSZ^C%
M5:G*I%==0\I^3NM78&4NV!DB(XR<EF6R1;#T),<D.*T,S]4+%FM\407[I)BV
M3=?%CHY,)=US+DJ?WB<Z'3(WIVG3PZR@;3R#215.W<26HI^:S8BE+582SH=S
M%EF+>A9M302B<V/5K"7Z:+, VPO+]LIMX[>P]&@W'B-1[M 5U7J19^?%W*D=
M_#M2&C\BI7%/#A#L&5:TI*U)I)?-VFFR!W.29PN>HQNE>Q"\[3ML)_V:[@?M
MC[32&4F_J# Z*ZIU#\@- V]@HX7;S)VK.%Y/.TA/*4Y!S7"^D255+ &!P3;6
M )"&2)8E[T39F=$X<33*3HP/#-8#J\6V0UBKXL %30!9E!7=E3RY#/N8OQ'W
MK)&M6M%T3&AF&N0RY'"KZ9#2<:JRA=%,:H1W))TH+3E8_C2@^>CY)*!_7.K!
M9'.%Y$R6IF-@(F(I_DDG!3WD?,T6,SM=A20#Q:+WYV!!DX @W=29QO.'V,^G
MS^T0DTFB#T1/=H-5I">6-%4DEB44[\RM'#.?X(#IZPZVZ,50'+RWFIT\S!8(
M <*@+6B^.B"3\$]\LG'N%8[*U:*I:;H;AH8 1W59%NIDD/IS?)3>HL#1"%.Z
MS3"EDQ&F]"7#E.[DH0H%Z^K+LFUJ.4KB8U1.5I_LF%U"87=\"%R6G4;V_G!M
M$Z*-,!]+4<(603,K<PW0*IVR8K>F#Q77;33Y]H6#GT>.[/FV6[OE/3'XGM4,
MX."P'<] 1;?C8S^[9G*RK__TXOGYG[[)8_,%OUDW3:7>9C8GB\-QGH^M+7CE
M[*4&^R+X4DE$6?*2\"N;OB/+B@27'N$40"1^4A1YR-4("D$[M30#\L,"$AKY
MQ-SDR#2Z5GPE($)R^QF&,&TZW5T=_;0@(TZR<\AU:EK+)T QOHK=:AE^[9#V
M>Y6S/2?^[@:V+;UXL^'0);V@_PWG/0]FS4&YMNR O3![ZCEH 2XY7-_ ?,1%
M9(G!>]61\#@.^E5PWMF]UDF#Y^>S#OXWKPKD$#.88XHHL>@GK:O]5E0+O\%?
M8F19LCB</$$JU*9XBCB( RPM]T[T8$&2 <:KZA!L*1VI-\=IY1!OFO/ @,OO
M$$:=23@9HJO!!!H70^=+O_SE)1[5%9>8DX$,"-2)527[P7F*'6+?>XJ?N]>T
M)3NY9/@6\3)I+"B$*\*]=Y!)63>EW8LX .SAEMX;BP0S5UZZ%?^@R.J>459Q
MR*)S:UKIGD,'F!&)[]-$U:1-LO4&R78RG.OU8DRV?@Y WWFB+K*#[.?X#,ZS
M<W8765I^P=K5O#]^9=##W4&C?/2#F:.3238VG=@[,U/O'8Z)LU)I?OI&DN4]
M_O-??-B:IH-Q'W+\<M0A '-(2UG,4: X>IQTG"U<(A0#]69)P:E%<JH&7H]K
MEP%()'!AR]/1\KUR"Y*8."*.-)>@H./ N,5Q4F2,Q"-:4L?T<#HCMKD&'CPN
MFK/V!3+.@V-;S@>\I1_<S$W9O+9@M )9LI)#&RFLQ_]Z5M#JA1-K5+&?QD+U
MH H)&8J=*F!,I#RP%\Y_81/V7TU9J_FJ<;)_R$IEOXAX<]!^ROA3,A>.#!#<
MB#1C\5_"X@UKSYZY".:"BTNX0I6L 0:OYXI3]3M19))V2$FOT+;]:LV!2)@R
MA9H#&X6*8#_42)A4M,O[LII9*,W;AAQ;);$CBP_@.'K)C)')[F)+\DNGO/PE
M.0J__U(M(2&Y(NPE>IIN]1U,V2C.GT2<Z78(7K.S .V(Y1.<3C746W0EB2:9
MGKV!BD1PC[W#QL#S,[^2+U*5^=)%4=^S%R_]&2!@'<;\(-VJR4^&YXBTTL5L
M;B^0->+L:$$.AMFCC +R:C!.+7%!B23^0H'LLJ_6V$[9K.RPKZ"">0@:TX[=
M/SX;@+FNW%I=D'G9DOB;O\9' ;R9CF7\@A[.& M-'7<"!;'J 0G:O]8_XD/(
M'Q\Q9JN((O9T()!;R[NNF:\W'+.W7"A<N)K_->W;UE)V\YYS&?23 ],;LH(A
M5Z>GSN?<:O=FK[UL+AS2X1Z4).$U4ZM8V0@?QUBW.BN6$\1D>V28%-9 0L,(
M:9(;>@&WZ@33!)A!(E'F7C>]U&OU*U+0MA]FS:;6/\4PX@J4SRH'=T@0/HG'
M\<+OU:<6N[H[/ME[>QILE$P<J5['^T!J9 2P5JX**=KA9/"^,XI#>].FD_B@
MQ9FX)A&O%A4CT1U^:9VK:9MT]$\Z8YZWS;JA]Q2@$A\R?);XZZ^WY>Q\^^<_
M?CFS TX,,[TPK.LSO]W]KWYY\2P!].!WS^3PT*C44W\BA!N=^Z+%@<=_6E6E
M1B49"E,WFX#FV;WWX-?AM@*BC8HLAL\1_H=T+/(C>[/ST_,?_:NE598OB^Y5
M]I117F2$G%5<TN3/K/#"/]%Y735=CZ(LN^W+LZ<_^=L"WK-$Y8$Z1)D$E*7L
M<M\I?O;3<WN> #3I[]]QLAL4+->PZT0]PH'C2_?#Q5IL<,[10I?]6'0.;]62
MPN_B58Y1<-E%$+N+ IENP0ET(5C'B$V16+J?ES]&IZZSJ8Z[DZ>.9_BG4$R&
M*N=8[Q7FL6PUF*N)H?P/1&=AL7)D^&NLI,HPWVRPHV1S!P4"/XUL7(UXDVCR
M,)XC$HL  @E+A#I[%BIA!K?]E5%E++L:Q0THN;3$&^"-^5QK$P=OZOT^7Y'D
M;>K8 OD+[8^:RPMBT"3&FEC/K&8+;&L)7I-%;Q7E@K*NV+N5+13PE.(97#UW
MB!+![N8ZI#@S% 5M@IGN*X8&X%(/&()]Y@/?%D;2[])HTLM&9I">+(H'4:G$
M^.8<O-/BSM@;$>T6DE5=5&&! R7/H$;SC(X)T9RD_<:-?TML-N^_DE1 6NY:
M'/V]N:I(Q=&W 0X< @%[8L#_X'+YLQ (/M.PJZ],U\H=!H(K""':A++][2[1
MKY%X["*<M[C_EZ7;:"YX=EEVHH:2&!9_MT)QM=I&#'N308 NH)W)2<_E(R[P
M8$1CPCUN3]1JQ(;=9FS8@Q$;-F+#;ID.#[H0 PD>1^ /]&#F9V GF6F9"*XY
M)2MEG2IQ?"SZ,VACT\1Q5%)3@&3T+5!2P+N2]7!&__=**R$LGY'D,G(A #!#
MD1P\=7<37I7X!G':!&I[[0QSP;?8PMM7;+0$RHIU@>S;93'=CAF)3V-&_ VX
M*)*?U*S/E5)%A;2<9OZ8,HN!ZX%@>'#9U&^2$B!C1,NF<K@$<>K)JE7C$IDD
MYU7$=V?T#9OBB1GRK(Y=E$:W#;P# &E\BM>3]\AV62( LM9M4@;J*,&-P5MH
M:(!2.6=UICJ*LEO;()*":IX>CJS$#DGB>^6^7L</[,#3TQ2H N*7Y11D7RO"
M:DGWVE]UIZD[C$0QGYK& ,XN\=NJ;:CWCJ/<,Z=\12@7F*)^S.<0_22;(XAX
M]7JZ\%]J;+P>,:1IX'C@#3\O:1V"&W(G=->=/#TQ]SM(CRBAT_K4(E)[W'R(
M=CMJD62%C,J70RK1%F"H96DE,')61J7G'CGZ-6DS7W-'&\Z^^,;BDT:&8H'E
M2=DH&%.#$LQU]T,$.,BSYZZA?^2(-'FJEN=54;NUU.JH-_?P>:>.7.:6DV:V
ME0< +C3/ND71AII6L0AL#,[7M@[3MDH.=@7\AC0C0*127TCOIQ.?< =QLI5F
MBKS2:7;1-IOU0N@.EZC4;?4)'&+M$)FM4'0<]%P*6&<-)*@F48!W2.V\OURS
M)*J8<NX2P:NJ:C;=#U=[G32<Y4%%Q]6!D^.4AT3GT9\&[@VWLWYX^.CDNZ]2
M5W.@$O;ZE.P4/>%).L 3NQ\F!9>"N9WI#&](#WOP^*M/.[_7:?&'AX\?G1P_
M_N[;A]^?/'C\\/')HZ_B5F2OG%O1."L_.^KW\21=,ROD9WHQC7P_>>;QT=%7
M@QM^O@E(1>YYQ)SU^0ZNWW:)O+*+'C%D)193$M'<F+0\J<@P**REBK"9>C/I
M6)UZ786RPVX-X#_8MGS8RFS5X'L,0@7C=KM5V^WD;FXW/N0_IWO[NXNX&<(6
MLC10QWRF8KW(5NH\\^^KLJHL ! 3,8"^Q_.(H-?C"A^%@A^CC?.T(UU,-\PW
M!,O@@1;W\-Y&]0E#PHP^^.W8DZ\C3\:%:J.\*X]RS=P9@7AKATXY9E8)-!>C
M:KD3JN7!W50MXC=\[F-<&>6$JJQIUV2\EB!C&?A :S==U#2HBVW&+'RL2/JZ
M:J:ONB0L0KZ,JX'35/1>U(^%?)&54]CW,+ 4*J^</IR>Q02FL[:_Z#Q["U-3
M6(T>CY%<J"5-3,^=?^+[R",O7"T*:2GVBCAKI!0JZ);.@P<Y-L6?;8H.E@NR
MS\H@O!1@X7Y^)2X-JS1\NI=XP[,%=>)/#<(0$?]5]@M8H3PPZ*>0 _Q?#WP1
M\?\ZSN@;7VDX*JD[H:0>WDTEI0&-SZ>CHGJIO77RK"U\7(/K,6$L<'5H4T]=
M&\#[B=\AQ<^^7!?7])V"VD.9DF?9V;AB%^WC"XZB$@WAR5&J]+H#4;H9:,IK
M-K7JZ8@"P"!KPP!*NJ6_V$#*3X,Z80]-K-0V\_!6X3!&R:UK ?Z.X_F '](A
M-%7X:52W[@6$M3RR#_Y8RK,I@HA3*S O^3.$W+18@>S67E&@97U)KFC3,K^K
MF;$=Q[X"?YLG]C%^'3&Q.ZGR851DE(\0XAZN@J!;<_6R135S,D\%*,DFO*_7
M]JA=O%E"#.H3%D"7"5HLK8IG9P(4@VDI'YT$93-37J5^-2M\25,,1Z-_M^ ]
MC7 C@=^V5V@IMBI[_!X>]O!Y%X%# .1R0ZSQ<'/^)8[M*IIY?TAVA'A]CNII
MH"BY.P-8 <F.)?FY3[6^.QR1EBW735/&T[/2Z0E$Z_CMI*Q]!A5*C1DDUES(
MU*&7"_Z<-JNMIN.UI'9&>[=]E9)2[S0SJ:/$!R,ZF58QZDL"LN!YWZ+B!EE&
M4G\3QWS$S89U+D@RZ304GNS7YC+K2-C3AGKLUMG)MP]"^<&:B[S:PD@6'GS[
M?89P!/,=RK?*&>S9%G9ITMC$Y8'1>>R M/@7N-U(-=F/#/-YBNU/;USDV5E1
M%S/\=T&3FON^([\X\(YL\^P9#8(^_X^"9 7UUSUIG+_3[>DS::7B4RXZF+_3
M V;-<M0MG\@%55*E4GF1_MW#9G+[^OCDG-XC$ZO@#>./=9@'-1_<@5HS9-D;
M-?<25U32:^[J9D :9H)<2.W$5-#AB)X9?9\@9W1,[.GY(0D<K.$&$#GVD[F>
MANTI&!9$7Z#\DEOG.!2<%;X2&>=D&$R@[U&N]WC@6N0H*D5=:]1DM,+/"F[:
MVG*=LK\P8UOC9Y%W1 \0 R?%HY<SFFRM4FT8,J!6Z_3YROIJ4&U1B^M%V:KI
M1K) J@0_0R4WV0?@7\FF93OMET)^*#4I/!)M9)4R'"8+C\NBN1$?OQ(RS'26
M8++5HCS8'2@O)=\JMI.GMBWKP22$]94E@L7&G#"NO60C*&*S11J7'C51-B^O
M,KWJ9YV,TO")T#T:KL-N,$R8COC4VXQ/?3CB4[]D?.H=L]%O'LMY6E9K >+=
M$U/]J<9]YO[%43]43Q=E!R);6!Z)V6HT]-QW#T7C<S"'G+Y\&MTASUX^_>FI
ME!@]?9K]3?[Y]#R3BEHPE+GEA.['S2[H9VR5+,O7,#OF9&+CF0OC(2.OW1WT
MW-]3P^O,J!:"4'RH=6#@%3(ZIF(SNV3P.TG,,2F[54[5;F/O2&-ATKE@0JO?
M(:^+#YB;3./EF"Q^4_\.PV_3>4E&(M$O'']MZ4CS;374-6/"/ITJCHHU-?LD
M=PJ"]\4JB#/R4,F&!'IWM;@O_OQO-U(#V90,.<3-^KK\=X]2JO6BT2+MN2O6
M7'FMWLIOS_]YGCU_?A8W@;+KZ9(!@R&;:=%>R$V3\&-;MVPN.?=4MDHGR-:S
M\7_V$RLI(]\! >J@A69EO^0$.[W%-OY"1H*[TV2^DGX5(9X0/QW5U#S(1#!T
MS**G0O^C1#MQ3#O]5:H@PM3LZXO 38XZ+F6X=''N,:)YNBB6RR(KV[8@]W[-
MNH6'9?@@,$S*^]D[WQM<XLLH0'SZXJ4[_Y]_9*=1>S-EU4K.P)#[]30([G5S
M$.8^%Q'CM?-%U)VK.W.OHX_]06?B%-I\I =4NO-6LLG8)97$2G1$MHY9E=DE
MDY'P4V%%TP"X,D#BVCZVYF/+2_*\JZ(5E_6B;[DY"3GTQ8I<RC!@$_VH))I;
MR\E>BPYO[(W+HF7VF30N'8>XQE/M5IQJSY6M][0NJNWZ_C23?1EQNYP<'7^?
M-#BD<^@L>YEHY&?U]#!PD"5?#L@6JME@W]*&L>W0(?+$9]2Z;3J$L#F'UO;*
MDAST/N>\-'R,7_.FQ/Y"EHLV+IT+4;9)MFETC-*&/\QVAWG\^(GP?JS+;FU-
MNX,I'1TVL(T+E0E&RH,26XY8S4?1LC3S U*B!V#1W/-FL7*$3E!^BP'391GT
MW%[U,.Y1[-&U(SGY^!KSYF.Z+\4Y<#:%&X_V!V_N(MG>+-E&3=!/*U=.R9@H
M:1?^7$\;WLHOG!Z[=+4N97::6]F+[(II591,C$WF,[=.4":0*5H?%VC#3.>Q
MD('LN5DVZ==2)X3H]085L!)[EJTKU-HPPR4AJ2,(N"LV#_ BXW'].67M>=]V
M?1'W@MHI#_U'<5E>-$(%^"9[4>+J]M4UR49?0^IC'5Y(#B;,257,YR7C%VF&
MN,5>3(UVY3 M3V,NH_V867!(.KG>:T6>7FA)&KE:\=5\$?>*._OMOY[]=$#G
M]64QG2*7=(<.BO?F7 V5\U)$9=FI@>UR>DG_G#'(_-RMUIX]ZCC?>_H.Q><-
MLC&4A9'\\;.@3%YZP,/[S/\''M0]L@IP3@*RE;2E]2@4,%>4W;H=[B)C#O#)
MT? + S";KV 9<83+9Q(B,-S7'Y)+5;.#N0!9$M2FR+.OW>'%8>Z?(BEAS!#[
MZOJ[%V:"D(E.1\HYV^[],L]>HL=H_=_YCA.DT9(\>]Y4VZ6C2U75Y-FOCJ:F
MN2S K#$]_"972*J@VAHK6@G$&7Y*!K&/JV8P#BK8S# #<^PT(;:89_]]1B>(
M_@=Q>$E*Y-G?R3%Y6N%-G^$R.N/.T.WPM;UZ\=?GR&C\XY?_/'C&0%/ 8:KF
MOY[_G&?TNTWT#YJ;%\]_I6<(;\3I?SU[SK!6MMHL.L)X!6GT*A5(48M<*=MI
MFAFW,O>AF-!S>$37?#JZ6*D1:]V"Y!7^-N\XB;@R](97-="?>@GM.\2_N;)3
MR, #D'-W?XNW;8$X,EZ:=L;$9G[Q-TU;S1@$G8J^$GR'EJ88%13/-NOKHB>?
MOY5P]V!@D2WE:FN&[:%J1N OY"C<(\D/]0[95!_X /M/FMF:G9]3#Z 9S]?/
MMC,9R.*T,Y:W4RN_2 .>3]*K,32K,R:JLIT="*1K!Q.720&DT-"P2=SCG':O
M5U53KK5WF$^P* ^@[ZF=^LO^YL:'=0AV8KI7L60NC,W@A8KL^-'!UA4Q*DH$
MT 7QDW?XJ:"S&QR1,?^K_]!?'$*1%R4GQOHNNG>E]U;2*SIG)%6F,^<AK,@G
M6$8O??G;$P0806"W&03V: 2!?<D@L#MYINRO.^CZR;] FZ3<&J687)WCP*[P
M_D#C[JK:P^S<@;EV[;+CA[FIY-L4H@^MYSJEU66F?6E,:;[?Y]/H/LA9=V30
MSB31'!K-(\$D8U?+>R9KP51\S-/-+-@H6X[AW8U>X\\ZOUZWY^RZB>9_X[/N
MA#E]9M06 55Y"T9U7ZSHWW8L5$\1()PCSLA0)D57<MY8FOI .^J9F*=-BD,S
M8D 5/=$_K-[<F+ M>$RZE324%@.S%>OK4N-F52FX\U1#W**C9;"2=D9&.@%T
MLEN^++:H&X@Y5+Q#[6^ BSC$-(&R6//';G:(K@9;J^F0( WNV]$QP7GN-DZ(
MQT_P-V8GY8)Y^MM(>3'45 ACM<I59\<N?<'TXS\-&_9*++%]Y:01S6M4GG)G
M$'K5&N[#3'(J6WXC]MQ1%ZIELJABB8DCI..N#%0J/EK4:$]04:(PLJXD@2J8
MGKQIO5#L3J"6@,ESF7E&U'&,3MMY%.OFT NB:85  I)3;>65,/]\_<;QK?5^
MECBR.0>&RJ^AX.BDU(8?H4PXY+CI:5WZD;, AQG=[_@4TF798XN+&K4ZD\@'
MP@BE[D=JD?(=@H[=NUHS>X4]QJ_",3\\0PIG,I7"A*4UYF0,<]M,Z*RD);IC
MA]F7$1OZ-=ZKXW'VR27OE';ROX2/0G?+\??#GN3E6AE3JV9J; B[A;1?G]&[
MT/:L4?GZ:]%UQ731D\T/"!;&\1]@NMK*O_]&FKI;E(CNX\__:315\]*]+KIO
MP+RS[J2F;O"4W(=8]XV1QO5SMVYX!+LUN7!$T04&-_T'=_^K.!>.!TM5[J@!
M/@VG^$JQ5T$';YS/\/ I%RB59IGQS]D2_PZ^(_1*2H2,E_$_>RRP+B8WA2-)
M"8@>0S]85E IWK0Q=#B8AR.@'\N=I27O?KB0O_F>7],2+&S<?J!&,%4N4:XR
M@*ZCC>ER4EEQ_1OWX_Y)R;,7M%?J;M*W%WXK\"U_I)$5.WLA'5)4:K-G!$FM
M0?(U*9)YU9>SB.L_% ,DY@]7V"Z1SX,ME[[1KT5;31I&Q S>Z@F]53U=--E/
M:'%ST;L_4)%ORN<)FLC-20MDS\E&"0KF27;:TSS4.S?C'G/TVYG7$4^REP7,
M5;I6]8EHIZ:OD!8VY2*SI6W1MSMC+CO/'T^#\9E3J]Y"+9=-ADD6W6+X:DIV
M,I5B:+J1I92SOSV-*L-\XM7?T_.7*:.A0I&O%_,?VW)VX3:8D5AKR[T:S^'?
M-LWR^AL]:R^YS(,U^B'X'ZPO/!MN!>D5S!G3^'>IP1AT?#&;<>-=R!MN^K=F
M]0I!_N$:BC&).FDG_)1UV#\2LN6X1H3L3Z203<<H6\X%X3I IMR/>.)D2GG+
M!^6U<%K+K0U_N6<W6KV67>AT2':PN0!SJ*4(7]1A:)I)G#C2V;5N(X\ONBBX
M>_D5A]ZO357/BLJ32WQMP(%O<EI1")0H@+"@V==/*_?ZQQ)=.>FBH61G7RL8
M01I?_J>;%#5F/3F[LZ\5J/ -F_CB.34-0 9 7WO_RR^L%H$\2'*_LRA898QW
M;=SI8:!;0FOIB5MO'+VM>13_/#P_% 4BG1U #" @"8-T=47%E?;V"\,\G/_]
MG^I+&A^"D0RA!DK<=RBULA;O&A@#18D7&T]] B=WRO(?<1R@Z.6 2:8\R(XD
M?N; @BX<2+PYN M[7ZW5<>[<<#\HQ<$5 D#KLK;UT07&Z'Z;NH*IZ6/].*(@
M/DVNM5]S%8]L>#DCRK<R8#A\7K0MF/K7V9P.;V=-4(S(ENOLPI;0(M@$_%DN
MEPW"17_HWRA0*R[,<=?0D[#U-I4OO].]IZI. :O[PU[)*8@W?*-5\N3:LSV>
M@B?[[)<G5YU25Y_\>-7K;(:L6#9X:^8I4>L&I]JS\]_><;?0RC!27"6QZVF1
M(L'Z]O#QNR>9'C_\!"F1*_?P]T='QS^<'!T_8C4J+*X)7H\#FY47K:C$S5]B
M5HF*'?-0D:ZRWD):RLVZ&05T&BF- YD@9]_=68G5(2BR?3;?N+97K.WQ@X??
M/<+B?AL65T&2.(^F'G:(>+-6W[)Y'_=6$64!\ /I+3);I.R*:?K /]0E&*K7
M^M7<N=F$5)/$N^4Z#9*';B4>7Y)0*PWZGW'44^6L"/ 1,P6857#@EHA!(L8Z
MV]B@:Y0.3-8';>KS?%ON!%VSG/GN9#04L!*S8SF?'[#!"MI&0,9(EZ9F E=P
MI[9$Q%88)EC[I@5=+/KV]@0I1KS(;<:+?#OB1;YDO,@7D@ XO2S*BA'=SP+B
M8$P$? Z/)3HV-V["9YCO.DI[F7O_O>/*\"O.R&,13^4'#A8PZ_@'&/IFLSEL
MC==NVBP_WP$I=1=TBB,1&<*CPOP7\#3X@01TE+?$IIM[JVB@C!D<Z1[*\\WU
MZVM80JTC7Y SV(B%Y0+-.25S9B80*EY)=(GT.VO>2@_8Z0+LSDF=H3T9_WY*
M \R.CP[^3M[/_^EI% Z]CUXP,(C-(KO@_PCT2:-=PPN^._A['!MVKQ?EI%3_
MMK!A=EI"*RP;VJV23)X&WBW02$77H*?#UDQ/?A$^<1CR6W%-?*T$TEQRQZ9:
ML+(@NCR'<W( R-8:?B]3Y[)SL>&,S>KGUS1+9.A)]UQNL!NZ(_Q\9F#@4&%C
M>8M R'[A&ZSGWG[$_)ZC_]U,EDJ=IA>.,5G D<UXB7XT>_5,FU+QF$)?77%1
M(V&*IUIX%TY.ANT>9(7R@1SD^P3A%EF7M_@,?'\(D7&C>05+LF6XFX*A%]RU
M))#JJ.P=/W[293][Z<]^0DOD7PI(!7LD3#D"W)%(U[HM$=(T/X>\G-NJP,F5
M.J2-\QEU]^C<W"'GYO'HW'S)SLU[OF)6SJ0%T?\]+OXO^M;_7\GQ=[?#YWGV
M\N=?L^/3P^S%LUODZ9S_/7MZ>O;RMQ?G7]I!?'-X_S-KMY)UBZ:O9DC .*E>
MFUKC=ZGW[%XI;J0;=C2@_T<K =_"J]8F+AQPI".T[.(^Z;?AK;\XR^LM%GR>
M17AE=\FN25A01;H%9I!DX9LIN0Z2A[ X<QXAEGWMBU+N]Y5"5T,.>\I"!M"M
M^B4@1"H0\U9N>FZ*W3EQ55!,+*DWA.(#"'8)7#@BT'H_$C*<:TJ1:!(-ZU);
MX50,A55 AO4#,AE-\.)X7S$F^UK3YFN/$]^(L]O7Q::0)GI-Z[\)#$\S1Z9G
MN?0M0B+D. V>.U"1>\*\3SJQ G=FE/,N8_UM$)M[O&->)N$&BV4PF<0&S>2K
MIF&]%Q4;*=[CLJDNW542)6GD0BK);+.H.)=S-)2)MLB\;9"T86&NDRY=$E+0
ML1SL&4N1@BT,"J*2EP^B-C)8^E*24/VNLF?42-6Y#7E@SE=3A7#,*+6WP;9Y
MP>OX(E#YGDY)MFI?P/#4*VV)E>#S7PMT3KL[W)T?G3+1" 2$!H\3_UZG;\AG
MPODG>7AK2<6I7<.6("H6G8ZMGVA!#VSMOEN?S.6S8N\#^%#N!9+71@Q]\Z*L
M$J1!*)6Y\7B,PP]#4D7!,?%P?I6=5RCA%'Y3Q25J@0I@#Z7IO!^I<X)OMHYX
MT<0T$X"*WY6Z\X.ZB;<V!'@'W_+G*V52D"FU0_P/".R(%KIUE?#5#B56"\D:
M;O/3K6UW!,&GH6M#(@8QMD4/S&$-P'+4S/P&SV&,/-]+[J+',^S5Q ;6IH\7
M(,#F%I'HVR@G/AH]NKWJ00&;9* :"D+F0Z! =/Z"[SY7U/ANI%T(?$JW!PV"
M*=467S-EYN& :M%.T#/CX+?7E=O2@; 6Q.W1B?0$XW+HHE86W^8ME9K,L(9=
MZ;Y[7G?1;-PEIS/('B>S0GHT<9!?&MK/&$,N<!JFEF^Y_;.9++3>_7(5Z(RF
M1>U7L:EYXC6)0NX#$E+%A/MHHU,L_92!OEVHPVNX9I\1/.H-6="XY>8#2:(A
M7.L+1LV^PS2Q$#&?2YTPQ12SR]*3M]-8YXX3+.0,W(N-?S_4VVG'.[GG%(88
MR25#,M?9LV=Y]@PR]?UI_@E8$FYNVA@'>:QVG@>U\_F)'7A+>IJ&4"+QH6VQ
MJ-O%U^4W2H3J3>4YEV^3,R95'NR]KXO7 IIC2@\ZNHP9]0%8DB27B@:&0UP_
M$\2#ZD-;.72@Z0UA#;Y!^/KKDD;C3X5HE'P@]2[A ?3=_I2F.70YY)&D[\,W
M+<!6XMIE=P4:?\_<YE:=8%A"-/N3B@;6B6\W[QOR2Z&CP[%=L![V$_K@..<Y
M&1.TGZ*+EX7[;'M-O?1H!VR5_%W!4,:&0;V39XV!2';KEOL-N+?<G-Z:*5%2
MA+O)CD7C':!KM6-M,'%PHXX9=G3@I]P ]$P;"?N]]F.#P U,2$7YL*JAC0Z+
MJIZB_*O.%G2C:BO=60"[@$U1'QC&5^OU:5ROXPW&W8!U8#Q\KK6*V9)I)@"2
MK0O#==M.9O;%?;:#3YFS42=0VU=T6S6$;7Q"];"&5QB,XUZXZ;!_.YY1Q1B;
M&QIZC#-P(Q[^D\A@D_ EWN6'J[/&R#\=5/34 R>KQ?))#_S3(#T)0?_AX>&C
MD^^^2E/%@YC"WIPP)S6?\(XYP!.['V P<F9^N+>"N-/#'CS^ZG-MMH>'CQ^=
M'#_^[MN'WY\\>/SP\<FCKYYL&EIHSKS^\,JY%8VJ\G.A65J>DFOF0$_Q;WW2
M,4K7RH./CXZ^&MSU,]&.:^.J)JK01#\K'P!!JS[&.$D9!9_O^S9# K2J%SA
M38@YNEFLQ,4S=-,&E?8>5Y_[DU(WGC]597O9;:#H\,2I2UJC1/L<?*U2HN'W
M0YJ3'_?%N"]NM"]$)& NAGT!DOSY5AF%S'W6[\U\M$-4I'90/+)OZQR.DCI*
MZGN0L"D:8+-@^@1I!Q,91)'I0,9]J]U#0F!;Q3"VT;C4F.N@U5%A+%]<4:46
M%K.UH-LAG"NQ:(0A;%)9X&T0-!Y%?!3QM^^-,D4$D=SG6:_^S[QI8TVK-&R1
M9"86LYCW;)1DLY*3^%.7VB0[7-)>.U]E2-Q;IW-?H.-+]3X1<O'NIP<'Z+,&
M_'+B4EH[I 2M,SIGH]Y[^XWX$Z=BC!US-T7'K2<EU0MQPX[HM-T%B%ZRJO0<
M"K9G+<:HZ1*.W,)8 &ODC*4?L4=+/&NR"C+=LFSR]HKP"@KQEZUV>GZ6?7OT
M[7C6CS+_\61^P(MS50@]E'?%@8FHZ$M_J)T1M:Z>?[IL9O[(N_KT'XLR;G-1
MQG=C4<:=+<H8SXGQG+@!=(G=.<N6,'N?KSSU-,O[/!7S+@*61SR5];HM)SVR
MO,RB=_4Y4W+W.!A5B>&49F^-5'+?D3+:1Z/<OV\LA-,L-XB&7&$?2;Q# 7KH
MY\X^L!KP++LSMZJ:K61S$,UK%2O*)%=P.&;-M \\<"F:P<<+=1=PBZIK1/_+
MA!_=#Y#5[WM2Z<NF!A<^2Y?@"2,T(<M4W%HBHIKTO (^IY(/%74"R!1ZB7H+
M:@7^G46B(S3,S$$C<P='TJ%MLVI+DM_#['<FNO650])M00?'*%/&]$B@QUV'
MOL%;[H,\^48 W,%"HO2<%-5[ @.Z+BO%*8:($EB]R#,'KR@=1%+SYT-=3GG#
MHSB[GQ%%:XI'DW7]7.)6:T5T\SS3JN;6<Y*]?P\6"BP,RKV8!T@F^6+I(+0!
MK.9Y$]#PGE5&']C3M8 Y9 0;WXF!9'%63N4QVNL! V74@^^RH'&\?LUP%PW7
M"7C"L.\2F0RSJ+^UI@]HF8=01T"<!G"4/887[ 9+_M9@MMR7H[VAH" 6F0A0
ME]09</N,W1WT=BBOLHM[8UGKW;)&%*E&[]UEN38JS^ _<UN8Y+M_];,+<:BM
M]ZG5E6K5:9ZB@R=@$,6[5.4K,C46C8BE5E!(U:,(.#E%7:FH<+I"&JZXMN7N
M\K-0^QJ0Y,_F41T@-L9P U\-GHO@Y[ 5P< =^*IGOB65G\B80Z= [27=N%*^
M2(:PNQ7&H7GB-]1C1$<Q-H?NULX@$98XIO?M*V<#\JDUD_WSG\_R4,59S!#S
M1C]9*5ZDFW!(+V=98B)*+GX<7*:Z:-5']*Z>N-"F_8W%G^]0(G(GF:H K$?U
M#$07H!F/&4#H"B:9@&MF$58 L-42>AG=3AU:]TH8JO6[O&S#C9171U8U5 #Q
M+O!:Z,T")L6[@YLPM'18/+3WYW+J2@WZ-65#>ZN%<BMJEH"RE5$NF732EP0S
MMRKT'5-)X0%21H"G%;Z(6/?(U6*7%ES@P7R*Z!)U.U. U-]%$>JB>4\U[=:G
MD'3?@1''BKN2RZ0[LU!C5XWHX3WOA(9"42R>>TBD7$]<N:(M\P;;;T\5MXH1
M9[6TEB9I3A49/\$9T$I5%XJ^;2R^6N;.;-N/7F#X4MI!W6A[L!X5[<EBN*!1
MN38I>=^5;_K,5RN%!<]]!:(=SK+7BC>6P<>G=*GI\AF?UT%OA\\'9VOE+@H-
MB+@9DT%%9PP$O:R1!^+'=#0!>NY8J;[M]3LC/N]=53* Y<>B$A5$U$P\, N+
M&KM(_&T.2R4J&Y?U8O,]K0J6%9H[L3VGZ*^A@![CE@N02:5ZB\8T4(S#KTTQ
M#F0._?R ]X=K_U;R]PZR=C,!>PM]+%5ONCP@0;EHI#W,&VV>W.)]9-1-!0"[
M+I>1ZK[*OD_)-_:R;- I4=*+SC 7U^EV.?DB;<+SJ_099+EQ(<: ?!IKQJ0:
MJ:[9>1G+#L=^P]X*2QF$F,UHL7<-V0<]6@]IKEK1:9<*R_F AR!L$'+&7M7-
MIG(S+<RQ _O#Z*/#[&\"DS=OT]<D[GJ!'_"QP8<CIZKS:V"^V^F'?<G<P_ZB
M/HET$3W?[,:]\GX]2XR,9(\ OX.)\*7R-@ '9!R97_RLO!4U0])HM"KGB#!S
MHU,$\V#UT+!Z[EL@_F79^,:OVZA1ZV;1L#//,#UIEQ,U)(6+Q>&\8KIPB8O#
M,<'=_J;A$1^DS>9'G\AW:5%S)^TIV-II0Q<];\J. UHUZZZH06\>AZYH$.5,
MP[Y2K0+X"))MS/CDHQ]D.D!DK)F']0D.1>MB3>BC(U ?NW0S.F5))0/+R,9:
MO;Y+JO"] _S)CNYPIB)^2<=6+TT$NV7!&0#;NHA1T+X<-(S(T(WGHFG9Z0V=
M-^Q^%5-"^YO$%N5/Y-!B=<Z,@AI4R,_QS/@3IH+>TL*AVQA)5;MLLJ?H;=%F
MYQP'YTK<9_7T,,]^I4.ZI%^Z\_)B*4WUSFEQ:7!]%SI'#UO[<F- 82S&Z ](
M-?$N_L/-HK?W1 3[^T</VD)''8QSWX)84W"A"[$1/VMK:2-_COQ[:R*-A^;)
M_(*@]X)&4!?+)!6.F 5_$2+V9*FM=8&@F<E(G)=,0]?2OIO=GH+?$7UUF]%7
MWX_HJSN+OOIBCS&.?YHR!O]]L]3CO2-+U"G= H+I[M^]1&W)(N#N2YEED[J5
M0R@'G*K%Q05*!#BY":"%G7&1TDXT.SH^QH9&,$1"ORI3X62[A*"1]1^U $S%
MF6P:=FK>PLT/2:Q)7\^JT%QTI&KX)&8LT[XI>V/4QZ^37)O@:'9L"N:(8Z-3
MDC]A6==T/F]85$I&\[3,;<+H,A'!V249HJ05&XG81:$@%B2C/RT0Z9^[]A 5
M+V)$<WHV)I63V$[KU"3.Y9_H"M8BKR$S+J)FB0X==4<>G=N;YA')#4E7#41H
MZMJ(K+[\2,3[]VBP=KX<,Y14>21"289>*;G,>#61T'3OFM>)L\RJJ&+5XD5/
MO>G(Z$_ZOF7*52PF[]9NU5U[@Y8U*;<H+(&&:))[YAJ%%;PFQAH"BDFKQ8'?
M+Q'A+ID/_OD;H@"L^C4.(/&R.O(PQ\ZTMR,&L@_1$2=1N/FSJ B6>F9?0<Z!
M)!XYDHK/\-K3O4A7[;;I<:\HF"1GK9[5^WL<?N%!&&@90U_-',R<3CQ=LF[Z
ME7)JV=3/N,-YE R($LX<#@C>-IGU\[F8/2G,!GAK.BMS6SI>@@;..VU(8?CQ
MRQDQ_81;Y\.GA@7TRQ]Z(X$X.0X-A7A24UN(GJ0IL.^L U$EA^O]/261+D9<
M%*Q(//=B6DAC;3HSZ1F])G^$)-(/6.[1M!=TBS\TPX6@)TNI5Y3S7H#M>A**
MMR\8,#N)T20TC$]340FGYALWBH^=>F;KO6F#/5:N1\_9(K\'G."+560_N6Y5
M>KY10W"#D5Y0'(SRHO,.\SEAEGU+DFE$1GAQ9&<* T,A0#SZ(^1I@P4H$%#L
M(ZPQH@': #8Z9M_/+?CX ?![HGJCG<S)WR+14]XD9[@7@A$"Y?$6-Q940Z?!
MV L&86@8P98?(Z$]Y"D"KY%]"<N*0X('N,R:_EK) (FDH 22^+JX"8E4!4"3
M?+K/>&<+<C!LM(N?+@K 8.=N(P*=FHA,^-C9+.CXV?595=#OD2FKU[#IV>MV
MJ(V(-IV?=F]K9AK,JO'XT% ^'76UR+W*"P%4>UV8H,@!,SI./270P$W7 _=E
M],@_8JE,!'HI!PZ12,A P";]VN,:5P7'==A7@O2LT:U$I"$%<>PN_KY>*FP6
M[(!R#[.G4K@ AYX'&6<>U.MC(X"=/N_+)*Z5M)]HYCL:H5O'.D'])#\!$%'9
M-[K=TBT#! B3KN :-HN3[XTB0)1"[2X* ?JGH)I((^Q,TV@?1"1.J=L>?%:X
M/IVD+\/*>2"L93#QNPM7"PM$L6*#U!@<5K!,F<?,XMN5I$+94E^3'7@0>4)+
M[?ZY1J!4L&/_!-:=[N'J$,%1G+XM.TP7H;K4$HW.>L8J""R"M733%KQ46^EY
M4@D&(!K\UN>ZSCC7]<M+G^P2J!@0<E&DJ)-<VZQ8PL)9D6M'=C?;/*N8M*8K
MYFZ]S3-Z-HQB'I\#$!NXJ)WIBZ*O>H[YV=?>E[$O,]4.J1+ "^3SV3D7L5QZ
MF&BT3:R*=/?@1-"LOB)8IEQR3'!X3\PCDP*4<G![G[V"'(FP%UUPQ2^:6:X!
M*!#1[S.:ARN_4M ^0&UP1KG1\7Z,X?,=:=/&J64]KSB)(#NW*LJE!L7\ZS!M
M"J12=HJOYQ&KPE]FAL1%$<!\]"PCJ&8](*/0(BFDY:>\,Y;+OB8)': _'5KX
MLBO=2#::@6CY+AYQ2KZJ5>SXX=AF78/36LK$=BL+(K1HJ%/)X\(AWGTD]=!A
MW)19/@PM!>R!?*7]<6 @UQ")_+5I!7Y++A)KHJ0RI@T::E<QV+#9@+TJ;FJ[
MO>_<KCT:![NO/0&ER\![[=T[=O3=&$;W7",*/T41!<S6Z50HE>\4L/RS!$2%
M^R )SP##2XY?V>Q4MV'O<HUHZM'LK1@;PP.WX?S[7;GNXJ@1&6-<J<RX:TWC
M"+2;=!;T-SU1!,($(4X8"X>=NA1!Y4?Z2:+E$FW*K>-+;D9()$X!=%QMDZ$4
M4V$.B\Z"%.,7!O/2F,MJ$L^^ #^I<[YY(X]D$J7@XR?:4[@9Q$XZ:_\#@]=^
MS:MS=>J62ZC1Y'[/KIO14)I;Y,6/B*A;C(@Z.1H142,BZ@[:&]()-5AB,#8:
M7P(LM6 1]/X-I29*.V$N33%=E.Y22HSB*C@/.V52F>CA]+?=3/ P<3I_M%9N
M@[7"(+J8\O>B;38 C:]A=5YL<Q, QF=(9PDWVUEF*5+C$GC [B,(QU^C>#V7
M1B'$@@Y%2$,C&$2'&?L0@SO^BHQN<UED?Z,UACUP^J/T6Z63ZL>RZ;9T+T##
MN4 K^K%UD^L0,7 MH%:A!-)G-.! 1P#O4(3-P*?IHJ@J!UZ:89FDS\[L!5"]
M?>56?F6#[Q]NI:GR=D1GCSX5R=F#PP</'GPVDK,'AX^.OGMX<GSTZ.3;!\>/
M'G]_WSC.$H:,LN8JH M-'C"U1E10&Q\!^<#(]^B&)Q^\&<PHBO=#%$F@R.$#
MXE;[.$,&^[J$NYBT@TUHR:P%K$2>Z?N55JNE;F=4Y"\=3KM14$=!?3=!K8HI
M<V%UV]JU F]ME8DA(;>2V)! $0#D\Y=+ (FDJBLN48X^BN(HBA_F^&9+F'NS
MN8:.\=7"T&PT5MBWL^1 #P:RVMD=)ZJ8P0S:E,,XBMQQ8)84= T_22$)@5^B
M:7W";\5H2F[%R,7HHWR/\OUN\LU<H7'(6*$W&HV.N0:\1<J.F<>965S-3((8
M&>;+N:0DAX1Y592S45I':7TW:?49\-H5K2 [!7O"^?:8^4>B!AQ)9@1*"((D
M/33"QSX?3W>NF<)FNF#<V2BMH[2^F[0*\RL77Z#6-2IP<$L0DCOVM0*H44!L
M'%L$NH/>MF9PYSQH8U^D,4KE*)7O)I4*X)H$ #V4G@FD""'*8)6L;;_X!<HZ
M;C,H9#*N&S8[COH6C@(["NR[J]' NZU87(:3J[D:4!(S-UG'C+V9>DEUIRA>
MA;YU_02]3E@O,^VA)E88+E=TBU%81V%]=V$M25C-ET+3P?4VID@&W30;JE**
MT?EV"J']29&F[30M/2NK7KG?FPTL@T6Y\A3,$;WF*+RC\-XFX36(Q(1K 1K1
MXN7\>OYS8.BJAIGG+QL$&-#>)$HGTVM+:]I>V<"5"M:* R65'@UCW!7CKGBW
M72'L(%553)2<+X^\-'KUDK<#L\F0,-<,T.36]%K/+^0T NY4K!%6'**YR+@S
M&S>8!VBGLR!:RNT1LP[6,^Z.(.;,!0"F^EC7!4H=:<_2.MYW\^*2!JY0SW[<
M".-&>.=<2-2E(1!6:%D)2)Z,:,*XN:5,.>G:X/L9ACR)U?Y82'F4T%%"WTU"
MR3&$/=*MI<$]TFC6TS*"->0)V"'&.(R2-TK>.QH)48!"J"\872R$%'G$?$*G
MM6 8E+!1RB UOA;PD"%'T==H+% KG\.%%M%W)0VO:).[^5/?)ZVY.8>T7MMF
MTHE#VWME_^X+_O@);X!1[$>Q?Q>QWP]K$'F6]CTD;,!%]T+)1_*">O4@W2$_
M@M?AEL6MNR!][=-S2=S92ECWWO?*_O:WN.KA [*"1$TGT3C# TVMH^U Q_!,
M\V==0M(34V!I[)1^S,R9("F/8.+0-46BJP(Q;,06JS3?.U3A&DA(BK;C7H1)
M0816UH'_<[*OZ4D1.N0DP8<8H6_E=VEW$?TT]_^6VGPV$FBVX3AID6$@&$H+
M]V8SL.<.NO/(SF!>$BY/7?M(A92*^&;<^XI%Y+H=\#[3!8#T1[PYL+G,VV(I
M8Q=2EUM4Q7>+=]VGJ&T&Q+:^*+%2:.ZJ.^JB:68L9583*BTZI6/BH!>6%*C&
MTCQQW#,6F(>2NW&I> L79).MN1 E9@84#$-6@'*A6WMPPUA@=$O4]W#)E14C
M[G-N),N@=TVKB_)$@%*NM6*)>TC'CX$@QAI;2XT3H%?2BTOQ7?2T1;DRM)>4
M:R>FJT6HF-([3V0=M#O<13"\UXJ. -)Z."VDBE\JH$%G$5H$_[-FL./Y6N)=
MD'4:E+9*SIE3FK0A='_=>UXJ;U#0W\PL/6^9 WT-PEWK+X6[(_+F]LY/NE%]
M\VK;=> @N?87OLR;!XI&IM(_E7[- 4%]/3D5&&^7?@O.$_(6I'PK<.:E-]'#
M[J9OH2=;:)@JFF%',:1$(&^BT-Q;G;4#(3"C3=,)9>TIP*0Y\"TZL\;*\]M<
M>7X\5IZ/E>>WQAJ\,2W0K['?(^V9F([TSE@YGX4**'B+ ^Y[!'5[!+B885CB
M6+[Y-)]M\(QP_)-A@(Z9^UE-[90&*QY,Z1N3"UG';YA<RKX2-Y8PVK0=?KR1
MA.AV6-V_[;!Y"G?Y?@D1XB#NL,X&D_ ![) 'Q=+*G$%D@RVM1<J[BJY8@ CD
MM&V_\@&-4/=CIF026>'P,!GKJZC/;T2V*J2_%1AATU?0;FI_N# [/"1I%-@C
MVDPC;M<85ZK2?&$IPC/,8-A(P]A<YX(>N&1.OJ8=3HBP:G91B_MPMZCS2CT@
MC8H\'6.?K/=O],/L]P6C1WPEU3KR.<)<SL*#?2-JGB>,,H^'S81[:.29!-[E
M<>*]^-_M<$P!LS4W]1$JO-?71[>,.PICI['"BY(NN=%L#7KS_NX2X(TJ5;+
MIZ\P?QA'TDTDK'X<D?*2(!SL%R7S'++9KDQ2D3#&BQ)F8%<^E<AJP.5H[IT5
M)\<[93#Q4W4CA/88NP_,U$GS<?->1?"\5U.TW!!P7K[V'<IM@O?,5C.?=^C=
M.?=\P4[C?U6S24F#][I'01:UYQ!SA=_\I//)3'9>KU(>2@(6:8\);1,E^TYY
MPW0Y\SV=D'B\URG"&U% WQY/[LNS-V]^DO\.%2ZMW/:1Q#(9?BF\X3GO[.E^
MRF:PY#E_^0[G4;132*5!63 %]Y(I@CE: ?Y623=R)8#$L=$PA11E6TLIEQ]-
M_@X-M_;2QEP=E: 1]E*:.)IBM\$4DZ0.M.&5C,:1L,Z]-'3722VLIL1HXJ/B
M2K31H&:E<T-CJ4'2W$X[?_CJ 0<C85 B+G!93>]HBBV$TI1-?*[=[+"/N*U3
M,]'604:*C)W%=0KHN>/$%.03/WFUZ9X^%GH"W? E=QDDWW8K94\9[E @1,WG
M^,152H96K&UEI:WROG7EONC2'D!P"96TD.$\&[?M2)<=[_7?9V!;/WWY]!VW
M,>D2;MJN.X ;%$4"_>WAXW>/@#Q^&&!$GWY+*?F*-%72<I=H_OI6;4_?;"[2
MVM&B;)10.H:MLM:.#1O(PJ#BRR],%@;B5;_F#0HF/K)G[3H%&_.T8<[@U;I^
M:9$3R4@SM7C:]#'UDLIZ,,[<:,C"WHBKWD%JPQLH*05*<AK<1"*9E9#"NR0Q
M8GYU,79UMD=KZ%.=(&]TG&+27:AGEY@@87]PIW!6WJQJPQ<-!XU5\\7+O61O
M$;SRWA,RX,N..&Z:]M6<7 =S [H%R]/;'"HY.VKUO+SPOKX?CYTY8=3^]!GN
ML3RAW_N8I\.-2+EOOY1^[!@Q@E)/_1P_U]0!S^4_G"Y@:!Z:G14KF)!WQDS\
MZ!;S.3=QM(Z77 >J*4_E[KXB.8YJSQW'1IL6>E\;%V78N-HO,=XZ[+^_0EQP
MJXY/'8:P[[Z#[M9M479.(S=H5%D[..M@"F5=M5Y73HQ=C('>5R'X_HSZ1[-6
M?JR&=YVT'>,;RE?^Q]SZLN#'%,Q&RF2>]87+;T[4>8,>QK=2/.Z+0_6LSGXB
M 6(C^^3HY &;XUHN/4NCIC4DU,UX53WT)*[^^_.W1T>'1QD]OS+X&?K$7^#@
M4_P&_'*_E8X/CXZ^RLY81-<,1#AW-7BJ1 YGO<.0OLN^QH.T+1+&*-_[QD@;
M/M'__.#H^\/O_</W/0^W";^7V!S&+R%8]UJ$F^7_SR?'CP\?7WLW2/G1X8/'
MC][\"@\'KW#\??(*HD[6S85@3?S<AK$*5E-_G[X]?OKGD^^/#H_?]=WE?9,[
M %I&&H!\2-ZT7D(>'.<J)7_^]OMH?MZXU/)X>V]%3*)?%E=;D!86Q&22'P$R
M;4J>1\^]6KVV]'6@^A"@Y[5C'=M0:/RF7,"LX7SY*7<?#3(\9"/6B;;^OQ8O
M\L 3,_U-^94=O.U_*;<E;*QFB<:\$1-RU%0[RALA<MNT&D?6W-_$;1LUG+3H
M1";$JU$[$>(&T#[C.#QN@FF5Q/CC$XK/"FUC'!\^/.WA2)F*V2!>%!D3J(#9
M'Y/V@V$[V(_((PXG46@#+MVL6:TY6MBT KN*[.N(V9K.E8I=.06B<;>CWA(#
M0M_0:BR$KPLFCZ*'[!726D<=$@V 6:WI'MIVF8OFT05]*)!72U*2][-NT?I4
MX^>[QBP&+HU?%][K57D85U^@PQL'? RXS#AK&JN6AK311;O?(L?4E5K6B7E(
M#_$8Z35S\P)_Q(9)Q)&Q=^,,+?,1%W6;<5$G(RYJQ$7=0E,T)'<C,JG@F7AW
MB&O?\_C\M="^UZI=+DH[+:/W[@Y7I@CWA/+YZ*-*L]W8^V'NE&E"'F1FV*Y;
MI#99]C7C%TC3!V0RA+OFTS.[:,A6K!/E^0W78NQQM.(1"_.%0[@;[X**KEUC
M*+6XY$7HXDE\IUF>K2J:D&(Z;7O%)/4U>#:] 67->*4I,%G&<=>&:T>)*-=A
M]D_V')D&H8Y*P-7$LAA;477-T"Y@^X.M!V_QP3YU!9U4?S[.2?[VOFUDVLHC
M$27!:AGD&R.O *[F7(+>R<A&NWYI4Z:+.RO**AD]PZ:[FZSP8('#R+XYS/[6
M;-PE$J-#']_537]!!L\E/9>/:)X"L*9&X ))^*@% 5M'7HO+>M0>VYG*L#2=
M7P%Z7\@S[2\W$R )1_M:MJ'YP4/F=OG9Q$G#2YW? 1QC!QRT)[0@-KE_#&^Q
M08@B7*PFFF7X)MNL*LB>W-^1E*M5Z:N"O!!-*(=UB SYV&[;J=**QBQ#X&TI
M\XN4F^3G_#5E%"^5[ CZIU;D+F/%@D"$M^8MH<+-%S4>VG[E-!0W?(HD09#\
MD 1@9,@Q9Z_E O5Z\NT&W[N2W9.K!#FLX'XE4*[)5I];3 A;FW:>V/J#![W=
M&CV;V[R+0K#9L1!T:HDKWF8BK6(K=DEFGM9U&T\=;;Y2:(DN6C0"U^*"W<T9
MN4T2<A-1*;9^X_OG6RA[G^3O46T[&X!W8S/_G(F@[-ZD@G;4UU7A+O;D)ZSM
M?9F=^O+>G8M)!(7-A-SX0NJ-P5-5<E=FGU9DP9)[E$M8(%Q\1S_FVJ,IO.PD
M25YJE[$?KO:SQH+[L>!^5\A9ZY"UQS&6R[Y"E$8-"D-(B0+G8)'B7+-_'IX?
M2C*B::L9W==%$2[:&C0U[=:S]EB,*QC?,=PON3_K>U;CH5?U2*(R"O<[]GV!
M;2BF XV_5.L3+7NKHJZU'E;;PB$8QG"2/!;(G5R5!O=8P$?!' 7S'3MG 2$%
MM<L>!(V(="&=\(C.,C6)NFA6J0T%BI3 9M&(90!7E0.O(]O.*(8?0C]&GOFD
M:=MF$V=*)(XBD19 CMC-UP1&R%N9;3!MVE7#J1[R<] 0-\T(-.PD9?1%)\7E
M:2]20;.2Q].)0<RU,FG'T[C#:< ?:;I*6\0D5"_WC<7G-$X!63IQMP!_3\7%
MFYNH7@/82.,]@DAFJ$ L2ZG?),%:0)<BQ-C>,S>N>;+$9*MN]F["C=_5:L&^
M?%38S7$K /'ZM91UM1#FW!42CHJB2[R,Z[:\N'!,#X.XQUZ9N4I2JI)V-_V]
M?8=%^#B F9,'Q_.3CQHT"%P<Z[>;;40,H\F.<AR*RE#D*?A(UI5L%@VWQ@%!
M(:_BL.1,\N"?$3TN.&@WNV8('WE%+'"G\?"R5<KP7.I(NVE;3FZ:B>%P8XQ*
ML#7B7MV#];!4D60T#+4:A^ 5CA<R(=J+3_,7ZT7+87_.X83HID ,WPBQ"ULO
M2S4S9!/[VL8^:Z0.]$VO,-UY!8W7AIAIQ,C3]I734"C;H&",M*S:(*<6 WT2
MY Y_65N8N["JCHQ.'&'=(5FJ&B2*T;G+J"NW:25E#%WPU5\1"XY M6JW'MHV
M#&\J[/<ZFHX.NVY>A-_6?@]'NUMWL9YP$;*I\*%\@8-ICJ99Q=-A"Z/17MO%
M@ANI'.AGK7(Z<S)KOQ8MO;#BKQX>9C^Z:=%KA#EZ_%*4#J*4<&YI[%M7M"%D
MCG7A')T,_$PIEW4!I339<=7K%D_U9$&#QS#8[_O#1QX !F)_7;N$KK2.'_,7
M*5!M! M/DE944DNQ< R16>\"S<:C/>BYIPKB\E3R4;.D3LA:!TT4TNQWY]RK
MV%+SB<0\M [=@SS2\@<<:8$77@!$Y7Q((OBY#_^/?-K][CBRI$I4@'B%K0C;
MY!?D6H'0%)P&PI3&6MW**=+JZF"(*^Z; 5M0\XYI_M>@ZZ*SC=;OJE7G D#2
MD$PAJ67<P1D+_05,/%I)X<;N5D0J,&@B$#%_2G&,IACMU]J^4_G9H5OFM+E1
M!I^\/#W@HBV6XD#X$GQCJ).\Y/[W"[DX9P?J%3+L_4YQBF('D_V@:&L<9N=2
M1K-Q_KYT1'9-?OT.X'%&F\;C#@??[-DJX&$LM+:.2=BL0TF=&(DD'1&IGD '
M.9(T<+TD3WI[BL5&L-]M!OL]&,%^7S+8[TX>I%>:*FE-2<L$T8.>?8KK;A29
M')I-F1V3UOG&W?X8VRV,$L,F:*.EF1)>A2AO"KDWS%Q$X;YPQ8S=PLCKLF,T
M6H>(;:<K+H4[= @^7S>,*&*>G8A//&I5<$$J9VV^H;0.5PRC,E65':IHDR#C
M?3%/R4CXCYZL1RG1P0S\V!0M R%_XH,6<>*O%>+(7X4R(L'1_2&(P,AC"VU[
MR)0IEMP2"E&!M: +$]$(Y0:PFDJR[S@H(%V*Z<=<$<W@F?:BJ,L_"A]&Q/?U
MQ=I =@C,()8@W"W@D'*=+V",REOBLJH7R5B>DYEN+\=^OM"PB9VU>ZG&/R+G
M-(EAX+$I)96/7T_<>@.R7P,@,W*B:J9);3/M"B=A;K]7DD(/FIR*YCX7JEL)
MHB"+36/.KR1]SVT;"1G<DLSL2V<Y%4TM=NO,7M6%6M1TV8R_?R9513T8]<F&
MIG>*:\KSJ-:\K_W&XZVZOR)(7TK"I79]W W *:QN:H1V,EY]*1ZM1"VBT5Y%
MSLAD<7MBU-<5DV=/^Q8A& 3Z\BL$PU"HJE9*H4U/Q7  U4J6.:A$R]!L2U<A
MLI:PCT7 KU#[9/F-V4YQ?VD>F"$GO3B:+QI[@:VS-ELJRE)^QVMO;9S'XR\]
M_J)F/-SLB<E?<@^"BM*BDM[2\PFEV7$-'K1BML3"U2;U?JG $RXE=]NDK&\G
MK74K)^F^%$C_[G0MG;"C753-!*N(4(NB0;$WG4;@_ E(N_0_BA5.EO.&SM;L
M[Z1DBCP[6Y DY.3.STKZS\\].M$(:0/IX$5VNG1H^B3(]"%#.O=*02@=<#P]
MRA+*>\&.!+51I.%M,7E](\K8!#>KSN20+2^P\ 2E 1"K:P7K&AW?A]F+87[7
M0C V#)PGM(AI72HW8_WA5L8PWA)+<WCT[?W!TQP??7?RX/C[A]\=/WYT].W#
M^P:HF5>P#D)QM8FV5HAM XM JSTHO$<:$4F)?^-9%HR,RA\1@XUO#]G9L08E
M;[U9=P6[SA[+Z"-@&\>-<'\VPA[,>&(;>9LI!H5S?289Q4RI*[0=&W^\YA%O
M-*STP=FE*0[_$#0A,<R0ICMMG_R+S/=N5HK5_604\U',WZO!_;#^ERPHLK\V
MA0#+%1OIZQH F9006&P1D6<PGTOU'/\ZE,"-\CG*Y_MTV":KPCC2U\ZC5JYH
MHSEHV34KUD4V*LY1,#^.8'+$:JL]M>E/S1YP1!E_H*RLHX<645AP%+M1[-Y#
M[(2B(.8%893):T.UD^G)^00-?'):@V',Q83.YJK86,3>:A,[1I%NP%%,_^UK
M2U@ 2L@177*KJG!G"/#H6(T2_$$<JW7Q6D02A1!]Q5F1?9TN@QFZ]R /A&?6
M&<<*<]-&.#[9Q@^&2S:*\BC*'U(93_IVYNH.'8E-4O>KW#AWY3\.<BS5E:'%
M$YPL$EFY_:"OTZB11S'^P&*,B@37^HJ-Z7:*Q RG_:R-5$"O>()W ZX,<[G:
M@DDK*Y!(F;KR4DB@&O;A1(8_2AWP*,?W1XY]50_;Q"4C[#B!63#*W*T9P'Z]
M8C9H D<.5BW)Z=1C]Y3?!K"/C.QA9$PY$JS1![YCSDB6 T\:PF&R6/$S%XZD
M(SE0%EO6.6?EV_7@@8*XP7!M=+"0GNI[G#7<52%[#C(>SM.>3H5]^OO'CQ,
MT=.SYZ<)K3(;6KCY3PZA:2O/.I-$J-,NU5WVLXSJ=,9M/M=RZF0O$A_"PP7X
MAG,WXY#YODGFN9M4<=.5[#=.,>/A]EJGTK+[K&&RX)P11]7N+/SS\.^'V8\H
M@&NW]N(G1\='P62,?LCG*RW7HIPPW9!,G">K LEO'.;DO+?TN@BME0)/,\-,
M^MKGH>",F7:\?R7;"9DSK=!4"!Z$:UJA7GNZA :0D!PH9J)+QT_022C3;X"C
M:-19R\(99J9MH[C5B<NV32]+_8:?A@Z2;^KJ?F7VLHD+O9'0V2R:ZOV +6/E
MPOVI7'@X5BY\R94+=U.3)Y58H+:$;FSTT$<KWW)5T0U(;XM"945H*.'=V U7
MIW%].!+CVY 61]X<O<2\ KVF%%R),P>HCYA_<\K8:QPT;4/OHT?,+=+$MUA>
M/D7[5849!_2T@:/7X:C7QO%<7XK#E/N+MY)3 5?!A4.=Y6H!V 5W,I H7X+6
M&S&EMT"%_'8E$#-_"Q2FXD&CCH6^+3.O^-2$98 *99:#J>%.-4%2BO>75,W$
M] B!M7N.V-MT02+F-% -C<6,J;M"JP#HIG4^$^/UF?B><1 O-/OTN'0N!1%)
MC^0;</QU(6CYM!F%%?1ZA#S8*\@#;4ON32(M)G.&)TVYJL&J*<)DB&<<BI9_
M8PLW:4W#VU&M>-1KB)<VV']\0YJZOHVWHZP2]VF%<<]?Z4;V)+-)><PNK]/U
MG<.CBH@\1E'EVNH/1<5*)A_)5%-+-=Q8!Y!NT_V82E]54J/ED?AC5E8"GWW5
M<,4%"M3?#C!ZF'U]VG$9"CRQ;^Z)/OP]6#MZJ@V+K[S2V,'*:H,=J<%A:O*R
M0T2#>4] <C_;U[[JP>/#[[\*Y3#<Y%[9PV<. ,-:N<6'"\;(16O01;MH"0:%
M/8LJU2/&F8^+SS>.M-8B>]4VM4+_616@(@!^^+8O:O;6447%-PA-<E%CPN"S
MH"VE_E7_K5G!A*YES\#-,;';<BQJUE05L&PQWY"_<7+7:*ZDY*R^ZBI?MFE5
M79T0Z"_I\EXAS]'#I?DP2F?BW1(QR>^H/#QQYI:*CDZ[CWJB0!3$E3/9D?WP
M.+L*,&V66%G38 #Z\T$X";[PU6IO)WLW';PH>9I0^]6;\Z^Q&A8%/9KGM^(<
M^$?!9SC3N)+] -8G.NH#PKFOI6<*0T+1Q;>A_;HD(Z.?T&U1"UBM%])M+\K5
M3XLUW8U,$]@S3"=G(F\ES-*:! W-N?@2]H.6O;/@DQP&ZI9X]^X<2L.R60[+
MAXYV]Z4\6G5KE,F+=:M5>-(6I U/I\=Z\>^^> 4;<5XUS"_G(Z7UKD3,2Q21
MKIH-.FTL0.A_X6XD*'3FK=?%]%5\_P6IS)+IUK"V^^0HS]R*=-NRG';2N:76
M/\)-5*9V6PLFU5[X6T^,]:)L9X+"%^XN3PLE@6K2H#'QZ#X!#EH.#DY#1Y\)
MXQ!L8@9^#H="^<*D!*#F^?2=Y7,V]MMRTG-0&KD&2R/D<=V_'5G1L9 VL)YR
M M;*F.4 2TJ0M6I:MAQ<G+(./1'+=<C<<GGVTC/<XE%"L:6[-)Q'QO'L$Q^C
M1O_4 ;I=,97LAQW^:CO-M/2;C<XVU@9JTW#*4\+AHL6QKJWN;&^?<N$^*U8A
M&@F :_4]E42K0Q^H@8:.7$PSAVO<*;Y]HL0'_MU^/W!SG]NIOYVS=W-BY&&?
MU6MH!G":!&GR\J9UQ%+/A*Y0?2?7)B>&J-4\R>E:*13]<DYOM [1Y1<]::2"
M!_K/5VV!B"_^_:QK"R=:_SEB1B0>]^;,_T6F.<S5-*&.CJAFA"M=.[#)1F1+
MWZ'LG\XD<"K$N=*.MMN4G49K_<K=G#S3W^Z6'?!$T"M7'.E7?E8K,R_]0M+5
MNHZY<M?RJ-FC='5W@\Q")!$L.F(8!$=FGSSA<_]8/LQ%ZL5M6R)9,6F;@EN&
M^6H\/MP'V(.=T4BY.XG /QE'S4<H8ZMHKP7+=%+@'Q<%*OSB%Y!_UN%P%; (
M#\L<VBL>F5LS.[:*#[-SIAS<?:I$2OE=E%1HAYQ!K!CVU<"]RXZ:X,/DS2$P
MDJMGF1$! [$V,\^2A'$P5!QDF$5J/%CHU@R@FUD3QF 2WB67%_%>1BC*G'KU
M@[D X8A9P#L"<(T^$6*:^ [<CUB*X-*]=JW2\L_8IYQV>*%RM"@ U8G2 BMY
MU';BV@.UGG.SVR)="UC,A@.K==<OG7E.:C8JT!K$D1HJ26-Q@\II#33EUH Y
MJNR^CF1?(P'!I!QP.0XB"WOG2NN\^0ATN@75*GE5-YM:.4@&7-=H4"X0A4]\
MSBNLX=8>]:<:?HDX2CM=.M_DU"^[CR994Z!P&&MW-W5]&I:SJ6MYDUTVU:4P
ML"I)=VY-$#LN&ZV;^B!RP7'PAV>6VL/1,#01)2KOKQY&J/IIME?V"J%Q,BL.
M[U]JD.RW)J_E^=_?$>*>&!&GR4+'BRNM2?<N\G"%O4HN]HF?\ ?)RNT7A/Q:
M,8CB2DS=9N#BZV79M_.\YA(M[T<0JFEOC_LZ(K=N,W+KT8C<^I*16W=2B_O3
MF<OIE@@F%I.FEVXJ=HA;<).L]5FD5#O2]%6A9&^Y(2JT<4>W]JZ"J5S)#QD
M2TS' VZCZ<\*',B3RBUWZ -K;?9P?&39RG-R1VGTV7\!=+'-?BSJ5Y[&\_R_
M?O2@]0W:,%1-%W)69S3I= +59,6G(/:G7N,_#\0!'"RHZ^:R$-M43-QBM6J0
M<Q47\JE"U^EVV#5T?=>W?,"=*6,L[F2C>_K3L[. J;?B%M>2"R8SRL>*?^.3
M\,872HW.+XN!T230#R_@(9]I;S(\\5"RMMP@OMNXU5J\07M0MRA73$\9V<P5
M]SY7BRTY1-6=T4[9" C*Z1RUE>;:L]GN0SQY?(+B*@3H+03QZ!W-&5Z-D).G
M]DHB=0H3I-M(<ID6E=\9W,3:#H8;1Z/NX1(=0M9&'0C!XH<%&F3NSG%T>!PW
MYP #[# +#F'%@V:RDMQ-W8J0. 1Y::D,:;\24W<:S)]>QZ(8_%+<9\:JGIP@
M&TD@.[%&Q'#69VAS,#?E_@C:A)W&B2%I-$R"ZF3^,(\HATAM@&0M#3LP)U9S
M&74:(".M9+D)L(SX7<1Y0G!VR1U#C7>4/H \M]L4_:-+*IW -66 ,4>,CSK(
MW89ID1!&20R?Z@CZQ@22I6&SH!'M0X2F?*O)P%9]"Q)MSG+MB',C>X#'VK;P
M>%7,\319I/WSJKZ/CDX+8.*XM39%1P^FJ!\V%E$<F29CJT2V3TTJ.\*S)4.1
M$A\>8>#OCDM1^FN#KG<HLOV^R8YY%6B4Z:9E"&X&M(SKUAK3T.ZBN[A@EOBV
MF"5M?VBDEV@_0C/+:<=9W, YTC@L.(,G3<BYV7@/5'%GZ36'V6FU7O@66'MJ
MK5ZVC!BA0P(G";^C'4 O''P5IQ37"JVH0<@@[,V"WV.A%!Q(UJ_PUY]/'F43
MU8STA*HI1$*O4"32_(,/5*MQHE_Q-M@_%PO0^U[MSL?Z*$X_!]VD^E)[)QD!
M_G 3YS%]BL2UI(&G*19>E%E;;+1"2\N]O/D!I*2 6?8/=,Y)SJ6; 3D)D*+_
M)4XY]WKJU"*8%B35&BX7]2!33ZOKMRZ.>>YVA19X=9-=] 5M]K5SOA+IO5:?
M@:FVS*H'F<JZK 5OY+5U9)V5<2<_:_%5">LOE#3/%\YHGKZKG'+VH.45MIIK
MXV8RTH],BWOG='A_^CC<9PR8V+;><*, CC7UK3=X!!FK8AI;/YV0K4!WE [F
MA,-2%A*HB("\N1D#NM!87@[":TXFY&E($\Z0UHG/%JR,=KPM9G3.\%8T!<"!
M&FT09U;'_C":BM&^:)H_F3I:AW)>3@N&1"-Y4*HRL2*[./ 3,>_G@[A,LC75
M*H!Q'G=Q Z&TO:_GE^.9B]]>PA\2SKE)?,@RE('IT:/UDLZS2NF;A.J[W!PK
MBYD&+8*@_!I)!1FC6H!J%L8FA<30$H-"^A):;ZSU=N5239;;/#2QQKMZ4O(D
M0\LYCL N>;,PVIY$01P11LC7D#!"AF^!5W9!!4W:<(Y*U?A;A/$.LRM6!('*
M*Z4H&?3N.X4!7"-NX09QJ6>RI7/ZW%(8#.940?&##?'4G3E\J_@DBV4<J-X3
MF.?=9O,2]_F\HIVRC34ID?=-)J,.RSX#:F#.6Q=YOYLG2>I!<5>W>#U;VE.M
M+_Y@$Z(9UB-'PJ,0G&'7F8K])M^R+?))HOYRVO+05YLLRHN%:X=6;]-&D((U
M)^SBI>7%]HXB7&ST@1!=(:,KIY)6L KJ.CKF3+G'?9?MS%/[:K(=IIH#:BW@
MU*05H(M>3Y^S6D=-ZZ DI;TC _\B9T%1$L"^Z<G;Q,<Q;P#$*]*1!LP$+T":
MU-7(6G#E#"^8 J.6S@T+7@QL'J-VXL,">JZOYC 1^8?\N.B"/)($!)>G"^=[
MS20K]]=&(92:^!L\)-R%?"8K_,2II"8KEIA9,3:H'I+P3B^D<P-DI>H2EHJ0
M7C<-(\])0A6FM$(&F(Z5RRCG9*7]30AEVF\0LAG\SG**[%0%;;=?TT7GJ\%,
M@^[[JX#SWZ#^1M7W9APCB<%<P1X[)<=2V#5M&X_V,*/M^C/>UMGBU.9YMCZ-
M"4O58V(%C2N& )[:MW4B*<6NK#C-1>\<BC<3C+=BM/^<V-HQ.WF7LI/?CMG)
M+SD[><<PRE=-@O35>1%8Y'_;U))K@CX$7OE,*L;.43%V%Z X? <R(_7H^H'=
M>"9$^QC3]<SW@,9IA?DZ]U':NS!;GP[WOELT@!"OU3,.HEAYFKZR))!&PU9D
MX"\X]U DO@>'X1TH:3WCB>7\S*H/1WH2(!ET<XW=$-_#]0.42X[D%A^0W.+?
M/1V6#FU<WB1::4A>6U N13S8/TEK'\PIG),Q6W3LWG<K366NBC7<?B B X>R
M=1+U5U5 W?F@6E7.08;!V>K8+A:T?50'P*2UP]2M5NIT_7(I#&VAHV/8!_HC
M#^+6=XS&2",[Z+L!/%G\MK[672/.=APSCGI*L0T03\%A]J,UG!_4;._AB;AB
MG^9Q()Z?*/CT;GV56=Y*_M^"]B7RL=E%TR",1G<L$+DQOUJU152$.L@6E7,_
M;MWQ$K@WV8(CXL0=D@DMI+)/X.G3AC36'Q8=8!]#[Y8'W\2<I:A#D3G,F[)S
M5]>(*S7>Q''O+6[)*K,=([-##7SK?.4]<D'E:_0>?59'_8[RJW@/TJ:S6DN
M+U[\[V*Y>O)3KBPP 0QB^17KRB0QRL!,>>G2D6'%TBQ%7+B$J&<@K] I]&4'
MN5$2==C6T$4J3EP/PVDU7ZZ1+<O7M,89V2]SUN0Z\ W4@36FE9C:@=PKJ7L0
M(/_P"UZ&O<CG9% , &K>H)=P'/FSR$<:XZ,H-]*'_=0IO"-55F]/D.*$__<Y
M#[[S")G4AKA]01M]V^F! "GD,N=N$05BT8:8@6$<75MQEV+)EZ055JVP@NOO
MZR8NP4Q+XX-2C.P&:\O$T <XW4ZJ;]YU)3_.L?W&A7R_8_MEA/]0L(:5LB5"
M7G9[J#'\0DG01E9*<RTA11:!)/SBVZ+)LD:%4(&%ZG=?(:<@CVTH7+_D<B"A
M,94[RNFY\:2G'A50;X4 E7.\DG6U0; :$;R;X)3L1W%. (;$A8NQA)RH]/=8
M-.$6#):)F3Z:55DKV;'F*P8RF.^(="R@@BNHRE?0<B:8K-3VI;#\F*9:XBA#
MCW06Y^\TZ2JMNB^T[9ZMARTB_QCC[3OMD<XC:>B^EV57IBE2D9M!B/#]=]ZG
MWPQWJ%;^DSB(\9)Y;,,E)SFTDG6@83LRC!S0JVHEL\ (QW&+C)(*:]GJ20LO
M?73?;H/[]O(&)'$YJR)U"A0X%9\1G"/W>:L!D,#R3_H0#[7Q%/ =FX&DBTS
M)+%O-I;B",W S7UQ<W1J)6Y=GDW*9M#Y;@7#G::NMQZE$=@B-LOYQ(D!S;1$
M()[7N<&M5&\E[$\\,_S;9HZ*S0DJ7<'^XK-PB.JWC5K["D#BVD]OER:U8W,X
ML%/8Z&&LGBM2BD1!J;53]"^STY9<9ETF6-%!XGI?8R';V3M%X$:V,HLU@^!6
MEG(^VWS2$8Q5!]FA3]-7A<A(P=GC0NGDM?16QE&V@O&IMOB1/Q:7S<Q5=D(+
M6 ;T]DUAWH^^F=H</H00LO8>9ED!K4='<YUTE0VN8+Z_M/<F'(JY'O,,*]#O
M+66\;WEO4^+J=CHJGS9PS*'U!7N*+$\_;I&COS/Z_^/73Z.%Q[IXY1IE)X E
M:$47V LZ=[-F:ECE"#KMB:B*Z=IS*4;$4Z*R!.'W$RW*!A$%^H\G0GTEEG5@
MS<5=>X4:LD7LXV,3I_RN'%969 KO4;5-\B%&Q@JY5JW@@A%06ZZB1'CT8[&<
MI1F5M+M@S$64Z!:FV-&XN2W&S?-=627!Y-#7VDG?W&E4Q<:\(-L#;HXBP1T$
M&/GT4>G8(X=LX4:GF8;Q3 X4J9GL&L$8QKA7W2>";@?M"#N4]-BY:UM_[&+S
MP&V.A%)0TI< Z2;X$8M0;H0#+[RG'.BVT7*[0&H;@H<?C1<U6EHP>'+TP Q
MOU5_T<!C7 [XG\7&; D&MW7#ETVV5;.IQ5SA*@,Y0X\?>;I6>F-O3EPV?)C*
M='#P#D'4QG,IBW[IXTJ3)*H]6 IKN,6!6A\$8!06'=VPUOI:@6C-A!6:=?62
MDIEY,] 0$^N.E-@>AK\3%5*["WH+!H89L2RO>Q[7%!1,(,(:CNO(T'V'<5W_
M\K%:#B!(.02 X/0^-'I&FP<5.-E*)B,>Y##R_A:Z&JY<L^'7!F2P%,RE$"&I
MP>J,:07WL[A-Q&3 V+<KSA-.%;6]4*6G^V[[P31S]B;(Y%4W7G(YI6=MT373
MV$=G'#F>(5#+:,T(CGZ=:HA<$Z3QG#3MGDFTA4FFOL5)\18S5\B"'F!!MS$T
ME,&??%W\:;\#OQN13K<9Z?1X1#J-2*<[[(J]+%YGOW)2>_2_DA"=JTGS6YUD
MY2[*3D,[OO$%)XR39M*%&:EI?40H)X?EHT2\;)_-FL" JJ$\-1JE1;3CPJS0
M2\,?4Z%]=30RG$+QI3P*FKJU#YJ1M=+,<^_H^8X742E   F9LACIJ<[VK IX
M #M2V6W#W6/<?"[9TUI:);,!1F<^=RN(^0V!:2#Q17"KT5R=D3[B=VEC<=^K
MB@.$>QDO$\Y]6_XH#18D"B[),FY'2,^3I]?@[D.A7_IT83^ SV/,>'",IFU/
M+[/U;ZI"FFP1:\O $=A. K*\H<09*J)&-,DCV7GS-<R#;&(4Y=-7X0U0FI?C
MNRE.7"S;L#6E?P[=!93;2)IBAN:5LP%)CT5_S\A"9E-Q2N^,(N^(#)CMQ-U.
M\K<'EO I:R>6H;]:J:B7"8E#S5YFTBLHEI(@B!=].9-UID7'B_G45:Q&6=CZ
MRD7]07[C/CZ=W \^P,\69SYK#D+'"3SIIT &Y_O*_HCL[<^Z@YD@DWNW9>>
MT ATA4O5ZEE4&"%>%6AJ:LURETR"P"XS-MT?LL<02F]K_.5I.V,MPEMU&T?.
M([[,*< U!Q,E6"E>*S7=G+TWH4.UV)]Z)9@7<6QJ][JGW_JF[?0 '%:7\,.U
M0V^$7A/7:M_^9D<H&K$\*!PPK,"0J-"=,A$%1O;KPA1;5#P(+W[I:77L:.G2
MIX0MZ.(2[]!.P %V,M6V4]%A*LWX5+28.0HY3ZT=TY0%_*MMFDKE:MD ?1WL
M9Z],V;O#RZH$@AQ5"LH8.1G]+/Z)7BA9CO1!3 7"+[EQ,07(JBAGV4XW=+G_
MO=$L/_4^5R>(/70;\FF@&UA60C#EVW_%ZY/^>L^&Y!OLES(A]8EEK$10B?XI
M:_RF!F*!^YQ-/^9'X/UG@B P1FTAKE0_[U2['%5LWQVA^20PBZC.%=JO=NLH
M88CB/&_5:"7PM&C;+4G#AO28-EO2X-VD+ZOU 6J;I::/XU:S?NJAUBQ3QJ=4
M=I[+=+(=Q'HA#L]$,$&[(I#<LV:FG>Q*-E=\+PP^<FP0<9A/P^(<EO6.R-X+
M4\!_5%+H>: &!=+-[M3AH[><OC%#<QO4JV46'GQWPJOUX+L'UPHAYP:^_^Y;
M:86QY(9O.7LTD"NQQU@FA=Y_D'8H/!B.KV%OXJ)A?"*R$%IM)1HZ"NUZ!29@
MQ)#JB0NT.)+,-OVC(V3[8>84C/ NE6D2>1 %S"#(BU!LZ]P!=ZX#XJ1!"B#P
MW^'R#ZD2#"4O/@:>"A;LM2 J=U[?$E<RI6$&K&L!*&W(YNN43&#X\YCF8U^R
MQUAI%")L?R'KD\ ; \(HK)T5%.U;B$*Q+PPQ+YAR#KDTCZKANVF.2^]W:"DL
M+4/8(PM9,YWVK9Z5F+F*K4M&BJJ5&'24,7FI0?LAEY!D$?Q%E5DDAK4W<"J*
MMJ<\JJI!%-8A,$!/.G"O.;+?2MF*X*>2[H$Z%]X74?!OQ <V@6/MKI"5?1V-
MF_F\4_*&P5RQPR2OE%MKG:'S3%?(]'#/5GXTF[<Z$SQ+\CWP6LA5Z'NU<O'&
M^%SZUOJM&C'#/G?]T#.-[:Z7EW]N$L$[9D"N>?PX#\45D7^ @06C/VPB@\!/
M'"\^DF:30C*:WK3G"9-=BK3H2MH8Y1H"$6(>M):\+-N^RTY+4AXOD.><RSGM
M74^%XV^S4]3XO.'M2N1XC[_C=_J>[W-R=')D:YN,=<Z-)>-Q#A.+\YT7"6[X
MWFD\.<JU-Q.DNHS2Q5CY&2?#KUJAR*2A6?SNR*>/![+'/;ZVD57DA_?E6Z<W
M#L/_$I@.7S!4'(MZ%RR23YNM"',C"NG,MY.^"W/U:0S9W2:,Z'7;*G*3._KX
M##<#;\2/#!,K'H9H<^;3V^V=MEPY*2W=VRJ8BROT\4*'%,X9.NXW3OE[[(#9
M,XC[DEG872RFV-(5TV72%C>^F]+.8@%EW)8*GH69('FK".H1^X+[>_EB7?4"
M'\G-(P96C;+1*=!QH-[34@-#@2#6M @$K :&2.IRD\>QN2BA+GE9.0L]L5,H
MMH%XY%&]T1YFT_CI-B)E+)5QI'Q1Z>P.)E?8HF!?Q:6YN87M4)XK&"Z-S"#2
M5)+)QI%OWYW3O]/.I!NDK BQ'AT/;6I4C?*!N>+4T3J=CSVB8>16<1+(TD4T
M,CJ>UZ')]1X"V#-A8G,A)$Z'=-'CJV>ACG 6;!JCA*25X'6D"X'/)\^+KNQ<
M-3^8E9V1O"J+7 K-"FM!T_QL;I&O.0G=3!-D0T' P,?&*",@YR: G.]&0,Z7
M#,BYDZ=\.%VDX'VHP',$>8><F7$*8\[L#'+^DJ'%Z8BHK^%<65P1U[DL9YRK
MWC0M0R[E,A\PX$S4_C:JZT7+^%UMD& /0K'-JE^;C8>ZKERB*H@1!>I,/>AB
M<E[/]'"'/+WW18J00\(E51Q0N=;2B,TX]??!9GX@A"=&,Y$&Z\595Y"\+8(0
M/03XM!$!H/NG\\"B#J5<G+4,83P=GU[<KN,QY:%H*Y%?J[&+4OD1,,D&>94-
MJ?8CUR5;Q2 WAD'$2-,C[!4D(QGN#6X7[4OD(M<DO!#)=K5K??$E9;=61M5@
ME03*&9A?MB52<,K=$>)/VLP9D:#(@8G!/:Z^+-NFU@)$9J =LT"W04_]MD-]
M$U93R+L[*WZ%YJJX5Q#'KA?%'T4[@PM@B4.-#2] K6Q_E5T4&8Z$PR/-4LD0
MQ3@'_??>D(1ZGF4S0ROD6CH-6P\-GQI-O;S@/>X$%^+*'76..O?F-Q,*"9HR
MS\EPOG$S5\NAVB,H>KXN5HMMU4R1OZ"?DQ>D9_2Z>0WV'M%$HN?V7XRC7[FP
M2BXTB%>)?HX#%Q">:QX%>(D\KES;$Z%[?=TU*EU@HS=R&9I?U48L0"XO$'A5
MI=*0+7H:@T#SE'J;03L6>=.3[NW6LTTX[P1,$Y8O]W4X9<V&REKC&61NE#-^
M1,Z#T%J3QO-=73\,/KU2J5KK2^U[)X2M Q>T@+&$[]=(&O8"/?;@8S^_TWJ?
M#ZNSJF3Z.$LS3Y._#\R@":(A@D,601$HZCPC_C4K;SK4!=F*4#F:'HD#1E:*
MM/7=PRU\%7''\-^#GN!L(BT%MZ\CFA5+YJ!A2C4SV.]+'/69T8G1NC338KH%
M/UF_B@JCH\X<G)&4ZSOK>< !,6YBE*O%;"0$K#3+56'81>U7B56Q%#N'VS@Y
M[WQS,%(92+:+-?QSK);R[+SQO0HD\<,ZQUHZ_GS^B^_HZ"&;II^4F"*@1M<+
M&/E%U^&>$&/)Y"8B[FMBM:B0Q^O[+)H9+2Z ).YK(X/<_00)[_B0S;I&@6F=
MY<43UIE #D<O%KV04DZE;'">3]]33$03/>CK@CVJF-LNX#H#TMZQ'9,/=H3L
M.)LN^H(]@*8V%\R:R/BJ"$Z_,H:]YG)D[K9D\=.=US)<:*([0DBTDR:6KYPV
M,Y7"9 Z3&W14&IKX9:_3UBA=$!VW7C"WBJJ!!$KLD8T77K[RP>$83COZAO[9
M;!V P.3T+^*#TP\E%T/ ^&22@DJ#10 JP5VZF<Z>/4TI;DA*+Q&:8(2EC-BC
MKV?<ZI.Q <_V@-Z2+1<E] '_[K@.ED5_5](T.D)6(U;1)-2*;T*',>TO*I@"
M%*B6COD:@0$GOUI*V'?NGEPJ.' _3 Z[I)UYD$H+0+O0RD2S ?&7H9T'"J^;
M&BU$<R4.DYGD-53PAD7F!^*XM[^+5=O#FA+DXAS$-I*54?"T%(CW.U4/.GL[
MVX#KXM$DEGN\SGQ]=)S.X<$I:<S].9JB!=@PQRPIW\6VX\TKO5%OJ+[3'YGV
MD+^4>R-U%\2.B;8B+_"\:AJHB=R,?8C$DAL>5K-YR3W"9AP+7&O$4BB94*R,
M]90N8DHR%N/I[2R)Q'I_!IF5OF]09\T5XX9^]$F-+L8O&S)LUBZ_L@&NAZ]&
MO36B5F,Z+9$9U@8XP71@&"JQH9Y,@6W89QH[FVW.+@Y[<F@5G3[2NGAI0*P&
MZ!#XL#&,%/;&W^2XF0KTG>O(EMR1TMW(SAYC2;=!P7&UK)8_DD((X5ZU4V+^
M@U6Q;3RMMY!@M(:;7\?QA44D&5?RA(7RCRMZ'*'M:TI$QXPS"5O=7JN:I PA
M%J6$4Z1JG='$+W99W$3-(F:#<!?*UY*XL35FE1I.$-7%(=*XI"0*DZ!9N%1/
M(@SEJX"T6BO,C?0TP]B0CXRQ.]%^B30OA\436,:*:]Z*"?K[/553Z3F-!T?[
MH'7]*59YQOB],SR< 8X!%FXP7]W5? DC(^E!8@6\0$H!X3/Y\U20M"='QT?9
MU^OFP@GG->ZAOM#IV:GY0GF<$:LLBR%>-CBNXUDIK7&B#(J7;4<N5VUY*55G
M4#BM1KCHB9&;9PA6=3;6+EH4;C"VH\!,<04XO'+WR=(4->,Z%TAWA,1=0(<@
MO<.%BC[Y(S<R"CQMFQ=QY8Q!ID]BPYWV%V2O #-[DFNUA)$]OA#T;"S0)R<D
MT$&,G[WP8LS<08A]LN\-;%RQ$<FCB\RFZ\0R*ZJX5$A\%!@>4;F^5X%T)_(
M_A][;]K<-I*EC?X51+_VC"L"8HND5OO>&Z&RR]V>Z2K[6JZN.Y\F0"(IH@T"
M+"R2V;_^GBT7@*#V!93RC7F[9(D$<CEY\JS/0ZG'6"$/:Q.5L?68*:$J@2)Z
M-0IAX1#R:2>?[2SSJ4"&DFC^BCP%*-I?$%CV@\4YXMB5)!BQY-^:G0TV1EOW
MAQH$1AX7]1D9>JU'AP)T9,J4'.KO!H)3\WL_<]<NCTYWQA*YJT1]L-5^AR(3
M_&91_YATG-I:+"K'3J9$L9KD&C^5RQS%<-?NF07>Y Z]_AP^7Y;4Y[*D8U^6
M])S+DK;S6BO4A.Q74&5&KZ+V1%W9,%N,8S^+2NY?BS*+=LR.,Y>E,%G!A$*K
MM8[<74CY!JO09837E2XV,A;Z2JX7#1U7!,[P&C</7Y<&5*(18*)+M-29P73E
M)I_S["RG!I;$0 . (9:F*CO3H''$F6[2!-(,(\_]S]*NDETA<S<E3,5R5D0+
M'J"FYIS1H*2-MN&R6&.>K58=\[;@VXR$4@4KN)6_9_G%DW)POA1KK]E41>Q9
MX@8X5HG@8$N]'3L'W2#?$B?BPCMIB7)21(0PH!@7O2R90:L)DM) G'(3V& H
MLB$I_C36F+7\71V9%^.H:1,*0<12O#WP71<3<'P9^8". D:%L6P+,QA8T<5<
MSM1LH)O#6S56NB2P29C$)IBM#"?I=R&2=-B'=$EHBB"F$;4LNA.%C\-!PE2G
MI*<8_(48CJ34S0#1H+57I]\U61B,9  ^K2JIB"#X&?\#NR-T(C!>3/7#6@?J
MAYK6M"UTU[EX\R7%19UV?Y \Y'9F("_2"U)K!T[#1S4I:JR,!X]@' 9___NI
MY 'X?9'Q)MOY71#YS],JQQ@!.1.M ?%TVS/1JIH]"/UPY$I;&Z*VE0GOW?$L
M*L2KU[Q?IB;/J#W!,PBB&.T]AC:@[S62(!IQ!GNJ7<>@U,U#*78/(:Y^@AQ"
M&.JHN-Q&7SZEH.PZ5:G&,_B(?&>$Z(,3.7&8M_+,M#'H7.K'#Z"VC>N%HIGJ
MME*!\47IGX/1Y #8NN$93?BB P)F34V<D@LT)7G#X#=,M6"&[@(K.$>[,OJ
M;XKD7%FN!=[1J#$[>940WCCEM4YP"#G2S%$RX:K.IW$#70:^8BDZ2ECD:-4Y
MX+W2U#TVK5HJ]9U\/G<N9C4<3>2<!7]I/?A$_Z'.I-,9T:KHT#.9C+20H76B
M3R]ASS!BTWILUJ&T=Q2]9B$O%BTPFXZP:W@)K;A#*]%(C,&U)O7EUAYRH:1:
MU^T<GH+A]U*#;=O[E!$2)DD<FX*Y6(LF$;LO"+8:!;S[KN27<5[+T+(;0D+1
MK['ET5C7KE9=.+,1VY"LUT0OJ!/ZQKN'LE&<#C/D8&94>%/7%;V.[M"6+F]"
M6SEE#)T81+??MC^4U&$(^IE5;AP@I;&+O>1,OYW>T>M):7BSG%+'YW-DC191
M*4W!XO:2C2 =6,.C8?$)/DKZX7U>8 (4# 1=I,"1>JDUTZ= WU)<^B ]N?'5
M3S+*H)G^-+2?(F^9S]7U[I98[S>FW7[_Q4UZ4*TLB04<^WDR002J!1H^:/]H
M1"NBFIT)P+KY+3Q0Y\"<M@]MU23T'0+*USB *,.D>Z4T#>XDLO)TGP@7DX.U
M7% A2JRP^M9DFE#CU)6R>92ZX)Z7F= '2)\'8N#R/QJLATP@U=1T$<;.M66[
M#L>?"4$*]]PDK50?42<DL0%YZ21[PM-L*QBP5DNJ%09$C.,@SMWH\3JF3Q&8
MI"0(GSK3%BD:!)=O':+\9P9G3U>$4?--AM="1-Z?D,J>Z0?%:$\FDYIK*34)
M1M4H-]1 +1R<;$1D-/U!GAKX(ZJO$'-4ER;.<LP.:%;'0DT9FL\0@_"51>HG
M*ML[*@7[%#CBNC)3;[=JHI-BR1NVE\=L+)#/2YZFYK'02E 8$<PB#8*_YQ=H
MF(?"3"PM1LX#M?*50G4Z4.<B:,R'@PP*W/],O%848^OP#&ZS,[@\7Q58,O!7
MEK_L+.)F+;S^T6W'(\3RB65PJ&X)JEAQWY4F6A@$_VPW6;#V:+:I25T16$5X
MS:34'@9"G=I.,E-L(W>;*Q2LA.P-=S/+IH. N[LZH&6!XE2<^ Z.BUP=&!%6
M\V$E'(Y)R";*FL(<>>'DN&@AG"84S-=R _Y$@,Q<%CRSV%QOYU8A"AF$=YMZ
M81N\M_BAT92"2XRQ)J7'4F1'XDM%''!;+9:ZCZ5DHU[D_5]U?&:TK<.0XM:D
M47SDA_NJ9IU_%Y=X"R/4V/&=P*'>$NN#)?8W"W$X1; Q%;M;#CX=[-I2,\]K
M^6A\(L_@9X:IY62\FPY!2&V%R4*1O#87 -DVC,_,39L7:%<4F@)'BQR[>.2^
MI>H\RLRM;?4MM:)$I>:NUZB'DA@J$9&.BT!-V'R&%:$,AM=P1:09(X,;B[2^
MR94XH*8Z$@"G[XQ*P_D-^#3]C%1QT)A H4VJA_'BA/C4'#)Z%O4),(CY3<_Q
M('"T0^7@-[)!FK1)&%H,#@X%YZ;7P1>LUNC2 !HPL=84[@*W3SZZ<F^^!N'I
MY:K!UQ3TOZ9@O.MK"GQ-P1:C^7V(JH@+N+ 2<[K:FIO_4> 5$HW&C)=5C547
M7.M;2L.2CG,0YYZ 5X1$L!A-</\:L7Q-94=>^KK+-5U-X/3!G1]-OS-\G\;[
M0D4PG;=],.OI.?$_VW:AQZ53PK'EWK!A\*W9[3O2&2C,5"C3/=DL63'K;)-V
M^65[+U& Z^S]-,WK6'A X.:M*/PN^'N:>K,0>V9-2,A8.J]3M%$%75CZBRGS
MW(@K.0E_^F-#F*Q]:*9"^+F*Y#!E2E0L!,@7_/-RGI1SKF+-0*JP*E4/VCZ2
MFR"I;D<IT^DD?;LJXKX?<8WTM^':,9XZKR+%RS1<33:C5'HB#8RX V>%_FQT
M'B6I VN>9&1(<13AQ!X!=^H=QTA.#\?(:(]-GY* VK1"5S<Z;1WT4*'>-;':
MG3988@O0"$)BNV\3Q,V="[JI.Q_9:; ^ P-]]DQ9YP9A)YFR5EH ",]$96C*
M@(\0PPWFE-2$F%K%("673Z 8&\@CYEDC$9LE@H]LA"B 8UM7[< K2@B]N^;D
M)#P(15/R<4OL"<:Q.\@MCE0V@UL7N@VUJ?<YV$KR2$&J15)2700\6YPF^ W\
MD9RJ[Q'VR,VBM&0^9Y&B)),.:H[S68@.\ADC+E70@N;.>8&U15&2V>2?^U=7
MX66JPIYA Z'@XM+COT%XX[S9 :T7O?',]=BV;J+53^,G-=0!;?(@^$?RW6)I
MF8XAW96(#Y].(Z:"L]V)_ (-)'JAUJLI[(=#>I%5&1@ B)D\Q #[.W!K,FCZ
M#JLRT^P8:[M*UI :\!W5(<K(,.K8!7+:HO3ZMVT-6>L&0+^&2D D4:.2JKE3
MV)()RS0!8+3O/"N:F(]7L=G75M<^P<\;. [Y"BNX^,5HKC^<D^RR!:$@98W8
M@*GS(*Z,3*V<2[+16L[Q?0T32^D;EB?LAS#V'X,8X9Y00V]A:)J[3FU>V$-K
M+S*L$FOVAY!:X-R=5A$4RD']V#B$#=UV+=5F^^@TM@H,Y*]XN-,H66#2)292
M#1<T$8?*P"%4CRD-8DZ]L#V*2_99.#G9Z"JFXZ>)SD5TZT;ZR.X#?58_J@LJ
MJ8'JP /'] .K95:_5F,KM\02EI*OIPC;RD#M1%@J,)/- R</CVJ3%>Y7N-UR
MRF+%8K62NN3>3C[J#,F0.*71F/$_YZ03J@2RQ@2J&6L64DH!X=+@3A:4MLF$
M-T*WPZUS/:)JLZ4B79#.5[LLC6;(:[41]U]W/&:RHQ.YBS-DNEQ>2ZZ8)+I7
M5$1/P[:M7\0/LRE;Z1^N5V0T=$)K93<#]D>$\B %'5;["',DZ(N2_H46+#H$
M6BEA!8!C2S9L4F?WTM6.V*XK!@8Q'].!@2[+EQL$2U,B+O<5Q[(Y#,@$H8XL
MA?8@FR)Q&;T+8F^U]B5F=>NF,."#FWI[!8O7*%S^;=N)0^AS8P#S5_B#T@SL
MKN&::E]_*<.]<FFQN\T:.'5M0\D>;]72FS'B?G:<.%U=0>-P[4_)'A">$.=!
MR-]M%%52YSO\' LR$+>?^NSTPT_T(R5R(@P;\?7[2XUN( SC]PQV]3]9IJ0,
MZ+]AJ^)\86K@)</(85:GD]\E49$67M=J;!Q2^/@\OW#<X%!#4-K32:RT6N;6
M3([FHRVV@<&QIC0=%B\[E11HXF1YMF,QJ@9!"UK9@?<D**WUB0B6A%LGK^OT
M:RGP06A)QQ9F'&0I!G+H>!O1%0/!V0#OJ]G[)1<HP;Z%YO#7T;V=@3I0VV+B
ML89W4+?9R]DB0^4^.[ T:!)'*RC&J(Q'C/=89GN06-W:X@Q#[LVM=0QQT3A2
M[V&R(&]9$ND\1/ U(>@C+'755YA3YIQ/4G$'N/_)%/5,45_;XL1V&Q<WRC1R
MMXL\AANU/8SW^D;0X\&!3*AH$)[#[53\B5(..RP-C5BR^N52Q_5E76S$:N/E
M@$>)FY.XCC 6,C_7CSJC5BUXGC-8-N;1 *&_&NV#3E[*\6&)5U'M<AL%5NXB
ML0,<D!.]A6RA\#HX-V0'7RZ"2K$/P[5S41#G_U:9!6RLFI@(_TQ0\A-05^]1
MJ*,XURTQ&;YD6H.R8Z1$K#% UYIQ 1IWNBF0P/(YW2*@=8A,7OB$23 T2AO?
M_69Q?8O,8R.Q=5A_<EXI_>$B\4B3"6H"E!L\%8S]8DC3K6"R>^[ *(KTF0/8
M"+<UF;;:'M"ZKM*4B=\*#%X@>8]8QJ;?[=M[T^U&C8T+/G98"IJ=J=;UWA^9
M\X4F?2XT&?I"$U]HTC=MGK<]8\&0=0.@5NUB6^L9U15N<I%=TV#=DV=C'U4J
M6V'2)R4$P#KJA8#]@G[V,P<+?G.#!5]KK*#_(Z($=^6T*_^ZTE^#G\A?0Y-/
M5+5ABI$8:B7H0]SA0K:@P"3I5&77\,^*B"L(Q7*T01DR'1N0TCF]&HO28Y4J
M.WVI&N [KL@G"(@EQ@W7S"LTX))RT7B<^PFG;X?R^6!#JM6.!KN@9-E*XNW4
M3J0[J$TLGD;+S$/<]\_9.K:7V7O2L0[-#D!A%^ZZN#+<WNCFK@5XEVQTDUAS
M!(X9%M$;Y(R &]_7>,ZA@/ZZ=$X6'I6R-J44EV<2:C=EX"LI4!7P%6Y;T8PU
MU U(E+J-9(>SVF&7#QGJ-(C-:GC;\Q$\6O"LPF;!3D<=%DC:3!5<)F6%-)2:
M8HF46-8EVT^&12].TWY3@N$=$V)79/]C)1XDU?K4E*=W(CX.I;GC0+(5VZ1#
M"DYB3.)0SD88"38^54(TVL1="V?:8V1"U/##/#*U/4V]WJR_H0P1J^7&"A-N
M>ZC+LMO#P960@B7]>9RP_ P.0ET($KV)@VX@"Z'QY8WNPNT1ZX=FML92QB]N
M8_TW4V.P#1F>QZV(Q<7ZY%;]?)&JGVU8JL=)4%K&V#K36DHL(<R+2TV1J:+L
MJ)]R8/X1?T">00U]*G9 5M.[0:OZ3JG[RY BO'!TGA?.9G,GMNQV1?&0$AD!
M1<LLZZ*LT=!$M)^S9(HP/U)^K$.()#$QJWWY]3IAM8GV=Q2^TLTE93'"L@66
MJMN&!T8G&^A)26_7F8M&^!\1[UUCL!'4G!2ZZ]GE,)2"*ZZLL<F\B;*@I0PI
MAE^DHBYJLI\E*HU+;C.7!E:P\+%NB,Q4:M@.-7"#!8U^VQ_[T(D3P0L7.RDL
M[([B:"N]%,[X7UH!"93<M_NOFX&AUJ'HC !1".,=B?\.OJU\BP8%*?_V0;'C
M'P_&X_'KISHYX\'^[M'>:+B[/SH8#_</CU^_NP AYS#+V^]*+6%0J5D*"<G0
MBERR!!A@.!J-#DR$P8G-\'N'N[NO6T]]&F6!Z#BJ.&=GJ:$60@)0W,%TIIR;
MSNJR=U;DFH$N+WI>]"X/2%'9O3*HTB!4J+QMK90MLY%T'170.? B7O:\[-U2
M]CJ,HG6+9PU2K&'AO*-_>@GT$G@;":0*-$7E,)E"@4(]!^X+AS<M/"M3VA'D
M ;M>JL"0[0:QZW'@Y![*^)D@[5(S14H5B5B$<!FXT\*>:3;[N?J2>C$P/J6)
M&ZM CFCIM&2:6T@GRHSMS^3 5+Z5:% 2\3<R@X1M_1#*7AN@;<&F("6#S2;_
MRG5!(K=R4(<9P6Y1E4E^00X[%5BH'T0#>*[TQ0BO9!0P4F%2Y<:P8%P ([K-
M2;^4;M$98FIQ4X,00A BF?NTC@<(69]UIQB96:+PH'^4_K<XE^L*EC_(H$%.
M0%(^J"CMT>)A7M/)=D5A5YS.68.89(OK.?ROZ^6[UD0C"E%IRBRA\E@'9]&
M#A$ZD7FQ7N7&HYAY!+L=F)12B-I ,R?H/<ZP"Z#@-30#U.%C,PQ5<'7/+"E*
MR7-D5# G_5_GW$KVIOP)6Q"F13+ALAFW8>DR&7! E-;?1?/O^I8 .LT; Q@$
MOP@)M9$;8A9"Y&:NQF">%2FA-B) '$D\:GJF_C:M'WO;0;WD[*7WK/T%OS47
M_!0<'',)\"GBA*MW6[Q,W4ZFSF'-8]WJ(9GKJ-%=IBNBV<'A5F%7K7JGQ<O?
M'=SFFJMVP9SHX)%T:!-%-G7M1*QFBIL8%R_/=?DB!@T96E+#0-5%G+&HJ9A%
M6W[:]K:D'!V GTOMB7 P0J%Y5P83IB V,/4&3Y9ZCTTC19TPG&+= -B=<*9>
MC'<'04- JJEJZL\:JQ?8_JM]"?;CE&"[O"Y.9[6!*G)%0';2!A0JZA3&KAU]
M+\QTG%5*GIS#JBUO85MAV11WBR,3!!KAI/\V>>)F<)TI9=-]H;17VZ :H'P?
M&4^$,*&O/.M.7Q46'@2G>..YM%7M;J*UXC*>+%?.H,0[\!>FWVD0G-@#D=>5
M<!,%#(38?&/N;LRM . [.0><T]FB'2#0"@WV@1E-K,-?(OJ M#QN].8X+H'B
MX>)9<&L+_I9]L[H,'?AA-^7*[CD3?U.G*4QO)H5.KG#&"AXG_3ZL$X//B&[>
MIIJ [36A$.-@:EUU<;V=],",VU0O/_+U\KY>?@MKJ_Z8HTZ]:$9!);4DFE;*
MR%F+D+Z\H#Y+ZB^&CYV$^AJ_YN=U!'B)ZE=::I&\C%6BT=$S1IK1A  -;EX7
MF= P%'5>*AMX;\ :F0>S5$+N$AJUE#>^"JP'EN/G)O26P?R!D3HD<[I<&&GN
MJ5<O$M(\-CMU3,$2J9O,"L)6$\JTIKTGX>SD<^0LZTJ$6N"DE63^R<:T_H]]
ME [P"_\3541G5#/&5=HX9.?C8,. 0)(];'H*B+D!'L/5+9(+PBIIU3P$G< J
M/3D0+\91>A20V%D!UFB^8(.34D7-9))VA87FEHU5SL,V&#A("9/KI'E!'-O_
MFMZ,8ZCKMO1&QFW-T1&AI>01C"/.J287 9ZB) TW4\[U1)*]:K^G0_V-L,"P
MMVZB5-,%<J309L-=)XPI#&QS!N/Z:[?0?.52OUV4?)K,4+03C@E9Q A-%$6#
MBP(F2ZQRS:O@IE/YN)$?[7Y0AG-5M,/.Y;+A;E%OR9U+))SU%)J&.+"V:-=Z
M=J^<L\J-1D?<.4,M!5Z0<$@\B[3L8/?@Y:0QAKM'H_'P>.]H>+B_>[#WTO(8
M<E02I%UI(59V:IKH#&Q3+(IHQ-4UN2]RHF5TLVL^.7V/$QV8+FQ8"\H[S1F&
MLX2C<6T>4\'D+O6=KT.X:#FO/[ME36S,N/BSXL_*$YP5G6ZPE5[V2UJP"R^U
M7FKOE#A;3X;<7P+DLHP'GHGN_.R:6]B9Z/!R[^7^;G+?5+Q=>INDF@UZ:VQ(
MVV;N6![&S!#B=CX[UTKNAJ:*-E,"\\TU(%K3,_Z! )"\M)*0;QH807+L,[<@
M^?(+-B3T< P!85Y:>WC$9XD=OV'@@KOKN, @.)5P;ELI2L#+=G674H!LD1LN
M36W#$Q! T! 7(*8R@@E>:+!R)F_A0'+2@'6!CYX1=&*+BE,GVXF$X0ZN*S(7
MNVL4!1?1BD4^86AW6"\]<='N4NU@F8%T--SIBRZJS$$C4=F_<BJTHY:-9F2=
M+'<.K*^U$1F37K>_1;K[@Y]$="N2&2JDXD\3#+N\NDYC- /6,)X/DD:F@G9C
MFIU6-F^OW\6 G*:#?ZW3A"A*D(HZE;AG7Z.++R9.?K>)_JZQ7^ERX+VCG@\M
M<W)?& X1SFP:Q*YKAN9N4O#BE WJQ)!H(,[8$&O&0)>,7!GA1#$EVRV:E'DQ
M:9P0AT(8VS%"A-1BLTL7UHCRZ8\D^LJ5/E>NC'WEBJ]<V7( )8TVM379LP=/
M)'ZS'%T.\E%A*( $XAZ!C2=)WH T% M/-ZPQH37_]J[(@3Y_>H\ 2<3VC?Y%
M7KA4=V*2:F[VLR*_0 0BLDS$,-?[J:&MNR7 39OAZ84W5@BNJIDJ\9LS<'Z(
ML$GWM'[^\OOI+24$F1D0LT@6MZS!%'?6ZF!P>'L%>KCW[@GM(;1:\I(9SN:P
M 5&%A+C+.981H5DC%+#_WWNL!SKY]E$XU?BWIY_\BJZM:!41M#F5<Z$O-DO2
MBF\;@XO^[>-'@XL^Q0Z"JM)<NZ=X<HIZX9>UM:QSRHS#:DZ051?4 &*0PD+R
M^<>"G^9"6F*8*%W!FI3-  %^1/3/C$F&V;%WBO$T)AG&CT#XFRS2W1W42:%=
M? Q6:^8-IY*# PV@T]#5AS6J:;=T>0=U5_SJH!MLN/]T4SDV'TBA%94:PC^9
M89G&@TK01-PE*4KL?,1'1TBEMK#U"@8\1BW%)UH5K"-ELDZS&B,<,ASAFM#:
M'&MI-1\%+Q!'_0WZ+,6C+!:M)&*C.%]6QAAH[)\[L7!S12%9&$+T"%\+F]6\
M+ELHUC4Z(;P%YGZK?/J=:RO5%,5LBXI='J7>S^Y(DS/NSSH26E3<_R;XKC?2
M>F&DS16%=B*]AQBT%=1(R<=1)+HNIG/2* R94U>($0-;C0D^JMI,Z)NR]^SU
MM'>?-%C,=/+-:B>XK1SRYAF:B^A#KX2@"'2SI5+26L<6UE4JD+(0C29UEN=Q
M*TAL8-##X..'DS!X_PL]_-/I9W_#MD3?8DB'G#QEE!($:X>7?8\0.VX0_+^M
MW46Y4046KK/@1 BG/YO1#<90G_!(<-FJ)*5("-PQ:3(IF#\ U *AR1 U(E$T
M$YOJ!8Q C':[FR1N&MBT>15B--Z!J1?>*8G%:W$T+%PDM%QT@5#X,?CK*RJ[
MA!MLEDA" :,UF+0H<+'C_.)2]GIJ;.3T0#OHJX^799.3K%Q_8J O^1;[U#+J
M=-4W2W3 !!NLV808NE!V*\5*<\H:D N,6A_R]O7(AAF<%J*R *DAFTA3\5GB
M=62>KK2+'+)T\MM!F$D[:[A=:VBV3-.PT9JDR1TV2:^_D/MP(7> ( >YFZ<Q
M["P:*E:;YI(+%C84D4^DZ)K#UNQH[=?M25 Y^02^H<Z51E#3-KC&:X;5HD@=
M#H)%.4V^*V;WG:@F?)AEN#$@U!65)FBS714%N5J?UQ4HU>S4$Q"&("%);3M<
M;;-?YXB1R8$T?=+Z@KX6.DXS>#\I)H;/.DXJN) 5L:C)%5C.$X$\TS-!(C2:
MB)S>#$XS##\E;Q%IQ_7BV77^R/P-F,YG&\;V5NE==*XZL:D8$X+!UZ9YL<SY
MV@2O*F_=@&2 YZEMJ&GU#]A.-6FSH>1AEIMK',DB1=KL**111L*KK.[R4CG3
M^N0V'(1K.V#5&EWH.$K+2<JH=.;O3B:3U]DL,RY8HM?:-J>#HBR9/!Y4)#?-
MD=(LK=9<4Y7Z$G<)3<,F*($#<F=3EJ&0PO+E[2K8)-..LF%XM7^4,@1>]*C
M[M,5?RX,Q,WO;!>UI'N$M;!)[B@1F\%S\PNG$TIN)2D,:5X,C;=A*HNM+*UY
M&IEA@9RC'!F-EI,EFK %3/-,%S2!OEF40H'))2$\OY2J31M?Z%(K3J^)@8B7
M^Y3?W+3IG>60HTWK+TO3.GHR6;>'N"%"'7?M-:7F.MO,67ZAT97:+(_MTK,T
MW3],T</6&!L/WWR_L=WIJN(4]ML;)5ZZJJL%B414$TR71J5W#D126]=;)XV8
MSQP5S9_60=ODWSPRIB[SP:9>V+:?B'4DTUS)*!^\B].DE([>60Z&I]XU;?A*
M?-X$98MV0-R6R5V@^4/X7%?+AI9&,.ML<K!0B%1.MC$,89:G24Y)!5 Z%*$O
M*S1)*<5 2$4KRIS5E908:A1 J5XDFRQ5$:F7YH&QO,W-HBHKZP19AO"WE-TD
MLT,3\S6X[.%"Y/%6DFYJ\=9KXT'&>36^%6$9H4F!!W/''$S3[,_%IK<]B@%S
M)6FC7 P%R2R8Q?RS3J;?4R<"R'62QL@%DY7,[%9Y*9?%4FQ0>!:EOI)M(;J3
MN31-L@4/46&I]1J:<>!B^$N^#TJV>9$Y20I[&IIF\67H5P;!S"UV-)[YAG)'
M'3LOU@GY>KEB+^5:^DA%N6B#5+D4K%[<R.IA?=OLF<?*/R:MU59_D92-$N <
M'1V$G0!Q*]A'L^Z>-46=M JWP,Z9BK,@ZQ4%K&X4&QO\2];2AO:2E9MA\S1.
M=KHR<MD?1>7+<?M<CKOGRW&?<SGN5BIQ#N@Z()T77$J*;F=D\40- (!TZC0N
M?YV$64/>7#5, -, ] =Y,(7I+0*#-ZD:YK74T0@ 3$C_IA+%6 A)$.(5,],8
M9X9OYS%9JG0'R7=AW"NQ^WDN'"'7K(SRJ3J#Q40.9#2%F]>'=";J;+X3,;06
M#N$@@[G>#E U+2)#^:W[UI#=I,RG_'C#(MGJ';%OX5;T%:T_!E@E4VKN4;TY
MC1 9AI;QO/,>N?M%H'S4;<41'$X:)$BFRCAH9)_18HD_2=\PQADVW3G]>D[7
M"G[NNT+&D:)$AS6]!I#9'4B6M_+ ^2M[FZ[L?7]E/^<K^XY3#)*8X0[^]_!_
MK1HL_Q?I[>L28W/_2^6S95+^[ZP?C.Z?OOWR:W X"'X]^>WD;[_\^LMOW\3]
M/@T^?#I]__OIZ:?/OP4GOWV _W_RC_\Y_70:?/X8/(&_O='K_/3;R6_O/YW\
M(WC_^;</G[[IX7[]Y?3W?WRCT7[^\LO7$_S#;8OK'V+<+R4J\,F2[Z(=4$E4
MF$KA2HP$KU14E,%H=S0B>P%^& 8742FEC<J \+VGE/O*1(=.L@P]\J\* \P8
MXOZ(-0G#W9W_-GT!YC>F.V F54?X4N(=CX,/8-TNL A^/ QI&,21O223:GP(
MGR:BBF!_S/G:X MH\^#3IS#X! <]. P#>=FOZP&L#^;<T]1.Y.RCI?31A$/?
M-]#RO]KHZ6<;/97Q:U3YB.%A'%OQ%/D9DTH7)/SR8SK' "TNVB+A$> *J4E1
M8Z@$)PE3'6]1 ?8=<Y1J"2-0O,9(*8*.2!(G44'U[IA>,X@0<>[F0C S8+[]
M7HI&W.83_4?9(R,/%ZK]&S!OS:] #N6W+=DF,4VPJOXLS2>4?U@O/!%@"$D6
ME&N9 O@@5BM1H4N6G[/;TDCUN-!!B.] 74@2]3+^B4+" WRQEBLT!Q,IUI-C
MJ?M"B+[2K2J ]V%=$1[QN*C/?)+^$29Z4G)(%/PJQL"@P@M4>GHW2E.Y04%,
M3 ER(1GQ67(NQ]:LD28#O;,L$G@6C"1(L<ZDH^.F61!%55#1=#U[V$8<.8/O
M_%LS?!J A$VU5F\01.4,SE]>E#^9P1%X_!2UWY3#Q[J^"EUK]/]AF<F;U;5[
MY/MCG!KIY)%E$[SCG^LDI< P&-CX6\FCZ3*;L%D#,U<IR! L+?;1F$)H<[L@
M<HM=\*AH5('%S)):<&]44DG1!/CIRX01SN/S2$!J6X>6FFVJHN9Z.DZ..N?0
MJ2LSRZ&'P6?0K)GM&UCD63Y-<ZQ*Q[C,)(]II44Y+4XFI=9*80-%?<GU=K R
MY]%TBJJ2=YZ2J? #:$0*<(!DNP]\_Q_18OGN;]^,JM,C,AG)9$&EES"T>0W+
M!FL=I152J11I##*O,))!^@D^DJ["9H43"2#FM15!ZF"X"&6/EQB/!24B#& V
MK;%;QPF.]R(!F^"WD^ -5=X7E'XPE71ZAYNKO?CZV\E/=M:Q2A,*-YTKZH3C
M9#9L7HH1D_.D$.Z>*%99ON.$?N!/\ [YU@ -&L8K2AP;JEG:9=.NC;+.:/IG
MG;#O!W\J%4(FP>R1^XC/&F+7DQTC9LQP<">;_KY39G_Y6>;UET<8UJ9!V#,B
MLOOY'.O2U$7[7G=A"=I_0RLK.'&VH^,#PZX/T#XZ+_B5=?GG)9J[=09Z3'_0
M;"KU'";9%AEU]^Q3?64.9CSQ+\2[.B'6K/,DKTMJ%M6DRG(I_/(#-%J&]^4J
M^ WTM:@!@3:GWPQU!P/6I^2,"NS2))H5Y:H@JG,N>)V%_MJ^7ZC8KGR2Q+,Y
MW)SEE8 *7.*4C2E^W:YZHC+FPFZZ'2'#82)/./>:D%E19_J=R<)H=%U!W^[>
M=>=5D(_9F(RKDB/!Q(NOXUZ.>6]@X-I_?$#'T<+NU\M8EV<6:I92%IR[;]1Y
MQ)79>A59/%HKI!>3\T)?%::^X5DB0I*4N'KC*5LC68C6*A:V@)1'YFRK5<4L
MXDOA Y=JI!C#UE:R"!@,;,8IE[Y=:V3;Y9ULI:YBCA]36*9AU6;KVTW'0ZXU
M$F'&M $QIH-\D8!EO@!#=99(7WR<*_Z0EFUTD5WAPDK_<Q(0ZB=A.YL*\=LQ
MD;U0:.6I;Y$PTF6(GXODC+HW.>1$/CR-@LKJ^8!)0P<&?-.<7 O);0G1/8^!
M@4QI(#@!0E,D9$E^74$0"O*Q1ML* E2"_8K,E9D^*!([",&%P_IZ_6M*C](A
M7Y%%;%?.S<E.E(VS<3$6*1[XUTNW)7Z-ID4._DZ6+\![^E9@!]D+.:C.5:B3
MNA*+0H=9=Q>Y2(4M7"(-2"2!!2JUQ9@6^COP4FFZDM)2"B[E3=WP^^!T (<Z
M3:/">,MDW2+AL%O&E>79#GU8Z8@GO(\.WL &00OB]=)U #FFPE(>7-0H2+A0
MT7>5:2C4"L9V!B_E7\PLU[$=M06/;PRYG>8WO:9KBW-68,\5N&XS:J%&69#;
M%V\OTYL?%4Z'K"Y!XW9H+G;@ICSX:;NNL>T,LFG&(-ML)\R& M-5Y8WN*+<G
MCT"*X5Y*I?3"QM5@XXOHP@0:A+^+CP7!0ZPP:I%DIMNM>4;E?"X:2JLBI>5:
M3_*Q,Y4O\S31D3L83Z(C!]1E$I1S.-!<G'.BG4L\&SB?!9>.J.:PX.(HZJ4-
MY#F3M*]G4!A]+@QQ&$52SBFF3+$?[6[0*F-$I:#R2J&/TN X9'3.9HA1I/$O
MY-CP?8WU-;0 K=*76.GH$?RXT%:["6)I$_[]YW]^^K S/ XP+JI@.=V)8'#5
M7LSP9=BSK#(&Z>G)U].=]_D_=X9H-H.ERS$?$P.31[OA_KA(*.85L:J0DB-=
M$B\#;7?P-DWF4IE9D-+4XFCQAG@]&#G(%5&];@[J#RX#6D.Z0<(KEB>P0=[K
M*.[)E"K+4$"^Y%B<I?-\996@RBA]8OL)('_0BJ!N7\<2BNQ.+<U.80( #1<-
MZ=6*TG $Y.9A&$0MJ-@)HH"%*QE*2P;"$6".IY28N,D,R/M,GM,!^=).-"6\
M*;TA-M!&7# ">RN=,8B3T=76L<!+$*OG$>8 W"@QYP2[7I/\F2)&\+/ 4<O:
M-QXMG) U+.!NZH]^\A5\?:[@._ 5?,^Y@F\KKQ*KK,'ZKJM6>&R!I=:%T[.I
M>Y?2E>U98K1-:P#KHFXGN\B=3FLVHU'9$BKMO! *Y82&I"0*1_J(M4_8$TJW
M;)J:XA-3@M/QQ59Z#$O/%04/L+'87)4N@[8$^:TKU[B!Y=YSD&XN6E@_^!2S
ME2%!?BZ6DH/%ASIU^83L$97@&A"TD(G2.7"C;OB2XR[4S(_LR=R<<-)L2>-:
M?>I)<PP2W9;&>VT%C6O9^/,4\W<'Z]Z]A>W7W;(@^98Y =?/CG^5"!*68YQE
MB0NTT<OQOAB/0$<K*HO);MI4RRCEWM0- .P&NQ%KIAA@T\V2,GH 'OP2D8AL
MZ2>>ZO97*03E H_= C;Y=U(0CN-Y:LJ<WE/J16!&?\L')K!Q<OK>Q#0.=@],
MC4.?2DN^NAOS7NK4!'3BO5XS<^D\G<+3 D09;CKG_\9=GZN,H;]0-T]2:>+2
M^IS1$P6H(;)E> 1G!I\LT5G435B4@"KID1:V;*;+FQ9)J6(;:G)I?6%(\-BL
MA*M#TD@.[G3PU0Y\ 5=<32DNKDN,%BA,5)\&8P;W54II+Y03.]7=ADEF@_H4
ME-.O;$!WN^/"ZCTS%".4]+UH*O<H?%"+*(SU6SM7%JQ]6N?'2H[R$;"_.WAR
MQ_6]VIIE]S<DKS?7/9+M0O?U(5BP5]VR2+;)>93".B\4F",&3I.<:P$4E('P
M!T*!021/7E#F(AWUG2;%M%Z4%=<=:E]#IQ*U&,&"_;-[1LEZN7['0LY"72B@
M#0R-=XR09PP^0C9N(Z+BD%P4H$1)>NI%+4/4Q\3*OQ%ZYG/,)=,*@S?1LDOV
MAI*@PGMJ<)0O!-V9RC1IFF;'8UGE<O.\K5U'Q;,IH9IB+RTR6):ZBY.XQ3)-
MU!HWD-C(F$^;Y1)OY@D(>H%Z.S0@+1+-5M,(2T1_,O2!QM9L&)#!*=Q)5,")
M<@1^J9MTJ*(?5'M+A?%80H/9LWF4,A)Q@[03)PA'E;>?]*KLRA9EC^\,_YT9
ML='G=%T2&DHYY'YJ7;I"^C**\9B8YEY:2T>EB<96":>%&E;^A'.C>?OW7.7@
M2)-&Z*$"V:Q]V-C=(8#!!7@AA"5]@GD>/2L! !<0I3B1)G#,41+1"5[\.\/=
MG?%H9WA$RE&3#Y"XF[-TY7OA^0FV1B=R)7&F<Z*J"\P#T:UUH0P6*1Z?[OO0
M7H(9WY\":R1KNB3P)?1^I6PK+P@1"8[';WGF4!AH2P%_BHA#\^HI<&78>C';
M2SD7+?O*VJ0$K,(+&2Q0&)>I:J@\9R]A)[ 2FHNH&\!3&^Z9$I5E/M5A#A6A
MQ]_Y;-'+<A]:G6YN0*[M3U$0-#<JO:2\GJ7D('Q>,@J8X!_*8=O>_-+&<.5V
MJ<2<DT/2-4NLID(PVU+A,:W@"H)7?N();'H9?HDNSPG.1BYG;H5;1ECS8->]
M7+>!-CZUBKZSXD%CC9T+>R4U+CA=-"]-+#8*H9E05)$Q">R2DL:$,$SG[ZQ.
M8F+^;D>[-DK8$\8UMBBP<6?OV#@R!LMZW7PS[@L=&*.FX7)17)W*W$#B#(@O
M0;Z+ME;E*RTW)V+^M(2O*VS_>3%:^'2>+)<:>! <JIC.XTPI'8B<8B(AY@R;
MO;R00*2Y3:%M.'7BRHQ@<LE3-#5W>].[JH:=6F'ZY@(68BZ8+0C:O57;]N"1
MM1/D\")MAA[R%*%K*L+Q5B^E5A'K7-!_H<)96Z@H5TLIT83&]17IVI>\+MWV
M5390#?VYA2TE;RV!Z^<\B3'B;I42>DO2:PE7<T)I\,0^E%S+LI)H#'CA/ !L
M+(")P2^M#V=:D!'ATZT8TYX=LL70Z:B-[6''(;/M1-DT%JP);FE+6&HNE;-(
MI0;I@]^A<28 3::A@EUEMI9TF9G*SI,BSUQ'UGD7B,M<.S(.0[9TRS$Y(A+5
MPX>77 5 40+95.UU4*:?F@<R,NY(Z ?!S]H>DL)*658.BPH/G39.8'I)23A3
M['39YW"UD\XON<&L]^Z)H@K2<RP5=XI&T9LGJ'_L)S6T"[+_LI:EA<MR2C-,
M)$B72D1!5I.;P+*HTS&2$US+ CJI/XS24D^@]$/V)TWC:R'Z7 MQZ&LA?"U$
MSR[T;MI)*=YW>VG<KB\Q_8U&#V(N;!745F8=PV)AP<W@-#G=2FN!W$%PJA0W
MMAV'O>J*UN7#?"G]@RZE'F2JKENXV$H14%B:L'MF'7WNWLIW(92P;2S'O*S/
M\_= 1?VA)&62R,:L,+K 7FY!I$V@AC  D1$5#T'WHP-"7PJ#NM16[2PIR@IN
MO%!^8O!3S-:1S:T-6N*_<MZ4*@S _5G#18S11:D30!.0D5#/F08"CQ7V!)8"
MK3*!XXDDG_99$]=\5FYVS.08L6RAQ*:I>J$,R 1#LC*LBBZ72B2!%NM'M-I9
M+O+B.TQUQ_)(DY8 D]P)GM*T25L'R!'I#)7T-G<S$X2'GDW8]9F(-X-<,LDC
MBX^75 X#8??V<'11/[/Q;?--EX"7^WWN-<*!+>$N3$Z[:L2L&Q*T<F<=1EI1
M$:,5),QNA!*#0F 8.W4%'=^I:X1LOKSK$7HK REI2-HY!_BOM![: @*G0:F#
M@\LB CLM]>;\EZX"L (-P@".:R4%GQ@-9/H5-Y559VXFF@=<,FT0]R$AEH(Y
M#%J\D(F$.IXU^1KB,#2>J\M3>>JL0_%06N5&FDSJ,,7\@S4QI9>?,LJ?A8)*
M+0''X-5H/#@(%L@URVU3SA.ME:@#PL8,66L9T[W45.O*,2*MJG7Y5HM .3C]
M[]_;H ,4V(G.I4PETK!R)4+T$1N:Z$0P4@O]>)C5[@YA(*[UG>G,YQNGX-5\
MZ O]S11=82^$$JJU5#&[H>R9O"PRX$<43W);^-PXCDBG%(2M0"]3\:P\"W6L
ML*>&;65$6]A2_=03S]N-\JCTXL/R_*M;H4X45[E)5KO 9("L55*TKQL4AT+#
M0.",;7=\4G1J^59+(,>+7(="EWFT+A=-3UDQMOFR+L IU3'O9F\*]O^+\FZ"
MGB'-4&JA&ITKE5-6\"PLK&B)Y'\RT$E1Z\=$W#.)CY&M;626?2;K24UAC5\5
M"& :W;C>>._!!?PMKS@Z[A;D.=6,%&1VX+C6R@DH20DW8C))-9*2_2?QF?'W
M"VDET/QA=. QK(M*,\$.C5782.@GB/N1%*RA*&&)KS+VM#,HG6:H"]#<I:D$
MX%%R(00;V:)62Q>47_KE&A>STX""I69.\%FXWTM=G=DQ6:J8D]73AF^C?.,;
MU1KJF=&-+YV+DO1O/S)Q*AUBS$.D4NT8::"SJ"(^U@8*4VODIIZ"HD5V =C<
ML49]:Q4-<6]SQ)R$J*Z]\VVIP<L1"Q+Q)L6^T0LAE,6&&UC]2W: "R5JKMO0
MM7K7DS,M0X[H,,2,PWJ'Y@[;.F<H'>W:5KKV([ 20%"H5:7I*FYJ1V)068O3
M42@P$_3RNTA;C@TDU<(DI&SSM/@MZR6Y.+I0RY36MZ?GF(>=4<)K+I[)=1/T
M5;G,=1LL8@XT]_3W)<&-HM&@:8^[9T3@/@0BM%9D:DQBDXQT!XE5:5V*A!8(
M2V/QIL%,%@82F"S8 2AH(&2Y*?^NV-UU'-1OCK%LI:'[V&R2K@ V,<OKJG0B
M(K^BG@[>1T6:!Z<)5_G*V6: I1N_!(X 59*P6T%&N502=I=^<2FR05M!NU.=
MF])K'K&P+<M9U=61$;L-Z+H57 >%%F.TK,@IHCQK4G[OI'HQOI0S#2D"1?W9
MJE)OMYJU7$I3,*V!0KG[X[M*DWG.S#B-62$P!,_'$+;IQFHY1 8*KG6:J&9Y
M.BWJYL@;&R"LF8X3N;Z!FS>O59ZR\8.W#;3\T? C4<$+/(@I?K^!J+GUIQI&
MI (]>XYE^5DU+S=" L*3W[P:[PX.?C)>K(6&:=6PV<VV0GN](77I2WCS";H1
M,6C-3]G4Z>7AWUJ,DBPX5<N*!XZ@I5L4H;]SN+<6LB86&ZXX1*6"-("F;+-#
MKN4RO,K<,;@RIJ*#4YRP:T2JRR86(6FC'!CH=K$#S7#,6$IW(!.CH@WJW4X5
M_;#DJ\2T6223NM($L.(0\_"T1904VA#$$P1+@B \B'1L B"9T8!6M72^;Q)-
MOW.[CG2V:K?\#VZ58,WB&$%YUHQ/BXZSCPRM#A6:XX*[<,VO!?P&%9!90/AS
M-;5O)7O;U>'2:X<C+0JB#:O:8Y8:;VVJMRQU?;]0>8B1"] &2GBYM81(H&7'
M5*'072$E+#Q"TVK<N*[$>HTWR$[8)3C$>0!.#X9SBN]_I9^RB +\4<6A,@16
M0Y6I*NG/UO67NOS6!/)1*.!>Q&)=*Z9D\KSYRU="^_[PEY],ETR9NX8Y7,JR
MEJW#XS@_[15EO$<*PG PR6VZBK@U90<C**O@@L(UR#NGU;$03O<GT.T+9/I<
M('/D"V2><X',LPT_?NJ,TFA_U<<A']&JO,.F]:GVZ+EMR_5/#CGI$88XD0)6
M<!30,063HZBH*]^QD!MFL8UK@&T7X<'9P9M MVSKM*$\*#+%WTA(FS@M%3@$
M,!+%FN+8&G=5A1H?4PA%L/T4WT4FNGE4IOW6FSG'W5I$>P+LE#;=@$(7K7#L
MD0M5(B)J T>VX2UQ!-P0"COM7=3W&7*<XT*0=&.L6A#"7##%*=[B.N766Z'P
MA4[03:DZGYJ=?R4 OD("8IBI38J%(-](&W8IK#P9)N0PAFL]N/7A.6"@K?B+
M,9MA*5-8L7(:+54HD.3<M891!DG2(W1O792U(BZAW,7D<3BZ:$\5&^X1U:-S
M3X$;Q+>-3WF[O;8Y0*<,WYU'*T0C+8>P3I;7H,W!YS8]MKZ.Q]#$02T/U65/
M(;YI9V=DVY%!!S=&7(6PF:FW+J_;T> T7K;];7VR1#),6XCUJ<2YA&>(+XC>
ME?$T![ISTCP-Q6T&G].(ZL[3-< !UC0AB*&3FG9?N!9CXF<W0I3@#.N_:E38
MKN$Y#J]AIC:1'XQC",R[-A8;;S1S,\V<!"6VMH9FZPKP(+GCW2B"&>DNEH8X
ME/X2_2ES>&V-"\=5UO?(JE>0#QUV,.T6<]8T)3F1'6-HAJ@UV*W4%CB875@0
MIE7[#FJQSJQ.T=A45&TOMZ?[4W:M]7+JSUQEV[X4:)\*98E*LMS]O/03K;_"
M$'%1,+_4RD'%SVX?KF^C_>T>['MO-]XZ2(P2;WRLMN +Y MSUG)A*F%P"9R%
M_ $?08@70A2RCLUC3"&^5ZAL7N!^B#T![R*-^-VZ5R(G!X8$8OC]E*D.4<5C
M66'#M!H$OSAT)2U+S#W3>/$5R=D959ZRC9,LNDTL75@5!I.:V]APP&FR2/C&
M"EL0]M;N"DV,5(@D6Z@ 88 Q=J?*50=/#9" M:%T\;&T*#3 49J&DS%/C0&5
MJC/D 91G,\RF^9C@4! ^EYDR]JI@-@Z3F7DQ"/0Q)1RM;BW9A@VYY8F&01%4
MBYR.LH:9.L)^,#B\I;27U1-&4#4V !8!" F/8]IC/3S86P04TF3=:=JHS6.%
MRPX[AVX+,J0-7. [A)-@&";L@5VBN4E',\B74G/+%;#L=#D;C[MJ]$'#^=&F
MZG4.\;J_LW:0.0Y>TAFV9QZ-N5#P?ZC=IGN8C-'C9+'(*M)V[0,I&#;_0DX:
MP94_JPM:$*E.%O@QM$+APQ<:*2U3F'&(L![UI/E15\.4^D"S"X?CW+!!NM>,
M8) Z9]JJTBC(;=WT.%DR\W:V03>-4R=JFXY+AX%\S>VFMFFNEYE&9.>[*@4D
M'XE[W:C"&E%4ZSW&R&])X 9IZT].9>M-ODN,#"Z*YZQCUMXQRA-:X=\HJ+J?
MH"57&]"JZ']'=-51WM]VW6N_T5$D7 3%!=ZL2)"M_G(MLLD1[ABBT)*TQT0O
M0<9S32*U;LUPCW\M]X: ()@A-("!C,ZPY]8Y263F742:;X[KL\2-P6+UL.7"
M7$2F#E-#&*P,>M2S]UZN(E&R"!@H&IW6D/2GF9O4Q!-97O%O;J&=SAD[<@P;
M1C&VB,M?=52 4,!76*!D"N5$)U)1CMCDK:W7-8D742E<%8*.V'%N+HAN#-0X
M%_)(3$2@'ML/=\XG38&"-LU)P.@^@]V)_QZ6E28J+)!.(UKIM9CE>)?J]D P
MM,'DS3*!_31?9ZY#OJ&T<:LI0@B&D (E"#D1D*CP6;]RT!0L=^:']+.9AAZ:
MU/&9JJ0OAIL ;1TJ%:GEF.N$"[?Y/8UHZ7R3-!T)D%--(*<Y*<VJKQS#W65F
M*< -(<@Y FO!XN5(U_0:U%"'%.GJUN8,11:O1%E"W8]G&W% X9SG">.T.LY2
M^X:6DAZ[)3B4LYSR"!1<I%I<BGI5C;!85(K5AAQ:#-$HQ3QQCE472!U9$_NC
M\SU=V<LHO-)4)F@DSE] LFY0+:X#C81OD\4EYCT:^M&I8J/5=F;5"/4]:3/+
M%AD5#P\S)36>3@6RSR'WXQ(U@?IH?8_0]Y720[*##"RE-1$UYP<A^X9NG2#I
M8RSFHM//WW1M2P<G67^\A0F'L9[:]-20Z:6?$UF$OTF4DM55SK%Q$57L@. ^
MU8\(+U>Z1%DS\0SI8<B8J8A<)'J$:*>OY7H.M5S'OI;K.==R;:4"I_@^,GLP
M'#=!<AJM2<94&EV@B;] A[5&V!\RN:PI:S0SMOU3-,F!<'=*8>4M$3>4,&V(
M9F8F=J=&MYP@C%-(M93K 'NXU]^&^,KZ"JHSN'FP5<]<-.O--^S:--@D]'R9
MXV'ZG2&TR\KYTV35\6K&C)TE/_"&4:J!#>VC48_GPHM+QF%U!G=TI8(L ^Q0
M *^+#!6I!+?M1=QRNV:^:$];O#7A_6)T2GFH="42>F2>92J5\B-3=F4L'I::
MF!K_*>9T;GJI+$2]-I:<LI]2Y[]HJN!+UYDX8J[<7F@$8PRLG8-J;LR^;48U
M## -4B\PH:Z95(9.5%8Y5.J<_(Y,4Z'T1U9YCLA#]$SX$>-A[.!S2,1$AV5R
M9C33?+%@M-$K1TLQ< %EB((SN)=TRZ4N9M-0.(V)"(6G]BTY[*R*:<)NHH;'
M)*^>FI.YI,L2ICF\:)QWZ&8N^9YA?4VK>8"C).M.N]<13PEW(W!9 BW5E#<Y
MK)?!W'3HBQO@V)!P.OV35P/6N*V.C4;<*Q!K='4+*0_.=5VGF])]!753;PX9
MZZ5%HX#BFGQ_7A&QVC+AO_)=6QI9^: F+F?T"XE;?'*BY292GI0E2OZK@]W=
MP:YI@XW.SK"1N5+6#'!2H\/![NYK9'&C2@>T!$Y5AJAFOQ&E-J* PO./3%,K
MQ?7I;VY?*W;T)>?T#K1>N%W?R1=HVHQ0?R[%#NFSO.)8AV$I$\P#9/=>MIOF
M7/2F7]POG+I?.#%?,..3\G-=(F,AHN<@E&@&2]@?&^DU4_?N8'RX?_6Z[#GK
M,CQNK8O;G9CKW'S*;.-)!JJSJD453^H5CL-=L:\UO'*XMW?B$#N<(OX5:[03
M!LD:'H_'(6%0+*@Q>A!\<9Z!W[G.2C&^]P^=7'DU&AX.#HW\R.K8"9+Q]&J\
M>SPXOJ:0F800?[]S)[]9-I3&"FJA'AWO#H:W>]\& >7D D'!;MH1=Z2-Q7-&
M:S><& 2B$DS&3V .Q@G+^2Q'3%UM3SN@5G3EH!UH2V>:E#"O#HZ=?4BN-VNS
M2US42\DR(]=;=F=MI<'F\"G$S2/H"$TC^JMB=N]^D#$%(@/"[J#QR=:VCJ65
M /F[/<".$#"LVU07N9.?B 7N>%7623DW_2LQ7:/9VDB&1T?.L>M^W,)E,Y5G
MM4!J+ASJ&L(;'(Z<N7 W1M8:EQG6[: I3($S0=ULP(V09*$!- 1[UQ3-\[M+
M5*=3[5^VD"3L@!O+KKE?&PMC;91P4YT2=7K0=UJ[:-$",9#S:C0XTFOG$,H(
MK(Y)=;J0EE$2[R0$.8OF5!@XW%%ZF6 -&+8#/K?>3H'+%K-'@5<B8_0L-7*(
M'?@TTO!:S2<:<87K"I/4=MCZ4[%^GM1B50@SAE-Y=32R(AAR =9,.!4)-I V
MRJ .\*5!6#*8$N"%HP>;)H[.!BA^3-XA:XT$BV8HD5TSZ5>\2?2(&JR$#/FE
M"L*HDGXRV];&)/4LM?(AI[>-JS7XT0+>Q-TK*170JN8$G"L/?M,T [WF?_B)
M?L$P'M;U&4';:#.(^+ F>34Z/'!M&ZHW[=(^N*O#/6=3Z9@9ZYF5+?NSKPX&
MH_8-<@V%9K1/1F)DN[%TO6.CT](HZ.8S15^3.'8K[8TZVQJ[19VR'&]0HCQW
MV[FT:;T.K:YTBV5>[39-7%?Q\Y=1222Z-=7LJ*.5=>V=7GX'2%7T+!-.<^NI
MK<RAD;X1D&UD=]S1L8K53YUW75/_;"HRM ICXG;6=NFCZVRB1?&#[=FA.Y1&
MWVE>;[Z>+P= ZU;$+3VV/W0M_Q91<FM9KU;?+YY1](L&+=?N"*W[1,.M2GS8
M_!OKXA+'G5DBU17YR!;,:KA/:W@4MK=/B^/4\:/EV,AE+UONN.+N[F>(B*A#
MUDR_KAM$9KI-A6T2E]E2$!$-T+3$^X@QD]H\S4V:%&N>E(:OE\^&(#91H0Q"
MD043QI@_DFQ6^?0[]PL[2+4D]O@J'=3O_EZH5\/^60F'66@,,\?B$F@?;+#0
M'<:MP7-3N$1-^29!?9E>OMLEM@O!J9V"'5NG[(C&G&S<M/O<E8Q0RM5*5-]-
M-[^\?/<1*2I;,? 30_&E CC*N0V[Z\U65<SE@-&GU,)XY"&1?],F41K5"IY]
M'^T%5CWSX$))U? :&G6!C,SPG0-!GG:.T@CK2V^[@OVQSGP)3H]+</9V?0G.
M<R[!V4Z+@@&1*PKWQ(HKF346]"P88H)!I]ZN#M9JEP/U-Z(?+-.Z-$D]0K'-
M"%##N,O8\HJML&"'"PP'I_S-2/ARZH8BP<*=A:IT=7O!;8JBT5&P,\2)>#&V
MX6>PG<LYW)".2:W-YZ3A+#93 J:E YT?B=C#DOY7#1<>?FH0-*S.*+;6G],F
M>DJ4YP68:K\34C$\VT%3/?W=!-J)ZV/W(-2A^3ZUZU,^<B>@_U",Z[TUWU!\
M/U,FZ+,80&].ZPF(2S(-]@Z1OH1S'A\4)2L,,.C?54QD(SOX,*SP8B?[%VK7
M!IOQ\P7\X\\:+3'[P*/A_L[>[D^R:.$36A@MOUD\9/:NV2#LL,.Y[W4M'ML(
M\UT1K946E[@5L18'T=BD'.K ]G;)4IK: :'FXI4UA-QET^YSA5D$DU[L\!)M
MCO;:-UF^[R;:;%>3<)G !D2%\VTA961F%2[#R)K5Y$8(9RHBG=:PF1VD?2=)
MT1DB,FO,L-.M990/7;6"#JY7M* ".+'+2]W)A/@HQ,+<&2)8>_$@N"2@T'X_
MMYY%Z;3FF4T0!8FBQ#I+U_F8KLTR@:%-5UNGI$7(Z)/*'FBXJJFR:*Z4)&D*
M/&YQN%GT0#]:O7@1N>@_71'H6^943%3(C06M3_'2^#8=,8>DCSO@Y)SHK4(/
MI)%4XFT!CWI=E"V1GQ!MWTJ66UKJD03931K]8M;JOZ*LQMX[CDV-FH!=M.LP
M!V?'0?I/R$_5$M'\1I9?6#YW'59P(YDE*97L+'4G+"VAI*.;P5&'X!5#/WVZ
M?C6]UX;"C>=*]FH*[+HU@B>U>H29?K!$+,T.8AW7"AL5(,9!<DZJ!8QP@XN&
M\6TXMJZ4HP8;3VK5Z9"@4$/_:->-29G86XI88N-=DD<UK1DVI.-S,I=67K]J
MY&":!2N75ZNXZJ>X682X-4V' (=;N9O+OA>ZXV_$XIJE.?H3%XBHLNXCAHR
M%#D%HW@)=HQ(MX<XS[#EJ^AMPOY/.8!+#2:M >^">C4?<.:YX,M.\DF&Q$=>
M+\K!L/?(#;JZQ)YQGDWYXN/!OILJH^)\-,2=2MI[R*_<_F#>-B:S11KHP<ME
M3U&C[' S ,&L9B5=("^D;M9A(ODYC6 E3J=HB.N@/ZE2 G#(8T6(4\9+Z'#$
M)/4CE:H7%+F0A,H98F=)+R[GZ#6DJ-C-.@-R)B!;QO(OG1IU.JB)E#)QA,7-
MGJ!B<K%*)ZI1PRJ%,#$&$]#&0$\%#Z\%#&G.P/23X#/!.2? KBRV?W8I0R/N
M,1;^3FY&;CJMC2F32F*_5-\*,>5D$ [O/(D1Z:*YD)2!0R5W5N3U,N3<O:6M
M(#8]+!7&ACPTG*P7)835,AELS#Y/F!,8ZRZ1]FFQ3/.5$D5M!WJ>8Y2:;%\J
M(!(#V-1J\MT%SB)O!3Z*%Y OX*2)'#M+D6D4)<>YH*Z2 W)@&H <W>-K=?,X
M6^I\2"IWFXE*=. B+5_<MU02-9Y32+;45;ADBS3&+&472?E]9U:HME>7B,NS
M8"R*5:*PZ_P\2E)J,H-1_#XX'2"1#*[L*OBW*G(XG30/"AL:L'!K5-!*J3\)
MW#&_<GQ=!U"WV67$\A8KN!JEZXPBR01OBYXE22)1W.2F8806D*LY9 4;["F:
MU)$10C0U5XY'6=&4&6B8T?"(2RQ=A9JZ,,KLV/6[9<W@S;@VZQJ(YK7#/:#M
MJ)!SF'VYUR/PH#8O!&K)I2U G*TV5S9S#R=3CK.83W$:V8'.:CPA:42I;*CA
MYBZ$G K=T$=29+C;J"JW80V8,)'5QQ1A/,>3;C"U=4.Q8^?BYUM0_0S5ZF!.
M,Q&1<B$Q+)N@46FV34.K2!H!WGG8ZRWUR:["/5>E5&]$[F&C3K7.R1G$9,-[
MC4"CF>.D.+AJ>3%3"1$1WGG=W/UVULYZ(\+=I7&A3/+,\BIVPJZ99SE5J<A2
MJ"R_0FO1Z1+7\W*XI*CP!C]>9^>,*.:4393D%X!984IV051O+M[-=Y,M8U9;
M)D>VCQ97:10DQ')*YQDLRY ;$@T$F2GX0=JK"B\.9_?$4-"!6RR(,6V,#C ?
M00U'Z8ID=^9>L&C\6'/&.9_PE:/7&K;+OI%O1M0.R @&=HDXV=PE;&P1Q,T=
M7_KUR[Z*0A_LOM[\6ODLV#1XK(S3^G,.0DK^&A5O(""O3KC1GW3*S2;X#/@[
M0[I'99Y%@BKN$NZ:]NW&P?E[?H%W,'ODVEYDJ9HU!%%(E]U.4MW*C),-6]";
MLLT:C10FS5RG<7^N05]7T^>ZFJ&OJ_%U-7TS,&U[O7MGD4<BH3GS";P]IC6S
M/:-N;I1[EQMB/L9:T>:"*?37!#9LF37)RN4*]A[&PT_TH]/!MI'ZN 7DZU"W
M:UOLLJW'P.]HWW8;AMB-,AC;.' 6TV_V[0<LA2V:U^3V8(FTO$7,7AW7XH8.
MJK[M=E,D@I)&V;8A*FRE2)UL0JBN"&8#"P=>'8R=GAG<-NS$@YUT.C@;LD1
M)$YFW3@-ZW*AP5D)W+!L1R^=%TB<BN/A^'5D#CISDTT;'4G,H@R.]OC4<"D.
MQVE&X?!H/SPZ'-L1FE!JUO1;Q)VT?E,&FT>M,/+8[1+5YPK^\8FK4JKHA\=3
M[85Z^8!(T!@8H"U9P\5S8>^=LB?-X2-Y[2OJ(JBE)OJA TLSEUK1S55RO$QE
M$6L8^ 83DF-V@"IMM)G#UZOA?F@.;CW-4BBBJAD$_Z0N?[HE,7(3F4]K^"4,
M4X3MP!;+&HW;!,85!7^GANQN,]I_2558C1LU=M;<4FX*!C=I5>Y$Y.(HI^N[
MSG1%-'Y3.Q5ZX2)=78N#V>'![.!@P'6M=!E--0=K %/S]$"MOW7V"?Z6I^=,
M/=#Y*DG G)N%I$[,[E$EI94?31YDJ!>Y!+S-A.02*L*STNB"(P\NV#TN8N,]
M5?1=4>=/ZW+BW\NC"E7512;P<K;&#=:^2LUSP6:N%-$G3?XE>0)"H R)J%+
M*/&+NKS,&2_CLV'[4@.>S;EEH\:X^9X3W GR$=R_<ES6E,GQT9%BN3)OX +G
M>)+QQ)G,#L?PLBBE4]6XYYT+FTZDRM0LX>+DQ*AF;6OR^PK56 ],VA0)QM8P
MOP,?+E=P,2^<1N!O\,OWM9SO_\HG#'ZCCW72 $(:'CH<+A<Z1B7,$<@3R@>3
M:^#@N; L?TOS";S:86K]1WZQ R^%;\CUHB-B?_OTCV^?3!$Z* W!^M3RBGD?
M!/K'4&02)U&12+!85^Q%30Q](D]8&]:\L6CN>M/[7:5E/IPX2)]4S*<]-UGY
MEV+=?K((=Z'>?T?:Y'Y!(DO8<L3'=MHUF271"*V<<-Q?_!KE+3]I\MFO"'Y9
M8VFAH'$;Q-@8O@_N\M30+A#S RKFNIKGA<#L40(!Z<P*XATHF>))5'XRS]F*
MS>L*AU-*7)/P;:7<F++T9OAEDQN+2X,Q93HU.4P2,2Z:S=UY2H<!Q;(Q^%^<
M2Y6\500-D#V\@[C!TO*B,A:@,QR:H(X3MY "M:6O \?O@KD;%,8;/VV31LT<
M^+[VS!EYT D4(\8I@P[:I+V#B+@V_:Y*Z$OQ_KS=_?]\55,.NUL49=.[PY'W
M%V+OFCKH<2_+H$_KQ0+KR.'HG#JI%*?GZ@M>0GBO4T &+#K9VDO:LIYM$?7S
M/^&;S[,DSF;!9T9@A85] H?ZI;O/5%)BR@"P]:<N2Z<(VHJXS?6+HZ7W+S?[
MAYV<0OL(URV= /C6O\"_DAH!*?>Z&>RM0;30ANDLSROI_<(08I7[V%A/[FBR
M4<N7<G0H2%W(I$F_7YHVT0F3D?2C8K=;0N$%.6KZ&+[=*G'>SF0N3JZB2%@S
MTXZ#XE2Z9+5Q++@G,'3\^$X:K<!+>DL4%N_X54.$O7NMOP ;E4;+4KW5S;UZ
M#0HZ?O3LO^#[80 FSX^>$A=:O=7?EP_!IV*S.O2ZO=%@.#IZ[6;@9:*<@O_K
MAN\-!WNC6WSK%E\9#G8?ZU5^3G>;T^XCO>JQ)K0_>H@)_5]_K8KVD97ZF"/0
M2)-H^AV;!K)X1]3TC/Y?MYJ^ #W!-3ION5('?]&A&-MC;53L)%F;*9Y5[%IU
M%GRPNRCGZ)[4>'<55>?,;U!J4\5^_GK^(%/XE__[+P=_N?-:F%HM7;NWQ P/
MF-^!-BV>8K5N8\)>5<+R/V2+_;)FBSV8F%VRM*P.=L=;+XK/4_P>Y+"._&&]
M^K"27W1>DEOD#Z8_F/Y@]F2U_)F[=(V\0[#-PKGM\W_^JNR^;0ROY_QQ\\?M
ML8Z;-^7]<?/'[7&.VZM[+9J0&?[G>QC^I$C^,RRCK-PI59',KLX9/M04WU.1
MLM<I7J=XG?(H.N6UURE>I_CP1P\7WL_?5>;#O;MK\VW7U6].I-^ RHWS&I1K
M7(:$X+ODHN.E*G 8$1,&1C]YN;J10J-ZMW6--@4=/IO>1*/=6(/!KZ^_S ]:
MEG<-@;VB*/3M@TE=Q] ?<GFVRU;M'/A#+@\5.=ZC^+PY*8.OBD&P'TYS]6.9
M^F0C^%/EQ<6OB#] _@#Y _3D*^(/D!>7%[4B-W='=8#MEIXGS8O91_D-G1.Y
MN7_J=E71<]T7[;8[UGKHOGXI<J3INZG87F?Y7I#JN\8J9?G-UNC)HR!7)F0?
M75:VT\,_& _#X\/C9RX[#W=PO'IY)B+BU<M#J)>CW6$X/+IQ >B6R8Y7+UZ]
M>/7R%/F)X<%Q.-K=\\(#7[EQ@L8KFF<H*SV]B[94OXR&@^$S%YCK*9?7G=KE
M]H4;/E)VSX4>^2I*!5::D6D9]-3?"7V[$VY;P/QB;HVK%VCK[Y7QX[K$MZ^'
M?C%"YS67UUQ><UU#<^U[S=4OH?.:RVLNK[FNH;EV>R)Q7G%YQ=7C>%!/160[
ME<[18/^9B\LUPX>]J+.[IV!A_Z.!#7!\K]7[IM6;QL%H,$+K(,YK!,1_0H.T
MESGJZZS5UE\3!^-1.#ZX,7#3@\F@-U&],O/*S"NS6]?\[8\/>B.#7IEY9>:5
MF5=FMZ\P'!X^:H5A;[69KT/<4K7F;[XMUT*^#O%:=8CP7Z0)O"YYXE.1WC\X
M%ZCTS5IZS$U /M=<J*UD"#U-LJD*1KO#@S"X4$QY/U$JP\I(Y*,'D4]7P2R?
MUD0#"J-3:0J_)*;I):]@&<1)H:9(,E_E 7P2YJ<*@7M3P7(>%0L8=TVG"GX;
MPR<*KL*TE-55@>ST,-1Z!C_4!3Q@$'PC:GM^>E!&*4R)1E@H6(,2M50<'.T/
M#E\3R2\\J**8[K*YLT%<%SAD8O(A6M]"T:N/#@='^JO](32-D_-@FD9EB=KJ
M3.UD>:STQT%&\,\ROG]3\>V/MSOC=[-4_=CAA4KR#!DZZT7V+D[*91JMWN)?
MUS388#_A04DZ@7_Q+]B<9+;2+Z2O[J@L?K?,2^)6?DL<Q\FY<@D)C37VXYI:
M\2Y:Y6Z(A7?;K+UF_!$V0_X7=VYN,C0R^B2#LP+#J*)":%6;?X!UY5_31G.:
M)IK!Y-Y&Z46T*H7<T=WSQ@5&.^9(P=INWN^F;2>/KMV?YZK$N[4>J%\D.A@$
MIZ0X14-.DAP^.%4EJG:KP:<PY@E\!Y3C%+7J9$6ZNTH6I.QG00H3A[&#!E?Z
M6\3!CB+D\I^?U2!H.:KW)7SL/$J9=KJLIW/X5)5,\CA1)5PV\P1^LXA6PM..
MPRUA&9,9W!)9%?Q9PYE1!5X^*;RK9OKV+:-1?R+3Z6X37;.+/!?XD^LPG-Q]
M<8$?'SXF%?C!<'"T-[X-Q?31>/]Q*)GW!_NCVXRPUY/:&QP?''B>Z6NY[%N!
M_^SG[WFF/<]T+T31ZT"O WN@ SU1T VI-3>_ R>Q,QX<[H\VM<M?$I/>'XPQ
M;+ >:]F<+WTXG/AGKGJ]!O :P+-]>DOG19SSES[_^_3VMEV+=9)H>:(LK[/Z
ML_!^_O=LF_549STM$=:V"\A+G_^V'Q O"]O)'_)B^IH_)FE54+F$*>_PQ>:^
MV+R?_3%;7W4^WAN&8\\-\N)$QNL7KU\>0[_L'>^'QX\+R[45^N714;7O)H=/
M?AYO)'3OYP6\L<K/X$/SE3<CO9KWIL"#:/?AZ" \&'GK\:6)C%<K7D8>4JV,
MA^'!D3<:?=#QL2S&+]Q3%D19E*Y@=J4W&KUV]]K]0;3[_D%X-/+*_:5)C-<J
M7D8>4JN,P_WAHZ*K;H7$^#CCPUJ-E4HR;RQZM>[5^@.% G;'X=Z!)Y=_:2+C
MU8J7D8=4*\.]<.R=4!]A?#1;\3,2-GO[L&^*W+,&WGF!MOXR&(<'1T<]$3I/
M9- G"\,KK^V6HA>@O/;#P[U'A0U_-LKKT4.C- ,$N\VJM_N;@%IN;OO*0A&6
M(C[6?<UN&Z:RAY;QMR[X5V\I]_NR\;0Y+YXVYV \#(\?MW6HMZPY?3)Z^B%8
M7IMY;;9-V@P9#8='CYIH>D;:K,N6O@^DFALCT_0G5MPGH(5G9]_>)PI'/U17
M3\7%KX@_0%Y<7O2*=!'O.21?\([%3IJ4U8Y*U0(>1N]9JL((EAN@&@_&X_'K
M)K-78P$Z";R(@>H=374'WU>^G42E0@ZJM46Q\Y-7/1$IS7BPMW=X/#P>[NT/
M=P_&QX>O71/GNU)+&%1J%D(8M6@]+EF"!OBR0ZLE[!>[NZ];3[S3=(]OR?]"
M3'6:QPGIDV;KF#[(T)?6,3Q/?Y!PIYG9[B/,^.<D+U=E&'S*IH/@S7_\GZ/1
M:/>=_0/]8OCNIV!6Y(O@9%DD:3 \#(DE+PPBI/U)4_SOKPI&E9]'P=_S%,]I
M</*S>9S^6_-AGZ=5CA0#(W[:P-+T-/G2GBV%TE>]=;@:R," W(6:@<MLH*;
M^JZ">DE_LML<!M-&#WX8+-<ZK)!T:ZDK:&=%E$WG20GCF^8XRK5W1T%6$_,#
M_&S& /L+(C0MD@D(3I(%7^"0!)] :$!)!,-!(/O\\!1/_%%\\E6\G3_7)9Q+
M6(F=X#.LF=!5:7D.'GZHFP9&Q%@)GL=E7E2#@"I6S.F$ P:R"L]#MLL2U#U1
MLA6724H.EP!( QRY(H<_FTV# S[/RR6N4^F>U%E!V1?]T.TB2WM48J[;SJN3
MF*N'153W,%4DC^&[8(U.51$U++,$OAH>' ]& 3PZ);6%WQH.AJ_I"G')5IF+
M\!L>$/B_1037ZRJ(X7'PM\@\$W50XTS RT$#+DKW=GO_^9^?/NP,C^D5FFX6
MS__P\!T\ +Y-#(3S"+\%0X=O116\I$SS"SB1N%1PUB(DN4VJ!*R(5:!^+!42
M'VIB0ORN/;'1;$9_;0ZM='D5.V[H 6E3?GX^FY6JHK-<$:FMLYAH9I1"USCN
M7+>0.?A@0%.EF7D57P!E5>1(Y*@*L!-@/Z=(V)> 'LJ86;>)Y")71NLBL7='
M&)2P#L3!B*.F:;8> :8#&I#TJ!DL*"QG-2\;%@.L\U+1DV!PY31?PO6%2J]>
MH/TKXU;%.<QF$"#)K_!.ZK6,IG_6"9-IT/I:HX6^:@P24'^Y68ZX17S9O9*#
MFY_=[31!KD/Z"0MS">,G4WN&(*'G"C84/9- S4#*\)L52Y?A>H9CK[)XIRXU
M&^A&)E 82YJ?H=C!$43:SVE>P'T)9[MA'=V:(30X1:K1[C_2C.U1G]05SGE%
M+\GR"AE080_B9(KT+;@&LQJIJ(UDP?!SO-0O$M)4\$$<=A14!4Q^NZ[;J]_U
M,%+]X+3N7_-5E%8K0U_:)]/U%ONTE83$[3V@@P\W"EY321[CU:KIV_E:1_5<
MT)<2<FBG"@Y@S/=/A%8U./Z@QRM[_;A,\:#HRWR:D'F =Q\IDL]??C^]Y=ZW
MPE1E#<-VEN5@<'A[\_%P[Q&<J8WRU[K+F28>=.;:AJ&B/ ?CASAG49_C+V*U
M5%06%8"5P];/F<K01^'[@_0W[!+\RBO#7BC#]SGZF;A_UI?$^R\K[Z88'WS@
M+T53<NW>]))M(MV)EMF*6#S5&HLG&;OT931P/5OWK8,"O63K'N[N/B9=]]YP
ML#\ZN@VS]=[C\%KO#HX.1H]$UNVG=(<I[8YV[?^[S3-Z^Y7A8+S7F_WR;%<]
M+!-_,?/W?.PWX?#S?.P]/HK]%#]_6)^2.#PX+P-/'^SO2$]%NF4+[^?O:>)O
MH>^]GO?'S1^WQSINWJSRQ\T?M\<Y;J^"]_,H.[LQ+(0_<O[(^2-WJR/WVA\Y
M?^3Z'3QXV.[P^UKEY]$<OA4RUU3SP[U[[6U]LL6Y3ZW^YF0!9X[:[X)JGM=E
ME,5E&*@?4P7J%VMUEJK 841G*HBC*OK)RYT_AU[W>]W?=YE[2%B#/JO^S9J^
M#+ZJLL+J9J_$_8'R!\K+BE\/?W;ZL39^/?QZ^+/C9<6OQV,YWD]']]D?3,X[
MN%/8BNA #WF<^KXB.S^Y6/4$M;D?&(1WH67:'X?'-Z^RV3+9Z2ERO%<O_1$1
MKUX>1+WL[8='8T\!ZM6+5R]>O=P_GT2X>^QM%Z]<7KARZ:F(;*=.&0T>E9^F
MMW?1:Z]:'B] Z G>K[?F7U6IHF(Z)R@K!W34RZJ_!OTU>)\G;6\4'OJXH%<J
M7JGT4D2V5*F,P^/Q@9<8KU2\4NFAB&RG4GDS#$?#O6<N,=?SV6]<@NZURS.4
M%:]=[E.[C 9'SUQ>KJE;?$#05PSV+B!XJM(4)A *R43*/!0Q?#PIB6OKW%</
M^CO1WXGWFR(;'H7[1\_=Y.ZIR'BMXD7DF6J5_?!H=.Q%QFL5KU5Z*");JE7"
MP_U]+S!>IWB=TD,1V4Z=,O0E@KY$T)<(]C,B^!Y^@@G /XA//HF)+#//O*SV
M[1J\+;SOB[DHKUZ@K;]*WXQWP_V#1W7Z;P^)W(,KUV?XO1KS:JQ_:FQT%!X^
M;NS2JS&OQKP:\VKLGDLIC_8>%:W!:S&OQ;8\5M8G';7U&NA@\-S+2GQHM7>A
MU3L66]+$DBR&@?$;[BG6*@N(&\+/=5\D:]_K4.RWO(K28)J754EUF?F28K'9
M6:!^+%56JM)+>=\NT*9!-AJ,T"*+\WJ2JJ=T!'J)GW2=M=KZ&WG_:"\\V'_"
MT$9K79_2+>BIJ>>5F5=F7IE=2YD='H1'!X_:@>Z5F5=F7IEY97;_RNPP/#Q^
MU$(TK\J\*MO6L%M/160[-<_01VE]E/;^H[1/0EG;]V/Z"*K\10K@0S*@>7'Q
M*^(/D!<7OR+^ /D#U ]Q\2OB#Y 7%[\B_@"M.^'PWVB2*OKQL2,MG5-IO?O2
MUUUWUCBY.#D/IFE4EB@ 9VHGRV.EOP/CPC_+L/Y-A58_WNZ,W\U2]6,G3@HU
MQ3[2MZ!PZD7V+D[*91JMWN)?U^1DL)_PR*3PC'_QK[JLDME*OY"^NJ.R^-TR
M+Q-Z=J%2PJQ[-\E_X/SAF6]-U/W'-65M.+IJR6XJ;M<(%=[#CNTUDQFP&?*_
MN'-S$R62T2=9FF0PC"HJJK=17>7OFG^ =>5?TT9SA"B:P>3>1NE%M"K?_>6O
M1B2Z= +MF",%:[MYOYOVJ&?J2@&YOB;1^_/ <GG+RL0;2"5_%)_\-JG@I=.;
MLE0';T[*X*L"@:Q4_%-+\5QC>0[ZO#J;UN)3%HQV1^.0JCR[%B7)IG#T2A4'
MKXX&PP >GL*9"8.\"$:#\6O\XF(9%?#W*L='C4)X1 )SA5$$,3P ?EW HA;P
MT+K VM'I'!9"E2$^.JWQP :O1N/!@7XV_![^#]Y>Y<4JB&+4NL@15/*C0.G"
M\)P/5$&F<+RPE/_&6S XC]):A4$4O!H/CLQ3^;7!# 8>3:<JQ5)6A21$L)S3
MA" & O@_]6>=$"510&J!YP4K6,\B/0'X*4E!=< "3],<EP:+8^%EN^X42EC
M(LJFBDMGJ[DJ]-1A7>A!N/)!5,)(887JE-8_KXO6>L%[DW-Z71B &$SGN.0P
MPBF\&-[S7S4L-#YI$)PJ%?R65RHX"(/_^#]'HY$]ZWTX=U\;T_J21AD-<O@N
M>/A1;AH3K'@U3TI8\F5>5"0=B[Q L8<?%T8J8/<V[@H*2)DLEBF8!K37\#$5
M+? 2H]W,B[,H ]&D9^F_9V?PR(S_CG*2IH&:S=!" ;E69:E%04JN\ZP,WLB6
M;ES&GP;!YTND1\Z;(E@-;-'B4NXHP)G3//F5&X5]HJH+!8.>@JD=@>3]/C@=
M!&D^Y?&% 5A4N+!)5N,7<<G*"(XC/%9_0RN7T__^'3Z/:Z'PL/) \ NS*"GX
M_.+79H@"/ <Q/\OSF$O0B^@"!@A60!*E)9RQ:8VJ1\X3/N']YW]^^K S/ Z^
MP&=R/KU*55J/X<=BM2#Z,5D@/)5I"CN"_RKKY1+.$_P*AJNR\Z3(,](&"0L!
MF!.@CHK5(/@##K32SYI'*$(P-Q6'5PX;CS&H#9FG^C%5*D8] X^'!?H7" '\
MJT!%5"BC^"8JJ%'53-0,Y1/F,IW+G&')U(]EPG(2P+:"\KO P5T4205R'L3Y
M18;/X,]V:<M!\(TFUZ5UM=B 7*GB'(9 WRA%%RVB%8X-="C),3X1EFI6@_C
M=&@/4-7/4!;.P9+#3PR"D[3,40ZK(IG4O/NYK"]?-_B0C5=2R7^",YK2G-TK
M![[7E!'8F0L%QPO^.RO(_G/4,%U/LUJY70[3J"@2A>>@^*X(A"9.^ 0F]K)L
MWGD\H9!/['1:@QJ;KIQ'-BX9Z9UP;E;G.@AQG.M7JHP4O@J/@S\XIQ*?WSRR
M]@J;*/PWN#E\5Z"B@BU,IOBPBZ@ X<0U5W@_S>A-]+1J7N3UV3RO*[E70#:<
M\98L7##""A88ECR?S4I8J F(#<RTN7^X_F6.4X<17"35'!0&?-WLI;,[S2\K
M4*CY2JD=?0WST[*\<3%?JI?-=G4LZ>#IKIS@YJ9EORWO31/]6Y'#1<9#"RY@
M$_;V!KNONT_1_L'@6/]IQ-J(]&DEUM29^RQY0O=1 >UPA0'JB$A$$H46W 34
M5\,NN\.MCE)YW5L=+0[6I!5=*'2VLEPF1OJ4)=^L#9CLZ.>RXN/3Q.LB!].U
M)OG/>BQX';/"$)6*8S_'<(B2ZY@NP^R,3J!6NXOD!]Y8/#AXQ@5\J@3)2F;)
M- (E Z>65@4UKSG5S3,_![4+WK1L']H?]8*F)N\PJAA7SM4"YC8_!YL=7\+W
M+=R^\!*\0U"9@K8F8SC*&M='4RGR(LZ*?-'^7%MARU!@C5'K1' LDHI%H/7%
M+JWN]<H3>1:=M+)K?8I]&.PM]FDK0PM?_R-:+-]],'L01&2WFKM[DN1P_*>@
M%LE($4V@?5QM=<+Q+O,L4VG(MKDV>=BA+O3&ZY<,@@]6D^#IAQ\B_!]%!C>8
MHS7>#_E9$2W ?YA'A?,*>O L^:&M#32CP7@FHZ,JHNGW +6HZ' S+0PHI.0&
MH:N_<A^ -I&\+!33"M0H&O AN SGBIX,'SA/4-> 'PK&-R8QC,H']P8O-WX,
M>@9>OSR!X.H;*0Y>#0>C5@SLZ'78-.#7G8-O[JWF^*KB'G6:+$UKN'U'H=7@
M^ !\.^MQ7^3%=WJF*C"(@2ZI^&KH.<)YR+3)WO:XNHWNL-M_(:,'?J0('OP^
M@X75-H.K@Z_R;@8O5*[8@!$]![L5K=C?7D2QX^R1KH%EK10:>'I]8?^4B!'Y
M:O0I=]&CLT)1\( -L-^B\^0L#[[HY_QM,?F["2CQ'VT0Z;1V%"K;E(U(JC'@
M7XV:45OC0<(?QJT_#'4$!442=2C\&:SR/%-VYC!I'LNS$XGK6P?7(,2R>].9
ML;C]+*Y:0F_CW&:W]#$[_1N=_Q-]T.PV:EL'CT=WT*3D]] QI^A_ 7]-K?M$
M<2OZIL0-2;NBP811;8[J8C2+PD,S.()5(_^2JK,(#"SPL?*:T)=#.)0XQ9!-
MI'F>QF!M2? (?<4%QHS%^X7#G&05N(T)NG0P=%6Y-EIK.69U1HYGZ4V91Y!/
MD3EK4(HA Q8E*.FCABTSI'S>95&S#C.EZ1*WWM>*U#EA#Y"9CZGZ\7.2ERL6
MEE\5C#D_C[2Q0O;Q!/,-<CPHVR7IL3JM.)ABGPA>Q%1)B#N:PB'@[#[%PREZ
M<@*#3R5P!._[/*WR"8@G3Q:>N>0X3;IJA5B<N R8?X?NO0:WUTX%6]&VURG,
ML#'HU#"(;A[_^=(*O$KR)+';2\&VI@&)RP^'%DXWY6- A23@=^&Z+:,$C8Q*
MEI5R/CC\5IR6@D-7!VC;-[<OV.ESP<Z>+]CQ!3O]MXFO00GQG(W,3=/'H@4,
M@)'KA*:C"=TWT^AL5FYX1CZ!V4629K'W+%UDZ$>"WL_R3/]S\V,R_1HI+4 ;
M(TJI_J6<*[((2ST823AB"EMB( -P8Q9PL]2<\;[1J.%"12^2GO9G#<H);4Z.
MM5$N=X576F,QFM_F7+>U4O1<G45TO>S&%,GU8N>5KU78D#D8]6CHPG+F"T7&
M!%_UQCU&=QBM[:H6CP$] <GZLVG3SL5(+CK)EC7\E0H!8+33*)W6>/ERW@3+
M+_""+Z@"@!_%N]DJHEJOM+CN8J.U@I]=J:@H<1_A^1_45"W0DAH/PZZ9XO/?
MO!KO#@Y^LN;FFU>CH\&A^05'#?8'Q_83#8OL"5V%V_@*5[[L8=3,!=^6$_#6
M'D81?R:'C@4[>*/]UY]"K"EY(<H88[E4; ^^"9C(.GJ/0>(J O^B %>ZB+6O
MGE^R8&]OOF+;:;/@Y'C)-$X VVKX:C3=8*3XUQTP[L$/>4OYDW?\Y.'N[F#W
MM0:N@1U.HV6IWI8*?:-*"5J  T%P#F[?!,/BJ[?ZTQV0 OSPO=%@.#IZ[5J1
M,@LV(_^ZX7O#P=[H%M^ZQ5>&@]W'>I6?T]WFM/M(KWJL">V/'F)"EV ['UW*
MFO<D "+=CN318^OD7C?*W==J/&*CZ<'=&TUOQ"7R9*MW&[MQT^)^%,O_?\CR
M_V7-\G\P,;P.PT@?%KM/1W<[Q-,?[KX<;DJ*G)?DM_N#_. T%M[4Z9F^?$9B
M=^^8&B]3&WHMZ(^G/YY]/9[>2/''TQ_/?A[/5\%[2EOZ(^J/J#^BO3RBK_T1
M]:Z^=_6W7>R:FG"X=Z_XF<]"T;TYH9+GDBN@\[J,,D0C0<B5)8/]+%6!PXC.
M%!:*1S=F!-^JI?7JSJN[[16[AT0+[K.VVZS<NN$*O0#Y _5R#Y27%;\>_NP\
M_=KX]?#KX<^.EY6'\S6I.6+=V9S.9KNSZ:W]RNLP/,)G>TES>:,U_Y2=*^X)
MD_Z4E\BAZGEV+Y>HGM"!]T-8[G#81GOA<+S_S$7'4S1[]>+5RU.HEX/P^/#H
MF4N.URY>NWCM\A3:97@8#O</G[GH>/7BU8N7D4=UB?8'Q\]<8*YW'[V^G\"7
MKK+P@:^K E]P6E1IR %>XKGUNMWK]@?4[6]&X?[NC7OHMDQBKJ?<;UR9\QQ$
MQZL7KUX>4KT,P^'!C7L MTQBO'KQZL6KER=2+^.]X3.7&*]>O'KQZN5)PNG#
M_<'>,Q>81PU\^8JOZPG>/Y!"EPC<$.>[3LJYQEJ/U:1ZB:?8:WJOZ1_4D!R%
M!X<'SUQDO"7I]8O7+T^A7Y!)<#CR(O/21,:K%2\CWFSQ9HO7+UZ_;*%^(5*?
M9RXPOO*KAP&PDQ9K-8:]@J0L:Z(I)/[:EWB4O;KWZOXAS<FC</?PN?<^>FO2
MJQ>O7IZH6N-HZ-6+5R]>O7CU\@#JY2 <'7AOU:L7KUZ\>KE_]3+>V_-=D+X8
M[/%C89^[F>E?XO'MN8J_FI_DA5\"-R)PV<YKXB@<WIR3\(&$SC"XO'"QZX=0
M>>6UW5+T I37F^-P?_RH_50]U5[>S?9JS*NQ;55CP\/P8/]1&[=ZJL;Z)'?]
MD*J>:R\O(SV0D3NE.(_V!Q[O@HRC?I3,T5R2+(9!\1ON)J'N<LNRX1+QH]UW
MR8KW.K+X+:^B-,B[XXMAD"G?:MJ_*Z)I:HP&([0UXKR>I.HI3=Q> OI>9ZWZ
M(71W.,7'X>[N$QJ[K57UYJ[795Z7>5UV2_MY/]P?/VH-3V^5F0]!>JWFM=JS
MT&K#/=!JWD3S)MH6*C,O(SV0D3L!?!^,!L^=<>J^(Y*;HY!=2W_;T.26"6'G
MW-T7G!1)E/:;2??>5N@&5+KWMD0/1,3L1<JOD3]V_MCU4*3\&OECYX^=/W8]
M7"-_[+Q(^6-WY1II[QK^&TU213\^=G1@\^3XW2-X]Z6ON^ZLGV)RUP@-M49R
MV<OYH_CDMTD%+YU>PLUXKLJ*8.FY=$BO0Q\&%]Q\4PZN$H*GW)9K;P+^)ZUC
M^++\6T5%IF+D$DCHL_#S-"KGP21*$4JM' 2?ZT+^UGI.H:(2/CY9!:^&AX-1
M "-+$WI0,-H=C<,@*N&V6"RC CY5Y?C+41#7"G^.,O,$_'R2"9%G$56*F WF
MH(54$42@)Z,SM6%P09D@W-L'-56+"7QZ/ SI+?3J"Y6F^%_S;#O5WP>G@Z#"
MM]?%*IC N,M@61?3.4THJH)J#BN3Q8@LA\\;/+SLWJ.D7JVOMD6#;&1W?=YG
MMCEM?9Z"!(2T2&#,\+1@5N2+ +]41-.JCE+XN5[FSDF"GU&*X2-D:F!BCT 2
M\[HJJRA#,P-/!TAX^_B,X<QG]K?#O5#.\P4>"GQ\C*^!0XSC.8<3"^/)U%E>
M)1$>4?4##E(&AQ;>$I3UI)P6R9* &J.S0BG2(A=)-0^F,+ (9C?/TU@5-!8<
M\FAW>!S\EJ,BP"?H3V6P<JP&\H*.*X(]5JA,8">F<QP= D#" %X=("RIT4?1
M&;SV#(:&P\VFR1)6*UKD-1.F\!MA>>F-@V#S\FO-^6KH/!R>T%YR._ZPH?_@
M>\/.[^DWK7U?WCVZ9%116N;.T'8'8_<5UQ 0._=@EA>REECQJV!%X7^R7":!
MYIFLFQF8JV?AW0?N'1!-0;]K?$Y\TZNCD;, )(QQ4DYY(W@PBSQ.9@DL5\;+
MQZ,QT\./-![;ND:<_07!6?NTO;-F45($YU$*EY$,CL])29]D8377V#66A0!'
M[6Z=*D5+&@SWPZ!/=@_2#(QVW[UWE,*IRA*8(,LK_7WX[A'&O&F$<$YR,#C@
M%]0>10IEEF1PW8-_ 4.!7Z "*;50H"J"?0'=6*AE7E2T6XN\0'F 'Q>"$"N?
M@<.0E7 >X'?^3G\* ;PV<=7SON&M@0P:Q%Q#O^B+\YL54[YUY0]PM8W U#YL
MJ-EKW&[F/L'#\6J\>SPXONDC[ 7Y.]XB"I5GY&KW[L%'RV61_P"CA8R$5Z-C
M>T>$YEZXVYQ('<=H5\2.6*EX$)R  0%JH:S3BI:Q4%,L>P(+'^[BD?/*]%*I
MQ!&MZ21'$]$]NP !F</-G)PKZR)INZEYB_';[5UY4:"8Y;,9;0_.KOM.:]Q4
ME;XD@XE"4\Z=.=U^$5[(PXZ7P&/J+&+\;/AL!W(V+%1*DP1E?+TW>F7Z%,KT
M9B#HSUFC.CJG6X3-JG3[&"U#&"SVP)X0]'2N7FG'X;J)E@ M=8UG6\LUK@L\
M?!L#+*"?,W"F@I/3]\'>X6X8B,G7)ROT \Q0+,W',(\W#2/*5F@5%O$.7L(K
M6>HX@6NB@LNJ)4'LFDQEFPK'RRV4]LIBCC=-ZZ+HE4Z,D_-@FD9EB7F(,[63
MY;'2'X?SBG^6\?V;VE-_O-T9OYNEZL<.KP9,^2V,O%YD[\!C6Z;1ZBW^=2U=
M,=A/>%#2L<N_^%==5LELI5](7]U16?QNF9<)/9N6&L[$NTG^ Z<.SWQK*I1_
M7#/A<1>MWIU(>YS-VFLB7L-FR/_BSLU-R:&,/LG2)(-A5""R;Z.ZRM\U_P#K
MRK^FC>9RPV@&DWL;I1?1JGSWE[\:D>A*3=&..5*PMIOWNVG;F<>Q^_-L+U2,
M=( YJD+'C'4LZ%<'@SUC6U[S@N28$'R??D=J%5QRL"#I%RTSF5XQ<F-978^\
M7%D;@Q6O>+"&&X]KCYCN[FA)5]<&N[A'&OT%6;D;X$W;\ //_#0&;&W0*6)
M!KT2M!"7)MW"9NH@JJHBF=24;\>/P!W!(H_'I,[,/_'XP[P#,F>RZ2HXBY*,
M#Q,ZS*II9%L+O)3H/ES[L&4%?^,<+J:\*!N9.3QRA1-)2&#8T\J$QFD:8*.E
M>:2?B=F$)$Y@'LJ>QOX?B0N^0"=Y&C]4JHQ.1Q7]@'W.SQ.*8[\Y*8.OBER0
M^*<7<E(Z%T*'558J FD$002174MZD9123N,"1#/"6%F:YA?EVR>NWWC4XA36
M";K)A8TY?#7:=C!2_.L.6/]Y#59\\D/%[_C)1 /X6C<5PDZGT;)4;TN%^9%*
M2:N+TS^#&S-)TJ1:O=6?[NB'X8?OC0;#T=%KU\R46;"=^=<-WQL.]D:W^-8M
MOC(<[#[6J_R<[C:GW4=ZU6--:'_T$!.Z!(3KZ%(,KB?I?NOV-(\>6R<_?7WH
M)27'][4:-Z@XOFM]\<'=ZXMO!&7Z9*MW&RMRT^)^%%/G?\C4^67-U'DP,;P.
MP&D?%KM/1W<[Q-,?[KX<;G)3SDOR4OQ!OA^Q]*:.-W6>7!O>0RO5R]2&7@OZ
MX^F/9U^/IS=2_/'TQ[.?Q_-5\)X2BOZ(^B/JCV@OC^AK?T2]J^]=_6T7NZ8F
M'.[=*VS*LU!T;TYL5VDUS^LRRN(RQ IKM>2&OJ4J<!B(!!!'571C4/.M6EJO
M[KRZVUZQ>TB0J#YKN\W*K;L*SPN0/U O]T!Y6?'KX<_.TZ^-7P^_'O[L>%EY
M.%]S VOO=#;;G4UO[5=>A[0%/MM+^I$;K7E70\M+9+CQ+$B7"U5/Z-KZ(2QW
M.&^C83@<#I^YZ'@"+:]>O'IY"O4R'H?#(Z]>7IK$>/7BU<MCJ)<WPU&X>_BH
M_-B]E1W/?.T5C;^,[EF_C \&C\I3W5_M<FVNV,OC8+KHXI9Q,)H+@K5E\H9[
M"HS)FN'Z\'/=%^VVD5IZ&#?[939#X,)S#ITA"LE+/.K^.O#7P4-ZLX>#&_?X
M;)F\7.\VZ+P,GKO@>.7BE<L#*I?A_N"Y!\J\<GD4Y7*-(@:_9%ZR_#+Y ]B;
M)?/+=-V:HQLR!_<;%OLR7+=U%':FOUL'O,UG2*IDV7\& 2)(J[60"$'=HA/W
MFKJL# QN4@838ALAQD!A),+7N$BZEP+I,A/*0I,%"/N>L"+%"8RD@(D%_ZJ+
MI(P3AHWF4>H_3NFCZV-&^J'J0JFL [778EQKFMFKJ)V8*:G)10A33TIG'"&1
M="51"L_-9[-25<AYZQ#@JDS!;I7,R3FIRR13\%(<,'PDQK_@:S+8S.B'T 5F
M.!H<"-+%)+$J" &;R78[]LGL#LY2J'&K><1[0VRVV&!25WFQXB\@<>WP==>"
M7#[7SJG>:4H>,__A ,(WLNPE?]8)[-**=ND]LQI@%U)>%TB;_!*1P?]0P3R"
M,\5DDL@##4<M7XJ8NKJCFA=Y?39':'J5U?!PD&4XC3&?;]"R<3VM@C)*$7M_
M [G4@25P_35:T6]">F.3W/6_ZI3^>!RV*:@2AX&WH57=EX%"7>2XCOGTNV:I
M<[^U&]HWT -D+,?!LIZDR13/N$(^*:'YEAD;-8\, *52=,!G=54C^2G<*,Y:
M3520)HM$2 #P_9,DAR4"*0.=<6962Y[LM<'#3_2D6K^3R6R81T*?3JS*^(,"
M-7$.<BS\9*\.]X<.?[!+(W'Y]_9'X\&^Y5M>'\"([G:'.Q<9B NY]_%ZYN=O
MH*.^Q<Y=N7A]W+D_\N(['AJAH7%-C%7P:KP_<A89^:2/]UP6GHYE'[/*>K5_
M/'88/[OV1]L'YW"L\[HT;"/(GQ/?_=#>EJ0 ]$N:7SR=T@@;UX(E8A4+^QJT
MI>M\@VW-OD4\)G=;S,]X%Q;3>3#<U5KI-(%;"!;OGV!QJE7P<Y1]#]X(8^'I
M/W\6DL"?R.R=@BG/1P$7]#W,!JZG+(E@-=%HU6;]1T,6_:6 ]69.2-1<G[(L
M/X^$4Y>HIJ+E,D>F&;Y8/RJT65-\''HM\/FR+NBF?9\7RYSM!#.ZCQ\^O3?#
MBY *9ZK 2"@&P6D]*4%!PG#256@-]&]XE.L"?J5?!!:8*L BP<'AX^"'#(SR
M*8T'#BDL )@>-!ADO+_(ZS1F&R::3LD<!WL^U2*6(.UUIE:#0%LZ$5CW&2D4
MIFH#53M/EDRD@\_&]\[!XB3E&ZYK=OP["-)W):P@:@K>6I4HUODNN>P&Q8VB
MWIC$_\_>FW:WC23IPG\%I\8U;=]+T-BXV=/S'EF6N]7MLCR6ZM;T)Y\$D)30
MA@ V0$A6__HW(C(32%"D5I("I>PS4Q9)++E$/+%FQ!4U *-2'RA3<E@OJSS+
MB[D]Y\5YHXW!XLS8%?7-A.F<)2D7\NL"9<><.A\5":>5$@V"J!L1O*VL<%OE
M.WJRP1"Z.K#C>XKZ"XP3AQ2QBNQ;&D@U3[#C$:DO]0!A T2?I:;[>)*5\P2L
M+!):J&YA^21\ "A B>#['&D=K]7G C;NCQ)XC9^?XVX0)N/0X NDJP*-22;:
MH=">BMV=5EE<*JT.QRP?"4]0@VRU.,:IX8:KJ<+\Q7*4>'=/S4X2#CX='Z5,
M H0O686%Q4 %.!N\3&C+V/"R:8XFNB%35RAA08.6]T_@-%21A9986XR:@AT1
M_8+"6 (,42M-Y!!J^I04LON4N"9#$ 5FDK^"^DC*Z/)]('(6_*QH1'2%LUA1
M(%83&?4LI=(VO>2!^1(Q];@";>2*NGH"&N7GN"$6V++(IB\&G@^U/G\L AP@
MU>\R%WI@AGR/=@'3Y1P"@3L>:LVLDTS""38E0Q.%%#OYN#Z *KH',@G+M'>X
M*W2!<!5)MMV7S;_.L!D3\ "8*Z<"@8$J 1RL:D8Z$"A%3OWRUTC4PK,!ABV-
M985;PN*L +"=USC3'</$-&OM<K/6H6G6NF-]S>[5K'4WH5N"KD4*%4/0MH6'
M7H$<J$LYREX8>H92_V\LJU#OT%WV7"@$BUI<\ 946L[)>+&"3O83_P0*!)H0
M8,+^1DJVE/E2/W_2%N.Q6+A!)Q=N3Q>[3[]:I%X O$FU.<G@BW,31=B>>5[S
MOAMH?D/T.%,_9NSRV-A\2YP=PH) M4^XNG5O]H%RG2!/H(T<%<F,5+$]>)#@
M6*$0LMJEG%4T&G@>VJG82E8^&D -A*H +,VU0B8$+^:L;I*;9!>\1/.Y;WVM
M"O2<SU6/Z+L,B.:OG#[QHLOGYB58</L@<;_RG8GFB%OA,EI\1+V*K_'S+_6X
M3YJ6N[^\D7%;L5/>I&6=W_\=K>70WE/"BV@B[3=(^0/J_?DYCQ-X%9ANHG\J
M[A %@\%(Q[_E&QF&%G")X78T,[17]%J>MEA?0_(>1VB0IJFT&%\-)[<[X59N
M"HP!:(6"035!D0-%=B7&EZ1I/1A!83%';P7=QF9@^OY,SL6,854T2TB^K9E(
MULQ!&O"BR3):Z#>%I]OO<,=C;>67/TVT/X]:W=A;OH(ZC0 L<>K\#,_UM'6\
M)6J>"Z<$6E18+IK6B:*)ZBHT&0M^QL'BNN!:Y/]%^3N_8AB,QV7C\%G)5I)"
M1:SEE3<:ZNR+!L&R=O3"^@X:3)9I'@H?Q%;#,V'A7PW[WB)E+GNDWM$;+A&$
M5-,N?!MJZ2?HJSK/BWGR[Q:E+3Y3NK (9.Y),F#/<^&W*:I4.!Y;M"TIG[CV
MA)Q]R,^(,ZO6:]0?ZVY+U8K\E:-1/UQ797)F/)8W1ZPH<"5(QZYW5!<^\W:(
M .?84Y"E7&<QB;@$.0R-./1ZTDA?HYN#O!4%L]-$>@/?J+5K+5O(4II4><;Y
MO%SI?$7LH&@M;%DS&>%.83':^;3T=]Q$FK9PH%UP85T(G^TU";)LR/5.EZNV
M6NR?]AA6H,LY2_*B![M!SF=<_=H/5*I72T]1CR8<XL"H>SR(?=P25N?#8/??
M7]$4HNPE=$7)JY(2O4#2QWV>V"P#XP@S8%":% 5UTB2/471F_:W*N.4.Z%V-
MM@3:/8;B>1:1B,O49<* NC8UVA7 <_)'9^WGP&5CG'"*WE-X=9IPC,O'J)#$
M/?AK5A5 8.B\SFF1,?F/QR\(5).\4/!$(2'R>]?^9I$257^.&?J0&Z5DAN$
M4AN/^6R^N.SS)?L4<K7*"5*(Y/)\-M>05--.M=OS++UJ,NA*H-IR*O >+RQG
M/!+8"H\7-H]4+ZJ"@L!2CQ6V.[*5"L,+SZ<(^2SJ.((+ZFM[ !+ 2(N\\J>R
MG3J"6@-^$R99#0)UQ'_U?3VU&LW//!4>R%Z=0R(6C](2+\A$9V&.J6UGUQ6T
MGI5,,: CDP6$X$-X3V_>[1*]]@ RT1F/JU2HD[3'JW>?A!MR(,9<!%+?=_/+
MFW<?L2>[LN9 UQ8JI$5,+"WN*;FVZR^&=S\*RA:9154!IMZ_*E;,A84GS$W=
M5 #R$&E.0IQH](J= 3AJ(*X/D"ZW02.T^LXE-AC(.BYR)SU')Y1Z.U,&,L%W
M2("!U!&)F$NNDV-?T*L7E8+B?O"Q<'NLK5A2P+C:"Q;T])&T2+UM?:DK+D'H
MJL6J,0>&>,X1.4HAIV/1AX&3@%\R*F+/%@6+L%N(2;GP)"$IU2MA*R/![J#W
M%/'"#)R%Y6/U^V(IMN$NV#A0AS#N2;%&30 LLX65;<,I9Z_ 4'RI LZT$:CL
M>0\SXLD>0URHYNT(N+RT?ENS("6?SU.A>"U-;EK06QLJEA D[E=;LI0*Q#/T
M.W75?S%ID($R#QP*TVS<*XV4N,9K<J71 %"$VK<^< J@+RZ/U&FDB@N6O4@4
MKQ=G!GIFK1>+(%<R%?D<J%Y?X0(((7%]Z5%Y!UM_H&OO*@:M%&;*3;B#QKPD
M4\IX&+<88<8-^I"#2+18-3_+"[),)(E(]9:,,!'B]0::VW$9B<(;%"74$>7K
M.;E*,@MN42\6^DZ<BUPW95]PF1DB ]? ,U)=BZXSC<1H%/8RSD):G'JB2,5!
M5\HLD;%GP0&((<D<>(:R:)6EC4D;\"X\6D$Y"Q3/1@L7'7NZ3B$E"?Y>\+FV
M-+2P%&EOI9D1RU'2"_H, GU!1>QH*G6R1:?%ZI7$%=)V#*>-0X'UFG@]9^+<
M!"LT%0O6IL"F/K7 ?N4.AGW/(S.-[NZA?9A6)'T!<1WM)WH@C,[$![:>'X*I
MQ"FG3=>2;$B_4G8+9I+-SE6&$!@^"J";_8QD7AV7J699A?:18*<R(5;=6RXU
M%W-$X 7)3Z[&)',Z%IT%KUS?:P1_3V#%JX'FLE5N "G 7 ]3ZN9GI18!'?6V
M$""[>P1/!A4_X[SK$-X3,L,=0G@FS64'TEQ&)LW%I+ET70*)$&^C,6IPWZ3M
M4]I?.9>QQ_IBTAWF6M19R:T+H%9,MT:1E(,BICV_("M=.;904Y*I)OCD@EVB
M_0,:($NEIT$7:/<093=,"Z68'S1G='JK1=9N:41/=%[G@><N[RZ?]U&UGJ;Y
MY:,23#<^S =LV6ZB)$Y.'F>X7NB09)04%S@6E!XP=+S<!OTBKT!/0#7SO7B5
MB_DPOZH;8"]3-BOYNQ*/HP 0J#6@&@CBV;\LUH;$\_HBU/=.W;^DZ*-XW6#4
M#T:C7W71)B<J9-O;%?>Y?7\R><!M#[C%Z8]&P^V\RDRJDY,R36=WLNGLC=5@
MUK4>VRLS-'Q\L[+::E!6Y&QND4/94N*Z"^V[UMF%^Y/4:_]!"0\'UXJ[;(P.
M;UAJ@0Z.WXG%[A+O[@9Y=K43X:Y0W#K9F]SV%R6=]C<M#1_5TM!H,AU#P^>K
MR6P6[#HD*M8-=49;,?QI^+.S_+DY%<3PI^%/PY^/XL]7UCYE51H>-::$,26>
M"Q2ZSN.QL M,N4ZD>[TG:UY1GG1>E2R+RWLWCMRIY=L\IMW2Z:Y#H/;4S>NN
MT2D],L;SM93P\8[.OV(.U<T)!E3Y/1;%$5]3CF^2O7EG,/(IU,4N\/AC.GRN
M* UN@'!+6L>S6 _#4 L,=9&4AI\,/QE^,K32*:4\FDZ=:?1@_7M-W::[HY&O
M+(ZFU5Z>)Q=TDFD3O;M6+-:S:MSUXAIXOGJ)7=X>T_G5]7L3=_S,:<<T!C3X
M8O#E2?!EY/6<\;U31':,=@R^&'PQ^/(4^/)Z,.ZYPX&A';AEJ<_KX<$C8Z?>
M3'J'5._:V*D&YXTNL#%X=SV_YXT,OJ_$]^=./ 9@#,!L$F \'P#&'SYSFC$
M8P#& ,R3.,"<26\R= W)F/CIENQ2V979V*4&U0VJ;PC5O6!L4/T%DHR!%4,C
M&W5W^3W?'SUSDC'&J,$7@R]/HK8,O9XW,=E>)DBZ+6/T8#KE$15M;GIE8A<"
MU>0USV3S-/SO?X7%6[E+^G^QO<$%2SD>'A6-+\IYD438;8;N,K9MIX3$[44<
M=@(3-B=&[E7E8C<%S6O7[8W\24?(KBYT\>38:91=@V,&QW8(QP:]\7"KP6$#
M8P;&#(P9&%L[C(VV>@CC^<'8U@/6-!5LQ)7)-ZS):2"7C-JPT'/U%SF+36\Z
MZ%/XPN?8V;"@!H2O8R[^>H.%I1I?@J5Y#5;X%8PO8<>$E]?W$$?BO,*N0D\H
MOCIYEN<N:]4-HGN,!]L;@4:^U7SP&]?U*859EY2H;A"603.#9KN$9J_'3L\?
M/*%_H4-H9CP,!M8,K#T+6/.=<<_SMIH=V5E86T\R@BGQV]$R=L]$*JRSZ.$+
M)XX7/GW#&X8XS/0-;^PN<>C/WRL2EKYT;EG'@BBE%OYEH)/3GQU,8Z6WZ5TB
M%H9VTVC$I?BJ=\D<1A'=J\*MM:H;P!U7:GC+Z#:T5G=;FIOZ8&,'R9Z55X65
M+UN6NM\&!?7RJ?7*=?W^Q(+WI$F>606?ICRBNS(1%\S/.5WG#_K#^C*,]65Y
M9M-3HC-8#'CV/,=]@CM?3<;]H+YV5B2P6C />'B*VP$76NP\![;]-_4*P<<G
MV07,(2^N8,7XS*YFZJD]*^:P1E$B+N4_9SPK>0]NF+/L-$&#M/6L^H)KKXAY
M"#9L4D;8-X=FD)1EQ;*( ^Z6<W@3KB2,'P:"?Y:P3J*9B35E26%=L+2"E\7_
MK,KY.<9!<6A37A34M(36:<Y^XHC+>1[]L$.&[4S@>QR0>$X]IS0O*5D;J 9>
M6"7E&3ZQ'B4.KMF^E"*S)'SPB@H^L+*$W=%GV+?V+!6[Q=!MLZ#UEK\*W+Y3
M;PL\">@P.K->>;ZVLY>LU/<)VZHC&Q55-*\*',W7E.'+LB9FG. >\QE+8K7Z
M,,.ENZXNHW426Y"554%[ .^]Y&F*_Y956$9%,L-YB6TIJW.< )"JKT:Z.&$6
M1:(ATHQ=,2(+>#Q\652\&9?V+-]MGD77XLQCV&$YZWERCM.%98('TG[C+["H
M<5Z4^FCQ8GD))>:?S]+\BG,KS+,*7ZG-']M'PCMH'9%1^]8)W%SP<Y9D^%VT
MV!)G*0\7O*Q2?.*TR,^!-B_R@B:L#@' 8ES TN<5D!@,KK N\^*'>/P,H;1>
MJO[+PD7O?K@X\OKN'7#1'0\UKKH%& ?ZM4M91$>[7HO#;\"G%B@MQ;U%J'L@
M<CT0F=I@47,J3)0G%X)V&[[4P B>20NIV+-9L;A(@!6119#]W$E_\*MUQ5D!
M1&K'>")&?V'!X=J*_A1DP$J:'2MJMG1AE* QXGA9FE[U@+NM,P8 TAYZ@ZJX
M]8-1WZO'"L\IJ]D,YDUH0SDPZE;BR6D%",K58.!]BX"ET P68:P]^.Z8M SP
MM(=Z&NW)AT9Y,<L+N5XU'5@(TGWK:#J%O:2-AI?# A"<J3W!_6#XT$;2ZW!\
M72+ &](J)AQ:^M:E8"A;@MT%"*MLNU!X.QSMJ#Y]4R7.3@[8>B%R[ BD5[)D
M<W0-R=-4I)I7!?#YNE8F 8#$5P.X,N?/>HU"3MTM8!K,*,&-4Y"F"$;X1!C$
MOT![)=PD:/B-PUCS"T9@]"GE/S\D>7E%W$\WL=/3@I\"Z_>M?<F"A!  O0".
M+?ULHL%5/0'2NZ0@%#.HX1EE.ZQ>-65*504F9U$ROT*N3V-848Z@)L%,?VT/
M<6RL"7O8M1)=2K$""MBW6,A.75CGM"%S7H#0L%'ZE?ET?@EBA1:IUO"N02<O
M4&4$"8FR!KY&G%6R[)SAZ.<D8?#YY1F(%!O><2[WGA1-6)#?^\=]:XYSK]!L
MXA'>E@C0^UN5<;EB0LE?HM\XGJ9,/X:_'T?4AGEKDO=\7Y/[BEH:>P$T%Q2.
M&O>.QXO<OH2GI-JSP#OQ&IG'[P\VP#Q>WSI$W5:H900AQWPVY^<A5_H\,LP^
M:G+9%2DMH)'D&;=!3^(]TL-!;Z^R&'4"\1FF"X\C':&:@=H K*1L-QC21W:5
MDC)+1C @&RJ(U,F4WE3_O <@QNDF!8:@QISS O3V5&G>"( E2\E(V*_2&<\?
MR&,+#DY0,GFA$>2P/WH@1?[G?[BCX/W3<?[_['^V#[]9GQ-8Z!B,!)9>_9L7
MM.D?0>2LV&;!0R3K'*<M(C2H7 6.BWI>G%Q840I&"SJ63[F=Y3%70P28P)_E
MFOR;<OI_OK/]]V *_K1C((Z(6MW":E7GV?LX*6<INWJ'OU[S/_<'B5@(><9!
M?(%66S*]4B^D6VU@K/>S7,C4=\0O('S?A_E/7&YXYKLZ.>/G'7W:KO=PP'Q<
M)^O'$4C0+JT!FR'_BSMW5F=SR-$#,"; ^^4<!.L[5LWS]^T?8%W%U[31(I.#
M36%R[UAZR:[*][^\K4EB6:R!=DRC@FN[N=Y-VU(@0KS[5@*Y>X1"[<]+MJ!N
MJAG9R0&_%"7L4-D1USRMTR5;1GJR%[0-$71BD+(V<33_(+IDBCSB/"Z%-P)%
M5NUTRZ>-Q?0EGPN=3)=Q/JD+[2>0+\[*9S*L@=H%.70:][$P)%ZYS3B6.&VT
MZ:#+YI4;:!X;I;Z$U17FQ.% )U[/F3@@2UDA5@#U-%1O\DP,J4=^>.^:S0CR
M+ZP*92'*^R^3^=D93V/A; )5IO&/-[X?4F>K62Y,Q%I%IO-DPL4(P]".EHF5
MJ;($/9FO1IH*3#H@OGZ)TW,QK*'M!KYJP8W?>BSZ]F!109DC78]H!QV<8N/Q
MNT])4<ZM U9D>36W_L%9H7MKN?P^#X'^A7JXH AK=C0^<@]W+.;75%[W*0VU
MEP(2:*DMA8/E@:@%+XNG3.X:*A:X(Y&;KPAK.XPB8QH-E*%G(A&8L,P546.1
M\O[<!92(AWB1Y+$(&?='N^E@>+:*R;WJAUEWKQ3VG.$ HQ+\;NO6$LX)QD=$
MB$))"5@^GIW"7YD,X^"7QY<<P.',^E'D&;/8*4LR$"7X"QFQ<9ZF($V )?U?
M>ZN?<E 5^<TWUU)NZ?T?T#XFN59A&&GU@P:_/O]8R4K),)W:'UA*.L7Q&0>D
MW"L*I "*Q3V!AO_2]?D_.%"FE>5SZXQ=8,K'E57.,'R>6K.J (,<6!>T,*',
M%RC>[%#N7TG[I\EY;2>-M'H"FE7QH&_"\6I8Z@FU7Y&JH*()A;8CH*BF*6:I
M<,P$R3!H ,8S*,EYT8KQH^28@M#(+]'[U1U^TAR^\,)S.TW*N0W*,TZ.7@KZ
M:YU\K==V 8W?]W]M>WD7]GJI.Y?\D>]I5VU\8_D.TVO0(WEM_YLYR)<]$4'X
M_2 83=R)&PQ<9^A/1K_J9^!^<#Z#0:7U4DC_*JW(#4N WL*QYPUK=Z'F:!7O
M=1WGUX6G/@T/(/'RG_#:4MIW:**'24Y&45DB?8<5_ -_OV\(K.V?-H1F".U.
MA,;"),4X*R60P0PPD 5&5ZE<@E-IO5^G0?@SKB)IG)55A-]/*[3C,:YZ2A8*
MO $3!Z2;R5"MH=K'4RTY+!NJ)=]EP>M(/6@,R^G44)VANL=A91GE,W)R2FP\
M+8#$0 <5KG*DRV__R<YG[S]J;MOWAN@,T:V%Z-KY=RI_*<6# 15Z' K,4@9,
MQ-@0V#Y);DC/D-Z#26_E:0\53:S/  @G,TI:BM$LQ!.-V#5D^&A;>"[#XN1A
MQ8@EYGE6173&FA2#*T-HAM >*6J%$:LH#25J3ADEM9N>3Z<@78U29RCMX90&
M,A5D:6IQ^"H_3R*R)I2S&W;M!S<$9@CL,:J;2!%HSKHB<L$LLI@5L2$M0UJ/
MDY+).3QV+BS2J<PDRS/]<#O536B"<?A+ZT@0)B"R2SQKQK$"#0'@M*" J3KJ
M;:C44.F#J72:8KT008AT]CU'XLJLJ"H*GD57[30JL%"!  V]&7I[N*\$$[R!
M2'(LG0$& Z;36@MQ"BSYD%Z)GX!\<"O!GL@NDB+/D)I8VK/H 0(/3S$+-Q.Y
M0DIT]U<0Z88/83U=-LA>B$<YKQWSUD(]*KC34W^!)@UR!HMP4,[54A<IU=<(
M@:GXA3A[*H!A+K(H98H6;"A%E?B_*HIDYM8YIFS1Y7A9)LY*P#O8G$J1B'S%
M#-;-\@+K'"9Q5O:M/[@LR*$5D:C+8XB<[:!U%O;Z&7/*!8AOR +0WR(>517:
M2=N21"]<OW $(8;II_F,/,KX@EMR#M0"(Y^5RV]HSJ'2 5XB?DQ^4P<]$(A+
MSND K,CRZ5NW9?R<LRN5S-Z#&<]I6S#G+DW.$S&;GJ6<0:4\"B.W&9!!S0V>
M2#,52:P+!QYNC1V*[%4>G65 ]Z<)5=41'"T.X@H5)Q$9\==/,JN%Z E;K]Z9
M>[OT.Y0::,ZN=OGL:KM;KSF[^MS.KNZD. <IA8@LL%.OH8(HJ!!PN8B3Y?JL
M'_QJ29#]FNZU*-X XS,8WG)P)_%)#^.@H'&LM(@27Y5N*N=H)9PFD05_9"6+
MI!Z"11;@OZ<YC9.52<OH31/@?WI-+N-A0AK4,H.)XHA2>VG)EKQ)E4))<P8*
MQF5>I?%*B=/(!YR*OK8@;7_H63)EA>58<MP0TC2Q7II\!0K:?#KEA56)LH(A
M[DI.1<7P$)?08H'Y:6VP&B6*=5$D!F3R69X"FY940($X]MIKQ<M(^<)WH0)5
M#U&3P(VW'7[$^AGR*&DC+/$E0N%@%RQ)1<VMMNJ&ITA@BE$R8^K D#5-\TL9
MHZS]%*1-8!G(Z10NEH4XL.I<.;VB-Z14'P)GKVLE/9H[_\EP/WJJ((JF5=A*
MUVIF(Q1&N V&P?&,Z#GY/>0:-J3 0'4\U?9(E [#NFW:XJE]+;$,I#P?F^-3
M5&4]'"R6\2%%D(IXB")OX5RK1]&S2$:)##UFB?(DF$\MK!:DW$R\'H9Y+@[K
M)&#9X9&]*]H;F%@/KZ/QB$OI'?(W455-%2*18Y(ZT*I!T?SDR27@^#A)*W5:
M<9'8>O)4$9ZT6'@ G<B@VH# P3Q+\D*HO;DXIJ@?*Z8CD$12E^@12,I6,AG.
M!/FAR*O3LVL'JYL%EZ>3;YH8;K6V1(HR>I+ 5UX92>;/*#T3SV?"G?,6,JC#
M<0MN.*Q^>"4?M63K]&,G\BV2R@D#<K08D@R)^HQ8GCA-+"HAC=BI:_EW2H\/
M^54N#1=I8:57+;8$4J?R=UKU0RT2<D5J?L@U+J>CRZR$"_$3UEI!T)VB"<;2
MM$/:\<LY.(,-7)L:V)^QM/ ^D-45(,8E.BVLQVS*QH^DOL1"W7OSIOJ#[_94
MI391<G3*8XI.4@F^IM0J;FO4VE8Z8JT5?\#RK:@:W.G&H*EW)S!<N6CO>/=$
M/T?.[_IF.CS$?\X(KN:U@B><10KA/2<0=>MDO06U(/<:)4F?*E,N"OU'>41=
MZ"CR^* 8$T&JO@>46$]3J]5@/(8OQ/2RA1EH900;T"0<!^5"^5R6//]Z)=0[
MO/%.RZG5&0G\OO7EMI4CS:T9NO9R1GID^$_IY2KX10*D3JFX\!A1B[VN1*SJ
M&1[*$F_ Y*(*[S$O+D U5]2J[^H_0?J6<2+U>_P%91#('[6-LHHDJ6)4=P$$
M/4GDIMXK_IY?9J";G"4S46".M.BI5<(K$E RT2-%NH)2F(W0VK[0^B2W'$NF
M "&6+P7Y"296@3\>88ZBZKP2E@NJB*A4AA5^XG*E+)&^,I<5XJNB9A^LFP^6
M$J" <,.R&=@T/Q.,\H+:]\ISM6+-?>L#CQB6703,&NFU3,A2K%]&@YHAJP.R
MI,B,/--!@-A-EEP4YKGPZ2)NY$W@KWY>7591PL,)7+=?2?_NW_*PM/;@P:!>
MRP+:.GRYHQZEA6F*KJA7C=8?>1V U94/OCT-Z?[F/U5Z&?F@2?DE U": N3Z
MIM(^Z#:XD'4?<2[D7E!VBYJ59A!+*T"F%J4MU$(K6M[1 +Y$^AM4@0OA9:^K
M5)$/G^9+P?XYI@3+<<4)N@TX6=X+8VP1!0.(Q+I(\L'H28GJ9@GJI?JA-.'T
MF4NS'/V'L%()T1,\7KB-\/H5I'K#6)3EB"6L1$!!"^BT-T^B^N\9K>;Q7(HW
MS2F3 >7%ROA2'JZEHS5@_P1@+\K.$#D<JHP5<[3_28[V2W\C<EQ3#/P<$!S=
MH:+7BG1IZLT7EI8#$IF2!!]:@=5:K@B0330'GG*S:&- '!+1*'1,$)D(V5!G
M-O6MXP1=/9=< %$L5$]2^_18'GY=R4K&6JQQ6@&(H,X-?R8_1?83Q7+1W<CU
M*]&U6Z$O[@S48*I#3&"MBA+C!ZJQA5HCIF !+"M7I!;,)E@B'Q6&DT5:@9:F
MI06 0="DL,/2\U,*]B#@HZP3H=SC^J@LK7J%KKF8_II?PKL+$5FE8[^MW#"F
MV$^E@5$_!ND1EAXY\J:JBF.MUA]JD5%:P$:3\EZJ(F?"9=4J(YVBUU^42I)!
M=E5XB$:&J$VW7O)ZOV!3X)^(OSA5W$IBD=;T?<2^_ZM"S]R<PF_X(55_8],J
M,-2Z@>6')P>_6:.]OO4_O^]].3D\V3LY_'\'UMZ7C_C%9_S<(63'H7T\/-[_
M?'3\^[>#8VOOP]'O)]9O>]_^?G!B?3L\_GN'QOI2I- ?0M\#=*"C'9C60X+$
M MO_1VW!%S%HY,45 DS1! R:?)O?M'OJDO,B:D;?P0WDVZ@#:RIIMM*5?17V
MKN-',<!HV>H?TUPLAPEB4P6X*'E1)-#H<Z"IH9LGT5L6Z<7@%O,C:S<%/;'E
M$UF1,OG2D+(3+'JHMND;2K)OL-<&/YX"/\A,/0,]-2^P,P(P%Y5.U<UQ"M/5
MN7 S-D/UJ-T5H$GR)!U,"_YIW?V:7E5AGDGOJ!88U!7?O:;@8V/!D[]$P[HF
MJDSP1,%P#3OT3( H(GV]!1P:,+4QHZ?_),/(0H>X4NX.C)K"N%5D\S(IA</[
M6@4]TD&UM63+G58"^+0,NCH)0ID1Y<U&Q.OZ)S1 KM0Z4+SWC=2DL76>]6HT
MT+LUROJW^!)X&WJ[X^Z@H<G*ZW!6WL Q67G/.2MO)P5:JR+I+6B[@*$MF'Z]
M#$4)U;7&.'5[,14$)9B-&1K\5OMPF7R0S.&O10W)J05IQZRSJQE*%>I49+F.
M(QW3LSRA4>HM-%NJKO#@2F=W76<Y:[+\:Q5]U;IT!_J?<]HH_ P@)S/DETA\
M>=:UB(F4Z^,WK6O3)!(I;1B7NL#T)!$#^I!C5!XWER1@7L@(N+"=X!:*-@'\
MU0&%ZX]%DU)TF$87%=V;89)3*GJF"7<AZ(RG9Z"X8?LNLA#KU,+Z<$G39[16
M]"@L(<(5>2@3P(!=L*PP9KAQ8*BLU&-B&"YC22I.(A /P5+&\O0,+@U6;]&B
MT52PCSB$SH@0>YU@,N.9="EBY$FM@4Q E%.B>$>]"4K;TI4LN AG;2ME4,\]
M;))EKT/'CG6:>"869AT65\8^&IDF@:MK@"@Z%:M <>VBD896W:JNU(OG-Q%/
M9+!()5MJ]W+@^!O#MPF&;TL5Y4;T2?-(>X@\RW7=<R3\4:4ZQG6][T"/&@CT
MVFT >M;^&;K;N'55L:QG_8W!M.@CAT_','4&2\#E_. ;P+4SZ^_P%>S'I0P=
M' +RP<>BFG'^7JY0R46H0@'\#2,F7%\^6GJ\/L)^PS;4OT"D>E,*_T*)+(KJ
M8[*"C)"$?'[)I0*DG3'0]^>FO1,I[++=2Y)I+>+[UJ<%5U_;C4>6OO0ZMN,[
M8L1"XFF'^I?X+FO;&M/K15IPD^PKC7N5K7[&XU,I46HO):8GW#A(HV)M(3$H
M1;4 M!,&)/'/7.\ K()O@AEBCC5K,B;38]H XX_Z$]'HPQ_WO5^)W7)QH).2
M[TK1,FSA&0OLE_!VES%\G&ALU !/>O7B](,F5C?^7G/A=Y)[9']]+ZM9?;*H
M&]H$Q>K&@$&'7_:^[!_N?;:.3_;@NX,O'?);GQQ3]/#X]Z]?/^/03O:^_</Z
MN'>RUZ$QOA3?^J=:NC1T+:N+S[13<S&;LU8FWR%<:XU%@C"GC#I0!&0B!#K'
M4*C$8.M(P*'+W<%K]@;S)G*10RR%J/*WQQ:FAL'%(29OR>RV'9-$:\2<"?M.
M<B!/R^]T@C)&]:A#,#/9ZUO[1U].OAU]/NX2YR*V?/UVM'_P$3, NC2R9X8I
M][ 8@>\_BIP6U#_W)5T3"GRM:7L+O'[W(3^WS;K)L)7F*Q;_<4?O2^GZ$TER
M]=ENZAE)IPBUZB.UTPU;0T856:@BT:Z0%=O5[XT9(W_O66>LK(]^"U-+>(/A
M(9F6M+TXNK@AI$@GI 8DK=?P9$H%%M+G6X7=-5R?V2""^!NT$MU!+#^ V2NS
MOH^;>'!M5NX)S[@[\0/K-55'<M[K/])7[OLW0J"UL]UAQ=@I;-.9]3I\@T_1
MQ]$,0AN!_N0WTO]-ZT+YBWJW3>H8JI+JDU+Z)OK6!X9A9SQB2PG58G7IR-<C
MMTMX[&'!I=&+483>*A=][Z$;1\8*'<]2E"!?0=/!P*]*W*DKV5UR]D,>V]<*
MNM !)/D6D=>_).&?QA_S,BJ2$-<2-9.7IG!T VV10;[1MN!F_U;C#U)R?9Y,
MB@WK"+>S45R_J>TT\N,)B%;?JVO.4'0?8&((%9_"?.,2L\>3\DS%6U18@SZK
MNE]WYM]^0QNW78JC69 (2B!,!7A+B3!]LP*/16*.K&6"J 'K3@!,Q1B:>\!P
MPI1I6:-K.1(NP^%;\%>6_](2YI<]^'I@K99:]),25SU-QFN!+QAYF6<93WLB
MJD7GD/3C_ZP$^*: 7\%/65$W_L.B!>H$$68[+MF NN4Z?,6*6HN8+C- 1:4/
MN;6RKV>Y+.)(SK#F"!;\C,W38[T*KUQ3U5]+>FU5%CP%$Q-^31"A>'L.30Q'
M_?'0?2DU,8?NR!\Z(V\X\L;.9#!\:44Q9_)PM#RE2>#*,U4W!0 A+U3^1]*J
MZA'CZ9J4CJ(6XNPH)22SI*"#=-.4XMSM4(D\30_3SK4ZD7244)SV:8N#];>*
M,*3]DDC[)EDD$D=;I$G]2I#>.9EE&4>IC9Y,E&N\.$_F=Q)$2T3.7:6-"O["
MT& D/)G-ZPJ>6EGNMLJ$PPZY2".)\9@U)8I<&P*K0'@5R;]9S78+TCRNI?\B
M$^*OAA$-(VZ&$1NE<$;Q1\%;H!?#PS$TS><BWQG)LLH4&1,'U67<>N*08*&+
MEE6N(+V67M3D%;+&.]#D%U(H?PF/]^_ #R:ONW-YW:[)ZW[.>=V[F=.A.4,0
MFLKR/G[M.[L]5B>,'V: ?#^$49Z4<@S"CZ]I")4:5E0D!).-7T9X1[KD1[OF
M_:/U<M^3Z^=4Q(T_%>R<@QA^U.&\Q^U\3QRVTATSH&/.1=;Q,3K!<LJO.2I.
M6:9K;E02!P G!IP1=Y7D.GKM.:YO3=7,WEBO]X^.C][T7TIZE%94(B%%'),#
M,EF"OFEX<U>64:4MI5Y"^@5I(Q8NN*8,?"WR?_*HWA[4RILH"N5LMGB9ZN52
MA;>ZQER[9IHZGUQK*3+P(>J<40DX&*YR?8;-K/73?74R>4_4-9*)%DU>.U4I
M3AH+@1QMRK5%16IKSQ:^&*<.HT7NV;%XQT[2\A]<564&K (][D.2EU<E(%C4
MK]VSS?=U2!'H;0_LR=3",EAU8MYOL'=9?L&LO^8IJ=I['ZS7OZAO?Z';CL#X
MHPI:2C"<M)1?+=-492#+.BUZUX_%'%<J_ES%HKJB=A)SN>6\4D9I ><_E>T'
MB<Q%52QF^0,:!^ZKP-?JF.'2O'(GH[Y7?U4G_FIKWEK!IN+W0J;C38.4B95U
M@XTKS@H,T,)/-PW6ZP_:8QWTG76,=*]<MG=TE!C)34OK%*&(NK=U+FL#"06A
M.6=S5T2-<RZJBFDIY@O#H'4LJ0A;6I4:45WS:&CA=^%[K",OC4C\DRJ$EUJG
M51(WGA^6+4R$D<=%E#Y6?%<7UY0%)G,2SW'30%DLC*Q&09NJPL[:E%Z,^#TD
MJ9-)<UT[W07+0 :,J+<F53#AV,K.A*L9KCM-\U"40<J+<R$ZZW+[5Q:0-Q4\
MPKOJ?9&1-2ZJ*S4-6TB4G5%:0U(7\J^[R%"/ ;)# 2E+7A<6HIIP%%:LLS:^
M?:V150R@Q>9TU$(]7X6UX!YY+1+&3+2[H<IY29HVA:C0]Y=B->RZJQ&YSX5>
MT"['1V6^*1XY5Z@\A;6E1Y.NTY[B)14DP._F#3,3&V,KTQ@/_!=8P0KN%.BZ
MUZX>0&9 ^YGB.%D>)],$@5R&#.J^!O>R0E3-A/H-\$3<D%7I'0O=D/!2;8G-
M><_N52EM!?1C9 TB&]%9*DWS2Z%<+\W%N3,IO5M7M#/H#[SQMCS1\#)_]&2>
MZ* _&GCN:#P,)IX_"D;>8$V>:+???2>TD$[_E >SA'AJ'!PM]W"C%=P=V:02
M, 5) @_6,%8RA>9+T7B"7>>#NKB5.L_5.N&# %F7G(U54XNF+K@>5YI25Q&$
MV9\$JAGV.\DK^*T=E.U;QZ <TC'C-+UJ#35.8JWLB[(X]705JG E:GQ?'V#]
M]O:@EHU;>MOK,V5RTEC!%OLJXJU.WQ\-?D6G3MVZXUBT#/F2S[DH\$M]^E3:
MB-X!Q.T#(=YZ[U@_[HP^%#3141\17IHZOX3%,/V\:*H6UH0BUT+I@=HZRZ42
MT@R6.+TJ117WI%Q"!6KEFPXKP#"P:E1H@5P,=3IM7799NI-N-[2:.2Z6R+G)
M,%-]<&ZS8/K6VL.%$C>W!M(H$9X.I /?G8PG_F#D^K[KKPFCO1W Z&/0>P%C
M>%:[P7061FH_*A+8M3J#4Z508Z*Y\HP6O*;<GIX6JL$N9O5A&RER=5UKMUFJ
M&MQ:*]!%9WR-=:U:K<+*QR2"TTP$(4N)K.KI;;_@-;"6!52I8PZPD6YKG)%:
MKZ=2RP3G]EQDD<,5LF65@T2=WGQQK6OKW'?AB5BBE2[/QM1DY,*FL*6UVA\7
MO$&3KI7A;NR;3E2U^ 84$">"G;]B07D;';1+5#$-)59I8;NSK(\M7J),0 7(
M$=/S-32=\!HW]A;Q7O6'2T29'^SH,"]X=@H/NO>YCDM1<K;ET"G$!J>62A)K
M<K;Q0272EQKX'OJYVT$\'(%(KZ:RL7%!X1]"&AVV^]:1J+^37MGD\D)-O->B
M%%%?^YHVK1,0S:#M9,*NU-DIEF3*F"A'0;F9))[^38#5])JK5=K:N4KGDLH$
M%?X?\%BMNS+5[\*D-%BZ4M3$+;&4([:C2Y1GE195JL\JF5MHQ_AI43LNWUMG
MHD"YFH:Q\#MDX>],KMFAJ+FOFG5&,N JL48$"F 3,=)*Q:ZD:^HZ'^B6H'13
MQYIUUVJ<3N[=EK78JS4_R7,M';-Y#,F)&*OEM\W#AL55W.(N.6>&+PQ?K.8+
MV9*8Z7P!>(M<(=T 9-+TFK!*W=E'<VV4;9?(,M999468[,@N9T=Z)CMR9[,C
MC0PP,N!V MK'<[5HOUR><=EKFJ^R1ZU+:CJ-SM^FD9X$>-WV*;#C-/J.E4M+
M.K:QM*_PK$BS1;4Y;U+4@"I3V5FNX*=5*AL5&37'D/@CHGRRB#1VTA5$.<T+
M78>13:0TRFP? R.;662EQ*#?GV)%J;:V+PWD)7K/*A6]:Q+HH:M[30(]Q>2V
MEG]YS9=RGF?)/"_N$2:0^6W-8?DF84E+<:F;IZGTEW/V0W39F&(TF3>HJ8=F
M,1_W'/.@1*GL69'HJ;G==R-NWSNKC@%\NQZHZ3TF4K,[:[Y9U^VR -@+\N%2
M/=Z&Y/!U%TIBI&FKK'*=!V6<G$;+N3\C?B3A@\2-Z9"+_"$<.T(K)W(33>98
MG15JI4WW5L6S3?U@BF+*7AN93=DW1/V(=*JCIRQ9UNI?JD&D, (2Q6I[Q_O6
MT!D:S=[0_.9H7LEKF=2T2F SH*I8=N1M'/S-M^I&V4I=)%V(6T4"=*3ZZ1IJ
M-M3\\&;G9&*JL"C_.9,YCJ+[LH3G9?J4TH$6S <VGQ=)6%&S)-2;5G-#T[JI
M!>]MC;;=S[E-^(;N#=T_UC]#QO(=/#0K4%SX8&2B='TZ3:H9HIH-QR[E(G:+
M'L9"'+ME44(-L[$=252UCP4MJB^-8:Y.HCTB.VXGZS0^(-7+>'HZ[.G9P<UY
M&22(KH/]@R/1J^C3D:R;C-E5,CT%ZR:'6JIJ4E@_LOPRQ48]/74ZY+8D_IHV
MFY_UPY;ZN6TZ [BGE.*>*NLGDXM[%+U)T\:Y(\\7E[V%UNEU%8+>\E9%"VV)
M1'YR3YTTZ&G5JTNKR6R^-D##"\]GE@=%5LZM_V3GL_?6/T BGUJ?/W_MR=10
M$.MXZ"3#<S&GH&!2/?-9%:9)U-(5DN)<9F/+X@-W8Y&;6 #S[^4!&UB2*FNR
MQ_)9DLF.TW?GQ/;C9',O_5%+:P#=[[C];8=CGS4==: R^K,)PRW/2S+3,].[
MX_1,YE^7,_]\D_FWLYE_NRV\[Q[,?QV]L?;F<SK;B1I2T_D#%:5#33/\UFB&
M7X5FN-=HAI] ,WQJ_>>9"Y8GZI3V[>#KT;<3Z^B3=?CEX\'7 _C/EQ/KV\%?
M#H]/#KX=?+2^_O[A\^&^M;>_?_3[EY/#+W^Q/AU^^^TE]7HC_.F$<GXB<FR.
MYWGTXPR6CVNE%);T(\$^6'Q&R7C6ONS]"""P4X=@[\-EBQLE%9B.<-I18Z3>
MN<_23FW5KG+5'UP6:I%.CV4\L[[2P9I'<E51X$7RH)=[[Y>5X=U\+5QZ[-'Q
M43W:-U3\F*K,"(KNZ;54&_^+^K2L9-5")SCEN&'16<(O6BVN<BKO"NIJ/6RU
M\&H\O:4;)@<N:@>\(;\1E@)07;!XK/6]6^>>7ENNW:HYL*L\+"E2[)0EG(B?
M>%A4V(C$$\59 TITY#_1(UXN=R#6]7Z;\B'Q4]&-7H0%R;>LJ[RD5SM7E:57
M>V_KB-V&BK*T"C.VJG*=4=/0BX3J6\[;-=O9M4")R/X@*L IW;EE8KY"E&M1
M\7K2:RYO<L.24!%8N D+E<GR5R7-X!;/^?6$L?O3./:>K9E.-!Y72604V]6/
M2EW?9EFPE\VMQ0K)JH27ZLCZA$#[@I!V;Z'?_,,Y9972V[N]P& [P^3.U'M#
MB659-T[/-E]"^]/;:X+CT*Y5'O^E^>:7-RH;.%F,G'%15>KV2-AB+RNQ&F#L
MS"N\9Z$X-]7 ;E7PQONU N#M0M<K6PU?+Z9-7^CEMIO,Z&L/;97 HT,*5 =/
M'  @U?M^.[:X!FF97]M%EBW(J&7;>N,KZNUN;^L#?&$[R^_+:FVBA*V%M6C+
M"@@0)EF]TKHH[]VK1&U/%KF1 E)EX6M=L&8Y&"NR!:H(5S=CU'M,-!;#0B^K
M+*NPW:L,"B?GR[F,TIN0G$*NFEF@KJ;:60B]C:F.6Z#)):4L-'UCN5ZR-4,.
M#*!7-&WZI1(8W(B UU3#VTNC+E/QEFL?#ZS#U1H3,>-Z![9,'Y7)8D\J^%^0
MY,?>&F)C&V=);U6+ 94A70LK&510>*T%%X[JXV3"A_GZ]XS\,,?(BN4;Z_77
M_;VC#V]ZUZNNABREMY9G_'H;U%NK-O;DZ3M!=ZT'MV4MXD?!0625PNI#%@&4
MTKRP?[+P9(]LJ* E9E%WY:;O!_P_=I%!$5@7+!9Y6JN*PO9J_ZX:9X:%=U6[
MAV7X<HF0&<F:!0)-5"JDRFL'F*X*F ) 5Y-+/U>Z%<EB#!F5HM; 0D\2-9>[
MZ2IJ DE9&^>JFP63;J([V.W\)_;_K'6(MH-)JUR*G0RC-"_%D+%&L>62/@.H
M(I0NLHJI]3F0/(@@6FUW7#L(Z**6CV!%SI)H:KVTS>%.>7R>CX/] TI@HA'I
M:C=!JB<)4MU<]Y6 H$37-)43Q^U2SK66<^H^WC598;OMU&E[HQ]D%2Z:9^NU
M<]799[D80I]-1"D- 4 (/PL>FH>[BVI78XWD?>L/<?";K4H&U=)%:\E.TEB<
MGBJX.M)*>EO8SC6E.Z01*-6Z[B"C2:WJ<FI58%*KGG-JU:Z*MKH]SW*;Y_?^
M<=^:\I@:IY6BQQI&,E)VV>1IZ.6[JE0>;M(*>2FQ==S<OZ)+6_U(0N3=TCIW
ME0+^(-,JKB)U.D*81'<V@FFGP'A#VZ'Y5=6%(&?6I>BH)AIZB9JA@G"$799;
M>4A]Q):VA6=A7LWK0G4/4:8PJJ1%.U<=63+DMJT3;HK"I"HJ=E^HO:)02-WI
MYSZZ;:\I-RZ,Z*3\<<V96COJZ&P]]G3@9:UQ+YR5OUNH^=KX6@'PNI,WCJ:G
M<T!=^UP[)BK/AI:RB:'R=V0<G8+H/Y!:>Y04476.JQ2AY^0/]+ZFF&<BYMMP
M,9; 3B@FJ3-76)N56L[+AI-ANVUH?^331+I@<8L^-WVB<8NWDMQFS/.'QW,6
MPR'WL(=+K0RV8'AA^4G.62Z30+EA1=TV"W3DA$EC%ZAEE3U/KE'XBC7=W)8&
M:<C#JOJ+S:H"='%9)G5!'LN&MM2H%IV)[7+QLP( -IFE"!"/6B&5UB#<@W5C
M\(7NG 0\K]TW"&\DS&74@P0OSU3K)@QVH'X@3C*W97[,X<:TAY.H,"DP%<YG
M>>2XX%,JUD].9[U.)U5Y (,UK_L73VOHG9<+$;/WUFOOS<V;*\)TK3<47 Z<
M4\&Z!H^14- //;_3SCYB#Y73F<VI/7$RDZ='L?<&GJRF/6A/E88=<A&T@\GF
M6;I4SP=#\BPO]%1*S;<E%E=+OVZM)?[ZVK]E/1MFD2%'6J)"11E%Z%$N6Y6I
MT=!"U*V3>U95<@K*:CN],A@J-IX6"Y8RC65\I]$"E+==MFJ\R>/]_.'S0Y/J
MFA"18H0:MCYMA&#O'GB!+;(Q%B(WNXDNMP+9"$IIF5--C'_RJ"8]I-MV@D-;
MX<+:+:(ULJH&P$2;Y'\V+CE-\ZMCL:)Q-T6"8<RJ?Z66Y:N5HZYK%91$<75>
M6\Q/"Y&'3/7SDK9E5 -CWE+F\,44K$HPC?<AQ3I&NU@QYFWYUEIZ@'^GC*R=
M7/H/>3E'Q/P-<)!%9T#?\WFY4\O>X7.**ROBWC/">Z_,D1LR1;1S!ZH*EFCN
M+B)(U(,8]9)3F.=9B<Z4"WZ/\/%N^4367;;AR8ZXQF^L_48>=>ALU=WGL''[
MLR.,?_!3[Z"\M)F]EC$FV$_D #99<UFNJQ_W*^VB/5T@2,:UON8+9QKJT&9X
MU:""A>0&L%3[X_< IKY5H,.[/K/= 2HTXN,@QH_"Q80V6M&@CD@#.H?1 LJL
MR/S1"@JK=4*[AW 1\ZZPRFJA&1%7H(+^0!,!Z[ MWM"[WSJUDOFDLZR\GGZU
MU&R3EF>3-$13A^?418%$R+DQ6^GF>,?2]W?W:+N)?'<Y\CTPD>_G'/E^=-$(
M$&&X2<7\>W+1C6C U[UO)UURY1_^ORZ-YBF:G!"-8&WG[^[@._]YEH3)O/Q>
M2^OOM;3^7D9GW2"BPY.#WT!EZEL'__O7PP^')\?6WI>/UJ?#+WM?.K2;^X=[
MGZWCDST8+%9).=[_Z\''WS\?''=HB"_%DFB?LU%EJ86#<YJDO-4KIUV4\ITQ
MTS<^T=?L#<:W.F5C-SZ X]I<>3I2V#$JW,G.6R<KXE4MTY[  :6E"HY0!161
M^625(DY)CD)R"H0<IDGI-^A6!+7:&HYJB!$&-'D,!3:5N[7+3^A*?J@ZOCC+
M.<53VV82]<L@.TB:)#@,M%!@#GBY#39L7H$MFOSD\?NZ]4/?^57= '-)V:SD
M[Q0]J,4H2'C3LW_!]\, :B/M(E%9_>_4_?(BN"JN[11ZW<3_53>=Y/R$[?1V
MQ3VCVV[YK[?S8G%0TGP;PW(OW1*MKX:P%_&+)<-NV8EH"<K/M-9.WX6O+K 2
M>\1222.";JZY">#"Y=;A>-O&X3TLOGF\T06I+6?E29G-+7*[+9O7!I=N?94*
M5QJ/@* /A,B[($*]4S>P H'@6GF!5C"A0S "V!8V'JZ[C0WT1]CTC!8]-7"Y
M&1QGUEG!IW_^Y3^$1/NN'>OYWIP)^BY.#7UG4;2:1*;3Y8M+;XTQ3XB\[>\H
ME56T(5JQL<V!JWO5+97GAZW#C^\"K]9(W[+ML/)2;MJD*":)] "67;7J0\_P
MT_KX28^??)?'U[^+X^O;8*%]/7SS09Z>/Q:GYU<=EW^]5P*3B2"-*&^S>(TG
MKZ'26H;#[LUA \-A&^*PQN3[WBKB  )MZ^QVW*HIL=^J*7$HRJZH[)=_4(&(
M@Q6!X19#2@:4-2U<PWSW9;ZA8;[-,Y]>*^4[_U?UQ,RG%]"6B=#6@2C@8EAP
M^RPX,BRX!?G'RK/O5)7HJ24?ED?Z5)='>ABSZ0IGS7E&#7T4&XX-&ZZ/#;%,
MU_=YOBSJOA4&Q-I7E+?<XL1E(; V?QFVN2_;3&YB&_@7(PR=S"I<6P94]Z-+
MCPIC>YT/8UO'T1F/L9J(B6<_XYR7+WG&S1F3+7&]WRVN/Y!I?(;!GS&#8[Z*
MVFAYX.P.^6QX%*2Y&,O3BBXX(KT%U%$\H1R)2G\EIS-V\S-U%$6^CD)J/ZD[
MPSQ?/'9K3@QT^<1 VX%I3@QT7U_N?AO2-2<ERZ1N:C'YOQT_:[56JVA'L]%<
MX-7Q_1/2W/O?,A[W V][>6S7:>,VW\8:<K9V/4=+J@@Z@.WT?+Y4Z%^^;S[?
MW5R1*ZG ^H\I_<_QUT\/PW9QG'LTKE]ORJ/AE?_^* ^B6!^ITL1,[[?;";?Z
MI.\/'N18UZ67?(C^7&=-7O4%6GZ@$K-J>_R^>U^BUB<YZ#N/7SSYD)6+YVUT
M\;8  UM?L?63FPKCG,WGL_+=V[>7EY?]DD?]T_SB[5X1G6$_VK<\/F7%VYC-
MV=N1[W@C[RT2Y,3UG,%H,G&<P<1SM*_LR<067_;G/^?;29@501UK'Y=_2CW[
M1/ILI#7*%9&AOU49MWRG9[F3B4<G6-BYJ$QQC(7V1)V;$?T\L5[7'@GE/@#&
MPF#3C:V3_Z<"HY-C=4*5R9M9G["ZL>O8_U/'@O\EKK(67R['-E&MLAHGAV@I
MV?)UO+G-3;IJD6_W0#$#Y)T \J5IR9V")0/D!LC7E$W3QN_&\ZN:Y=V$[_#%
M,ECN7>L;_!N[LMPA)MBXP0,A?E_6^ED ^+']=^G$AF_H-1/Y&@/F!LP!S/W.
M0Y,!\UT&<]>=^*XW\'QWX#C^Z&T<!($S]F/^TW?[9_/S9P;B$Y4Y>1\0_]/=
MX5N6[?3O"=\&;CL"MT'GP</ [7. 6]?QG%$ <.NZH\'0W2K<GIPE12Q05O;7
MKMTA'ZZH(]?F5-R_L4R4-Q:%@5VCYAK<_>6_ ^-\-KB[69_%>.(.!@&@KN,/
MA^[;> #PZW[G/P/;W9:OXGC&(YAU)@[9M;3:ZX ;W %P]S( TW2)S_COM<\8
M&ZI+A_%O#%9(GAUR/ .\!G@1>(VSV #O%A1>=SA$QS  KSL.AI,A*+S!UA3>
M#ZSDE,:;8<>?GHSK":_ WZJT=KK"?T/1*RSD\TNLJ+\,?NF"/Y(4WG8ZAX\G
M157.>]87^A'@>*\L\R@1ESX,U^^D2..XA;?!-9$_ ^8$YL99;,!\&V ^<2<3
M9S1X&X_&CC?T$,R];8'YIZ0HY]9Q-9NE=,(/$+<ST.X9:#?0OAEH-XYI ^W;
M<$Q[SG \<H=O8]\=>N/Q5O7T8]%R[B[8+IP9@:AYLFYL%XWM\'=^3]?,G\JE
M<4$<JW!X>P:JGSU4+RU:V"G@,5#]#*!ZF4ME>UHXHAS@L-/W1X-?L90.K3^>
MZ3OF69(7EBBS$U><&H!:KV7_=^H>T""I;W(@.H=?2^L^=HH;#7X] _SR?&\R
M'$Z\M_%P$(R<[:J:-[F$ZSI[KM O_:=U"]\Q^ZP9]<"DH.TR_"ZM^=DI,#'P
M:^!W/>JCVW><V[7'\2KM<6C@JW/PM;16:J>8T<#7<X OL'T=UQ^^C<=#;QQ0
M#&JP+?C22AA0W698?)9DLN%.P;)Y'>\YYE%5)/.$+TNJ#?J#->=X+92(7A8^
M,G&C%P3'KM-W_T_GX<4 \C, 9&?@!9X7C-\"$KO.UC3)&CP/?@+4SF7+&/@-
M_\)6,CPKA=']-67++&]DD;6$[1?<!L[ A.X-!!,$FQQ;@\!;.MS@#$?NV]@;
M@5+\'7%X>Z<;/G-TJ7ZXT4-:6B<\ _58^$HYYG'Q*_CA\^=]_/$S? TCBWN6
M/Y"_',\+SN<]ZP^6SL_8><_Z;<]ZK97@ >!&U^V;Y< >;%^]-A#_(B'>_X_.
M(Y;!^%W&>!7T1Y_'>#216O9H:ZE9<X2WTR02V5D)8.!>FB;4)77O%#":ZC7(
M@FFM,[ZN<^?HV5\.K+]R!/H("[)_2'+[.$H000&G/]P#]C=3<$T_/^<.#?(;
MY"?D#XQ_Q2#_-I _\#S/P7C=R!\/)NCPGDRV[V;1,7MI"0D 1T^><#Z:U=#>
M^&16N&$FDSO -D'TL3W6STIDW/(>5#)M%83JC<E,?X\N]_=H9TJ8_A[=[_S0
M[(_I_[#A_@]&[=NHVC<P:I]1^S;JU)T,P+YWO,!QQV-G\K8 I<A&H__[UM(<
M[J[T?<DS^^!\EN97G%L?2?7)B_)/"P&X/$VB*Z7[72;S,[*RCP";DZQVPIJ4
MKNZ!G3D18+!N*R>:!N.),P03UQWXH\%HNYD$*B<53P6<9Z(R%P%>[=[<8/(
M%:?UC&O1P*X&N^8D@('=;<#NV/&'0>!@[>^![XVW"[LB;Z &6744ZQ,/"XHB
MB;8+X[N?P?J]?]RWOAT<?K)<U[4^Y]$/4$D+=#W^QLJ216=5R>?SLD=9!QN$
M]'H&(@PV-K!N8)U@?6Q<!P;7MX+KGC]T)T/ ]8D[&0?;Q76"O*4@??_@T,9B
M^G5O-P/0!J!K@)X8@#8 O0V GCA#9Q@,WL;#L3<8.UO.Z?H,:C#F<2VJWJ(*
M@M9?4KHE[JJ ?V/IU/I[5217/%T!YJ,-)^8:+#=8+H^_.0;,#9AOXT"RYPX'
M?A"\C7U_,AEOV7E]]U#=,8>MH;Q=_'K_C&6G'*LJ[,.SBCPE%7QY\S1O*$H8
MWE-!OUX3D;1N=[$>HL',SF"F.3-L,',KR0V^,\!RLUIRP]804Z0K4%SO5@UX
M?-\Z8$=I<H%G)#[G/$G3_+ZA0P69=V[_CJ,S2-I!)/4,DAHDW4XU+]]W76QL
M-@@"W]VN]KE1+/T;*^&OO[ BQ4_W!M*[A.J:T;F> =/.@JEI;V.P="NEQ=R)
MZPXF;V-O,@RVG85&[6U:+=!79$AH36Y&!%IW/VC;E10)T:''D:,W+EN#\X3S
MYDBM ?JM +WK>8.QZP'0.T[@;SE!8BDZ4^SJE@2)GG5<A3:E2J!OX!,"XYG]
M/Q6LSC3APM5;)!$Y>^E)OV?)?%G]R3OA^#U2*$P[=X/AA.$3T\_=(/B3G(Z;
M;,^!?(^0&_Y#VCP6"\[/8617ZC0<W'.8E0F\S#HI&&X5W?LQ*:,T+ZN"6__)
MSF?OZQ^_%GG$8_B^)#R6]Y;F5-V.8:3G&HPT&/D4&.FYV\-(4%0!GQ)68 %T
M #]$IJ9*^MU!RRB*SQ,$_;[[?SO/TP8%NX.""L/\[6'8?IZ54G<[*+)R+A6R
M?^05J&.?/W_MT8GA&:=UD.@&AFYL[4417#-'K>U34IP;,'OF8!88,#-@]EB5
M+OGY_\5Y].>'J'88MW;A_[8%C%_S2[!: 1;W8+)%QJ^T-EU@UI8P98;=%2VL
MJ(9^1F.7=A_%@'P,BAD4N[]*YF_1K/Q6I=QR?6:[P6OVYJT[B,5?U(FKKMQB
M%*YG#U6>@2H#50^!*L] E8&J+4*59[0J U4/@2IOBXXN'9&LKU515DQD(+IC
M2AG<[V,_4_K5]0=.#W-)6)S/,,8YTRY7%TV<H7+Z'[,B9!DO[:.?*1B*>Q'Y
MTSS'\0ST/6_HFXQV(-"YV=4SR/<D@<[)Z(F305K5C[_!XV!+KDP9Y-W$,<P,
M/?QR_ (9TT#9$Y'<(74FL?[WP[?/F.@UIZH-'_.HPEPR&T$C4=_&\EOX X:;
MY7.+S698'R?)"%T.L4T+$Q4=/@)Z6I\ ?:R01ZPJX3'S4KQESDY!I2NXA:?A
MXECB4_V,9CCJ??UENVL0ZLD0ZGC_KR^<WPQ"/1%"G;"?>9:?7UD'/^'7DBH]
M1F?\G%E_H(YSH!#E<Y+]"/%$FT*RTH#(6KLY/0I"@N?,# ]KA/5RP6.3I+:/
MUI!(#9CFQ3F;RS.M.J1@)CS>P> ;/%>D3BZ5%LJZ__/F1N#0^_@M73B_[_O^
MKXM+[<[F:UN]NJN;^-P?P499)=A_L;I4]"4;RZ$\A#H7_+<W#N^NA-Q:LNZ0
MTL)('C+5_\ Z9],$N20!6WL.0F(N3F:$DLJ !.>Y%0%+PF<+37&09.5M7LH-
M#MEZ$1OS?ZS?6 9@0)N!7Z.U8N4%_"V=*'EQ9<WPT"-\R8H"Z]:U+)"GWQG3
M+;3+W4+'IEOHSG8+?9Z8]W_)"Q-;/ 7F+_(,=<#TBHY,H]NE0\BV85QXNBTX
M.>,65TIEBIG[H &$.=8]+3CYT5KZ)[K!HGQVI<*:"TY[*\:334E8X6- BRCQ
M^/U9GN()S;[U^RP73RCXORI>4@043X)J5UFHE\Q3<?=%/H=AS.D6S_$"51/[
M-\[Q4$%O\33599*FUK0JLJ3$D +<.8/WPCN1F/(*IG(&6P"/K*> ;U\Z^SX\
ME\986B7<FF)-&0OPJ^!E*0:W+.#1LP+7.N97U..A@%'VK#]8"B,Y[UF_[5DP
MA8'?1:+632?;=?NNZS9F 9D*KO/K#4;![2.ZC?2M)/[S+S#K\^_N\+OK_/A>
M5N=PTU4#BD;#Z+Z&,3$:AM$P;B!*XO+Z6$3Y0"*]%)L8@L!8!]4>'_[ER][)
M8U!YS0/Z_=O!<8>&\V)4(3WA2VDI(#3(0R]*>*K4+[3 W<'K^$V=W<6CJ@ P
MX5A;*!(EY66*ESOQ@YY\7JVIG+'2BK'V&X4?09\X2TKXG50H>#OH&L@EXA@1
MJB8A/\.>(N$5/8BR,<0%].2"5QG<10\$Q#S+"UB'N(N*1B>MEX>"Z>(LR=NZ
MS,]*4DP*%!P&RA>8 UYN@P8"FBD\^2>/WXNWN([3!W5+W@!S2=FLY.]*/F-8
M4JKM.:5G_[(8)[I(2M!ITV1^]4[=OR0()%X7C/NCX%==]LDI"N'W=L5M[OUO
M\>]_2S#J>\/;;MMJI*RE%CM]%[ZZ?_CB^41S7NIR %OA+W_^Q?MEU=)T=AT>
MHDBLS/L[^/KY\"\'7ZS]HV]?C[[MG1P>?;EO--OK>X-UL^G"XI\G<9SRCJS_
M%MC23-],_UE/?ZLR?Y>1?-72?@15\IWU);^0=?]%6X)[9[_LDOQ_Q&I9CV3!
M9[$('Z[>;6895J>)6&J@2V:U#8_5VM;N[:.M\3%.;94/ZX%/7SE:ZV\;'>_>
M<:,EKFG(0E3\9;/#_O9Y[\O'1[]BU!_<\!)K*=;<(._&'3=QQ]W7)LQJF-58
M@Z*]8NIWDUWK6HK'10#O8O.W&E+I2[;>6;GMS/W-SVO_+.%3ZU.2L2S"Y,BC
MZ32)>''O'-N.! D?ZKU?F@UK N\=#KP/'1-X-X'WC<J"-5#IX9>/!_]KG1Q9
MGPZ_['W9/]S[;!V?[)T<_';PY63' ]Z[28,['+2</"!B^9@XXMIM+#WECG;T
M_EIT.VL/G]%.V:OIY#EHVK?;'6*P=W$O-8>0ED+E1K588H!-*K%?06@_N<-\
MZ]2]=D!6Q5C^0V3E?$^:$N??B[K$^?=9%:9)])U%T9:*K% KR>FJBNM?:3B+
MA=>MUU_W]XX^6(<?WP7>FU5E53;%?7?EL<=LX9J8;*5^[1F.6A]'P;H2^F)K
MJ.\A2[%^Q_?RC//Y#1FAZVUGH%YO?1"OMX[I];*E[$<>B:"8[XIFV-;KO;+N
M9O5&]*=:N,:3UX 2 Y<8'KL_CPT,CVV(QTK5?JW\CH=)"WZ&Y2DN. BUK3-<
MW0JN5+W@ZN%@E\_\G-=M-O_!65%:!]1.[A:6E"R(C(E=. W[W9_]AH;]-L]^
M^GFX[_Q?U1.SW[$V'-GOUCKX5P46N&'")V'"D6'"+<A 5IY]GZ;YY?;5S07I
M!P.Q/N% 'L%NNMI9\YY11A_)B&/#B.MCQ"R?\^_S_/M4158U;MP&"WZ!]U-1
MFQ8O-G%>C2M;'&88Y_Z,,S'1<A,M[WBTW#71\AV+5#[!,?7'^_VW&;/^=O#U
MZ-N)=?3)PBC[UP/XSY<3Z]O!7PZ/NW2T_>#;P4?KZ^\?/A_N6WO[^T>_?SDY
M_/(7Z]/AM]^V&'27^/@TZ',B#I?KIC>I[?CEAYP5,7F@20KD!9D)RRK-O)35
MVG N!B'4^N:Z9FXYFB49%AR059.6*:P[=<;_G@K#XN8\766(/[AUQK D5A4G
M5-D*=@.@/S^'D5QAE%5W-5@RI&6)D-8J#K9>XU/VQ3/>K(P\28O>4R4D4GI%
MZWUERZG0\O!;";G4>Y;N>/R3Q86/CZK+H@]B6OL@.(O.5%&+.9AOW+HBCX0L
M_37C19+'%E_NG^C50*;&F9'E]1K3>3C5WD^OX+<I+PI11 MKC<+EZ'OTG/>M
M6=7&HC8_NLY]_Z9O'0)75(65"P[IR;IDM]QNP<)0)_,I2XKTJH>S8FEJG<,%
M!5X*/\]@G*5X7O,(I8*IE9&[AK7);MJQ9C7**A6[@\4\<EA%(@$!_/C5>G<!
M+H.UP*+"N,O48 6[5UE @?!FK+ 'Q,NI:Q5K,@5F!1!+,DMYJQSY"V!MEI9Y
MB[\%8<#*%#$Q<MVB!GM-Q""B2[4Y,M]"T8.6=W%T025:SN92J+_^/4MJ#V#Y
M1J9DO.GI]"1=\+C/0)!858_JP.:I1:6B&WH4NBF^9@5L]"PL,$_E8Z(B(>JV
MT*L!HP54HDI^A^H=^^(=]'+O/7Y]6@@'2<'.^65>_+"2LJP0V*[4:(&PYD"5
M&$*8(=<5-.7BE&7)OR5IRQ4Z 8,H!CM(W%525?S7GN/ZUE0]_HW@%.1G60)'
M.FAX6%2LN+*0E_!L:L_B/Y%N:V\IGTZYJ+*#GVHVO@0;+.-E*1D!9U?6D%07
M][G@687_1OEI)KA[5N01WA;S$E8M;"H>EG 1C!!'.85A C5@5B,LT^Q,3A20
M0(Y=E$\&<HT$S>!<8 &OG[3%V<QD/4&@>A8CQ7 %::*NS^V-,;LEX9^/[K6'
M;?TDY.\=_P[;U\==<VQGV"%[:K>VZ)$[4F)UT:@BA@'&1*^NY2M^OE7XMY#6
M$C6ZA/ ]Y_.S/"90T<3AE$IO9^2\Q13IF(=S?"T%76) #OEBMII0>M;FF5=<
MBD]^E\QAEZ+5!_YQ H3R[GN+/I!<VZ<Y$BXCOATA[EA',P'BKX^K$(@&1%PP
M<FS/>?-T:&2 \(D\2[SF(=&Q%%3<=5NB3X^*.ZN_+D5%MZ=J)OMWL(I(]0TY
MF*>%C'Q1 XB\0!^4Q2Q4VVH2T-2H)2J48=*GH?@/K$R$Z2A]1H8;GZJ:>LF7
M<QF64Y?. #29Y$FG!8]";0&>U[U ^M81&4:MNQ(R,J3]@-9#WG85+CYNZ8AJ
M$Q$M+S)]R[[UARC\SBP1X6AI1'B4H(F!-&:Q.%V V@/>*LNFQK*0J19 $7=(
M)XO2GY1&ML+D)L?%E,?HN$ [3)593=EEXS=GLQF,E4ZR%57*Q0\PTBIM&Z-:
MF5:\HB[5JMFFZI$TIQ?F"$$CMXH0W1N*N+LKA!;,.CG+2_U720W"1+[DHH$-
M+O*,%^BA$ON'KT*"$$V(X":L,$#[R<JR*NC5+,02_I=GG#34MH-N@<^FA7!.
MU!X!783UZF=(+9X7!0 G_-^T@($(?JLG'Z45>MGD:(6?+(]XC/6KA0>S1!8D
MSD[*'^7*UZIU6FZ;W#BDGKY@BT,0K@=$!^G;P/6GH?2MXRHZTR^NI\-_ G%D
MU$,!:=Z:8S>&$(5(S^(7V!TJHGK%L(7X/MJC<\0!P3BH<:1Y*9^Y<EJMI20O
M6S. "Y96;%X_?)D;TJJ$:R2F8LC)%#@<EA%&FN "(T;&''U2#5;VT/MRR=,4
M_UUX!;K0T-DK?<!,]^<N'_P?J!6E"6@Y8I4UIH UQ56"E=-(-:R%L.::?@"$
M/!^U9!_!-H)EW2,&_PU[W!7E"P)5[*X2J440*'<N%@'C-.<5=KRAD!%/\TN"
M+O4S Q8FH5OD B-!<A4((]+Y+QYV _TJQ"UX^U5YL2BA6S\KKP8]/JH]O4(L
MLOD[Z[7[1AH!!'^"<4M\K(X*]'(Y'X&%\L'+,1N>_MI[ _!PD:<74OZ0FI!0
MN +$=)KR[)0 JZS"?XI@DNJ.EO*?UC^K^%3R+2UZ/2?)YBMVH>D6G<)G$G:@
MBZ"_6N-AI57=Q<?$?H =!>C# -+SE OHOJR[Z?00L+3!27!:,3HBBYY$&[Q6
M':=7(ROKH2U_ &)1IB/L]8W2?-57<F,WC%G=S2XP:7M=3MOS3-J>2=OK.H28
MB3ZWB;8JY*RO(,ZCRM^X@_[$>4 [C4%_%#R@<<=HW/<'CRF?X[G]X3U+_"\Y
MI+ 3-9<?2[MW">7M3#5J$B6MTD_ %,%XZ.K_:Y]\6;L%^_P6]*E7:Z\=)6<1
MF)-"V2F7K>,-N!!X_;57UNH$"CS*Y7"W:#[F*,UT+Y9PKVR\A&U]9&R7L6++
M0/!2ED]&H]-<CT8/[I&C$U>42BAR&%L).^3G(0_59=Z"'.'P.<_+><M/K-)G
M%ZZV+F7.L?8E7OL;/#O++YCU5\!"',+>!Y%FF,]%'F:9Q#)MEQH'SV9%_I,<
MT>F5]<H=>?VA!;N4HLN7!H2-_DH6R9>B&TZZ8+A,-2JML"H3RE.$R86P'&(Z
MMQ14WGT:00^5<GS)[?U3N9AZ12&#V[<(=U.Y +6DK"4! WQ(E47 KBS)YE<J
M;K$8*8WA)1AD:<<'6%)8&$Z@J!*&1V!-$B+Q.<M.$QFHDMG^KP;C_E@10T^Z
MUV180[@SD9JHUS0Z)F&!\W->"-\;4L!9,I-A%G[!TWR&-,^CLPR6_/1*$-<=
MYH<K R^%W0:Z:*T-'@V8)Q=:]%F&9-&ENG0X*T>CK0RY$L59["N1F5Q6YS*-
M3(3N:"4K[/RJ8ED4UY-CH,U&I[3B"C%3Q?\B%D3H(IFHSID'WH\Y.9C/.4.O
MIO27WVLBUW;R^D+K,ZID%W 5C:)7UA2"'ZZ31AW\4I.P"HICT3$,L6^M=Y /
MO8Z1BNB2(LB\X#!_7 9YN* G'X]+KQ)S3HO\<GXF7-!1+OJMR]_$6^5)!+B%
M_YP!6?!2N*[A:_3TL5.NW4(+4JY>$@J\YL4E9KNG>?Z#B(#>K-JG4[:VR".7
M=(!YU?DYIAG A4"J/SCUFX^3ZU!XER(,8[_O;KJ3W#/5)_\*?/0'M_::%O>U
M1HE0B8%< FZC'[U,]7)-/HX;LD\P!T'27:,5U,<WZ 2,4 I6&I\BWP"?HX%M
M^PET(N-V$?]XX:'.%<E9-3D*M:8!L)K 8J,RN2A8I&XB$QA@D"3ARH=F5]Z)
M&G>+7LS0GV+H)X*>Q=DKJ?G$"ZRS#MVK1YEB0D?D*M=A,>E)<7@/4Y, #7),
MH*+\I5;>3X,E)4]E!W<Y3(V_Z @(C>;: \1OY;5$I&M<VQR/PQ<*M6OA6<J*
MS43:)IV_K H6U9JXID"#F<RLLIJIHWZ+=DU+]\)7J<0H5-22&@&%?<2*VQZ!
M*=\RQ23)8MC  J8@53)ZO%+5YG!-C*D.,E-DB58LB*%,@&)9T:B_8HM:D%T_
M!D8\SPM*8=".RRXU#$0R2BZ?=EJ!/88AW687Q,%LS/+$=$5UAH^=\WIFA,^M
M;).&%H#.IIR200' 98H?#([&CVDIS97JW&%#/,L(X4;"J<642J-K>*G9S]T%
MC/NVLMM.G&BA1I<SOK.BI;ZJ%<CQ"PTH=7X)GVWD:3=6_JF7=6_U04ZJ2;'Q
M.)6!I2X%N3J_M+OIG3#+^N"@F+N6J)@LS/%JB,E&*N1@L=-3/+L!;ZFC#O+X
M!G*1VW><7^6Q;X&(QSQ+ "1%F52,%(AC[F-1HD@6YZ'#I'1)4X5'=]##JRY$
M-"SCI_D\H>EP=<**=. J;-B9P1!5S57M+0?Z#<?Z#7OU#>K]XC 2LU*P,ZC8
M4$7U-6"*JJZ:*KA3S>E DEA#=R)GJOO=A2WQKPIH0 9V@ KFU9RL + \KN!Q
M?>MK5905JO!RZ^XRVO:&J06!/?/<47]4[YD<JC8\E%NO?&?2G]RXL1(7F^U9
MOIXG33BR7C^J/B0IR)LX??>.%+3P/@Q;J.W'\UV1..\D3@> X4:;LVQ!6R-M
M+9\VVF:[:4':X\0"+ZP\:U.BM-"D+W'9"H@B2S]1/0!+]$P<SRK0RT8VFB#0
M1H,0IPGQ#)PHU;)P)S"VB/NYGK:A9-WK*TD%).K0#UX_]K2I+-2G 9-YGK8.
MCBV;R,L*%FM;,@=-:TZKHVH!:02ISG NW?K:ZE]^OD2&K$1$F1Q/\'QUN$12
M@CH]P]DY&/\(.L+38,DGPLK'UH\LOTQYK+#O!VQS?9A2HZO&FX HA+FB%%:4
M)+PT1*T_@4X?RJ-O<M9+W=N*NI:1;C6#Z^Y);^O2.&YT$.CEHLW1C"X?S?#-
MT8R=/9IA\MO7D=\>W-MQ^=P< CN;HK#F93:Y#,]FG3>?]" *7@BS@F)_RE#M
M+9@Q,<<0DE#RFD0)+8&+DJM EE&$;$55F>NY$&C^Z5EX2[3HA82+5:JAGH#6
M#JZJH'!3:&X*RCNF?^G)#@N:*<69R4#-(EDT6>1;YHN#:G3@&\>':K52C?FR
M-Y(N+&+4NJ&F#+_-JKZ[1;@[/'25(824LX)+EA#\+6RRPM!<DI^@93$@PXBT
MVX9'M/#_77Q+-1S@#4M2C&1=I 5#$( %3=EFEAA"Q]GU+3W!8SF37_(%8%I<
MO06N6F&LMK'B3DG8<C0 %TL23JYC"[PMCX07LBY:M&)*E*!=1^+5>LK"4D4^
M*_ Q.J[J$7_<@A5ISRH=HH&=$@OR-,/O6^O,0UB:SK*)C(2^M9>6.='"]:2]
M>A-_<,SLF564^J%\W2R-9%$N->I5*-RFLA4;<8UPFLH6-R8/;ZL15:<.,C_;
MB;XMWUH'10:\\9_L?/;>^@<@SJGU^?/79UN-LCMK_V(FJGJ E+Q K):GR*[I
M#M)C7":H+7B.X[W88CK/=J(?\G*.>L-O(#99=%:AZWRW&O'LYKK?M1]$V>BZ
M3?7%)1'XWMU[-72HKK$)A'0Y$!*80,C.!D*VT5JR$V4YOQU\_7SXEX,OUO[1
MMZ]'W_9.#H^^[';!\/6T_-0SL;[++F[?11>W;FS<_M&7XZ//AQ_W3@X^6A\Z
MM&5[G_>^[!]8QW\].#@Y?H+MZ\0BO-Z3)9+)<Y)7):-S,E)'*<_P@#0>ZGGS
MY NTU5[8K?BR'"J%@$BTW3W@/+DYWMP*A]&C'Q6!'@[[D\D#(M!N?S!^P%T/
MN,7K3[R'#/ ESNF&T/T(:#UDT8_3 I@WMB5V3.E_&RTD(-CU[K4$QMO6MNZA
M0MW_)/MSG3W0#_[RYU^\7QZ]$DN&O61E1OU!YZ3IZ@,=3:/*C1%0-Y:M2RSU
M_%;$L)EALW42E5$0C(*P>PI"[:)3+ENT,]&#82D<Z0:3KA/;,/5F8Z1UPX(*
MAG?\CBQIEQCR^:V(8=)',ZEGF-0H)[LGGE_V[%^D6;7:GU]:LOMU_,8(3Z-.
M&+9:'UM=)*7AJL?+_\E2^1^!#C2-NE,&>=*!(X9W45OWCH_;\>MMZ :;7)P=
M +&&<S:X-O4!P1V0>69!#*\8TG@A"W)OT;X%T_Y9BO9]6=M8%"-^9W#+X);!
M+2/C#:]TDS2>TX(\V'Q_H#BG:>&ACVS^;F5-HOO+?#UU=Z!*/,O7..\[HQ&L
M5 "P71@5]\,_L(;?!4NQB,)]:?@NR_E<,>\.2Y+E75^0-A&M6HE7VZ6+NP+>
MVDX&+$6\]@8\@MO^*_D)E)!]*E0QE/C/OWSZ'K#)R F<R!X[W+&#*(:_O,'$
MGKA!&(W\*/!&XU^H2A&,\QN?_OF7_>]^//5C!RZ*!]'(#F(VL<=LZ-I3/AQ.
M!LR;CCVX)V/G,/RJM$\9F[U#7M_+8OSGH&'TO?D^*PJLTO'_L)S%+U:5)>(M
MOW___?@C2''8*'B*_XL5\R@Y9VGYYU]L^$2M"N=__B7Y.7^75>=VG,]M><4O
M_ST:N#T?4U+:,_[OY\U#F\,/ ZD[2 X&4I\,4H?NF$4#9L?#L6\'?#2RF<]\
M.W2#@>L[HWCH1HN0RJ:1.^ 3;D^<R=0.PGAHAWP4V$,_8J/8FP21'SPEI X\
MOQ<,Q@92-^4\-(;%&@V+WZA'FCCDR*.J2.;8>>R,IU3[ZQRKD27S*R,27YA(
M[)*&]"(D833T N9$KCWV8S 4)@ZSP\%T8/NA[_'Q=!J.&%N'<?%7X.R3_#?)
MU\<UR\L(P\-D(!UTMO_-BQPI9.RYWGLC_HQ%8>"S"^3P(N#3<R)O.!X.;7<\
M'  4#L<V/(W;7A0&?.@,1JY[S3?S$$-B(_!YS81P':?G328&0TUL0C<ANM'L
MH":#56F(HF8RMHB/.)C:8%KTK(Q39YZ"4P%*T7!J606@#</$9.!.8C8.0,MB
M !/3<6B/I\P'SHL#APU]!GBQ#BUK+TWS2RS ]"DO/N95.)]6J5J7;_6RK!<T
MO)Z+QY960,9&MEIP)H:EGF(SW>F4LPCV<1 /'#L8NL#3T22R)[!'0U"G@]@=
MK@/SGV(SW9X_'#S)9L[_*RS>R@_Z?_53^:*"/.[[XK=>#WE\)IHYI,9O8!1?
MH_AN%@0]%@UBYME>' [M@(,PFT2!9X]&@W@T=H-PROE:)-HUP/O"YVO&/"_H
MN4/7:+W&<V  M OD\"( =!2SP!_PT!Z%:!*,QB,P"=S('H3#.';=V)GX:_$<
M; - W6'/"T8&0$WD<0<BCX?9!?R1%PDVD\KXO1L?&E'WXAC7B+I'B;K8'?+I
M-)K:T_&0@]@*!G8X\#Q[.'1Y%+B#V/7]==@*BK.O0,*MR[GE>#W?,[:!L0T,
M8':"'%X$8#(V9./1P+>G'@L!,*< F./ LV-O/ F\"1\-XK78!IL 3'_<\T;&
M%C AQ%VP!;X6?,:2V.(_9SPK95]:T7(V:AU]-C+O267>[=4@=X'G-T<P]ZJ6
M^8SE9L@=QW6&MA-XL1VPT=AFP32T77\:C-C(G431:!V&AH2- X$:>UE\A)"Q
M1TBQ7M>:[_<&P=.:'W<I'/JRN<_ M8%K ]</R#T?Q^$H#'W;CT+,BF*QS:+(
ML:?A>.#'X6 X\:[%D!]BYFP/KMU);^P_K?'S7.#Z*8,EQ%4;L)#HN3MF(IWD
M<Y8::ZA+XG47V-=X !\E&CGS?&?BNO8@9)X=C ('!%[ 8?01#R?>U(NFWEK2
MJS8A!'NNZ_;\8&B<@,8D,9C9!7)X$9@9APX+A\,0# (.IH$[ '-B.N;VP(\\
M?QCRP!U>"S,_**-J Y@YF8P!-4WQ!E/4O2.57[_D662*OYJ"EJ:@9:<6Q/"*
M(8T7L" F4[H+KK^O13Z#.5_UK%G*4!'(8BH!.SN'WTWNM#%JC5&[<:-V.)XX
MSM +I($ZB<%4C8:N/9F$7C@<C%GL3->3TB!X_2MR^EX6'R@^7V<N]:@7!(ZQ
M<8U7T !H%\CA10#HF,?1V.>!S8:19P<\C  ,O8'M38.IRZ;C<!0%ZTDRV#B
MNA.G-QR9HMDFMWH7K(?#;,ZRTP0KO H/HK$8C, S F\+IRUYZ,2Q8WO#. :!
MQYD=!GYL>R[(C\"/)L/!8#VG+15_BX 8R+F#GU%:X:+_)<_CRR1-UR3X F?8
MFPS,H2)C.1@@[00YO @@#?SQA 4NLX.1']F!,QC;H3/P[0#^%WLQ\P/'7<\I
MS*T!J3\$"\*D&9CXPTY8$(KXC:@SHLZ(NDV*NG 8^L/1P+$G/FC]0<# 9N#,
MLX>QZX=>X(Q8>,U)]A";8<WB;#(>]5S/1!2,76# LA/D\"+ DC&/1V-W:,?C
M*1@'OAO:+/("VXF&?# )@B%?CUVP9K <#P:]@6NB!R9ZL NZ_T<^Y47!8VO.
M?II3AT:R&<FV!<GF!P/N3:>^/?$&',R P<!F#.LV#J=1Y,;1R!VMQ0Q0S'V8
M1?DY/V$_:\?7VHX@#GQC%ABSP(!G)\CA18#GT,/CAYYOCX+!V [XV+?9,&1V
M%/K#23 >>=/!M4Z:#S$+-@Z>8Y.C:0($.V$D',UXP>8P/ROEK.06L3WV>*M*
M;HP&(_>,W-N"W(NBH>M'7F1/IEAT$9YJCZ?CB3UTO$DXF 1AR-?2V[!F]L_(
MZ]]PID?3WTL1-%];)Q/TD:UN@&=8QB"H05"#H.M&T'# 1E/7#@?#R XF )[A
M! P)/YZ$XU$4CISQ6BR'K2"H-^@YGHDRF"C#3A@05.H]6ZQU8D2>*1_<8:%H
MR@>+@P[#21BZSL!FX[$+8C,$L>F$H<TFH<_#P!V-_;6TH-6J!3=5D=86J'CJ
M9BG/I5ZPP><ND(S!9X//=5(I\YP(3TU,G"F8*$X,!L[0=6PV&DW' QZZ?K"6
MD]>;Q.?Q$SN#G@LZFVKNW3!X1#5W8_ 8@6H$ZLX)U&$8AH/AP+.'0>#;P=@?
MV&$8,#N<CH;!:, =+UC+R>Z-V3HCZH\R,1*UT]QFX-G LX'G^\/S8#(,.-HN
MP6@$4!M-0AMLG+$]#2: M%,VF8:3]=6?WP \#WR_%XP] \\['M\Q!L^BP6.L
MG,Z)4:_O(6_'>845PHP@O>L*O0A1&HPGSG#$F1U0_94!']GC0<SM:>AR[K,H
M'+O1^BR===6W!=O&[;GC+GD,%VAHIT2H@>9N$,V307,;5E:MUBN#T4^"T9-I
M, X=[MK^:#2V R=@]B0:#.QI-!R#1>..!I&S/G-G;1@] (P>.D][PN7Y8/2#
MXSJF']?]^G%]/MS[</CY\.3PX-C:^_+1.CXYVO_[7X\^?SSX=OPGZ^!_?C\\
M^8?I.F2Z#IFN0Z9#E^&5;I+&<UH0TXAS2X)?]IFUTH2%29K,$VY:<1KP,N#U
MY MB>,60Q@M8$%/IH@MAS+TH@C6>E]:,7;$PY<9?_L(.97?2%_XB_-PAY^/I
MB(UM)YQ,[,"?3NTQCT+;&8W#03!UN+.FK$O)XE\%A^^O-[EGTAL,S:EL$W(T
M$&H@=/NA0G\81L,@L,<#CP,<\M!F03BV?<=E0S9U@\%TM)90X28AU!OU!H/
M0&B'$Q^-O;"J,I[R'EX9J??"I%Z7E*"7(>QB-AZR<& /W2 "83<-[8D+8L^)
MIBQT1E@+=KS^>GB?%8.O5^@->D/?-3+/F T&0+M #B\"0%UW/.!NZ-O1= )@
M.'8']CCT7=MQAK[GNHQ[[K6"HH\OA[<A #6-BTV085>,!I5J@-_ +.6?91(3
MG^29$7U&]!G1MU';(>2#8!0X8#$,0CL83 =VZ+"![85Q[(>#4;PFV^%#5289
M+\O]_#Q,,F+N_9KI]W6>WY!8=+W>9&SB$<:P,.C:"7)X$>@Z<$;#,7.8/8JG
M>&)IZ-GC. [MZ80'KA>%WIKJ;#\]NOI@=9@F/B94L0M6QUX4%16/]01G(PJ-
M*#2B<*.=/D,_'$>^:X<Q"^S "X8V&XY<VYO&0S8=#CQ_N*ZD)F3NSPUOKSD^
M,>KYIJ>UL2,,>':#'%X$>$;C.!J$+K-=CW,;6WN"33#%LIQC?QAX[L1UUE/H
M;</@.7)[KF?,!!.<V 4S >QFFC/6R#CF69(7UI=\#H.)*VYYCA?TK(S/C?#K
M4!TA4RG55$I=*D!'@3.=1F _!,/)$(1AX-G,8Z$]'0UB/QJ/QR-WN [K0\,,
MPHJ-Y 4/)[U@8(JF=IOQ#%(;I#9(?7^D'CM#9Q@-1S8;32,[&$Q<>Q(-Q[8S
M'@8A<X/)P'/78>IL!:F]<= ;FH8^.Q\[,?6M%^M;1]>+Q!CY:MR Q@VX43=@
M,!J/!\'4'KA^: ?3:&*SP9C;;L#\\2AVO(GGK\.*V9C_SQT&O4GPM*;+R^83
M YM/OB!=(H<7 9M\$H6>'S-[,(W /)C&@0VX-[0'_I!/Q^.)'PZOY;@^Q*38
M&&P&3M!S)T,#FZ8V=#=*1#:MH$R5R-N1VU2^,Y7O3)5(PRM/3AK/:4%,*G47
MG(&WY4B,38Z$,7&-B;MQ$]>;1N/1<!C:F,L )JX?VF.',]L?Q#$+0L[&[K76
M2(_,;_C(P_G:6\(.7*?G!B:]VC@(#7IV@AQ>!'J.1V$X9@ZW P>/:4['(YM%
M(]<.H\%HS*<>'ZZG_LN:T7.:_.2Q_6]>Y$@;8\_UWAO@-*G5.V V?.13#H0?
M6W/VTZ00&%%G1-WV2IV%8]_S7)NY8"T$DVAJ3R9.8//)8!3YG$^C.%B'H: X
M_(3]W,OBH_D9+[3PV-KM!G_2\SU3*MF8#09+.T$.+P-+0Y>-W)%G.]'8L8/1
M&$P /QC: Y=Y@RB>QCY;2Y'Y+6.IY_><)VY7O0O,8P(07; DM$R$W%2@-Y+0
M2,*GD(3#J1?S&*0:&PX&=N"X YLQ'MK>A$5L./*'KG_-@;;&"O1K%X'_/WOO
M_MQ&<N3[_BL('_N><012KO=#VG,C-)+&JSAC<:XDKV-_<F1598W@)0$9#<J2
M__I;#5(218@:BFP0#3!WQQ0?>'7U-S]9F965)96;6A_8!W(\P10=@QSN!44U
MJ6Q5TJ!](3 & X18,Y0J@XXIBY &B2?NC*):3G6(3%%>D]BO2(+;T;,+9!>X
MDZ-OFSL+A![0B-#<6500 S;O9F.H3GEM?=U1._KAW:.9"L]Y-HXQ&+"CD,.]
M &RMV4;A"^A  HQ0&5+2%;Q2RK9O1*/FCCK2;Z&8=&HMAQ^\D+$/X<=Z66\R
M_^K&2G:+W+ELQ(Z3.Y>=M1G00@1#%K#X#*8FA!1S:JZU2)-]T#J5019!MET
M(.54[?BHK$-I6L:4'H-DF-),Z8^4+LXXJZ/I5U5: $1.M;#&5$B5T-:8:Q1Y
MD$66K5-:3+W=;4^80Z'T+A=@N+7DY=:2' .Q=V7ONI_>-4KA;,K4XID6Q9@^
ME,'<7&SUN:"N7J2P4<)PRPZ5@SM6+^14Q]T6?QV*9V5"CT$R3&@F]*=2W:R$
MC[:%/E(V0ENG^T[[ LB)G'/,5NBAFV$.OT-%NJD7N]WN=RB$YK;Z8XI]..!A
M=\KN=(_<:2E6E"@T"*-+O^A3(2130 @9E%%.>T$#!SP#.='@W%2;W=:?'8H3
M92Z/03+,9>;R1RY;2RV0J1I\1>R/FU<MS(D1J%JJ%&4M<H/+MPQSACK=48EI
MW/'^^T/A\MX?"#"8#7YM/+^\:Y?^"!UEF+V'-[/20JB'/_V=C!%]>R! E128
M(&2;M<0"KM02VDPG!R=_\T505J.H"$B^?Q&I"; &A"1<E&AJ-%8,&%0]69R<
MS%8G[8=N@O/R>6-/;O8Z^:%O53R1YH^?I//5?[A!.S=HYP;MNQD0MA66QCT8
MD!LG8<<R3QEI4O75:I'_Y\WBN$UFN_\]H7^>SE8?^)0BAA7#:M<#PK;"TK@'
M W+7E:4#+:;>40+BND<2?K[=5]R 7Y8?&XIWO<>?3G[_\6;<8<I1UVA"M1ER
M[<]@*<D#4K&07=6BREPP;&RMO<E2T*>+7<]N?L'ET?+5"E=4_@N/3^D76KYZ
M@TOZ,AO9ONT?WQ[5'=7')[1L>GBZ.#[&97?^Z/-<I;B8JU2_D:J\8DDL%Y&%
M5U!*<6#ZCG"AOT23H@Q9"%2;XW"3U.MXQD$\$/(K^=HK$KA;L8 S!+W%Y>1=
M?_73R0X,0!C,@JP&F56[W<H92$XEL%F3]L+H(.3P!K"^;]WCT]6;Q;)=6OGB
MAG?K/UZ\E\]?_'0C50M+S;BM JVT[;7</BB9!NE:K(HQJIP&65#8\L79OK?O
M%?U][UZO9U<PP4_7MQ/=:O16"(5-=+('5HW0'',!3+%8+ I)J6WI]NATU:UP
MWCOC[[RW?6Z]O[_]S*"C^94+8;((B5Y $BF#L39 \-AWJO9HR)A :I#6G%^[
MN.===_K=FKWF=6&R*@=9(*)0O6T9B(5<WSO/AHI&B:2W98_;O*YJO*M!9Z@Q
M-\[XF !]WQ-05LQ9.X6XL8MXJ.L:4(SSQ74 ,QH$_4=:_NG\%Q>_SM8W>K)8
M3A:?AX8+0+A)$3<IVFH7N*+(*1.A2M%W4O (D9KWHN:,(V:M),7A?=8Z;."3
MV/;?1AB9.Q^0,<GA7B#3RB2=-P0B]$D7:G-'%#E C+H8$:3*>9#>T8S,?2IG
MN^5>G6U@>#\2RGWAV&*^RVPR5D&)6FAKI>OC=F4A%(-0B+*+/AOC!NF$>W:E
M.T^A7C$(3F0A)(*4#5.&E(*8^PM2K@0B(9(89+/B2 9A?'GD1[O(Q]E@HA(Q
M@Y*AKS3-$5(U&4JV2E0;O#:#-%*[<-?O*(GLM M98>^;5?N4OJ8^L*F@:BHE
M>J_,9H;\EGH>_,J"&'<*>2>2#3FGZDO36Q9M^J6P0)#HP<?<."U-\INK X-(
M]D:IR.O*U6OI46@/5B<-1CH+*2L-%)PGHYVCN!U#O'DB\BLK'G;JG9N*KQ[G
M=)=ZO2+'^%' J\E3RG22:#G1<CI10NEUS?H.U*R$C+G=8Y"UQC;W: XXJ?:=
M=3E&::QW=F/N,0BFMJIFYTH,46=(CK#/K.=>S0C"H:824_1QD!6#;:O96C]U
M7^U/LSOZ;HI7?3NEWBN;<^J<(.($T5WEU*6(2E<)(OL62O6+P5B+ J%#P6I=
M5&&0G/H%^MTB._05[O%IC)Q19V".0@[W IA2)=NF,01%5-5".EFA!7,)9/$8
MC(FE2COP='%88.ZV-_ ^6,C>5V>/=-O5X_;Q>\'A\>0MS@K,YI.,;V<K/&:W
MQ6Z+W=96<S<J^^C;/-_%6L!H80&3D! C29=CR2EL+)G<9)[_V<9_:2;^?/[D
MS, O>+.A^MQ/6W R5<JS.^/Y/X-T#'*X%R 5N<W[R1%(9PE,GSC&B!YL3JX_
M0U&2'V2M[BY!:OQ4.8X+]K'.YB#B@IQ/3TZ/^]J*R6)]WF%>G+1GO:%Y-WM'
MD^-%QVUOV;'==\<VV!K=#SM8.RZ)K$\MC/ YQA9+Z#YMI@UX@U'K1.C<()OI
M+K!D?=36DXLD>3YO8*&?&TY>T.JHOL;WU_>A7;LO[;O?<*;:3X.X;TL27XKE
M*EW\D1'."&>$[R_"97)6]<5L.@<-)J0$J+,$(Q-BE2EX'";RV3'"S53'W1XB
MLE<(Y]62[4=%A,MYNQ:.@KC)_)B=+#>9/S_QO7BA?=_F)KL6M\B^FW5L$8RF
M(CPY='F0JN^7M,+9G,JS<SI<(,93JK,\&^I@+:/5-#@^^G#<UL>X9EPSKF]4
MT47>"PO*ZX;K@*JAMV_VE+RNSE>/FV<UW22NN3-<Z^BGRBO&]1ZN^5P\GE!M
MZ1Q$M;?G('87&G>ONP/X1^?MN]G5LJME5SMZ5QNC%-46L,$$,,Z)%B,9 ]E@
MMCF97-S&7KN;1$87&_P_6_-AL&*)Z,PT&,O.==3VQH!F0#.@;U F[+6UB@I@
M--@ ;6J#;6F\KC8(8ZM.=9#=+=L$M!13SP<E[N5.&(Y^KGD*_'JC/$=#>^%L
MU0/5VW]9G*9CVJ&[O=X:[^]WZ7>_/E3WPO,&LIFT)T"7^IH*FYL_+1JH)-'^
MHJK$//")\8_G96M^6$V#EE,9QA0H75+77GEBIO<X1,/T9GI_K26:2*$B"M#2
M*C!"((04+"@C"EJOJ3%\X'/EMTMOV^CM1A5%[3.]]_[ ^9'&19/OE>,]\8I\
M$"4?1+F3 ?DH["T.Q^<Q9^O9;['L_8!\=.OM7VR3DO6WUYC9NO;CH.+_KFTE
MZT_SS;>_*@GYAB:8^ZVY./_0[NIDOECUF<AE^W6;![>'_;I<M_99KB:+.EF]
MH8[Z*>\Z\;TN8Z^S.<[S;%W(T7YQTEZW>W#K=J0WOJ"O]M#]OK>^[3LW-?6B
M*;-WDWR,7=<;UJ\$\T6ACP]O][K_\_G'^_<Z:_W^(>A']9C>0YDM:3TS?]@^
M^.G)_%&9=6^/\</#_J\;]O? SLX^U/GD\^P7_SCM5K/ZX>,;KI\*-"^/WBZZ
M=0^"ATLZQM7L';4I^?O^RMMK/OPT.W]_S8!.JOW4O;-?V'Z[&>=?^SOWYM-\
M_OS3S^;'LWG[&*MF!@_Q=+5X].4?VKB>_7I]H\\F\%C;Q3W$XW_AA^[1[_[T
M21)?8^WZCEU0P<;='/:F;7^*>^&]?U,@UR?TQ_NSS4N\G2C_=7;34@O?AU#I
MRV>__/S\S\]>3)X<O?SEZ.7CU\^/7MR&;P-_O,O$NXO[LL[-7'1 ?__L=O[^
M18N)O\_FX[B+3XY>O#KZ^?G3QZ^?/9V\>MW^^<NS%Z]?W<I3#?P1CWYJ$OO+
M+R^?_>>S%Z^>_]>SR?,7[>=G.[B_HQB.'QZ?+$Z;H-H$J$UY%J<=SDLWG=#[
M3&]7D[?4_$/?#'W2!(A_O,-!VBE_^XM;3XD_OO.YW^G?NG=#[9/V?X4V45F<
MGA_Z]>CLE:40#\0?/N;^<G]XSMN.'G;4YI7->,_S7!?R:.]FW6R=$_WP\..C
MOY(,.WMQZQ^(*/]PT2.>7\692_S3%<^3#W10-WC:#9XB'PAU1V_%%W6K=Q(/
MO+K)\W[K*=](%H==)8N_-U$:]B11>C>IKZ%&XPY37U+</O?U7365.QN^F\P;
MKAK=GQ;+/N\Q^6_"93=YUF*T\L4)*%O3X74*#L<PV ,GWAB1C,A]7AVX?X3L
MSR]C"K)YLGF.U3P5FR>;)YOG6,U3LGER#,$QQ-[*;IL51F-FW-7K)]WD):T7
MYLIWMPC>JT%B@V*#8JWP>(QM/-AV6"NWFR^OBQ:N;H4VEDTL6ZVMN,44Z"6]
MH_DI/=RQ"K=<G[,'R-KA_L210HM'9%<\87/9%W'PB+"YL#CNYXA\_Z1XP Y9
M<DL=LN2W.F2-=1+]RW)13O/JCH](.;B9]35&:9C3C.Y01R-IEC(.\ W>^B17
M870@"3ZD_F1',I"$#NT[)U6V%44HEUN?Q."J<#6!C;& ,;)"JL%"(:F3]=(J
M2YOM\]=1\D_+Q<F3]F+]A_C;;/7FR6G7+IR6S^?Y^+0?\L==1^V_\EU'@WVS
M&XK3<AI]'.&18%LUHO$WJ=J;&>5A"(*I>G=4U=G+(I6$:M&#Z?O[12LMQ%IR
M$36J&,5EJCI=#*DL0.HJP22G 54R0$5FB\XHV7=7'PM5@^C[ VJF*E.5J<I4
MO1.JJE1K1ED@%FO Z.H@%"$@1*<$)AF*W:"J=<EB%A)L?RB4P?XT/_(2B%(I
M5IOV?#$>JCHOIEKR7'6+RYF<N1EX^7/Q 8]7']8MS1?]@<^3Y9GY<"IG;.[Q
MIJ>(C,SV^1B1P3VKB])4+1"\Z6./V+XD116$0=/^1,;JC2R0\27&2@E2B:IO
M>2X@19-!%T=&JI EXG@\J]YQK'+S,T7NC?5Q/,/ 9F!?,VU/7D@I'41M7 MK
M3(N"1# ]M;W1Z+(4>!G824>#Z$,+A:A/2JD (3@'9)/UPAE*^)53;W<&;,O
M'KGU,; 9V SLZP';^%K)U0RVQ!Z^[0MJ5R$TD%B2P9B2+@-;47+26 >:0H.\
ML1F2E!JR,YF4,4+&,AY@*SFFTX+V&-@[K4K:R;E]8\UMG1W<Q_DL]K;L;??*
MVVI-4KF0P.K^I'*M-82<#;A@2LC>14_FLK<E,CEJC1!;. 1&1-,?YB= *:&$
MD&B5J./QMDZKJ7:*/>ZX+9 QSAAGC-\XRV5MPD0:,#@-)H8*,58/Q2J,66)=
MET1]B?&:,9)/!,E2!!.* K11M">V@,EHXZIQX\%X7T9EM6.,C]L"&>.,<<;X
M33&.,42O8B.X#K(AV4<(50=(0BD9M#8-T)<Q7JI5QE-_!JM18+!4"$XX<)A2
M*=$('T>TNMS7;;50@S&^V]HN;E7Q;?-\LNA6W5FEUEM:XJI=S(3>OZ5YLP?N
M7\$[C'F'\2A'9,_76=E<V%S87-A<1B&.@QH1[E\QIIEU?VSRV[,^%KQF/-8L
MU5Y$P+PS\#LS3#:;I(-HF,/LP,B8(/JDP>D0D])5E)R'6._MS?RH_GFQ*-WC
M>7E%RW>S3-VKQ7$9KNIU&M5NEW7ON8GL^?21!<',O!8SB\@VH"WM ^8 !I6"
MD(T!'Y&T\5DFYX987-T^,XV=!BV8F<Q,9N9(!'&@S*1@O-<F@\HJM3ECC8!>
M65!588SH1'6#K&1NG9G*QZD*S$QN-+$W*9:7U!$N\YOU^F6A=W2\>'O2_L0Y
M%O9][/ON(EX(2KDB(&D=SXLQ?7&0LV[!@'#>A#I,3?V9G3?']_2SE3\[*U,8
MR/T9-?6<9>&(@:DY&D$<*#65T4J2CZ!%M= B@+Y[76U Q(HY5ZQ"^F%*V.^
MFGH:=URK?L^-A*DY@A$9DR .E)J.&A8%"; ^-&K&-F5$D]N7)(*/RE1M!JH8
MWSXUM9DJO]O2\+TP$BYF&4NFY14='[?KFTY^I3DM\7B=<<'2'C[K5GW9^#LN
M;&%'R([P#AQA0K1%.-\W:2,P+K50(&H+4F?JCUHISLLADB[G)O_G,X-O[O#Q
M%^8^K$=4,DQM8)?(@03S<RR".%!^(@4LN0I(7K9 0CL!T:(%BIA=#2E+N9&T
MODGZY8[Y::=!\2D!S$_FYU@$<:#\=$XX%RB!M-3S,VI(LEJH)9!0051I-]+7
M-TG$W"D_9=#3X#B1S<4O>Y.2Z?M9M.MK/_3&ULW*>OO^8LYYF+'Y06Z#<^L!
MVGM?^L/'$=UN;B@@5FTJ:&4EF+X.-8;F;(M+-AJ)KN)& ?]-<D,_GG:S.77=
MD\5)FLW7V/F,HR<7:?1XN<3VVWX-I7ORIO_V^?SQ2?,/JZ-ZQ5-^GF&:'<]6
M'^3UG7O7[EG[[K?67<34NMT&22-MR7.],PO_R!$5>Q+V)/?!DP2I3?'"@RN"
MP*@4(+6OT$(\[74FJ?,@?3;WU).H,/4[3K>Q)V%/PIZ$/<G0Y*^A%N>3@B(J
MMGA %@@B.JADI>WC :*-@Q]ODM\;'?F_"7P[#8X/L]G_JBX^S&;C,)O\C1:@
MG$QDQ\V.>S\<M\PZJVHD9$\"C T>HM82I*_--9M:)&Y42-^TXU&_!_U\!:X;
MRL,&,W668ZJ1FQ<SFAG-C+[QF9\4DPY>@9 V@C%%0RKDP6F9JLJUHMDXA>RF
M'9:VP6CO=EXFP8QF1C.CF=%;8S11>Z'D'-CB$4Q-"I*3"K0(.4F3A)4;YS+?
MM*/3-A@M]%0%SE7M9[G;0*FI\>>>GL_SXH0F=;DX^9AW6LPYW\1^DOWDGOC)
M0)1R2!52,A),DAZ"S1Y\23&0E+$%-D/DFXX^9J7/D/'SHAO*51H_]4*SIQRW
M@8W#?!C3^ZVB>XMIYVM1O@80T:<6SF"!X/O )E3K:M8B^XUE@9NDG+:'::7,
MU/G==J9E3C.GF=/,Z>UQVA<I"$L&DBJ R2*VB74UD*.7&$R-;78\1-II>YR6
MSD^5X17<'5=)?4V*?.3QYS$_6KVAY61VEG_ZX6.ETQ_YM&,^CY+/H^01N9,1
M80MBO?"(L 6Q7NY@1+AGR5BFWL_G[ZA;]1MYSN??O-X[M@357@3'AY[$'#ZY
M9#4E)350Z?<&5&<A>FR\2SY%A=;D/,A)/9\-_"R[]()60RT"F*G4NZUJ8M,8
M@6DP/EDC=XY/6]JE"M,H:*T!HP5":'"$['*0UHE"(0RQAKH]?+II]('I>=\M
M@^G)&KES>@IE!&*PD+W18*AJ")4D!.%B2B'%ZO(0*YO;HZ?TW!IVW'T=.,WR
M19JEL:.9PL<V#IQE84?'CF[_FO!%T3R=\0)$ULT)5M_"CJ@(:@K942BBF W'
M>;.LS1DOSG>BO5C,/W6"&2I[,[4[+K3?>8T*M\)C%C.+]Y;%Y(0LR1NP$1&,
MP=SBEV)!EUR2HV3B9GGFS5) VV:QG$IW[PZZ9Q8SBYG%!\+B&)Q7JK;I+8H"
MQB%!H*A E))4SCK[O'$$YLT22EMGL9RJ^Y>7OP6,N99G+$FF?N/(I)ED>X-V
MF:>S[LVZKF=1F_[3BE-.[%K9M>Z?:S4NN4C!@DG*@8F^N5:O"= $F2E$DZ0:
M(N7T9YS-NQXAU!W-GWV!D*/ZM %DZ!,;I)JZ^[>*,\JP9QRFR+AF7-_Y4KAV
M*&T5 H2CAE>I R!2@BQ-48(:+P,-D44:$*\7J5IG[ZG OVFYZ%41E%2/[AM1
MV4@8I*R1W8.T5.>D24 J(QCO57_2I8)J$$,MMGBY49%YDQ00@W0\1L(%1F/)
M_3P^6;1K_O>Z9^?'C,]DUG6G.,]T=J ,)X#8$;(CW,,$$$7M'!G(P9<6H22$
M0*X .@K-?=J@_<;Q;]^3 %K^2O.'%_EQYD:?G\.C;XH]T-I*F I_[S:,<<*'
MXQ3&\^'BV6?98%LL)'(63,T1HA<2LE;5EJR"#!OY^>])(-T=GN4T2,8SXYGQ
MS'@^&#QG*:J*#<IMQBO[F;"$:(V D%7.E+0CL=%GX7O24G>)9Z-YN90+D_8O
M.75%?T].2(W-I7(O[%L/T-Z[Y2O<J*N!^@.,FP]J;C0VEXBA2"#AC4=52M@\
M@NU&1\OTJ+A8UGNV<?R\WG>P/)14?,C,R$UM'(;$P-YO%=T#8-]-'.4$2IE4
MA))"[G<^%XA2&$@:"V892XR#[+8;R@%<KP8U3JV6[ DX+<8N@5T"NX3O<PG%
M2AD;Q2&+-JLWBA2DB 25G(VY"%&#&>1\G#MU"?UF[-WN_SL\E[#3.C&UI52<
M.J!4W'0R)]XAR+Z<??GH?/D5&^ZKMSFT2*Q83"VTH@PQ.PO!"B(9E/#V5D5A
M'WWOME-Q<2J$86\[;BOCKB@,9@;S;H(L;;+VI7BH-N@69-D":&*!H%-%95(V
M5@R1=[NS^,I.K>:3H_<EY<;H9_0S^G>#?B6%*P5M/TMOZ'?905(5(>=032I9
MI>B'R*_=76I-3[W8;0G;X;'_SLO<!DJEC3]7=F8+DT1-U/0Q9[;"]\1;*4?G
ME>^YS]U[CWI%U5D+;IS,!GPMS0.&]EWP*4*L,EN9O=5%#]-NO;?MOJG 3\O%
MR9/V>K/Y:1OBHS.WN)AW/ZXA</:XUST"GKU?+;$!<S;'Y8?G*SKIFAOM/\ER
M<7R\=J1GG2H'RI-9UURGOV_5WV,R,8Z$1C B8Q+$@3)7!5E(!P34*;4((O5Y
M(X&@0Q"^*(U(&QMF;M96?>S,53).I=EMKNJ>VQA#=P0C,B9!'"ATT?DDC)5@
M/%4PI<_RRZI 1U?0:VG+9H^/F_5/'SMTI=53:^[=R41[T'OKON5]5OA^\G:Y
M>#?KFOXXXS,V1\CK,+P.<X4SC5[9?J-_\DC-HUH/Z$L K621&G,)9F/)_.99
MH^8DSY=+?J0YM<\W6/0QE9+WIHS<R#A 82XSEZ^962HR%=G(2C(UQL9$$+)T
M4'/6C<PJTE ']FV3RUI/96 NC]S(F,O,9>;R];A<LXM*M0FRJ=7T7RQ$,A*4
M#<9+5T+-<;CDT];FRW:J[&Y/43T8+G--T;9R2R]H=5Y)Q!FE<7M(]4#U]EL6
MI^F8=NDCKU<;^/M=.LNOC]6!NDL1BZ): WBG17-]U,(891.0=:[]E[V,&R=&
MW6CK':T^+]<,%;S8J8UCJL"]I)S]<I,<OHQ$-@QGAO-Y3Q*II96J13"J)C J
M*H@Q(Q"Z3!F+*+31I_!&V^6V &<9[#3:R'1F.C.=F<X'2&='HOTG/$1+IC_*
MJ$)*(H(S4:(K@ES>J.>_T8ZV;=!9A:F*8TK\[S6=;UZ^]#49WC3O=(@IIF>X
MG+<+Z"9OJ8WL&US2P^_5Z/U-*[5Q[__R?WZG?C?DX!QVNTH>D1N/R)Y/)=E<
MV%S87-A<1B&.@QH1/KUH+//I'[&;95ZMY903IYSV,.54<I4NF039%P6&LH=$
M/D(5-J)4"47=.)[U)JNU'Z/N7VCYJH^YU]3X,O74OJ7R:H4KZH[JXQ-:MGOW
M='%\C,MN_91/B2EQ,3&E?B,O)1ZX,350W>ND%"\9C$0VS&_F]QF_I5'1.J?!
MZ)+ %$>0=#9@E)85376VA"$6='?&;_U [_;0;>8W\YOYS?S>TI)O=#X:8<%C
MSV^T%H+( 5QR.DJ,4=F-^?=-EGQWQF_U0(_I+-&]YO=.SPGBI->%>_1T=GS:
MK&7RPXO%BB::S^IF_\O^=Q_]+YFJE)<9VO\(C$,- ;.%*# &KTTIA-O(?YT#
MY(XR8.R!.8+B"(H)?H@$=Q:MU!&A6%'!D-.02D PP3OOE,LD\C8R8'=(</U
M\1H&$YP)S@0_1((+D5.6SH)/)H")H4 *R8,N+M10LJIQHR'=$#FP.R2X8H*/
MH/L&;XWXMGG^;3V*5";8K@Y_I69S)R?-3->[)+K)XG35K7#>7R-OF>"B5BYJ
M'>6([/DTE,V%S87-A<UE%.(XJ!'AU>.QS+-YRP2GJ_8SQWF?LU0EZXRB0K#1
M@PG.0E#5@W<Q>E>+JMH,L5+\,0A_?!:#OS@]2;0\JNOD4W?T.03?K. Z"],O
MIJ7$;QV;::=>[?8$MP-*3/'2PDADPZR^YZPFPF B"1"^.C!&1T@I*$ RJ3J%
MU9:-\^)NLB9\QZPVCED]>K-C5C.KF=7?<8A]JB'+*J$X1V"R2A!,35"R4EHU
M()<ZR-F>=\QJ(7G;VLX7?#EQQ=L>.(?%OI9][?EN\51+2<F#C*[WFR9"I&)
MY4Q:ENIPF-T.5_C:<WQLN-S;>ELWU=ZSMQV[X7%DQ+1F6G_'S@:C3$FB0%$Q
M@HE* PI= =O_&=>@W/Y_BUFL;=':3XWEV&CTAL>T9EHSK;\GCV5BZ?-84J<
MQEF"*-K<FG+U+E+5)FYT8AHPC[4]6BMNH+?-3-;=G.2PD=+:U^S52,L##R,A
MQ=6D7$W*Q==L+J,0!X\(FPN+XWZ.R)WO51AHA7?\2[@O:#69K0__X\7;L268
M=JZDD?3"& ?*AM]!D!P%90N@5AF,H K)HP;,R;@@/9)V0ZR^;N-X3VVG-KJ=
MYH'V(L/#^?B#%@3C\NYP:;6I(>0(6FL#QEO1<.DJJ!!\L25HC'Q6_;C,@WG)
MO&1>[FIZZ83Q6&PC7K^8Z!6V[U!!PV4TP6MJDTT^/7Y4YL'-S\:3&#E:O:%E
MW_&L/?(-S;O9.SI/E$Q^.&Y*_R/W/.-,+V=Z1SDB>S[78W-A<V%S87,9A3@.
M:D2XY]E8IM<_+99MW.>3?+I<TCQ_F*R6..^.<1W 8OG':;<Z:8_D1<FQ98V^
M++\5#_KJVVYQ/"M<\W[= 1H'4F]AO#]\'-&M)K"B4"8+J4"G4,$(&R 8%:#6
M(+.*&+7=.,GE)NNCZTC_R<5 _W,^ZQQ33\XI];J'U-F'?#POKS\CZ_$G8KV@
MU5%]C>^OGPGKVANT[WYKQ75JY)@*[[\0]B[+[J^74[[CW@1[/J5FO\%^8V_]
MAO ^"(4>K"4-QD2"E)P &[*,1D@GC1]BH7@__(;T4RL".PYV'.PXV'&PX_B&
MX]#25(^$+5HP?9M09P&-=D#)%)-E+:0'V;*[)XXC3*/?[1+\X3F..^]==V\V
M,CSYRDH]9P_'[<Q'TS-CE'5I][AY1G7H?!0!= C-$^N*D%"U<,QI;/%;=:'J
M(5)_7W'"W^].OYVV4U,9U(B\Z%XWS."X:R2R850SJL]0K<A*7UT&20D;JGV"
M6)4%@=):E#KK8;)MVT>U=&%J[)@B'F8ULYI9S:P>+,'EBXP^1HBV38R-J@Y0
M&H1JE9?:YS;I'B3!=0>L%G&J^:BRH;>1M'^Q??SUM]?XU*[].&CVXAJ*O_1I
MOOGV5XS#ZS<TP=QO[<#YAW93)_/%JCT1E^W7S53:PWY=XO'D+2Y7DT6=K-Y0
M1[U5K%./V!]X4&=SG.=9>U"W:K_HT[#=@QOFJ >XH,F%>]K?NC)[-\G'V'6]
MX'\EF"\*?7QX&_'^S^>?[]_KFL'W#T$_JL?T'LIL26M+>M@^^>G)_%&9=6^/
M\</#_J\;1O# SLX^U'D*\^P7?6)Z5C]\?,/U4X'FY=';13=;O_:2^B3V.VHF
M]+Z_]/::#S]9T_MKFHQ4^ZD^Y[ZPP'8SSK_V=^[-IZSP^:>?S8]G\_8Q5DV,
M#_%TM7CTY1_:N)[]>GVCSU+#6-O%/<3C?^&'[M'O_O1)$E]CX/J.75#!QMT<
M]J9M?U)VX;U_4R#7Y^3'^W/W"=WKBO)?9S<M+8[+$"I]^>R7GY__^=F+R9.C
ME[\<O7S\^OG1BTN4N8NQ6$]<+J+W[Y^!V[Y=Y/]YTRZ8EMW?Z9^GXQBY)T<O
M7AW]_/SIX]?/GDY>O6[__.79B]>O)K=Q#P-_Q*.?V@<[>O)___/HYZ?/7K[Z
M?_Y74-(_FCS[__[Z_/5_[^ NCV)0?GA\LCAMLFH3@.;R%Z<=SDLWG=#[3/VR
M8]\J>=(DB'^\PP':*?7ZBUM/!S^^\SGM^[?NX=\^:?]7:-.#Q6ES\[/W5!Z=
MO;(4XH'XP\<9<KNAQ_BVHX<=M3E5,]_S=<L+:Z#O9MTLS8YGJP\//S[Z*XN;
M9R^NU0,9]1\N^J'SJSAS1'^ZXGGR3IX2'C@SV@]WH^M1BJ^'KX>OY\;7X[9Q
M/=^H) G?W,DVEL8/8;_3M;?,5N_+U7_:7.MNO[GVNPH5OU%",]38#3?]_$91
MTLEB/GG5!RI;$]AUJN3&,+!C,LI#&X\A]\#O-[#XZN_OU;,5L [XZK?4#^4@
M_"2/!X\'VPYK97M]A#CY,B;-[??5#TFC^Y=\.3L*=;*H_Y&6?_I_STY"77_[
MP__Z[DW=G(RYM9&>S$HYI@-W#&RVMS;;7W"YMM+_PN/3[][!R7;*=LIV>B=V
M^KB-05\8B,=K<_T%9P6>S]??/\&WLU7[/1LO&R\;[RB--^?3D]/COJ)R;;'K
MEB1GMGMQ[\;Z-\_/3SWHVY/PQ)EMFFUZ/VSZ&2[G;5"Z/YT%O4^ISO)LQ1;,
M^2FVUS'8Z^O%ZGSN_.K"1H;_?6:[_SR=K3ZPJ>XX73^6IEO;!,(M=AG_B,<X
MSS3!U>0I95JG6[6<3OJ..^,\PV^H@=S5L1W#'VBW36F-J6G$.+;T?SGN@V_P
M+RJ65+0 :3."P: AH590!)(FQ%C3QAFY9$T1$1TDA15,(82($B'GZD30,J+?
MZ)MUMIAR=+KJ5CCO1_J+;?WKO5+=Q?W\SU_\]!L;^JV9>B>F0?L1'OK(-L(4
M'8N#'DD7E7N!TR 1J<0,CFS#J>EQ:I,%6V/$4(NKV0R"TPOS_[.9_T!M4JS9
M;>=WQBGC=&P*89SN"J>VX2][V]#HBP+3]PM,649 $Q)5%+%-4R_CU&AE=9 >
MM/0-P=(8"*%Q6"=2)<2^2?M&^ZFMX51.39NC>H8J0Y6ARE =!513;5/2X 2D
MJ H8%24@-K*6Z'QLN"2T=!FJ 6M()D20.1&8*-ISH@\@J\-B;7NAOKWV'4%5
M346P#%0&*@.5@3H"H.;<SS)SFZ46T0)X*A6BT!&RJQ0P"45J8Y:JA,I)4  B
MYZ"1-4%4-D.H67G7OEB7[@RHSDZ]BTQ4)BH3E8DZ J)6TKJB2T!%MBFJ26VR
MZOJ$:FCANZ?4YG]J(XVJM2\Y:PA9YOZ(  D!0R.JR2HIX8V]T[C?JCB5=K?]
MIO<!JM]=:3&VX\U&6FGQ@E:[/M.,7=D>V^6!*^06EK5N?JM8,/=+,(P45@@C
MA07#2&&%,%)8,.,4#".%%<)(8<$P4E@A![,:(&T1F7+L-Z5X,"IXB)@\"*E3
M,!J5J!M%U5Z1D_W1PM0?$VQRK!!+KN!%D0&]"]67RZL!+VAUUKF@[ULPU$*
M"E,5=WM$,)L(0Y05<L\AFC*1B%&!L"DT(.H ,:CVH_'55(64Q<:2ZDU.\F6(
M[M%:*N]:OY9%/>^ZT_6V]45M%K(^H&5]DF2OVJ;CM%IW8#B[+Q>_ME=HH]$U
MJ8X3:.SRQFW/NU?(7KL\8T4PT4D(H7TQ2FD(B30D8:6VR6E2^;++PR0-:>,@
M1=%<GFW/05-:!.%4#LJ1$^KKFS%[1E!Y>KIL(_T++6>+<K;E_<DG!AS5OS9G
MV-UZXSOO=Q^_W3!962&<Y&7![(M@&"D'H)"]GJSY&)7SLH#"U$^W4NVW>CO(
MR:,59"R)C49$R5E9,3E0,A 840F250%\$%[7JFM2&TG>*R9KZ][QWYZKW6+#
M(L_81F\\C%=6",_86##[(AA&"BN$D<*"8:2P0@XF"(S69>FU Y0Q]5T1$((,
M%E)*)%.2MN0ZQ"(U!X%C-![>"KR=Y>MG[VF99]UZ^?ILW7KQMA=@-\%YF;RC
M;M6N[HHE[$]/Z6V@&R?RV"F.VZYWKY#]=HK9U=@O1)MD?/M" D+T"C1F(6NA
MX,SVE['77W_$CDI_W!?-.^P_X:W7LK404Z^XLFO\)L20984<,&1-PR4IBF#7
M#2Y1M:##10NY:A54D<;@1@^W 2&[CCRNP=B;AQ^:&3MZ"V+&LD(.F+'!8C*Q
M&, 0$$Q-"K#&1EL7A"HBY[3)V*&7^+?+V&GPCCD[>BMBSK)">&&.!;,O@F&D
ML$(8*2P81@HKY&"B04=5F=A"N:QT?TY7E8"R6D@ZI*BJL+D.LB%]I]$@'ZK
M>]9'MF?][>FR_\MJLEI,5F]H@OF?I[-NUHOSBAJ 2_4 C]^U!Q>:/)_G!^/D
M(GO.<=O\[A6RUYY3NEI(:0)I^IQHB0IB40:\R\Y5]!C31D& ]T4(5Q(DOSY1
M0T=(V1-XD[*S-BO?]]#ZCH* QY^Q<?LM[<K+J8B<.AV_X3!:62$'C-8<0DQ!
M9S#*&S"4$X08))087<@DO!(;9V,.B-9U4'(E6;GV^)#MALG*"CE@LB(92B0)
M4G\^IM$H(#280O Y15M$\&EC?[]MCP]"6) 9=:.QJ!!M3%!K<2['D(3:-5F#
MFD;'$]?Q&P_CE17""W0LF'T1#".%%<)(8<$P4E@A!Q,$NI)3\<) 5"W^,ZI$
M"-8(4.W;3,I2"P,O!X$Z"4TB&5!5(1B#'E)T"D(U-OF02U)V#$%@X""0]_?O
M9*G_-;Z?_&NV>M,?9-^N8]+,[7Q3_V11KUC37[8'+&=Y1>6L+&"<L&-W.&Z+
MWKU"MNL.KV&4EV[-%4/XP\?1NT-GJ[RNJ:0,0N0,Q@L)J=H*5@F+%4W51@^R
MI76]X/\+SLI/BV5CT=\^HZC]8DN- Z2<*F'NF<O]4B)7J>&/X[149CFSG+,E
M+)A]$0PCY0 4PM/#;U21ZIQBC.!C:-/#*@1@( G>>)U+3+;-!(?8C?^X_..T
M6YVTC]*]I&-L$>?KQ4UFB;>H?IJ&>-\.31K[5/'C9][BL'P& V/]P+#.,T46
MS'@$PTAAA3!26#",%%8(!Y_7ZVDLA3;H3 L^M0?3]_@/3F0(6KJ:G18JR"$V
M_W/PN6?!)[<#V$Z-P+HB!E(O\KX=P">53^A]_SV-DZ#L8]G'\K2=!;,O@F&D
ML$(8*2P81@HKY&"*]C%575UR4$.V?:RN(692H+S,I2&IRA &7BA^O7C<QKK_
M#'C<%Q8^GS_!M[,5'J]#]70Y5'])9R7]](J6[V:9SJK]7U)>_#I?O\JZ\'^H
M@-Y/K1#W+*+?1Z-C++-">*;'@MD7P3!26"&,%!8,(X45<C#!HRLHC+8&@L78
M-T=4$%P2@-H)*0AKK1O!XRT7>CEXW'NCXYWBVUD%?KT\)3A]>]83OEMUD^59
M4<3'7O!/*=-)HN5$"26^V0U^=D5[^7$BE)WLN.W]P!7"\W86#".%%<)(8<$P
M4E@A]S,58$TJ-A<#"ET"0\Y!S$5"3%22*"):OU'S7;T6(1H"YWS?C\9*2/TF
M95+2:J0@5<@[;OXFC>5X?O26PVQEA?!TC06S+X)AI+!"&"DL&$8**^1@(D!C
MI74V5= J(1@G":)$ :@,Y1"J#,E=C@"E#"7HZ" I8\!D%R"TN ]D"*68DDMT
M@B/ T5L.[^O=UHHNSKOCLZV\^*D&8ISLNL_>+379TO+3;Q[8MZM)MSB>E<G'
MV[X/5KP]#?WV^(Q"9?LUZ?[&H)[A5>A[+KM1B(K1M=<:8G0QNAA=C*X]U!"C
MB]'%Z&)T[:&&AD,7MVF\,F$KO? FB HJ>0-&HX%H:H#B*14?14/9QAD!.63I
MG/!@?(Y@$",@D0<O7<B"HD/<W+V3\^G)Z7HKPM'J#2W[_3E+>D/S;O:.GL_S
MXH1^7G3=3XLEM8%^<KI<TCQ_N)#[^KS]YP6MCNIK?'_]W&[77K)]]UM)WC"-
M7NXTSSM.QS+VDP;8P["'X<DQ3X[W17:C$!6C:Z\UQ)/CNZAFT%5@C1*"(0G&
MA=*^<[;-D$,4L<V.D]VH9P\J2BE\@%1*FR%'M!!\2H"E)BT=NI VJAEX<KR_
MCN4N.Z'S'OAK&?./>+S>N(ZKS]O=M9SV6]XE>_JQ>?K[[<?'X:6W[$>+(C)>
M&G U(YBD,@12 8H.MMA PN1\V8^*8*RWMH#(-8.A(@&=SB"LR^UC-<^L_=?/
M*3\Z774KG/<C?>M#R*V=:B6G[:-P_=_H;80I.KZ)S^_'*96]QFEUQJ-Q$92F
M L;W:!0I@\_&ZJAS<;31<>M&..V+K/M#E&C9/?OGZ6SU8:!R:FLUXY1QRCAE
MG(X!IQA%DL6"L\Z!T<D"^A0!JQ<)@S?%^(TET(R(VGE(/M4VH\4*F$Q[MHJI
M?:SV<E7>&4[EU'HUU8:[#C)4&:H,U<-/S-=85)NW>I!1)C!51 @F5TAM8HR1
MK+)1#%&U<AMD7S.O[J8AN'L&;BXH88(SP4<^+;;%B)J< 2T%-<;:-L4U$L%&
M5;U1I2AO-[(,7DNL6D&IL4V+/37&AIB LK"4^OFU&)2QWT9K-%/A>%+,DV)&
M*B-U#$CMVQEJCP&R$6W:FJR"J)4%;YP5T1J!<:,[QDWJ2;:8:?!6-*CR:AAW
MP]A-;<<+6DUFZXJH<?*)7=FX[?+ %;)?I>(LF)T+AI'""F&DL& 8*:P01@H+
M9IR"8:2P0A@I+!A&"BOD8%8#DC68 P6PNF0P04:(I6J0V0D7,99H<6,UH-C@
MDX^@R%<PVAL(W@8P5'7U5%,D?7DUX 6M/N\A'6HA(-AIM)&7 49O(@Q15L@!
M0U2G;*30#D)1"8P5"M!7#U%A(>&4<+BQM;!FC.030;(4&WA+>XZ- F(T1AAM
M7#6.(3H>$^%]\MM92WU^Q0GOO6J;CM/JBO/AVRNTT>B:5,<)-'9YX[;GW2MD
MKUV>;Y-]Z]%!"P0(C% 5,"0#-E>M;+*AA(TJ(B.C%R$V'#:_V)[CL3TG%+#*
M%&N+D3:E:YZQ<[;)_LDG!AS5OS9GV-UZJ[W:;7<9-AQ&*RODGJ,5A0S:$8&U
M1H%1KM]2%!"<MT'$G*JL&RF9 =&Z/K[LVV2]1;3!>!V]\3!>62&\*?2F&Y8L
MQ4K%@,A!@*FH &L#L=)>6HT:S>:&)2254](%I#0()GH+R0F"4F04L>180K@C
M>%]OO^A]J[SGK:*,\P/&.==$L&#&(QA&"BN$D<*"8:2P0CCHO&;S.%(6,8-3
M2H$A+(")'"@KM4(KO$P;O3AO4G^PTZ"3^Q-MKZ<_[_N^EO4]>T_+/.O6M0IG
M10J+M[T2NPG.R^0==:MV=5?4*WQZ2F\5W3@1RTZ8G? !+ZQ9'WT))H#4V8$Q
M.D),0D'T26F+)A<;MUZSL/[Z(W94^@-V:-ZMS\ZY=>&"5FXJH[IG/G(?38@A
MRPHY8,CZI(6PT4%-LL45V6J(N7A(E%34H?B<RK:K%Z[!V)N7,/"I >.W(&8L
M*^2 &9M)H,UD00F%8*HK$"D9*,&':%0J4F\<%C!TD<%V&3OUPC!G1V]%S%E6
M""\$LF#V13",%%8((X4%PTAAA1Q,-.A)>!$]@I/DP:"M$$A;<+'TC0=2LG*0
M[@,[C0;O6\DY-R@8RZ+_:WP_^==L]:8_RJ!=QZ39W?E*_V11KUCL7[8'+&=Y
M1>5LT7^<U&._.&Z+WKU"N.;N2J];2@S.(4+2SO9K5@6BU/VY*$77YG:M5AM>
M]T;K7.MB@%]P5GY:+!N+_O891>T76ZHF"'$:_7TK)N!=7LQR9OF]9'E-F/JE
MM"0H@,DJ0ZS2 LD4C1.R.%>'8/GC\H_3;G72/DKWDHZQ30]?+VZ"=.Z_P$QG
MIC/3F>E7,UW8)+PS!!DS@BF1("(2V"QUJ"%;C&F(&HD1,-U/A;QO^3$&.X/]
M@,'.:YPLF/$(AI'""F&DL& 8*:P0#C^O%7X:5S#8X""AUF"TS!"J4A"LUB$+
M(U/00Q1EC"3\#!Q^<G.&W=9IK,N3FKDUE?<'27R2^83>]]_3.!'*3I:=+,_;
M63#[(AA&"BN$D<*"8:2P0@YF!X6+L3@M!*B*$HPRH@7KV8&U.LN(Q9D@!UXK
M?KUXW,:Z_PQXW!=W/I\_P;>S%1ZO8_5T.59_2?\\G77M0E_1\MTLT]G6BY>4
M%[_.UZ^RWH4Q4$2O_%3+^]9N<1^-CK',"N&9'@MF7P3#2&&%,%)8,(P45LC!
M!(^V" Q)$1B#%4P0$1"# :$#556USV5C\\@M5WHY>-Q[H^/=^MM9!7Y^TAZW
MZAOTK][0!,M9@_[^Y\>O_CI10@D0;IP49#\Y;I,]<(7PU)L%PTAAA3!26#",
M%%;(2*/YO:X*KS&5K*R"J*,"4Y* $ ,!4HFE%"1KQ>5<@2JD9142:M .3,@*
MDM<"I!*B_1N%P/+55GU]_3<MNV<M^%]]&/HT/AVGPHM[%N;SIF,&]P&#F^>"
M+)CQ"(:1<@ *V>N5'=2"#)&#D/H6C]H11%,*5!<"UB21 EZ>K;F88E5"@ZFU
M;POF!*!.&E*62:92<JAYR-G:;VW-4Y;/*QN_F3!(62$<5-^T>R,%&REEB*'G
MK@X%DI091+"R7V17Q6]TXL60O!#2@W>R81I=AA0;ID-TP1N3?=5X]T&UDM/
MG;QX*_6N%]%?+W'>'9_MGL9/92?C!.-]=IVIR9:6GW[SP+Y=3;K%\:Q,/M[V
M^^U<?WM\1J&R_4J-?&-0S_ J]#V7W2A$Q>C::PTQNAA=C"Y&UQYJB-'%Z&)T
M,;KV4$/#H8OSM5?F:Y5 *14*"!0]&!L"H#,!7-(R5FDB&KJ<KXT)24L,('*6
M8'1*D+PT[<?J8@H%K?8;&Z9R/CTY7??$/%J]H66_)6I);VC>S=[1\WE>G-#/
MBZ[[:;&D-M!/3I=+FN</%W)?GW=<O:#547V-[X=.^$H_M6*WO3/'Z5BXTHH]
M#'L8GASO,\/&)+M1B(K1M=<:XLGQ'4R.=?)1HLT@7+)@8HR /BDHUB.5@%YY
MMU',4+.TU!]P)F(%DXJ#1-Z TQE]4=%D;7AR?#B.Y2XK)KCMP+6,^4<\QGFF
M":XF3RG32:+E1,MIWW! L:<?FZ>_WWY\'%YZVWZ49% E.]!!*3#">.@+^R!*
M54P1IEH*E_UH\-4ZXTI_6F@$TY=ZQQ0S*.=+RLG5@G:C*+#ON-,=G:ZZ%<[[
MD?[""W;KOUYT?\]?_/0;;L_:J;5^ZN)].U-E'VV$*3J^B<_OQRF5O<:IS]H'
M6R*(X#48&0U@C@FLDZ(HHS"ZC8W+-\+IMK;"6,L]R1BGC%/&Z1APFF06,M=^
M^TEJ:*R^ **6D'/&8A$EI0V<1K+6I"+!D*A@4&";S)H$I07HNDHMO11WM[-P
M:HV?*L=09:@R5!FJAY^8ER&Y0%:#3+E'MHD02K80(M7H@[0VQ2&J5NZ@=8^9
MZFCN&;BYH(0)S@0?^;0XAI HNP(EQ=3FN;%-<6ORH*2IJ6#$+#<8:S4&J9*#
M!MO4MU23C<M%@\[*ZFQ#RFI0QOY&5[0V*?;JGK&5)\6,5$;J.)$J?$S:1 U*
M2 <FRP11F0)!V"25R>CS1@^CF]23;#'3$*68>G'?>DW>P9$2W WC6H;U@E:3
MV;HB:CK!;K*D;M6738T35NS7QFVD!ZZ0_:H;9\'L7#",%%8((X4%PTAAA3!2
M6##C% PCA17"2&'!,%)8(0>S-%"3]L4) NE(]%6%'D+4"K15)FM,7J"\O#20
M:TB(44*DTIX3<P:DA.TY@8K+M@:QT3?[!:T^;R@=:J'53FWDXL/Q6P@SE!5R
MP SU3B3OT$'(??5)+16BK (L&K+1* IEHY";R.2H-4),UH,1_5X:EP2H_G1R
M(=$J49FAH[$0WC*_G675YUUWNMXSOZC-0$Y.%OV++O+_]*)M,DZK_TC+/YW?
ME\VO[77:F'1-L..D&ON]<5OU[A6RUWXO!!%1QP!!A'Y[/5; E!&DT6ATL#)F
MM5$-;ZC%%[E %+D]1Y< 24L!S@B1G<T.B_QJ65%/"BI/3Y=MI'^AY6Q1SG;=
M/_G$@*/ZU^81NUOOO><M]^.W&R8K*X03O2R8?1$,(^4 %,(;(Z^<"MJD5+7%
M@O+]5+#?QAZ=MU"$, DQ*XO^\E10U:2%%1&R+1E,U;I-'XT#)!UTK#$F]_4*
M\\VIX'_A\2E]>R8X1"_"^W:*+N^79)X?,,]YBLB"&8]@&"FL$$8*"X:1P@KA
MJ/-ZQ4NHH[.!(!%),-D)"$$)*%63\D:3KQO]?6^R\,Y1YYY$G;S[>3O+],_>
MTS+/NO4R_=GZ_.)MK\1N@O,R>4?=JEW=%4OUGY[2FT4W3L:R%V8O?, +]4GG
M:B45H$0:C)$!T&@%0B-)G<A]Y3R9P1?JUU]_Q(Y*?\P,S;OU"3*W7JU75DY#
MX JV\9L00Y85<L"0=2:5&)."H!I:32X5D&S?;LD;DZ21OI0M0G8=C%R#L;<H
M%6;&CMZ"F+&LD -FK,?4YJQ2@A?"@B&I(&:4(%+[ZAP%+S9Z@PY=9K!5QLJI
M\,S9\5L1<Y85PBN!+)A]$0PCA17"2&'!,%)8(0<3#=;DDS0J QJ'8&(($&2Q
MH&LJL?H6$(JT[>7_K4>#O++!>_-WL^C_DMZ>+O,;[#9VYX^39>SMQFVGNU<(
ME])=G5E5(<9L%,@L"QBK- 1T!%YZ&Y,P4H3-PTAONGKUF2Q?J1.X3D7 ]2KG
MHIJ*>-^.#.$]6XQP1OA]1+AQ(H3< AIC0Q\.F011)@DI"$G)FI#%UA&^CHF&
MBGZ8W$QN)C>3^_#)G51&I;$GMP=3HX0@O0)?$P4M@S5Q(Y%UX[*&NR"WF>I@
M&=^,;\;WH>";%Q]9,.,1#".%%<)(8<$P4E@A'&1>[Q!XYT@FYT'JK,$X(2#Y
MY""AH]SO"8UFD%,*[C3(O&_5$=P;871E$J_Q_>1?L]6;-XOC_CHFS>#.&R),
M%O6*G@C]\?'+65Y1X8(*=K?L;@_0W48,(?0)65G1]BMK%4)NCE=YYVU2%*L>
M9C5N72'Q"\[*3XME8]'?/J.H_6)+31>\GWH;V?=R@I=9SBP_>)8;C$%D3R Q
M"C V)L 4$*2+UJ4:4),>@N6/RS].N]5)^RC=2SK&-CU\O;@)TKGF@IG.3&>F
M,].O9CI%IX/3#>=>93#9& AM4@ZAAFB-4-X&,T3-Q0B8KJ=*<:*,P<Y@/QBP
M\](I"V8\@F&DL$(8*2P81@HKA,//ZU5C%*D*H@&O)8*1T??[;1.$@"W&=#YF
MS$-48XPD_/0<?FZM3H/;65S+#OL&+CC/&\TL)F]/E_U?5I/58K)Z0Y,K:C8N
M?L7\S]-9-UO;<WNYGX[I_8^S1?>AFTZ>S_.#<=*8_37[ZP/N!E5TRC$G"\&Y
M"@9%!:P40%.00B@L6M<-C^JC=B$GB*)0>X[!YH6E!A%3C;)(]/W&N^\XY.+Q
M9S!<JY'%MQNNRZF1]VT;W3[:#9.5%<+)%1;,O@B&D7( "MGKR9K/(GHA'-A2
M$4RI M 20;8&*V:OA=I8?:=H?=*4(?F0SB9XR0L+V;NB@W3MM]_5NO/*N=K-
M<QUV:AQ/V,9O.TQ75@A/V%@P^R(81@HKA)'"@F&DL$(.)@:T3J@::P%OO +C
ME(6$L8)-GDJ4U8JRL:M&1:)JC8'8'V=M2GMB< ;;CS)FJ;4S.7 ,N >VP]T(
M]FZ5^R_4WF/Q#B?_>=[IX/&/XZ0B^\UQV_[N%;+7?C.'2$D0 DD1P7@K(99H
M02?MLHD"<?.H!I3"4W4>B'( (TWSF[8J* :CL9AS$&5W"]U6356\;^T$]M%N
MF*RLD ,FJU'2Q.@0@I<$AG(++!0U:%;1L*H119!;).NV(I+[MJE_'^V&R<H*
M.6"RUE*%[',]-?=K]RE52*0E)%&JC<FE:.-ELN8L?!#8'NY3^R*#@6BD DLA
M^9Q<4!EW3-8PE4(S74=O.TQ75@@OSK%@]D4PC!16"".%!<-(884<3 RH3(A)
M&0VN]FW7=+&02NU+P)-H(9W,RH;+,:!$[5S,'J@@@2G1M^<8!2A<]2DK:5,<
M00QH. 8<>KV?=[4/N][_^%U3?:'I=1;^^SWL:T-L(]/>IO^V:\]=KMM"3 B7
M\\7I:O(6/_1])<9)2O:EX^;![A6RU[XT>(.HE0=1^E4G\AE"%@ZB0IO;3^C,
M1C[U>SI2+YO=?[L X,DG/#RY2(=G9W#XY8P-MR\-,&KJ%"]@C=^<&+BL$,Z'
ML&#V13",E -0R%[/X5PHVL:H(9L0VWPL. C"&L#H@\-:,8B-AD7?TX'^6W.X
M=3+D6E.X@;(D?JH45WB.WZ*8N:P0GL:Q8/9%,(P45@@CA07#2&&%'$QD:*.U
M10<#CK" B88@!%)@D@K4%T^3W^R.]AW-X3DRW#N+XOWRVUD_7UL!I/[L@W[]
M_-/A!Q-ZWW]/XZ0;^[]Q6^N!*X2GU"P81@HKA)'"@F&DL$+N9Y1NJE-*:P=1
MYA9Q:RLA!:>A"I-:-*YRP8UZ]EN>(/YZ\;B-=?\9\/@7G)7G\R?X=K;"XW5-
M7KI\@MM+.JMVIU>T?#?+=!;AOZ2\^'6^?I5UL#]0'*_LU'IN?#=^HV,LLT)X
MIL>"V1?!,%)8(8P4%@PCA15R,,%C5"JBRQ)\MKG?V.P@%*DA^1CZ;JX^^XTF
MKK<\_YN#Q[TW.MY%O9U5X">+^?JJTC%-YHL534X695;;1?8J'"?]V#^.VU0/
M7"$\Y6;!,%)8(8P4%@PCA15R7Z/XJ*OQ#JJ@"L:4 EASA91K\>1S,K?;PGN=
MEF9GL4O7/M11O1#'O*+<'KF:T5!]SM341V[$,GZ#8N2R0G@6QX+9%\$P4E@A
MC!06#".%%7(P@:%#G9+1 4P. DQH,6%PT4)0+MM<,.N0AEC>Y<!P7PR*-_!N
M9^GV*55:+JE,5OA^,CMI3UI-FAGF3^*?5,+5Z9)W\K(?W$L_R%-K%LQX!,-(
M884P4E@PC!16R-U%Z]=@RJ5;<\40_O!Q].XP%Z!J4I*, =+"@'%10#!DP<LJ
M"ZI<JZ=;]WG^& :]QO?/UT'0T?QS_/_3601T_7B_:W>B??<;@;^S]RWL_U(;
M5\G@C^,T488X0YSGA2R8?1$,(X45PDAAP3!26"$<:EZO)94O*I!KH6;0!=I/
M!8)W&D0TM1:1?'2W;QS-H>;(0TW>);R=I>;72YQWQV?MH?'3OOKI!+O)DKH5
MKJB,DYCWV:>FIF%:?OK- _MV->D6Q[,R^:B!^^UU?WM\1J&R_9KJ?V-0S\IZ
MA+[GLAN%J!A=>ZTA1A>CB]'%Z-I##3&Z&%V,+D;7'FIH.'1Q(O?*1"ZB$E(;
M!2YY"48I!!32 14T)21T1<;+B5PKG;4A%K A*S!8$Z#3[24<8GN>+L[%C?:0
M.9^>G![WJ:NCU1M:]@T@E_2&YMWL'3V?Y\4)_;SHNI\62VH#_>1TN:1Y_G A
M$?:YO^0+6AW5U_A^Z-2OGAII=IK\':=?X5HD=C#L8'ANO,\,&Y/L1B$J1M=>
M:XCGQG<P-\[HC-!> +E4^W.W-,0J$JC0'X]=K*LR7YX;ZU)U$39"L?U9704C
M!'02*K5)L455@PH\-SX8OW*7Q1.\3_]:MOPC'N,\TP17DZ>4Z231<J+E=**$
MTEQ"L4=>7SU0O9&7Q6G?+9_]_G5':!R>?\N^N0BT5<@"0:6^ +$Z"#KY]NF+
M2]$DBM)?]LWH?:K6$""1 B.Q0 S)@C?5]_URC,M^H^]-?V1)=W2Z:LR8]W?C
M"\_:K?]ZT:4^?_'3;[A2:Z?>N:GP843^])*2.%)C9N\ULZ\W+_L]PWLG\,:J
MT>1H&GG[;M8Y!< 4*H068U6,A*3U(/#NFY:]61RW4>^>_?-TMOHP4"<R:QG>
M#&^&-\/[_L%;%MF +0K8LRX3!ML</$BP"1O$T2/2QHJQID"8L3W2*P_&Q S1
MM1]3C<&1EUY9=V?PEE/KXE0ISPAGA#/"&>'C0_A>+YMH8Y(+(4$LJH!1,D,J
M)""X4*H51E)P0Y04W<9!7'/5PT^#X)D^%P6QOQB%G-A?[&;*KT2AHHP'5?ID
M>]]B+M:HP.M,GJJ/OFY,^1,%GYW1H*+28+2,S1_HAG5I?8[M6<7?W93?:#5M
M[H=)SA-^!C@#_-X!/"AJ<^K<]P/%-KW.KD*D]D7+[&-$D4@/4LFTQ9Q-=&8:
MC&6$;^V0D*LKCKXFP)N6(8VUXN@.J']_W6#34_^7__,[]3L>'%8+#PB;#ZN%
M!X3-9_>#PP/" \+FPVKA 6'S8;7P@(QM0-A\6"W?E=)L_V(ZIO6WV\SC7SN)
M>.&]57OO;[[==:]ZVQ?W60TW+DM:?Y:;7.SK-S3!G!<G[9T_-,%.YHM5>R(N
MVZ_GDUE[V*]+/)Z\Q>5JLJB3U1OJJ%^[6.\&[C=V3NILCO,\:P]:[_3L-T9W
M#[Y6"74W%S2Y=./*[-TD'V/7]9;[*\%\4>CCP]N(]W\^_WS_AMF\T/N'H!_5
M8WH/9;:D];+'P_;)3T_FC\JL>WN,'Q[V?]TP\ =V=O:ASK<5G_VBWRH^JQ\^
MON'ZJ4#S\NCMHINM7WM)_;;R=_0H+=[WE]Y>\^&GI8_WUUP?^VVMCU-]SG\!
MEW8SSK_V=^[-I\62\T\_FQ_/YNUCK)H8'^+I:O'HRS^T<3W[]?I&GRV48&T7
M]Q"/_X4?ND>_^],G27P-YNL[=D$%&W=SV)NVGS#\?'_N^A*O*\E_G=VRM#@N
M0VCTY;-??G[^YV<O)D^.7OYR]/+QZ^='+W;@'-:+RQ?!^_?/N/U[QN[-W^OQ
MXE_=.,;LR=&+5T<_/W_Z^/6SIY-7K]L_?[F-1QCXTSU[\?K5Y.BGR9/'K_YS
M\M//1W][M3?.?N"1^.'QR>*T":@Y^N;:%Z<=SDOWQSL<C9W/Z];3UT^+\F<(
M[]^Z)WK[I/U?H?G\Q6GSW;/W5!Z=O;(4XH'XP\<:A7;WCO%M1P\[:A.E9I7G
M2_,7UOO?S;I9FAW/5A\>?GST5];OSU[<^@=6JC]<="[G5W'F7?YTQ?/D V5N
M\*P;/$4\B.HF'Y"OZ3"NZ<;M=+BXY6YS#OM]]9_245+</A_U75W</E[9%@=O
MN(G 5:/[TV+9!^R3_R9<=I-G+:PI7W1IVIKJKM,^; R#/7 RC&G(--R3Y/S]
M@V'?D8Z!-R)C/+3Q8/.\I7DJ-D\V3S;/L9JG9//D<&&O)LP<+FRAEF?,.+MZ
MF:.;O#QO1/W=73+V:I#&9#Z'-AYL4)<,ZMVL8WMB>V)[8GOB*?1XIM!#QGU/
ML'LS61<63>IR<3)9O*4EKOHZT;XCQ+O9:D;=0ZZ8WC'R#F-P>$!X0-A\6"T\
M(-<JACQ_@\?+&1ZS0;%^[F2_U[4GW+E64?.-Y];KR^HW8LQ7#VU[@X'.TSL?
MO7[6O'[9BV\C+G=YWMWT_*K[\X)6D]GZB$KN%#FV3I&[CO-&T@7R?G1X=*8(
M*0,$9P4852.@UQ:$-09+B,X7<;G#(Y')46N$F*P'(Z(!=$F 4D()(=$J42]W
M>&SV_OE$VH&:.VH[M='MM+/C/O1LW+V%,$P9IO<!IEXE12D&,%)',%E8B#%[
M$%)X@06E\?8R3&O&2#X1)$OM.:$H0!M%>Z(QPFCCJMGH=[X-F,I@I]%&IBG3
ME&G*-!T!30MA;7-) RXGVZ:9;9***D1016A;JM#H\3)-2VU/\&1!&=.?!U1J
MF]@*!PY3*B4:X2/>"4U5F*HHF:;[L/IY.4-S[Y(QCTO?W&7=?V&R6DR6U/Z4
M9\<TF7_*TO2_[W_JVS-,WBX7[V;]%KST@9=1>1V(T]8\(&P^XQL<'A >$#8?
M5LN>+YJN@]@MK)JN7W?/9NK/Y^_:-XOEA_9:]!9.WT[RF_;FU(TS_[ /TK[/
MX??N%;+7&2IAH@X)'?C^"&HC(T+2.4$)/I0:5/M!W6;QM!GV_.'CDT4;\W]C
M_[Y']1, 7C7[_^O;P8[)4WJWIYRRM3!/62'WG:?5B!QB B&P@@G"0'!%0C).
M"TO&HZ7;K)]NBZ?K=IKP;UHN>G$$)=4CANGH385AR@HY8)BZFJ6O-8$F0C!1
M*(A*(7BJUHH4DTKR-LNG=S8Y55.I!?-T6RNIG*$9-$/SE-I#\FQM$1.<EPE>
M,)%Q8HX=X;A->_<*V6M'B$EKT:(#2!$-&%T\!-(!O-,&?1!623-$B?M%RW\\
M+Q==XT">T(6IM5SP/GY[8:*R0@Z8J)E242([D+8X,++%"B&[V! 90C&85,8-
MHMZDSGW[1+5B&H-EHH[>7IBHK) #)FJ)0LJ"&431$AI"*Z3D*IB41"SDL4U&
MAZAUWSY1=9@:XYFH7%"S%^F:BQ;0GPI;_G_VWK2YK21)U_PK,$WW=/4UN#KV
M13DU9DQ)V:VYV:(FI>IK\RDM%H\4;D$ "P"54O_ZB<!"4@*U@0?$ >&Y2" )
M CAQW!\/?\/# ^-BD$?SU Z36^HWH_G\,DQ2.RIVOJ Z&XJ.%!WO/3K&'+EB
M&6PKME&Y9/#*2Q"(G&MFDS!WJK/91,=/5S.>510\6Y/@U0S?C2[?=;:BH125
MV_3?:0BK9"$/&*M6U&PC)PXY.04*DP)OF )M9,@Z"<?#U@KQ+C+.?6&5#QTG
M+:?_3D-8)0MYP%CEDBF'ED%I=%0J<W!&&JB016&+]!6A76@Y]X95/M14@$,%
M.$>BZ+Q>3-/?(88YMOV-[RYP,J?:&XJ%% L/$0M12<:-S& ]3Z"X2!!+#!"M
M*-$XE@QNQ<)=E)O7;\,,?VX^__2&RW<EU^BAMI18]-]5"*9D(0\8ILRC]\HY
MJ-3,K5>O Z^TAQ@5"SQ8*:SI0J_9+TSM4'*J8>R_JQ!,R4(>,$Q#9,Q*JT '
MZT!)7>K,-"7P+HCL#(O9WVE[U'W!5#.29JC8YCBDF6=8<#;#?-53,GS ^;#U
ME>PGX"@$]MNO#V\A1QT"6;*%9RVA)A8UGV#.@A,U(HJ<A)*.F:Q*-QNC5FZ_
MZK+\)GQX_J$%0OP9)U@_9V>KOYQ$FB-P&8(J6<@AH?J]9PI?WYHO#.%?-J-W
MC\CV6;J$HDY44<E6LL/ :<G EZ1D5)8+T4G)3F?(GM?[4!]]D]U2BQ-C]_<=
M+/'#9Z@3Q!^>J1#$[WEFK+,(1N36,J!M<!7>0Q2R #HIN/?9.;%5<+[;=JS[
MF!F;H>:T(XOJ=XY#)'I:']7+JU\T!YN/\O)\$:K?H4!(@?"!93-"<LPJ)Q">
M95"EAMD@4P C1<'(>8[,=2% _7PY'TUP/G\Z?1='DR5-KBGS]"9DSF:S4+^[
M/ KIZ=OV\,7D[%VKJ3TO7_B57T<ACL:CQ4?>=58DV5";4SN1D=(BB@84#4XQ
M&A1>AY5%A)HK,5 2%3B>$ I:&04/H;@[=7\^\F@@W- *B@84#2@:4#3H@TBF
M,&N?E0#)F:OLC0Z"74['M3"*1Z]<ZD(DZQVOO]Y1;N@,+4-31=9QB&TOIQ-8
M'ND[:I3"^>:XWW[BD@)JO[WZ\!9"Z=47P[5-)AK/:GQ&+4'IFF,Y;RR$&G15
M,3)Z9'<^K*SRI.'DQ9HFJW6MSKHF,2%/++)2_D.X)ESW,_]A4F>3302'F$#%
MG,"K(L'4U,9;%CA7^LZGE74(5#JE[!A=A"!*%O* (:J=\-Y9!]*Z"'4>FB"V
M?A'%VJAC3)C3G9HE$40/[R)46=4/L>?7Z7P^J)Y7WZ!>Y>5H_K8II9NNU_V$
M&X6_?OOVX2WDJ,-?8$X:KBSD+&L^4%@ YUM?#VERT#)YQK9:>NQ2 ?7O8329
M-__'^?GD^2?^OVH=V/F.#C$TEMI\]-]]"+!D(0\8L-*8Y*-BP+FH@$6F:GZA
M"B0C>1+>19>V#M;9I:BH0\!2NG'L'D-,)0MYP$S-4G*AK(+*R%(GK5A)*7(&
M+0L7ICXTO)/62<34WG@,U>OT0\(YOUC6K4W^&(PQS'&P=/^FX%S6+T+UE,4G
MY\W_CW[2C^)CO[W]\!9RU/%1:+3.JP#<*@4JA8I [1Q@8-'4K /E=GS\X4J;
M%Y,T:PBH<6[Y]XO)%1M^;5__UB[\O/QMCF<-"YWK.W:H-9UAUG]/(M:2A3Q@
MUF85HXR.0>0:06%(;0NQ@\11(PL:B]^J:OSA(IP#L]8,F:#^'?UW)$(M6<A#
M1FUDPAGM*C9]:XH4'(0H(F")#IVVBINM_;D_7*ISZ&DMJ]-:VKY%%3U'(@<M
MWN*LGZBC8-AO%SZ\A1QU,)0NHVLU.X'Q#,HZ S%S!&29*XXF&[E5_+]+X<[2
MPZ_J5UO=ZKI%8/<M6*T[M=U5Q^@UQ%6R$-H#NVNY91;,B(KI4O$,2AD/KF0/
M1@0;I<-8TY0NJH$ZH/8WTI13._2'-L(2LXG9_9P+*YMRQF!!F[:'BW,'+B0!
MQAD4WH7LU)V$H7N?"SNC3@RO]U@1=)N]=:8+G9X$M.IS-1^,)H/I57'0LA)H
M/@B3/!BO&UR-VDEK^"&-+]MH#$;OZLLO*X="^L?E:#YJ1CY_\J-6?KJALMZR
M]I._/A*/:'#(6FA R'W(6FA R'T./S@T(#U9J=5[6JG5QS=-/TNI]:&=#V:8
M</0^Q#'UV"2MBK2JA[6^H)TSZ)J6Y02"BL)!**C >^Z+DTDJOK7;>)=5X4V5
MU+.K*JD-7WZ[PDM'2PUR*#D=S4F+#01P OC#![B-)65K-&BNV]9FQ2 D&^J7
MBEGKDL <NU@@OE> :W]JC7@(X 1P O@I MR[A%FX=H8DUAEXT!*"TA%XR<P*
M77(4G:Q%WR/ E1EJ:GS__00_:*\*DKRN;LZ+R?OZ8#H;X;R?&*5 2X'V 9=E
MI9B#<T& %"TOX34H!JX#).>9$=DHK;?.9^M&C+KA^5V79BDV]/;4@N$QN@[!
ME2R$LI@=T<V+$B@B![2Y=;50!IQU!;S6N@@5A.!V/S+43NC^^H&8=BC8J=73
MD@!%Z"9TGR*Z8T;NLA9UFIW:K#L'B"(HR!7G:(,41FUU].]&@.H>W<X/K>.$
M[KTI3U1LM1?EZ=4,+\(H#W"U/6BU$6+:=@^M=T;TDZH4=RGN4MS=M>FJQQR,
MX6"T;7&7)_ QU;R):ZN,LSGKK92I&[5K39MG6' VP[S>DW@VR<O]BLLV55T%
M9"Z'4IZ:^D6Y%#&=F-[/-0;/G#?>*I"H'*@*6X@F.N B%AE-0BWV5"_5+76_
M;_%!#.7)E5(=HTL1=,E":"*]:X^D*)-&X<#*-I'VZ,"EDD$&X1EZ)5+8ZJC=
MC8!UGQ-I-N2>MC503=61*5OG)&)1[*78^U!CKR]!2QXY&%XSJ9I.M7,M&$((
M-;W*60CC.^DJNQU[EV"Y:K7>::Q5AI:02+$B@!/ 'S[ 16#*Z"B Q<1 Y;8
MX74!*Y@76!K6]U2XM4> "TD )X 3P G@O5AR4(6[+'6%I$N@4"J(ILY\O65U
MYJP%YW:KAW<W^M3=$/N=^QODJ77VIIY6QRI&7?6TN@@?J:$5A4,*AP\NGXF9
M"Q&B 8^&UV#+"T1D#F)!88//G*FRWX96KU9LZ3K.^J%C5$A%60UAG##^\#'N
M7<[,IP1>F8IDG33$]BAZ7S(+#+7;VI32;5NK/6'<#;D_M:.Q">.$<<)X/\6I
MK+3 K!BHH!"4CQRB51IX,*S(&'AV?K_MIWX8M%^OD_(GV'OJ'@]#(D6J:T5J
M=HG7&__Z23B*@?WVYL-;"*4R7XRP3G@MG2O 8ZH1EF--4%J?=9ZE%$%S+>Q6
MA.U,D6IP^?7Z0+7.]Y?PH>;NQ*(MI3-W\-,O#=?@8=L,,?U!,3WSR(7%MH%0
M>%!:.0C:>) B!<V"K(#OY%CN@S!]R+@GI!/2">F$]#Y)5=+($)5*;3X<094Z
M/:X0E2!DR";%@"9OG574F52U,W2_4:@ZY+1!F^JGCD2MNBHE'(R;8UP=U?VQ
MG[0CV:K?;GUX"Z$4YRO1%C/32@&BTJ!JA(7H@P2./C+,RO.PIT*J*\K\VK[>
M!-V/7><Y7 RM(.V*$AWB.?'\X?-<Z%PD*PQ2KOF/8HJ#]]* Y-HF9VKR%,2>
M-OK=$\^'7I_:PC_AG'!..#]%G%=T2Z%# J>R F6S;8\B.%=4B3D)8?;4].J>
M<&Z'GH[QIGY7QR:1_3IM@X2S=U?B&)TFV,/X&ZN5X^SJ.X^KI0WFT_$H#S9W
M_;0C]+?'IQ\Q?,]1UIK@,',.TK?V5K(&RZ"" JEDI2=RS<2>3B1<;MU_.9VD
MR]FL?L+NEY[<87>A?,7 5HLW3)ZX"Q+&">.$\6XP'DQ %POH''Q-EH0!)UO3
MPFQ5S+%H'?;9Y&J?&/?FL.4#Q''B.'&<./X )#7MI!/25,1;WOK(BPRQY #!
MAF *:AO*GK9"=A$EOG>11(G#'FW;SX!QI&<H"K8?Y6WYND>FO+V9+L)XD,+\
M[>!B-GT_RI@'\>-@>E6SUHS]/>EQ- &@"<"Q)G*,%ZT*UDB;@JU_E 0N6@-"
M"NF2Y>BWCYG?18][B8NG%22OUASY^>/?YIAO+'V=7:&DJ[8%7 []@7=2]C,R
M]\D+B>1$<B)Y-Y)<KEAV6D(INB9;C&?PF@6PR%74&F,QG33XNG^26S%D[K"%
M:$1R(CF1G$A^+R2/0F1>K ;TLH#*48,KZ" PI[+ADN6T55B\BVQV@#FY'S).
MRRL'[3=VFWWNJIS]N";6&]%K^6Y_K@8L3L?YBS[:7&10QM,_YX,RF[X;C";O
M<?Z9_/7D1RWX=,-JO37M)W]]5!%&@T/60@-"[D/60@-"[G/PP:$!Z<<:])XV
M?QSAWH]7E[/TMO5%F99!?=>_XZ(UMA[,,5W.EA/OP5L<Y\%B6G^Z:-^BOBF]
M$[V.(9E^X!9R!P_\/_\/)[@@@SDM@R&D/  +H<+4+Z^5"BD8CPBL/@ E=0%G
M44&R-D?-#$^ED^T+K\+'=_5SS-],S](_+D<S_(\Z77DS_<_U9.7UU3RF*X&=
ML6$=(MKD33T[B./$\1ZL92IK S<5LCJ[2EK+!7AG%"#3WD;I5=*\B[7,/9.V
MC#Y@AO_&V?3&E/BD('M<)R*1A+*Y/[]AQG<72X_\DHC23^Q18.RW>Q_>0HXZ
M, 81K2@N0!+6@O+&@/,B@13*F,!B=J631ABO9M.$F.>_S*;OUM&PNORK&5ZL
M(^;9)#\-X_'\O)R]#Z-Q8\,OT]GK&A/WD)Z(H:2S!(_ M0B^9"$/&+[H% _6
MFPK?T+H0N0*AG=%:G*W_EN*\QT[TG\/!ES*68_0JXBY9R /FKI!%16L0C"NV
MM0U*X'608&U.V3#'4+A.U"#B[C%Y%17;]$$I.JL7U\QSWNII4K@8+>K;_#?6
M49R6Q9]AAM4QYPM2BRAP4N!\6,OA)J;VKX*4<P+E78# 1 &>5!$I\6+R5NOS
MG;2HSQ=I7J_)TM7A?T-[X.9]M/A-U.ZMJ1"U'Q2UG0[,>QY!(LN@E.3@465
MA\$FRYG=;J7=21%3Q]260TWG4A"UB=I$[1.@MBXB8I$(/B&K!)82ZC3:56H7
M876,/I>XEX*HCJFMAOS !QX<%;6I&*H7$E=SA?E*Y1H.)KAH-5'+!J=AY22Y
MGSREB$L1ER+NKI56Q5LT0D)D(;0^IP5:?16@E3432JQXD_>B;OU\.1]-<#['
M^4M<G)?62&;]D]Q5094S0Z,H>:+DB5!.*._#"K\622RUI61<A:T4-='A7H,.
MF2=IM<6@]B)*=0Y;6L@_1N<AO)*%T$QYU\UZ60FFG(+,7 %55#NJ)VFH7X4Z
M@PX*MV?*G6A3]S!35G[H_*EM/3C20WA(L/J\ =*\"547LW;TSN+C<' Q#I/%
M($SR *N77#1GZB=L*1Q3.*9PO&L?\(#19U.3)Q5BVR+(( J5P)KB"A>8<M[:
M.]^)</5J#9I7#3-GD_Q\ YFN5OS-4 A2K4BU(HX3QQ\^QPT+5K"$P*W6H(1J
MB_\E03+,.@S!1K&UY-^))K9OCCLU=/*PAY\2QXGCO345XOB#XKAU 5UR'(32
MN<['2X0HO0:1N7-HC,ZXM6N\$WELWQPW=LB<)XY3,=<Q:F--&AO5;X['F!:7
M87RED_43L!2"*00_X ( =(YYXP4D%]KA=3)!8"P"KUD+URPPU5%?J\^#Y(O)
M(DS^&,4QGLWGN*#M^R?D,<14LA!*:W8D=E92>>$]..0*5&DM>G5VD+#F*+;B
MEXFMXT8[D:>Z(?;VSA1-/=!)E2)\$[Y[,B7FVI5@E*AS8,- -6)Z(QW4;[5U
M -0F[*<'.DV)J:/5*2M$YXNW.+OUP.9^4NZ4X^!7SF5?W_IC\/O]V="WQ^<D
M8JD-17L=#/B:9H"*C$,H60,3BC,T67!CNI27?IG.;C:37!+EQ08H9U<\^?[(
M.J\C5Q]]JT+JL-517S&V5:!B\L3=D9!.2">D=X+TPID*T58\:QTV2(\29#&^
M9D92(^_T,+X#(9WSPVI2Q'1B.C&=F'XO3 ^>8PJY3M/1&U"5X)7468(7/&5K
MT*K8J>35.=/[+( ]%)(?LHQ*L/VH9,O7/3*9[,UT$<:K-EB7<\R#T80T,PK&
M%(SOR\KNX+I_X4(.A=4]L;H#AA]: ">($<2H!FK'ME6FI.@EA]+^4,X+"$9F
ML"$*F[UERH8N-*B7N&C-36JN\GZ4,?_\\6]UPO5B<@_RDY U4,C#GHY!D8,B
M!T4.BAP/*7(HF61"*Z!D&T&A]^"9+L!UDMEK(Y3T72A=!XP<@@^Y.>SVP <7
M.78N$+O-8G<5Q'Y<ZNJ-EK5\MS]7 Q:GX_S%T6].,RCCZ9_S09E-WPW*:!(F
MZ5-EZ\F/FO+IAO%Z:]I/_OI(/*+!(6NA 2'W(6NA 2'W.?S@T(#T8VF9]E]L
M[L]O>'&C1T>:OGLW;2\[37\G,:UO8MII2V4DA-U9"&,Q1:Z*!E-, %6$@A"2
M %^0IR!+,K'KG1G7?#DO3Y=T>=W@TEG+^*%T=)PX+880OXG??2BJE=ECL=9"
M%** XL$WN'IP"GV24A<4G2Q2[XNP?:NC)9<AJ)*%G#A40RQUWNDM"%0,5"P,
M@C,(2D464'J7L.N="@358]MX0-TY]J .;3;LK-9E1_/Y99BDI5)4LS\Y>#J=
M+(<DCG'P&B>CZ6SP<KJ@;0@4)2E*WGN49,(ZA[G23ZN:1NA8H.8B#+)0)@:;
M<W*N$W'GQB:^&P!XAK&K7N?"LV']*!0C>^\PA%2RD >,5*6+E:EF&CFVMA=)
M(SBA G E3=+1<N.V3I/82<WI&JF4<1RCKQ!-R4(>,$USQ&28BQ MRCK9Y J\
M=@DTZL*YLC*;;F0<HNGA?86J>_JGW^ 'G*71JM)G6>(SF%XTXR6]AL(AA</[
M#H<8.8L)"V1K:V@K+(,+ 2%DX95D06:VM51\5[UFN8AQOG+ZYVL:Y*YJ<8;,
MGEHISC$Z#6&5+.0!8S5Z(VU3:BH3:Y9A6810G(;L4 ;,R(3KI@+GGK JAY99
MPFKOG8:P2A;R@+&JLS,J>@%%:-56%QVX6!08Y%C0)F'BU@ED=Q5O]HM59T_M
M.&6JPCE2%6=5E]9DFXQQ<5V'DZ;S!8DW% XI'#ZL?5K">%&XE2!B*WA5+H$K
ML3YR3JHBF$ZE=+E/Z[RTQ9$7:ZP\;53I*,S:H=#RQ,(L[<\B;A.W^YG&)(PI
MZTI)J]O99)K7E"3)#+X(KK6S67+5Y?ZLSLA*:]#'Z"M$4[*0!TS34-!HIW.=
M9&H-*M0YIX^5JTZ@LB)+=+A5'WF7C5E$TV/2@JBB9[]:T")\&/PY6KQ].QVW
M"QY,8WW#L'3/^M_F<)CZQ%E].!NE!>8!=?:A6$FQ\N$I1M'&XK6K831Q!4H&
M#=&J&IA3<EDG+SGO5#'Z#<>A\N3-]$WX\+^N&?3+=/;Z;9CASV&.^>GTW05.
MYDLB=55C)(="G-IJ..E)1'6B^FE27=1TR'O@(=?\RL4(3@<%)7JIHK79I2VJ
MWT6M.A35[9!Q1U0GJA/5B>H/GNHYZZ)S*_Q/LE+=2@<A904RV!21>UEXI^V,
M#D1U,72>INK[/VV&Y+7]R&L89I/IY:(YXGR4<;;TC7["EL(QA6,*QSN&8V=U
M25)ZD,N>@H);B*74A"EP&1D67=';H716P^[3^EKU/M8OGMYDRZ^C$$?CT>+C
M+YOSKW8Y,.Y;Y5B>$BU*M(CL1/8^%!!X%KE)4@ +GM54* MP5@1041?/K/ Z
M==-@Z?[92R4&Q^A-Q%NRD ?,6U-8YAH5H&S+Q"@J19ED$$/Q.8JD@MLJ?[V#
M]$2\[;<W44E7'S2G\\5;G-UZZ'$_"7C*,?(KAYRO;_TQ^/W^;.C;X]./.'O4
MBE7,/!G/0JOSJG]D[6H&I P4Q5+1/,ADMJ+X73M'W3@;8\FK.\7M>;TO]=$W
MQ"JE#QK OV+*JZ47)DG-HLA!D8,BQ]%$#J:YM\8&<+RM=:"HCXICX(6T"K,)
MS/NNFV,=('*(P_8AI,A!D8,B!T6.AQ0Y>+;!6E/ 9E1MJV>!J!*#1G\;A?(J
M=][_ZQ"1@U/D>"A5;8+M1V)<ONZ1:8QOIHLP'J0P?SNXF$W?CS+F0?PX^,OE
MO#X83?Z5Y$>:"M!4X*$L\Z6 S.<:;I4+#A0O+<V3!811Q7#'E0^Q"X'P)2Z>
M5J2\6A/EYX]_JSAY,=E?_9I0;N@-Q>A^>R&1G$A^*B0_ZJ3.<N%4K"%">XXU
M3EB$P%P&C=S)Q$7VN'5D["YRX#[BQ/?E<UP.I3SL+J1^Q@M2 REP4.!XN"E
MX4PF% Z2KG\H;0L$&S1D'IJ4YZ/)6VC?1:^[]Q2 IO_'6?O7D1#7>Z7M>2F8
M5AM(/Z2W8?('#F9A@8/5XWEKS;:4X<(DKQ[@/RY'[ZLC3*B5/T5;BK:4IFVW
M64W%*)W;29&FQF6%-?D*6(#SFKMIQYS;/H9^%SEOA:[S\GP-KM\JM\XG+;RW
M_Y]?<^JWJX:2[0=GD_SI-VX\\\4DC2^;T3P;S2^F\S#^]QI3+NIOU*_3<FO
M)>;SB_6N@.[3/SZT\K#'_/1SOD#I'P4D"D@4D';4#6TVUD<%&&0"%6M>Z8.O
MB6(1]8X(78S=*@;913=\> %)#YVAXD2*1Q2/*!Y1/.HJ'@FN0I!:01+2@1+:
M@T,,X)(R4F=$*UD78N?#BT=<#(6C@'34-8^GHJR^Q,5@-$EU:.8X^$LUX>6C
M?ZW?(T65)@PT8;A7*[N#'PMA:Q:D>V)T1[5H1^@B=/77ABC7N8=<1T4F<Q :
MO-4%6B4WQ"058'*9<1U*=EO=PW?1WNZ4U;S"V6B:7ZPG:\_64[6K7.=F_K3*
MJ;K.:QP;2DUY#0EM%'PH^%#PZ2KX>%M$0FE V]*.F6,U^(@4 (//HAB?=.CD
MZ(KC#CZ<RZ&RA^VS_>"B#]4K[D=5>_HEZ6PXB%@_PV2T.D3V8NE5-"^@>0'-
M"XYP/T!V6=EH'!06:PH8BP6O18W'AF7.>68*Y>>1.Y3$:\*(X)FOJ6;,!B):
M!4:F8+/PJN:=G4;NCK8(:%'CKZ;XVV_')+@3W GNW32$92I*&7)%NN2@4E/Z
M8H6[4*7H)(I2V_5X3GC.F750DS#;=$0-SL8(-3^+DIM@7&1]A+MA<NBX(KCW
MVC$)[@1W@GLW.WEE<2Z8"$:TEM^>5\QC:(?421="S"D%O;7[1TI;?R#!)9[:
M@@\'%UP"IY*(@EFE=;>:6U?GT_%V0IT@N!]B@R^5H=U5,,/Z79+*CB3@BL>B
MN7:>7L8Q'C#D?I\F_D^'C+VW#U4O3.X.CFPU'THA>V.!1Q5=3I%D-]_@;#8*
M8V+;J;/MJ#,+%25#KK F"+IF"2+7!(&K!,;'['B=BY=@:$V Z$_T)_H3_1\:
M_9-PH0Z/!)Y;+5>6"6)$#]9Z7[!D]'%K19@6#8C^=RC%NLUH=Y6;'J"R]/KR
MXF*,[<B3,![DT3R-I_/+&39)::DUE?'TS\%HLK+T:KY/?M1\'T 4WC'FUKO2
M?O+71^(1#0Y9R\D.2&>36'*HD[0?&A!R*+*?@P[((8]4T_LY44T?WX%J+R9I
M^@X'B_"A?H"+,*+EWMXM]QXZ]^N)X'428E;6F6LL#(H3"E3R'&+1%M!$B]8Q
M(^36QL1=6B2OW/Y-\_I7U>E?X@]L'OS&D=5#;^1!!:ICD)X.[R9'/,5\$#9#
MC#T48[7F0LG$(!MTH*S7$",3$!BZC%$RQ[>Z+.[2>61OC)5J*%O?*6(L,988
M2XSM(6-+$EE@M" Y2Z *6G"MO7K1(@2E+#/,=]%@8V^,Y6:H.3%V;TNH).)T
M*N)4C.!\00(."3@4^ X:^)@U7B,:<*QP4"QR",YEL"R$J%42<KNSU&X"SLKE
MNXUZWAVVLO080M[A'832"J+K:=+5NX)1!@\HN&]UFQ8BEP)$24HD(V(N6R<(
M[B;=[(.N?,@D2>/$5^(K\;6??"V,,\<,@UA0@,HHP44;P3I9K-&&*[=52[^;
M;+,GOA[X4+ICX.O.=3=4];YKU7LU1UA6OH\F[ZO5MTZDK?%"&4W")"V_JJ;Z
M?K08X9QJX:G2D"H-:4"H=)?LAP:$'.H(AHOLY_YKX0^PC/I]6<^1KZ2>S>>X
MF-?Y^#\N1S/,-2_-.!M,5^?6UHGZN!W!0:=Q]FZ)E1I'4..('SYM.T@F!5I
MSC(HP0,$6WS](RGI'!?1YBZ6:G]KUW9>_C;')5W.XR*,)IA?3#8G^/PRG9UO
M"/-K \ROHQ!'X]'B8T?"F!I*>=A:IH?3-.(4.=_GY0DB/Y'_1\D?N-$E&@%1
M:0X*=027624_3]Z9(()BL8MEY,.37_@A%WTZ/Y303^@G]!/Z#U9!9+AEHJ)?
MU\D[*)D-!!EX)29/H;""UFU-^G=9X3X\^IT>2MZG(PB.&?W'T*SB) 2Z7\)H
M-G@?QI?+A?7YVS"K'Z0UEIN^>S=M;S!-?Q^,YO-+S,T]5DK>?-1,GV0[DNTH
M@A]_!)<V8<F\'2%4([A.N>9@ :&4%+DIB<>BNI#M7C>4O%B2A'=5H":'VG@*
MR92-439&+">6_XY">^%R!L&3!A4]!\]%3:^4+<(HHXWK9#_'W5E>1A\PPW_C
M;-I\RPDN?B*.$\>)X\1QXOCO(K.,5A40V>4Z)T?7F.PA%>63T4Y&$;I0U?8P
M)W=BZ V=IW,Z[4!()KM%)FN_64>C_G)[.!_EI3)=GXEA-IE>+D@[(^V,XO31
MQVEM=?;><4BRF!9S-?B2"FCIA<\E>I?*7;2S627(D\:>_VKH.2^OE^ Y+T^7
MV+D1O7^9SIY>(>?I3>(\7P.GJY.XAT*0XD:9&F5J% $H OSR>V9.>6D<,*YK
MII8Y0COK%!SW2:>0M!=;]0\_HK@=/ *04$?X)_P3_@G_MPIUBH?D!0.6HFKM
M"=OBN<V0..=*Y>"EW:I\_A&ACO#_8/%/)7 ]T?;.KDO:!CDL<% ^$?M(RB,I
MCR+Y@X_DW$J5"R^ 3 10ML9T)[,"HV*)7F5AG+FSE'<#-<\J:6X$]OM1[\S0
M*$;QF](W2M\(^@3]WXO(64<6@+F"H-H!*]XH#4D$H[D-R;"[JW?W#'W*V(CX
M1'PB/A'_UA5[&3!+-(!*NM4TWSN5P::,.0A=C-ZJD/YAP>[0TWSGAM(>MC/^
MPZ$^U>#U4*>;EL%HL@B3/T;-H,*ZR]PD+VOPPB0ME;OK?M#CS5YP"NNDU5$0
M/_8@SC6/5M3L*TIL^U:]AU!J:);:YOJ%U3K>7:M[.9VT'O/GLU=AMEA_<0-!
M+Z[PL^IQ>;9N<7DVR;]LN'/'%A24R5$F1YD<!0$* K>>#.F4;2?, PN5_S4_
M0PB".] NEIAD]-'<J>E<3X+ +6LX7M'^*HH#% <H#E <J'& 68?9M7.!D8&2
M=4X?N"\0?1 Z16=QNP+[AQ6]P\<!2@9Z(_!1(=Y^!+X7-[2[FI7+P<OIHGZ4
MT62 ZR:/JY]PO_H)1702\RA^'WO\5CYCJ[P#*TL"Q:4&K]#5@*R91G0Z2]9%
M_[DE,KKM=:'$D%O:#4NY&.5BQ')B^2^_1Y6LE*Y "BS6O$I:B%9)B$QK&901
M0>LN^L_=G>643A''B>/$<>+XK3VABX^9M\TPA=4Y>50< G<97"Y%)IU$2JF+
M_G/$\?YRG.K>>B*+/?_02D8O1_.WF$G](O6+(NT#BK2)Q^1JU@2ZM8U0T7*(
M*!%D\J*F/A*3DEVH7]<0>5<_SGEYAG%Q]J[B>]'=R7A&*HJ]E$-1#D5D)[+_
M[D7*)JH,.3L'JC@)44L+CE?K]8S;S+9RJ%VTL*[)3AD549VH3E0GJM]&=>.C
MR)KQ"F=N0''N(0BEP$AGDC8Z);EU6MHNRAA1_5BHOM')ZM^A?OKEPUNE)_E8
M2OG/GP\&KQ?3C6_(ILI],JSLL6W#.I^.1WGSY-E*P5M_F&^,QI>1OORT9O/9
MO_3YOGLPJR66Z70QF2YPY6@OW_Q>F%'6J0!:M>8<"B,X)348;40QTM89D7\T
M^/!N_&0<)G_\]1%.X&^O]XR<':6]ZT_B=QRRP>:?_[$9MGO_""O\S <S3.,P
MGX_*"',KSEN\Q4&ZG,U:A[SZ=O/Z]ZI!7IE-WPU".R/C8CII/YV606./8#\]
M79;S+6O[IIM3FV]NX]ULV!WA?/D;_*?!8OJ%USK+__MROFB8G+<GU8\WG:11
MY<@$%_4-ZJ_@X\V+O*F?]?KSI]7GS*,\J)97?S"_'+=?J1_AXV!=<5A?<3%=
MA/&@E?S6ZYN^'^5ZW?'CS0]>^?E^^6$?'^SN##YATPU_^A1(]^03>[K(+7 <
MXMI^Z'8N/\DNE]HL-:1F[]48FY%-EL6P85:_/6F;W_&/6;7*BS!;^D)UPCDN
M&U0VV(=%.X=F57E>GS2O#HE+![F[?>Y\08//;EL>O1\L';%-+/Y F$PS;IY>
M1[S]>/WY_GNY6//A"<B?RA@_0!Y5%VZ>^Z1^\LMWDY_R:'XQ#A^?M)]N338>
MZ]'J0ZT7KU;?:,@8E8^;-US^*N D_W0Q797T/YGAN'KW>ZPQ]4.[]/J:3Z["
MZX?OG-MR\:W1^K+M74^B[_]FM1.\;N"DWHSUG^W.O9U]-KT93<:C2?T8BVJ,
M3\+E8OK3IS^HX[KZ]O)&KU8%0ZD7]R2,_PP?YS\]^K<KD[AMKKF\8S>L8.MN
M=GO3[I.$WS:0[Y^0;N[//B]Q8Y3+65I#TN^+Z>]7I/G]FC0[FNV?J]L:I^/<
MA1W_]OS5KR_^_?G+P=/SWUZ=_W;VYL7YRWL,'W=SX8['XN7YF^>O!V_.ZUB\
M?'W^ZXMG9V^>/QO\\N+EV<NG+\Y^';Q^4[_QG\]?OGE]ER#1\8>^)6IL,O.7
ME^]P-DJ;3NR8=/19@9.M$[OA#$)2$7(V*F@6N)2^BX6TI]-6.##'S<:N,'XQ
M627:E3_GY568+9L[+</V^63\\=EHGL;3^>4,W]0W_GD\37]_-,":LE_4%UW,
M+M?=ID:32\QGB^^]DM_Y.D2N(VB]&^]@/)HO ,=+_UO>D3I!?;2Y?Y_$R)L1
MJMV96Z/A$N<_+0T9VNO/G\0PQP;T+9._OGO?EU?>FS&M/\Z-FI2_(U[43S:^
MFC2L8]1R7+XR#H_^;WXU>;H1IU9OPQG[Y\]>L"=._QM>(;E-$U_-\/UH>CD?
M?QRLRJX&5V8\>'W%[BN?NX[[7Y4TODS.;RH$?9QZO[Z,<_S'91NREOW5B?C-
MKE+MZ[/)Y+*.V&]X,6W3[\G@ETJ 0774_[D\_;$]I8R:+#?XB&$VJ/.?.M+/
M,.&[B+.!Y,/E_K;A8#H;U<NOUOBQ/G]<G_/G:/%V^>M_>_SZ\> UUKQZF5<N
MD^+GFUUP[?2'^I%:[OJ7]N1U(OSZ^=-UGONOR\^$<7899A\'0BS?3WWRY//U
M6Z\O8O.+P^6[K_E5T5H'897HAT%%'#8%?YF67"[[V UP-JO7NYQUU>>L1VLQ
M>M=^5L>J6AM6L"US\C\FJ]9=?YEAJ;^V>GJ8;SY/^\7_K!>U,<*K*ZEW.;T=
MC.H'2BW!O_YT2QG3_C3_=M;3WJ9^FC:&F]M3T3B:YB_=F<>#_U5OQ%+;&#7!
MHXW0IR/S-K3O+]^BCLUXO/Z GWR T75@6+_W6N'*5S%A?OU[\>/@\S%X/#@;
MY!HK9J.+3=>S]I35H"^[G2TV+]!N^/*ZKAU\<QSI;0,R:M)+&E\NI0P<3_]\
M/'@Q:0,Y6656UX8XNP;(IR.0L9I#O='M1KX-B_I9!G_60:E19S:]J':RP)4:
M\WY4$].E1G3S-L4P7CK4_"WB8GU_/K\-8GF-6[_Z"="6JDRI%S#_[-;.OW!O
M5R]:']0OZ]O^B?7>A1NWX;:;-!QL3.'*S__MK%U=FLY:*CJ8UO>=#2XG&T<8
MO;MREN7-.FC>_8DR=%08WS$6KI[:WNK):%$_1?KBV#S[U+FN<75M8^%:73S:
M<;R; 3VK,:CB?!749O/%X!\UJE3KWFS3'C9=MH[1M$['JS]6KQZW4+;X<UHS
MC?]Z\0S67C$<U$D[K)_0EDJ:FIHOJ_M<7,YJ9*N86&;J\\%?-BKQU8N].M_0
M_BHNW-P6WEP_#/[I-B?[@0'HO@0DJ)A-:U$7VN& 40MP.65(SI8ZC?<E;K<7
MSXH'Y5--1Y"'^@>K>8!+#GQ@J&TQT7G[26N*JT%ZM1[%\S:(K\+'51K^I=5"
M\\EJH?Y&=1^WC[_<3_8 3*O/'B^=ML[<ZW0#U^K\ZJ(_F>>L!^)Z?K.:3_RY
MC-\)1^]7BQAG-62-U['_;+&9QJP. %I;;+OF9L-79MM&=EYG BV$XJ0.Y[B^
M6IO87-;(LXI%MUGP552[GDNLO&4513YWAN4J2GOZ/+3KW#C:)MHMO[OY1!O'
M.;^HGV?;9QXOUS\V;WMC\KF>T>'U_.CV#U[_&\PK#,;+D+QHAK"\FO7\[K]Q
M=6&]<\24=3*12TC%)E!)>O"\^J7-WEA41D3<.J?9>XO>8 (OG $E@JP)N;$@
M2R@L!>\Y5Y^+ [^M LA#][J-GX7YIPMR&S/<Q-'UXN"M4:,G*Q&G%,B_G==^
MEA1^.N&?85N@K?^MG/Q&%KBH/UIL9N3M9Z\V!E+9T%9C5XG&,DWX*A4_XU;+
MO%8+RLL$M-I:7.8;5^R97Z:WUR][G?"VYC'U&9/YF@+SM]/+<:Z@?8\K5H=Z
MD1\;KMJ[?DJ_)>2NWN'=-%\M%&]BQPQ7W9T^N=0ZHK$F#9O<]C,JUA?]-&K\
M60/%K1'CLR&HT:@F*.MOWO8:Y;(!_/J5UG?V*D[4M/+_N9S@0+*5"/#X1(W_
MS3*-G*U7#C>&>C/;'H12L&D,"6>+4-EU2^8\:-+>8*F&KNGV/:NNZUR[N4J\
M7"QK#<:C=Z.U9/(9-9?99BM:&"S"AU7!P7QI?-4X:SXT6==:I(\K"]_,2ZXL
M[_IEZO!=A%&NT^2+IEC/;SRIOO1:5&JG&-8/-H>:-L.\'2]ZO!:R]WSQZ<T[
M?9MR.H#!3<7UMW4MRF@E KUI64__TL@?&*I'MR^^Q.BS\5$!SZPF.J'.E:+,
M#B3+AI64<HI;59&[++Z\3F\Q7X[QO#QOLLK3*W^>GTWRJ]EH.GNU%']NE 1]
M[ZK+]US"<M7E,.@JT_%X^N<RV"Z-:%-IM0KC:PFPK*=;V]BZH6)LE,)U6/^7
M^4W-<"5UKD+L=U:2_-LG!G'(Z6D;IT<W5CA^6U_,HT%8EZYM)J2?#^:RJF;]
MG!J(ETGA5=[UV:1HE41]]HJK0I3Y8!PBMGG-HW4F,+AAB8^NIS,K&7<9;I;"
M](V[LRI":Y_MZ@-LAZUIC?6?R* ;Z+<:NFD:+>_:E81[<S9V)=77V+(RF^^[
MGO-E;OI=5[-*8V]>TW*&MGKG%O ^5TM7$FE[ZQN6N%H/N36:+E]N.?EID72C
MM+:PF4?O1_ERF=+6F=SZ6L(??\SPC_JLX6IR-)WC5UY]-1RXG@K4RZD4W5+"
MK]+D6V[S57J_E+X;FZZ>?4,6WAK/&Y/3]?U>"1.?K"ULS/7&8D(;CMGT\H\Z
MPUW\<!78[B'H+H5-NY3)[ J%6\ID/N?5IFR&"M+Z7)#FJ2#M: O2-D4[ZRE7
MN-DQ[/NF73O-UL3*:[_TUM]99[-3>8Y8]SMI^V>62QVW,'9I@&M;:+>CF4:]
M>^WI4.%1>;[:M?/3:K0]>\S^>?/\ZG3C<#'')_.:XLTJUS_=WK%\Z:N/<+.#
M2PM)JS;43S:O<>.)-W?[K-Y5L\>*__--ZUW?\97Y_MM7?I4_YF['W]SMU_QC
MH<2]ON-)7**X]TL4]WR)#^H67O5M^LSSOZNE^6VQX:L-G3[[G)]O$=RI7]/^
M N$F1MW<X/APKJ#>RQ9\__JH+4S=]7)NF44<6Z7T<I_H%RL_KLN";MWWVI59
M?-\X=K6E]?9A[*IOU@.CRS[W$7<XY#0"W=/M\WW25]ND;^MF<#"_W05_7QKA
MMB:Z5PO[RI!>[>?OPZ 2#(\>!30"5S 4Q,(?9^'9?'#+,A'1L8>N^A#'A)SW
M+LY[RY(;>2YY+GEN[SUW:\V;_);\EORV]WY;I\OKHD::(]^O@N"_>M#&GA6$
M^NWO3YY]#QIN?9<MOW[]_+K!R3VJ"_L<H#[C\GN[PG8U/GL].&0/,98&A?R&
M3(0&A0:%7(FLA@:%7(FLYL"#LE-2>D_+V@\R*7VZ[IZ^:H#^A&;9Q#/B6<\&
MA?R&3(0&A0:%7(FLA@:%7(FLYIBRT\V2Z1T2T>4EMAW?D\437=_D>PY4_(YL
M]>:.X/:R-]^&_=2;7/:+J6OKN[EL\]8>M,9H[\-XU]J>NYU1>?PS].\8EA\]
M9_'0PLB/G5^Z5_OHV_FD?A_GDS)4'H7GP+$D4*ID<%H&D(HA>C3>1?EY)RZ3
MI61H$A@N"R@C(SCO'&2>L_ F&YOSUC$HU=W/)KG]]?S:Z<\63\-LUHXK^Z\P
M;DVV=CFJ=*L-JM5\*,67.Z$^7%_:+TL(L4=J%H380R)6:2M#-@9TUAZ4-@4\
MTQ9,L2E+K[P+?*O9H2\V^N!!N"! )<;!)5[J2R2+7ID8"[]'Q.Y\&O2#<J.^
MT?6A96H/QU((N(<$+D_%AR B%&-=!:YB=7Y:I[A,IL*YE(ZK]#EPI2[66U>!
MZTO]G10B>,X\I!)]=DKEF!T!EX!+P.VEI1!P#PE<'9C7(@K( NML-3(-SD4)
M1?. (E?<NJVS5&4N,K,Z(<ZZ'5Z4ZUS7!<.AH#%>!U&<N$_@DHAP1^K>J0B,
M9/:.9?;_#+._X[J3Z/6AH&]QO#Q!HEI]^]9'$H1.-%P>Z\3JJ*-D"DYAX0Z\
MT1Q481E<S!9LB*8E*=P4VX74_A_5R]],_W/MX]=G J^K1BDA.3V_H82$+.4$
M"!MM3E$*!)YE H61@V,F0JY\9;:D'/WVL4([*.U$6/(;(BQ9R@D2MDY4%4H!
M42<%2KGZ*-@$44BLU+1*A4ZD=2(L^0T1EBSE] @;5/#.L 0E-2U=Y]+FL!9X
M$JB+8 XQ=J&E$V%[YC<G6J>^U[/+?NBL.?^5XS_.5D=^M^,V$X[>-V%].)C@
M^BS-.<[>X_+PQZL5QGLDAI")R\H,D"*VK%<8<+9FO5)'E;6U*:'I@AAG[1#4
M=A+[+]/9L^EE7)3+\69<?KL:ECOQ8VL53@RY$%]$R%YN]<I+VQ:%0]Q,EY&G
M["K^A4%0LD@((@M@F+1BBJ4BMHH%0TE<HT?PS!=0,1N(:!48F8+-PJLD51]N
M)A]*HP]R,Q?_5YS]V_J+FW_>/-6GG78OEUM3/O^N&#8?OVA'=K[',:V:T7R8
MYL/W5STMHM=:1V U0(%2I@(Q5BJRH'4HSNK8(M7=5\VVX?<2%QWS3Z@A-YQF
MQ ?W' )J+P:E;V9Q$D"U/F (08&0O$[]?2G@<U909XD\!F>+#Z*+1;+N@4KJ
MPC$[#>FW9"DG@%?T6O"L$81IRDKT"1S&!'4:ZZS@-E@6NE@A([R2TQ!>R5).
M#*]"*)_KI!6DR1F4K)/0*$P BX%G&[0I>6OVNI/837) WSR'=ICT:8?)B\G[
M^F Z&^%\N1)&(@Z%00J#]Q8&DS4Z2@1=2FXB3H"HO8-D>? Q1(;(NE#%-U[^
ML4:_KI9TF1A*06'O\)Y" .W%H/3-+$X"H#YQY@TF4((I4+QF%+Y^#4)&8;,1
M@0OL0@6_.T!)ECEF)R%9ABSE!'"*6HIBK02KV7)OLX&@DH)L&<J410YM;GEW
MU9MP>MI.0C@E2SD!G!IAO!*H@!F+T#J$0F0.P5D72TH! VYM9-Y%Y:;T_N">
M<J+;/GJJ:K^:X448Y0%^N,#)O'Z(5@\^7;S%V2!]<N@>J36]B(>Q&CS.KK[S
MN)K<8#X=USNXN?W'PH']&<ZWQ^@D8BIJ[Y"[!,YX7^.C%Q P(XBD.$<>M)6=
MM%]:(^3YBB!GDWS>\'&VI$:W"\A2#H5T!X^T7[&OU>HKD^2%A&_"-^'[+H*]
M=L$+IX$%45,BSCUX'A-(K(@.OC"AMO8![2+8WR.^V>&[RQ*[29TBG!/.#]"J
MST;)10 10ZIHUA7-4G (DD<>2DS);ZV_[K)@L#><]W$=@6A.-">:$\WO_P"(
MQ(,0A8-VF;7)N83@B@<K=8S!>1OBEK:RRWK%O6HK6AU^%>,A$;T/]?M++]O#
M4L?R=8]LK>/-=!'&M*S1Q]![+"Y]^$G:48?-HJ)&5T-@M$6 DM%"E*F=#"I:
MY[:81#>'+^\C0/(AYWS(U.$U+'(68F@O!J5O9G$2#$W6.,>+ A:QIA$F1XA.
M,1!<) Q)BIBW4H^=VMD\T!4 <A/2@\A2"*C7'6BMM\4S!,=5J$!%#1&S!*V5
M92Y%[5GII('-P]3@R4N(IV0IQ-,;.TU9*BS4":IDN?(T*G"9(X2,,B?OHU'=
MM&??6Y(OE2&LWD<Y_VW&=A?E^\<U[=Z(ULMW^W,U:'$ZSE]TNI?3R:<2]I-=
M3+/'=MAU)*N#WW[ZUT?BT9U'XY1"/0T*^0WY#?D-#0JY$ED-#4H_!H5<B:SF
MZ*JP:+_Y]7[SZ46]YH_#P<4XM!1VD@?XC\O1Q;OZ<^JK2F(MB;7W6Y&EDV&%
M%4A,.U#>*G!.2,B\2"Z+4<%O-5[9;9/XRN]?-:\_F^3G&Y_OLA&+'2K%2+D]
MN.<04'LQ*'TSB], JF$A8BD@$DN@(N,06>& +(6BM5(Z;IUGN]NV[:Z!2L4%
MQ^PTQY*.D:4<VE*.&J_)*Y2I5%3FUA7#9@%.8H+LK.8Z>2G\U@Z"W;91$U[)
M:0BO9"DGA5=;A(DZ&3"^';-BD$.=F];9:]%&."^M#-N'.>ZTKYGD@)YY#O5E
M[9-._F*R"),_1G&,ZRHOTL8I&%(PO.>C-RT/JAC0]1]0R RX*"PD4[\K&183
M8C=GCFU\?5727&/@\P]I?-D&_=^GT_SG:#SN*"@JQH;*477SX3V(P-J+0>F;
M69P$6(OG4F6?00NL64:)%:Q,2O".LZAKTF"C[N8LLGV!E<2<8W8>$G/(4DX
MLQBBU98%"*4=JA-S :>S!9&0&Z6X4KB%V=W.*+NW^:L9*GOX)G7D/T1:LA0B
M[35I?6B=/QV('%L5'6,0HPF@5?)&<5TJ:KLYONP>E0(SK!-Q8BV5F1^A?+YQ
M!M)U* Q2&+RW4SRSY2%E#ZB,!N5LA&ATJX(T3EF9'-]>/=Y%,.\XU'EGAUS0
M2O'AO83@V8M!Z9M9G 0\%4/I<ZDYA/01E,X<O. :<DDR5E8I[SOIZTG"]^DZ
M",DQ9"DG@%*.QA43)?!<_U!U5@H^! :E E:KXEVVVZ>S["!\$TI/UT$(I60I
M)X!2S:6H*7C-YKV);;\-@Z!CA.P]SX9Y+T0G!UU12G]\ZC45?^])O7Z&!6<S
MS(-%^$#G5%'4HZAWW^NY"H,MPH,TK"8#SBF(PC!PW&H;B^:^;%7.[")D;QS]
MQ21-W^&;\.%J6;>S?M9:4A0\O-<03'LQ*'TSBY. J0F^9"LBF&@D*!4EA.P+
M&!=+REYQ;WT7PG;7,"5]YIA=AO09LI03@"O/@DNG)$B6*UQU#!#0(SBIM)<!
M=8RN"ZF;X$HN0W E2SDIN&9>2G)"@4DJ@>+)0F2" 0:C F;&ZW2T"_&;9(!>
M>0V5<O=)##^_P%E8U.L;C#',<; $P6!:!I=S)'&<HB)%Q7N.BE:@S"9(2%+Z
M5ETCP,6@P03/7!8E^6ZJO*\<_]?F][^U*STO?YNOMCYU%1BY'FJN*30>W'6(
MJ+T8E+Z9Q4D0E2>AHG0:K*TP54X:",ZFEC@X;[S'DK>:VNZBD.^!J*3C'+/7
MD(Y#EG("?"W"6&\KI[C5E94Y27#*<E!8O*SLS2IT4@].?"6O(;Z2I9P:7U$X
M[K6*-;M7OBU".G E-)T<M9,AZZ!$%SHY*0+]<QVJ'.^56+YXB[-!M=MT.9MA
M.U^3!/+^A,-8S1MG5]]Y7 UL,)^.1WFPN=G'XO7[,YQOC]%)A%252A;1UI1%
M.M'V764(MD9+H4KPP5HOY5;1Y$XB>P/&>KGYBAJ=K3H+>_@&8E\QJ-6:+9/D
M=L1KXC7Q^BX2OB[<>N& F9K$**U;UUT9 &UQS O-E-I:%-U)PN^.UWV4E@C6
M)#\1OXG?]\[OH'+F1C,(HE06Z\ AI$IRFY0Q;<:MQ;:$M<L2 ?&;?([X3?PF
M?G=\5ALR85$ #[:RV.@"P3$&WH<<2T;E?3=+$*27'!'"^U#)OW2K/:Q.+%_W
MR)8GWDP784S+$Q1N*=P>=[A%R9S.2^E**U H"[A4$R>,7@B'7-6[T\7RQ-XB
MK>5R*(VC:'L47D>X)EP3KG?'=10AR:@L2.8-*)$">*$Y<&\JOX6ON4\GO>5)
MV#IM=R-AB]!-Z.Y6V&*8K!"Y3K)-_4.6 $X6!=Q:8Y4T1J9.#G'=TTR['P>V
M$KV)WD1OHO?]TSL6F60IX((NH)BQE<3U4=$>N<C<9;.ULW>798D]ZB1^Z*0G
M@A]Z5:+C+1.T*O'YJ@0M1?0VQ(K'HOE[GE[&,1XPR'YJ8U\:L7\Z=+2]?;A.
M(MX6[IF4R$&VXEN5<H 0ZJ,HM.#:L%SL5L>^W=<E.HJR8NB$&BK>MSSI,SLZ
MNCA+S.Z/\1"SB=E?8+;$F@0I)R S4YG-BX)H98(@E:[8+HS%V-WB1$?,EDP2
MK8^$UJ1K$< )X'L$N,F))6& "UX![M%!B*K.HJ7QK$2!V9?NEB@>\,($(9P0
M3@@GA-\_PBN*A0Q25GJG#$I4)D<G$*2QIJTYZV1-=^L4W>DFD@^Y.WRSIH>%
M\3OMFKC-%N^R:/'CRQ&]66]8OMN?JT&+TW'^HD_^^N+LYQ>_OGCSXOGKP=G+
M9X/7;\Z?_L__./_UV?/?7O_+X/G_^[<7;_Z_74SZA/2L>CO:3__Z2#RZ\VB<
MTF2#!H7\AOR&_(8&A5R)K(8&I1^#0JY$5G-_)764LOYXROITO8%_/ IQ-!XM
M1CA_0E-M@AI!K6>#0GY#)D*#0H-"KD160X-"KD16<TPI*ITJOZ<]7V<IU7%>
MS <7X6.(8Z0]!+VH7SJT*-*CVJ23J#M2R<=4HH4@L+5MY0*BQ S22Q6"8SJ[
M3LZ2W[C[JY6W/^UVE[0?:G/X[0#'4EY$2'W@9D%(/6AK3BL#MTR"=#J!4F)Y
MV'%]A"+IQ"R/KI/#Y+M$:A\[OA%.'UH&]G LA0A[4,(F992R&5"41EC'(1AE
MP F++"OEF=HNEM]EOQ,1E@A+A"7"GAQA=; N,H6@2FMZ*9( 7R2#*%B,7F#D
M:JM?\4[;D4@6Z UE^] 5C?3QS;TZO\!96-3K&XPQS/&JSNLCJ3HG&A&/=>YT
MU('0L*2"5@ER<DMAQM:@Y@/$R)D316,-DIT< []Q]U^;M_^Z<?9N Z(>&GGX
ME@OD.0347@Q*W\SB)(":/3=*Q !"L=+2BP#!N QH1)"))Q?85CO]G<YIWP-0
M2<,Y9K<A#8<LY00 RZP/DMD$+#H-2HL$@:,%P:6Q,N0B=.[D('4"++D- 98L
MY>0 FT*27'&PEMLZ@\T:8F8"3(FEDK9.:\.6)+#32><D"?3-<ZB$O$\2^68+
M=/M.O<KUP_DH+_UF.B%AA\(BA<5[4\J3Y=)[!R:H4O,.K\![;&6/JH3$0]2R
MDTKRGR_GHPG.YT^G[^)HLG3TIU< >'K3__<4,KD8>D?+RH=W*Z)M+P:E;V9Q
M&K0-2G$A.4A,$50R!AR7&3P&Z8)&Z7 K"=E%1K]OVI("=,PN10H06<H)P+?X
M.E]EB8/7GH'BQK5ZD,KB6+\AM3 F^2XD=H(ON13!ERR%X'NS-#TRKCF3D'0L
M%:12090EU_R<.>UT""*K+N1WTAF.RZVH?+U/VOQ92K-+S#?;DY) 1&&2PN2]
MG0GHDV#61"A:U'RCYA@0%7K@6H62K,]&=-78I3GZK]=^WO$"-1MJ25'P\%Y#
M,.W%H/3-+$X#IK%$-#F TYJ!*B)"#)Q7F)J:.Z1<DPO644N7O<+4#*UCQ-*C
M<1J2=,A23@&O4L36%0LX\W7>:96%8 ,#9Y57(CE,EG?4SZ5+O))<?LP>0VPE
M2SD!MO+(1,ZE .JVWS)@Q2JZ.I/-:(Q$+U%OZ0 [=G+9KPY@AY*3#D"5ZL>H
MAC^=3I;7W(XC?XV3T70V>#E=U ^3+W$@F%##P007I.GT(C!^>I8\>]R.DI]/
MQZ,\V-S[8X' _@SGVV-T$L%5"\6YR0:*P1I<L7@(K=6O1)4,KW$R8NQ"9+_!
MCR4W]M(NS?BATN+@$?8KIK6*3TR2 Q*YB=Q$[KMLXG5%5 HC.-'2HFQ$37&"
M@E L4T&Q5)_0A:*_#W+W47<B:I,V12 GD-\[R 5RCHI+<,Y%4!7($*3,8+P0
M5B<1;-@"^2YK!P1R CF!G$!.(-]78TA5;%#*03&V0IG%4&?704+]9HH^&9M+
M)VUU2$LY3ICWH;Y_Z6![6-)8ONZ1K6F\F2[">)#6/7BHSK]OH?=8_/KPD[2C
M#IM<YYP\JUE/]+YMARO@3'2 B3'N92@AB"Z6(/:VL,^U&W)S^%A)_D(8[<6@
M],TL3@*CT69MF(C N:R9!+.B E4DR"8)*YC-@7?2EIY*^\E;2!DB2SD5K@J?
ME4YH01NE0'G+P4=GH?#Z5Y$5KGK[(,$=Y'FJZ2=7(:B2I9P$5+4S+D3M05N]
M/J+52Q& :U;S?XQ>%MF%5+Z_G-^HH5>4\]]+-?]M]G870?S'I>[>:-G+=_MS
M-6AQ.LY?]+N7T\DMRO:37>RSQ\;8=42K=Z#]]*^/Q*,[C\8IA7P:%/(;\AOR
M&QH4<B6R&AJ4?@P*N1)9S=%5:-&>\^_=<^YHSSD)MR3<WJMPZUP6+$8++ D!
M"IV&R%0&H8WST@9=W%:5P1WWBS_#N+A6L[IJQL+9D"OJQG)XMR&:]F)0^F86
MIT%3+8,P$2&*@*!:0U:G68#H12XJA!3Y5NGK'?=P=T%3*C$X9H\YEF2,+.70
MEG+4;-7&EI)+@N2D!E6T!)^R %T)Z[-E%;U=;ZLFMIZZQQ!;R5).@*TUY<?@
MM0$NA03ELJSSUA@!6TM69EG&T$E+5E(!^N4VU).U3_KX,RQ8O2$/%N$#;5^F
M6$BQ\!"Q,'$>D'$%,H4$RFL+(=186(1(0F<I6.SDF+*-M[\)'\XF^7SQ%F<W
MJIL[#XV*#94Q%!D/[D3$UEX,2M_,HA]L_=Z*]>O;\X5A_,MF!.^1W,B**BEI
M8"P94#9("#H)\$&'K% :EK?(O8OZWCVYY_6&U$??0+AGIYC9?&HF7[*(?^VO
MQY*&1&PGMM^1[<4%],FR2F<6*J<KX(.NG/;&,EG_DS9U<B#;H=@NI">V$]N)
M[<3V'FHB-ONL9!: *610'!$",[).M$-![41V/G6Q/G#/FHCT0RG4"7*7JNF/
M?[7@QH;PZ07.PJ)>ZF",88Y7:P<?2=VB*$E1\KZBI(G"\" 4U'Q$@(H^U?0D
M24 IO5+<U1S%=;%R<+YQ]U^;MV\"Y,?.PR,79JBMH_AX</<AJO9B4/IF%B=!
M56M%-"XD0(^Z$9*#5[K.+VM>X9ADL91.:NKW1%6J_SQFSR%]ARSE!!CKD^9%
M1 7,\LI8YC2$@ YDB:7.:I4/R72AKA-CR7.(L60II\C8.E%-UH8,#E&!LK(R
M5H8")><2.5HO6"<U]J0.]--]J-:^I^IY^V:]T/7#^2@O_6<Z(9F'PB.%QWL[
M-2QGYEQ-(D0[8E-I&2 R;<'E)(M)QO"TU4%\%_'\Y\OY:(+S^=/INSB:+!W]
MZ14 GM[T_SV&3C5DEH[&.;QG$7![,2A],XN3 "YB")Q9 SFYU/(1!1Z9!931
MA2(48]NG&^^BJQ\ N*0'';-7D1Y$EG("_-4B5>8*!TPW/2@[!!=R EX\E]8(
M(;SO0G,G_I)7$7_)4HB_G_(W6ZLXDZ:B-T90RB3P*BK0WJ949[G,=:/'D^!P
M=)Y%A>Y]DNJ7VT &DUO//R/)J!<A,U8;Q]G5=QY7*QO,I^-1'FSN^+&X_OX,
MY]MC=!)AMS"O>- *HO!-YV>M24/0((60-BKE9=Z2G78JDM_[YK%A3<0.'E*_
M8E6KM6,FR?<(V@3M4X+V9S^$.288?8"WHUSG?$\J@TW$2E$+"0NK:8Q@-?4I
ME:Q2\QQS!;%7'4[@KB2@]=W[]*_#6SN!DC0B8B>Q<T_[ESPZ96,&'8P%I;!.
M7AU'4"QJ&[EBG&WM7]JIMG[?$UX[5/[PS1*(X\1QXCAQ_/[7:[UL6Z3:*D'B
MH+BP$%7)X#W#K)W7MW%\E_K]?7.<\Z%PA^\D^9! WH?:_J5S[6'%8/FZ1[9D
M\&:Z"&-:,J#(2Y'W 43>Y#QS6@OP.BI0TFL(1B)HCEXH9J0JG6P-V&?0K>%^
MR-3A^^\_I*A+Q.Z+Z1"QCXS81]T+6ELI,A,!:F95,[$B/<3$3>M+6HQT$E-A
M7>Q<.)FF_OT,"M0<FL0U"A@]"1C[WOVK@G!)\#I=YQ*44'6ZSG2 @C&R9-!$
MF;M8)-GO^HC0FEA^%&Y'"">$$\([1;C+/#,72IV0>P7*.X0H5 !E4PXY&N9%
M)_LI]HIPQH?2'[ZGT4.">!\V4]#:R.=K([0@0J&60NV1AEKOLC0>+=0$J(9:
M)BLD;2S K5&,87$Y;1W'<\<%D8X"K--R*!@%V.-P-^(T<9HX?8<MYE&)I%D$
M@TR#TDF#%\R DC+J=BAQMELM/NZX4-$1I_7064N4/@IG(RV+P$W@[K@W2*@<
M%AIX"76"'5""TSJ#BE%;8Y3(?*OBZ([+$;0(<7+.1N F<!.X.P6WU"*7G"6@
M#A7"-@OP(55PR^2LCI*SN-5=XHZ+$%TI(\8,I3I\CZ:'A.X[;<NXS1COLA[Q
MXRL->_#)V\;VQWH'L)"J@S$%,MJ:GQH4=6K$$:+7SGLO3?+LFR_""V.!Y51_
M-9>:&)<ZOQ(R@:@NET,Q7L3XS1=!+"V;5A!EJ'[+K8907Q4LS\F'D%7UVP[7
M39Y.W[T;+=[5+^:#,,G7QT:D"H'!7UY.%SC@ZKH<[6M__8 OGY!85V].^^E?
M'XE'=QZ-4YI;T:"0WY#?D-_0H) KD=70H/1C4,B5R&KNKU"P3]EZ3PO_7B^F
MZ>]OI^.,L_F_#/ ?EZ/%QR<TM2:($<1Z-BCD-V0B-"@T*.1*9#4T*.1*9#7'
ME)(^A+Y^>UUP[JSYS*L9%IS-L(UCS6V'@W\Z0#>:9))3N2 H+*W0)"IP6B!D
M)8K5W)>45!<E)U<7N\SC7X79^>SU(BPP_U<87^(KG+U^&V;X:35*?=B>7Y\U
M/R]G[W!6S>79=#P.L_GZV>M:%7:S5D5\HU2%/6;\BW4J>[G1*R^]"+/!^W:Q
MP\$![K-'BQB8ABQ3 J7JC8N!2_!*.&LD3WF[Z]#=[_/R-LW/+A=OI[-Z:?F3
M^SM?_O#FK7OQ\I=O5O;7\6C_'^(.KC[P(%Q=SD'NI O>AB@$V"QE*Q+3X%H[
M*>6#B<[6&VHZZ>1[VYT\OUS,%V'2(/V#M[+5O[3;V<+('"=?NK@8''>I0HB)
M9=V;=N"+28!2!JE3=K9L[0WLZN)>S.>7/VRB6]<UF=YBF@>SU='RF@;3V6!Z
M?>L.6BN\":G[K!.[GKT=8+IY"D=,'KZJ_*CK?$-P.H8ZZ<*0!"B&":)W'%B1
MRJ#D017=Q0[H3RFWG&G1D=@/QU>.7V@GLR"$[H90(;@IQJ?61*+B$&T&KXL!
M4;(..<F2T76Q.9D02KYR1)(?6<JA+>6HJ<I8X"Y:!T&R2DBA4R5D,I"%%D%$
MY$YNI]\[[!PFJI*O$%7)4DZ#JKY(J8H0@%%X4-EP"-E+8%$(EG,RSI7N14VB
MZO'LVGT(#4./8]&U[8.=3@ZYXLJ4B!9MS5Q#,#5SQ4J#8@L$'XRS2GH5;!<T
M6%WIP9=;O["(I7B(42OP(E4D:N$@\B!!,&M\B4H;NS71#"5QC1[!LY;RQVP@
MHE5@9 HV"Z^25#T=A"^L.1]P$?JG0RQ=HG.L9A&A'3U:[SJOMSZV_A86G=6>
M:>NV=>\[FG[G*]!?<&J;:C!7I3Y/UBLS7H%3.0-C!75.-0]*L6-[[OS*'/O*
MXGH/5ML/8K*V9KRRU/L30VQ'>\0,/GH-/+-LA6.EV$Y:LFS=V-V7VK_79BMU
M?0G"@$250)6:LP<;:TA2UFB6Z[0@[<<;=UIHOZ461 ^M,4-F;VO(>__V^JG5
M+@;/,.&[B+.!Y,.!8$(N^VX<P(1#-)A=BN!*Z^-9PVOE#)=0I,LAIIJ%X%:)
M5R=LVK\))R]]_6P:D*DVEPJIFF.-+R84YFINI6INM9=+Z\Z$M;9#<^NA#8=#
M[K;QBL&FE*09,=62D+A$XE(_Q"6'1;B@+03%(RAK*\Z6\Q7!=4!TWFT7\.Y2
M2W(#@7=0EFXAX.';Z9.G4"5)+P:E;V9Q$@"50J&RW@ WE8@U:<_@G$1(PD?C
M4]$N=7(>;S< )6G^F!V%%CS)4DX J37S%BQQ#TUX ,58@F"LA)!#5B'K)B)U
M449"2"5'(:22I9P 4J.6P=0\'Z19GD];<_U0)Z8@L@E%!./=MM)Y1[&>TOPC
MJB!Y"-OV>]IY[JQ>73/8,!Y<A%&NGWR0PL5H$<8D?E-4I*AXP*AHM/:H4H(L
M8@+%O0?O10') HO!9LVW:ZEV$;^O$?"J$N#%Y.G*_V\$RX[B)!]JXX="'/[T
M0O(@$L5[,2A],XN3 "M&M";["(@U?U %%3BN!,0L'',EJ^PZ.?MU7V E3>>8
M78<T';*4$X"L\&A3D088:T7#4@IPSD80/G F!%>6;4%V%YF<($NN0Y E2SE)
MR-:D7ODL& 39FN05A1"3;3-95^>XR5@TG6R^)(F@MQYTLELR^RJHIW3Y[G+<
M=N(-IHNW.*ON]Z[^UEN<S$?O<3">SN<DK5/<I+CYM;C9V=Z/OQQB3U)->YBK
MV0//NJ8QD0>(AFE =$)XI4/6IA/A_AHUYXTT3V^"YL6D<@=_K;1YB8OS\B9\
M^/X0/:_WI3[Z1JR6=JCDE[M-/UR7_=1@OF0;_TJB/B&=D/XPD*Z\<49:"<A*
M!*6Y!U_3*ZBIE(U.H?.ADXZ,!T?Z*29>O>4YJ5U]-1E"_"$V,Z4Z$>;2@;>&
M@V(Z03LM KC$_Y^]=W]N*SGR?/\5A':\.Q.!E.N1]9+&&Z%6M[T=MV^K;ZL=
M&_/31#VR+,R @ R LN2__M8!28D2)#4%'A#G !EVJ$&">)PZF9]O56965E'&
M6J5WV^+NE5(X%(0YOW J?L3$94L9 G%'/:G61"EBC!!-U[O%E0I)8]>#2"3,
MQM90=^(D>V4OCCVIGGIQCCL$[CFOYJT"P\UL4%PMVJ5R)F.P"IV:P=/J_6\>
MF]>;R7HYGY7)S<UG#?_],1J&RA]8ARM5XT0*0$940)2^Z;#.H(4BLC+I0#N'
M[NV3K_B5-G&VH/+#-3QN >5[JK,\V_1418#:3SV&HTON5^SK2J>$9B_DK 7C
M^[3Q/>I%FA?*2:_:JLQI"ZA<@F2$ J^]R"X'E&IG%]H^F8\^Q>%NZS(SE>'X
MZ8YA:@2G1$8>H&/]8/T8A'X(*MIF9=O*H.MBG*J!4*.':J)/30Q(.]U'TN;A
M]<-Y9/5@]6#U8/48LGH<F._.54(K)6#MYOI>M:5!#AJLU5EKA3&6V$<2YP&#
M1VKJ[?'S-<-$^[@VJ?24N1E\:N:WY2;.)]MSOUXMY\ULUMN2$O=T0G^_G&W>
M<9J&E9:5=N1*&X*1R40+I%$ "M4=P^4KU*)<M,GD(GI)T[R\A9$?MOCH;7-G
M<'*JA&9M'87?<6*&@7W2P!YU8"UJFY2L"F+.'C VOGMM'-A2K&F@K2[O'-ZW
M3V+F/G)PUT2,<1Q*XU :A])8+U@O#J87B%*'+OUB,K:E %F(,FC0&;LC@="K
MN+-\V"<1<WB]X,0+JP6K!:O%P-7BT#P/CG1U#I35I?&\*]'*;?XOA1?H=$Z(
MO9QP?<APD,6I1\,P/W:JI8==,^>5:IG/8IK-9YM9=Z+THG#J9?1:JQZKSNW+
M\C+-Z8AJ>[<IW+\<6W8_/UQG(;Q54Q(^2K U6T#=M=]$$T$J4TAX*439:4.P
M3Q[FIP^,>;8H!Y-A-?4*IRB/W\GKJQ8V.B'FO,QPC(=ISC3_4@ME[XQ47D"(
M-@(V&$.2CB 9JED6[W7HI;/7 ]%<#RZ[SASGH!BCG='^\&B76DJ1/8+V1@-2
MCI!**E"3$RFB#\KWTB_L@=!NI^AXDLYP9[@SW!GN)*M.JCCH]J$#:JDAZD0@
MG0U9V!J$Z*5YV,-%8;2<2C^T9,C8 7\['=(>QW857VC)I1]KK?_P],ON(57[
M^=!!E4\^_JL?=_<!:2;5/3];7,9KFRJS-U_\?1NN?V__G>1Y7*\[X_H;P6)9
MZ.8SVG5T3U]?QC^W+<S>/@']M,[I+939BK:6V]YZ?GFQ>%IFZ]?S^.Y)]^R.
MP3TVLZLKN<Y/7?WBOR[7FUE]=_.!VY<"+<K3U\OU]B"B)RN:MZ_\AIJYONW&
MJ[WGD_>6^_:.P+O/'?U\VN.;*H3VOL-.?'1WK^[ES9U[M?K$NF>+^6S1OL8F
MKC9/XN5F^?3C)]JX7OUZ>Z.O$G^QMHM[$N?_B._63Q_]\;U)?(XWVSMVRPIV
M[F:_-^WP@<U;G_V[!G)W'[SE65M)N^UX-V<F4C9MF8'@=>I*M*2 F#%!*1:C
M$5%J'?[SNDBKO93*L\V=7Z:OO/9+'YW:&]C07BZ+*( Q:DBZ>-"B6%%S+CGA
M9S[Z3B_3[S/(_[X%\.?HNS7 :UOH;D=G&NWN=7\.#1[+R^N.R4^O1CN(Q^(/
M-W_?G&X>7Z_IR9I>QU7<T(T5;.<E5V_]Z',Y\3>S]6PK[N^>W+S'%[+=5Y]J
MW&-$_8?;YGM]RZ_L]X]?>:U\K%'N^=(]7R8>>X$/^Y'G<9'-Q4[K(G^G:,1_
MM6CD<PB]3R7)/?-@?OQYL#,:@69+W;-_>B3%HWL/Q]TJ7_H:GOO- /]QY5JI
MK26_.'[?4Z:+1*M)6QH>U(Z&,' ]6A;CC'%V CC[ID+GDP">$DH=U,+N4ND[
MA$%E&(X>!3P"[V&HF(7?SL)GZ\DO*WHS6UZNY^\FO]+KY6I#A>DX0%<]Q3%A
MY[V/\V[/&9H\*UTBXZ+]:J^#4MAOV6_9;Q]:=']MFKMFH7W@9<C7]R4>>!DR
MIGV)=S?EER]_^.WE$98H8]J(TB<MSZGBCP>%_8;]AOV&!X5=B:WF80?E6,W4
MMY=X?5RM.<RQN&9\I^+^N-C$Q=]F75E;7*]ILYY.%K3A3>&#V%QR[!7<@#:.
MG,6F$(TI:"$CQ&ZS'SH?(6 B\)23T@9+$.'332%!U>)\\"!K"8!:$R1K/"2#
M)J92B\7TZ::0#T[_;.OS/]/FA[=Y?MD-^E^6R_*/V7S>UX9NHZ?6V:-O"QG+
MA@\F[(F;!1/VF(05J$-QVD!(NM$R^P!!N0Q:NI@J.5_-#F&CH)BQ&FA_4P&]
M;W!%D< X8TLE]$6;(Q+63@,JYNO1^7IJZ[33L11&[E'[S:D<LC )1(D>4%&;
MU'H48!LVJ[3*6K6+W)JEH4#0)KP-N:E82.00K,[1%14P:SSFI-:*J97'/V-O
M+- ]5E/7V[&8K0\=(.:S?=^1!7VNFL VR\V7JU7[U77HA]<D@Q!(;J+.3=3O
MJ*U(P0>G$KBL(V"P H(-OFEK%,'*+(.7?02,KA7U/3!Z:Z%NE)T:%$=7TE-J
MH<ZX'HKI,*X9U[=QK71R1C7T*A<-H"D"?/$$$E&)6(T5OO81?3H0KH<1:6)4
M<S2*Z<WT/D++OF2S1@TBE0QH4X;@G0>O26IC@W1YIV7?/H&LPTVVM9ZB9X(?
M/;35<S43A[8^#6UQ/&NP$LLM<GL8KK/0V^15<2D2Z!P$8,X$'KV ;"U1%IBM
MW.E_OG]PJ[=&N$;AM'WDP%1V[(UPF=G#,1YF-C/[2\P6R2): R'GMMX)'7I3
MM%WN/RNAC,RZ]!?A.N&X%O.:(UN,<$;X$9(4I3LQB#18JS)@-!*\2Q:DK:7-
MK)VKN\<.[1_FZF_:K>74BJ%EDL>.<6Y[\<!M+W[Z\=EW/_[TXV\__O!R\NSG
M[R<O?WOQ_/_Y/R]^^OZ'7U_^K\D/_]]??_SM/WAS/^](YAW) QL4]ALV$1X4
M'A1V);::<::1N2G&Q^U/;^V/F'\X19$3% .,;@VC;FLDL:VS+>"RE$Q2(4,,
M&  K)0@H+!1*%E41UJ2=Y,0^">4M/FX=O-I[*9>>>HD#BW2-NXSKF+['?!_)
ML#'?A\WWH"*F)#S$4BV@,6U:+#,!8G6>JA"11!_)YX/S?8@):>;[H7UO+&M5
M1CXC?RC(U[J8FDRC?4W4'>!L(*(0H*5!;6R,;5;?1[+ZX,B78MH4AYD_E-PU
M;\TX?-<1CJJQ!)_SA&_4RNL,*I=MD\T:N\660(C:5'#5HZC22&%,'\&T0XJN
M$F'J+*^TQN%X3&PF-A/['L1N2R55E 'M:K=_761(: ,HJ7U-$JN/NVNE/<)C
M'!EC7I]BC08CG!%^['Y_1N5BVGS;)M* KB$\2G(@2BE4@R@^[S:0VB/<==!)
MM[13)SA]??10%W<A.7"HB^-;++4LM2.5VB"BUR5ID&A,DUJ2$$V1$(SU0N7H
ME>@[OM77&DGJ:1A< Y)Q"RQS>BBFPYQF3G_4<41)2:H0^(P(J&J%%"Q!H[?$
M8%25I9>.(P?@-,>R1N-L',MB<#.X>P6W-"24J 5()=\FV%9 4KJ";)-DM-(:
M@[WT&3D N)68AL&U&ADWNH]5K-53P&I\$:E)7'2#LLS__6HY;V:T_I__PROI
MGD[H[Y>SS;NC2NS-M1\2>1_ .FJ)Y;Y>/0S76>AMUDH1^0S5IBXX51-$:PBP
MR9G2,5M?>FFG>TMOGRW*RUN$^6%+%FZT.V@AYDC7<(R':<XT_U(E0,FZ2A>@
MH&ZK)VQ(#Z;]4PHJBSE4J_LNYCHDS8<8"V.2<S2,X<YP/\*1Z0$MU9"!A)6
MPJ<VXS861"ZN6)_)V]1S:.S 4W5NSGO@F%E['-M5?*&&2C_66O_AZ9?=0ZKV
M\Z%GWI]\_%<_[JX#<G/YVZO_W*7'R\WRYKYWWZ=91/?UNS^'>7RWO-RTCWA+
MY>G5QP7Q6/SAYN^;8\_CZS4]6=/KN(H;NAF&+12NWOK1YZ*6;V;KV=:SWCVY
M>8\OQ".O/M6(QRB[CWW;C4_W%:\ON0WXVZ>/_OB5E\K'TN_YROU>%AXK5 _Z
MB6=QB>K!+U$]\"6>U"W\G7R%/V9C]&\-P?CQAV!ZSC+T-2(/DV1XWVU6XOW;
MS7Y3=OIH0]AGR_W_H+B:_+ H5";?4Z:+1*M)FZ].NK#X06WQ+OG;(0SVP_6Y
M96PR-A\>FSTTZ3X_:CY;3WY9T9O9\G(]?S?YE5XO5QLJS$MV7G;>P3OOK_2&
M%I<T>5;^ZW*]N6B_W&N'&GLN>RY[[H-Z[M71!.RW[+?LMV/RVS9=_I76F\AS
MY(>.*6QS35_N?C"D0RI[2UKW7#Q^/5U\,@!FCJS^^Q@'@1VV]&' 4LNC<DR^
ML.N,S4AX5,YG5-B;V&YX5-B;V&Z.-"K[K5)/X3B*H:YJ?UDMRV7>+X+*6YT?
MHER;]T8,C(<'WO=@,.M@#8+WM0#62A!4SI"K",D&4DZJ3_<]U"B$T]J!,2H#
M2EDA4G"02Y440]:UAD_W/5S'L_Z\6EX\;V_6?8G_.]N\>GZY;L- JQ\7>7[9
MW8!GZS6U_Y??XMN^]KEI/]5>'GTCQ%BV./!NY!,W"P;N5X%[UQ34A_OTA1'\
MUYL1?$"<BRBJ4RB@>(& *".D@@4*.J4$$D9TG^+<1$E9%0=:=EVADK#@C34@
M5!))6<+@'A;GZW9OVJ/?W;^,XOC[EX?JOO\V7/<]]RW*0S69LR7^@9EL5:5J
MG(>02NGX6B"1BB"MDYB=+2KI3YF<8_0J48"2G&E3;-M>K=IK, 3C5/%&I'BT
M*?9V\R;\DU;+SH6\DNKI&7)X:+-KQN]0+87Q>TS\1B.M3"0@^M*FMT068FG\
M"JBK*+*2H)VV/<';*FQ-8$(HW32Z0JK>M,FGU,DX:92A(44XY+3-T9G!#U*]
MQGF! U2[+=_%^>;=MD'J<EMNO;KR)DX4#%5&N>TXMQV_HP)3C#7[&"$EH;KF
MIZDMA32"#=)8&:0CA9\JL-(.L_<-M=JU98]'"5';"%YIC*E$++X,1X&UUT=7
MWU-J3<XYB*&8#K.<6?[1&6W):11)@+2E FH9(0HTX(6VICNRC?Q.OM@DV9WK
MEL%HDH"I\3]V0*^YJEBC=54=;S4UQ& 6HYP#7DQWIOL1NJ J(V61H$WP@+&!
M/2B9NWP%BM =&"3S3C50*:EB3B!],H#%.0A.:S#8\!ZD=4$[ICO3G>G.=&>Z
M'S43$F-U+F=P(<9&=X\0=)N,>Q(I>9L5F9WB('0EA$H)4@D*4!H!*6 &72RA
M5#[+>+Q$-,=A!IDIZ7D'A3I0ID2-,5-R=:@<9T=8E5F53T.5L[6N%NG Z$J
MWA($BQ70M(58(6UJ$#MK+B]<,$*";XNOILK!0LB1@'R1H<J@O-DY5NBX.S"<
M15;F4;CEW1#?UX@PX4_8E,9"^%%O^= BJ6Q)@7=M789)$'@E/4B9BQ,4HHOU
M4_VPRDN;/8&)W381TY:#P<8,5%V1PI#1XF&SZV/:\C%,&>%M(1S(8T$9B* <
M&/DJ5U-*8[P2J4W_!4F(% MD0V25B]:JN%-0U:3 RV# 2S* T7E(MJT;T%HM
M"(L(<>>P.D[3# [S0_-(ICO3G>G>+]V%EH28H &[\9FZ@)"J;59O15&U!F5Q
M9\,*$>:@=9O&)^.@R]5#M$F 4D()(:-1H@XI(*2FVO),_OBIFAXVM?24F1E^
MZN7Y<KU97VU1>4VKN&D7,Z&WKVG1W&.O/LV<BMFGRQ_/5WAF-ZR1&O^> G:[
MP1@3CQ2/U'ENRSYQ2[G'S/-]2(P-YPP-A\5^"*/&(S66>E'NK/%)T&*RK)/7
M5YVWN7*49VNG(KJC#O++&"GY*@"+:O_88L%;29"C-Z)F*;3=V8NQ3]5GY_\O
MZE^6R[)^MB@O:?5FEFG]<CDO?6VY,'H:U/%C^>PWXP]#L5DP3O?#:=(FB<9
M\!(-H,H(7<\AL HMUFA<K*6/(LB^<3K$PA=VF5-;EK&E'-M21@U78;L.;3I!
MKJ6!4FB"*$E"23&H!E=3E>^CW)#ARB[#<&5+.2NXAA)<0%%!4[=]1V&;PV83
M07A?DW5"ZD)]5/MQ(&!@?L-=J(<6*_^5UA17^=6VQJ_0&YHO7U^TISA8SAK)
M&GE$C;1!:1510%"F:63,&@*9 %4D]$'X8.K.?J?]6B1< : )Y/<?W/^'JQK?
MGF02U=2Q2@[ <SA</HA!&9I9G 50A12435LQ8+4-CDB^ 55VR4B=I G!.KL#
MU/UZ!O0.5 [JC-EK.*C#EG(&?(U%VJ2B;+/-8 "#BY!L*5"4M:88&SV&?C;H
M,U_9:YBO;"GGQ5<AE<N**O@N]HU:^J[G%4&6*H2HE$M)]K-%G@," _,<+C$?
M6MC\)<WG[?JFD[_1@E9QO@V?Q]+^?+;>=/ODWW"Y.0LF"^91!1.+S,E4:(KG
M :5JRPP;$S3-PUJM%-'OG$&_3P3]F@5_N2)!D\UG'W&@7^54TD^E/'['?_8A
MCJ4/8E"&9A9G@5;99N\!HP!'H6&R+4L@4NFZ=QF*#:&%:&<MLD\L_9!HY:#/
MF-V'@SYL*6< VB)-P>[L*8'5=?/1 D$7@B(\%I%02TQ]!-4?= Z+3C)I1^,_
M3%JVE#,@+5$*)64)*+QN4UI"\&@SN.AM2EHK'W;*0_8)KS]XM,#XXY]"-!8?
MXOKTH07:NR[-[?K:#YWOK6=EVX5VN>#H^E#UDKN^GT[7]U$?$I64UXC>=6(>
M 6N,X*U5("+EKEO"YX)4^\3_O[M<SQ:T7C]?7J398DNG#]1Z?AM:SU:KV'[;
MY=/7SU]U#W]</+MH4K)Y4;_PDI]F,<WFL\T[V??!4EI,C0U'GQH,LQ_]8$^6
MXJP#2\Y)2\ZAD\*YP[@7(%3MSH,W"I+/!0@QQ^J]0;N3%-XG<S$X41AZZF.8
M.C T+^:@'2L"*T*OBE"-R4HF#RYJ ^BU F\4-8%0GD(MDFCGZ*E]4BRL"*P(
MK BL" .VI;$HPJC#4ED686I64(E$TQO<GEVNP57KJTRJ9ME+HFEP>L-AJ6.'
MI0:QCT0=*+VEQIC>^FVYB?/F[%\^99$373RCX!G%R->8P7DBC1YT=FV5J)*&
M5(0"8PV)A+::(/HZ^:!K=7A=1;+NJ8S$>)Q*[UF41^%S=^-W7R/"^#YA4V)\
M7Q]<DQ1YE<%[&1J*K6V/'(%L%'8A52'53K_:?4]:N#^^.98W5G?C6!ZCF]'=
M;UFW\.1-<&WF;6/#<.EFWJ@A)N^T%(0^J+[.<3C S'L(6V68W<QN9C>S^\'9
M[4/5C=$%9'$2T"4-/IH BG*;/_LLL]G9_+CO,1$'BII8PZF,D]B@TU/"8O@9
MB1\7>7E!D[I:7MQD(Y8+SD*PGK*>CEU/B]4D7&GK&JH!4-EN&20M5,S>:D]H
MU4ZEVSY9B!<W2<PKEORT7/<FJ3@USK*BCL+K>$7$!#\W@H^Z,LU'83,)@I1]
MTX>DVBI*N BB5D0I=?8B]Y'FN)<^W*V*S$Y1'+^_\#!U8K![&UDP6#!8,$8D
M&,)2M:9L@VW4%@<N0*!2VJI"26.$%Q5+'\F5!Q ,3K2P7+!<L%P,7"X.#'05
MI;8Q$<2&<$!2%;QS%:JIODWE576[[2;WR;@<+D*$;NK$\=NC#Q/EQSA]Y'-&
M>9]$S"GF7%YL7M%J,KO*O/SKS<Z/?WNRC]6>=X*EW83NV3\]4H_Z'*"3GU_P
MH/"@L"NQU?"@L"NQU?"@#'90V)78:L91,<@MO;]88?B&UINNV\CUDI>+"X<:
M.AY+B.KX2891AWUKQ(HD15=>3] >%_#D"EA99")94_6NC\+ #YY_%??]F39]
M'72!4ZG-T<.^["^G-GU@2SFVI8R:K#D**C8$<-L:!Y2J\=(DL+7XH*25SO1R
M4&9O9!UB\P#V%:8J6PI3]4,_EI"T5%2[ELV-D*(HB"H5,,:C2)$<NE[JSIBJ
M["M,5;:4\Z!J-I2UKP$B90>H&QQCD 0UD*Q"U&+*SEQUG^(OC@(,Q%\&T0Z8
M0^,?A<8;6YISW'3_Y<@X:R)KXLGNGPFQ2S/6[:Z9+N[NVR/4!122TSEF$>-.
MN?5^<?<KK%PWN/EYN7C?9[PGY9738(Z_@88WQQQQ*!C:#.UA+&2"B^A"U"!+
M35V?$PLI8P&G1".GB1;]3L_'_8+N/6.5PT1C]AD.$[&E#(&NHYX26Y0N6N7
M%MGU?#0>O$X:,&133%%*U9WS>?<+[1]Z2FS,\1N0\(28*3YXDV&*GQS%A4.M
MR0A0C<&-R G!9X<@G52U5.&MVCGO:+]4PJ$IKJ9F -O)1\=QKKH?6FJAZ[$P
M:0[:/J!=YN5L_6I;@;^LS1O2AA,-K,>LQR>KQ]@60=I2@I2$ LR$D&);,%'V
MVBA3DNNG\^]?XFRQ[DA#ZQ>+'SXBS8OZ?>-,WVV[I)K: 30$'IT^']];>9W%
M7!\"UP],7NIZY\9*D(*N@*D6B%%WY54^2J>3SZ;VD8OHD;R<D3@5SV'&LJ6<
M 6/1"JU4\."HF]W*T.:LNLUNDT[.*UMKM3N%J_OD#)BQ[#G,6+:403)VU/$)
ME\DX<AJJ,&V6C*JT&6\*X*IU(B=1=-K9T+5/OH#C$R.)3_#6A*'E#YY=+-LU
M_W-['.!-UF R6Z\OXR)3<\WUA@\)9)%FD3Y=D?8N%&>T!>VJ;X+;)?6%\2 K
MJE"$CYIV2K.^)8FP^ALMGMS&S)4D_WC-F.Z4WIZ2^GXJW#EN$^2D 2^VF./#
M#VB13 9SQ/9U=0"L1D&LY"&[4D1[CJJC^R0-#D9:#F6-V6>8KFPI9T!7Y8NQ
MI#T$90N@RAI"- DH&W(!DY1YIQCF6](%3%?V&:8K6\I Z3KJ&$0,UAO3*(@&
M"=!) =$Y#5H5JU0D8<.]-A9P#&+@,0C>6#"TQ, 7#J_C9,!0A9C/@^7S8.^:
MES<Z%:P%?%)-.CW%M@"*!BCZ'"1F9^1.9=4^^P:V#+F]>^^J,^#UMK[>%%>J
MXV_E.Z6388\_53[W116SG%E^1Y;K;*FJ4B HIP"53N!U WI4(JL248JT<\C+
M/CL1#L'R(4:^&.0,<@8Y@_S!0>ZE$JBEABI-!BQ!-Y#K##90R;D-6YN<]['=
M@4'.(&>0,\@9Y <">?+6JA ;E,DVD'O4$"D*B#[:K(THBG82T?OL>N#HRBA9
M/H@]$.I J0YU0JF.Z61!W$&)%9D5>>R*[(7RKJL*4['+=U07(=62H"FQK%EK
M[^+.TFJ??,>AQ3A,C3G^KL-3$F,^J6$HIL/,9F9_Q.PDO8_505O[4+>*4FT5
M);J:WJ*KSJ&*$OO(:W DC('-D3!F^%DR?-1%PZ(I@PDUM,FY;+0/(4!4.@(9
MJHWTWF2UD_G>)V'2@T+<K:O($(Z6&*96\ YG%@T6C8&(QH&Q;JITUF0#*FH%
MJ)-LL*X1-(98VY0^Y-)+^N3PP1HAD'E^],Q)#YM$>DJ4##\3<N4'DT3-LNDF
M([*);XF;0 U66L?BO<>?A(U:%F7R,G<M0X(A#4@6(;BVD'%2HX_26!FPGT.E
M.Z?OFBG^>;6\>-[>;[:X; /^XDHKEXOU=ULZ7/W=;QT;?GB[6<5&T]DBKM[]
MN*&+==/6[INLEO/Y5EVOCG/J25@M3J4^_DJ)_8Y3'(,8E*&9Q3!P/.K0EA(Z
M)I05*+>E#.9<P.?D(>OJ<PXF2[G3.'>_HZX' /N[!<?L%,4Y0I]#7R,/?;$@
ML"#<?Y>?2=G)-N?/.M0F"(H@)*<@&DVF1*2H=@1AO_.S1R,(<BH&4)G,@L""
M,'B384$X0L"F*$PU%@]84P ,PD'*J,!']"4;7;3>Z?:ZWV'9 T#VU_/:=NJ$
M.T-4CVR#R+FE.3;Q[>3U:OEFMF[FR F.H>HEUPYP[<!=&UMUM<%"*M Y*4 L
M&CP5TS5#*8:P8L1>&EN]U]+KDH'O:$'M^_6DETI-C3E^$\E3*AW@),A03(>1
M/3)DCSIN1B9F[1V!KK$MPDS*X%/RH'61!H6T-?5R3O>]!>&N,2\E6!@X+G:2
M<3$6#1:-08A&"%B2K$TJ"EK '!0DT@+0U4I-  J:'='8/]ER<-%0.K!DL&2P
M9+!D#%DR#IV.$15K0M,E5&1W%CE"*%I"B5X5EZ2K9J<'R/[IF(.%AN142LDX
M/WJZA7>5W-TA?Z;-]5X23K*,0TG58]6Y=%E>ICD=44OO-D'[EV.+ZN>'ZRQD
M-6>G2(<,UC=MQ:(-!%7:TDE9YX*N9//.)OR]6FO1YD.A0T]BBG)JW/'K$KYJ
M2Z.34\ZT#,=XF-OCY?:H(VB>A"ODVIK)8M>?)2<(*%*WB<56W63!4#_-N_93
MA3NV8YG*P.K L;.SB)VQ<K!R#$$Y7-,)2]J"29T*I/8HD$.0U=7@:G8QJ5Z:
M>AU2.9P?6N,7U@W6#=8-UHTC1HH"RJ =(10G(V"6&;Q#A%I)">E"];J?OEX'
MB!1I,S5A:)W7A\-TWN<RS,3+#W&U:!>PGKRF-KJOXHJ>< :F%UUM-Z5[]D^/
MVF249R.CV$S*(S7^ #J[W6",B4>*1^H\]V>?N*7<8[[Y_L 3-IPS-!P6^R&,
M&H_4D&L^M]=X?32J/- 9K'*,9[!^%]>SS,&)H<[-..C/0?_]SFA*[7_!@'!D
M 2,2Q& U6%>E]"2]BKUT+;^)=/Y"JY==G'.+DX^#_^TAE9>;N*'UB_KL@E;M
M3GZ_G,_C:KU]R?O4@+B=&E"_DQD0C]W0-F2//2_  ;#A& ^C?;QH'W4=4/95
MVQ@K".4JH+=-#IQQ4%RW6P^M4:&7#NB'%(Z[%0N)QV)H^[.'HR!<+32PV &K
M"ZO+^-4EJF"])VKZH-L2H];4]>:UH'P*JN9L$YH^JDP'H2['/S6#U875A=6%
MU64P82D7M$.E FBG76-Y:*N+7",XX8PO%*01H8]:U".&I2QO03B1<E7.&7WA
M?GT_FU\VYYG\Z\_+#4WT<76:TT>LTZS3?:>/=,S*H@0CK *47?LN@Q5\*%2T
M1Z%V]Y'WD3ZZ)LL#)9!8J3F!Q DDAOO0X#[J$)\528B0+60D!"RQ0E#5@76.
MJE?"5=S92-Y' JE?Z> 4$@?Y.,C'^L+Z,C1]H83)>J>A;@L4) F(364@.8TI
MBT#9["Q-^D@A'4E?.(G$^L+Z,CBS8GTY7G#*>*M"10,A=8<-)HD0,F5PJ2TM
MHL\4]$&22 \:G++'/V)]J. _QM:CSUGM?7)+I]CUY/]N1Y+*)+:KBW^CYH(7
M%\UKMPU0UI/EY6:]B8ON&O?JAG+>R:$[;,KD"0H/2L^#,OZX._L-^PT/"KL2
M6PT/RG &A5V)K8:+($==!,F-,SBX//JZ*HXI7\>4E0V&DHX@H_> *B4(E118
M)Z7VT3O"7HY3NXF1/;L*D?U\>9%H]:)N0\7K%Q\B9+L;%JZB:+>#R.+WSM$Q
M4Z<$AY%'XHOCC[4PQAGCQ\6XUS&10 $FQ0HHO('D4P11HY&N.EG3SO[B?8H/
M#XCQ.GM+!?Y)J^6MOIZ,\%'XX:FM.IGJ3/4!4%VD0C%D@A1,!O1!0<+J(1EK
MM0_6)>'[*/ECJC/5F>I,=:;Z0U ])4JB1 O2(0'JG*%-TF7[QT74Z)6*.W/U
M?<KX..0R<K)ST_"AY3ZX 01K,FOR"6HRBHP*VTI+V"H 0PC@<W204ZHAM%5+
M)'W -,@U5W:D^;ZJ;*?:.5;ED7@C)T(8Y SR>S;:4[+XX-MLN*8 &*L#CPWD
MOLJ4):'7D@Z8".D'Y!PT&Z\G<M",N<Y<[YWKVK29MDT27$WBBNNIJ Q(!K/)
M7>Y[I[M.CZD0YOJY>R)SG;G.7#_ ?#T0YJQ!>-.X[DW'=5,A*<I8933DZ@&3
M(1QX&0_;OY0.^?+VC[Z;%^SD1<:: AGPKJ73R6KP7C?>Z\:="]AO!F<B/"CG
M,BCL2FPU/"CL2FPU#S\H1^M<T%.QWO"K\7ZFS62VR,L+XCJ\H8:#'WXY,M@^
MMF<1S\VQ2A5D FTI71VCGFJ,($DK4BDX;64?A73-]W_<NOY/R_7ZX\ZT+[]_
MWWM6WP[:@OZ=J"W*J1E U'8L\5@NA#MQLV"2GNYI$M:3KLY8\'Y;3Y$=).DR
MY!I0Y8!5Y)V^+_O4R>W)Z;L=$V&F,IPCK_D$B $L;$_19)CE8V2Y0D7=3!F(
ME =,C>K)! ?6E.125@%#+R<#'93ESA__5-*ANB63G$G.)!]&?,-7:8,J8)2L
MC991M7ES:MRLV6(T;4Z]&]_8IU[M$/$-;:8FV#.D+!^<,\P _HO-*UIUI^6T
MOWQ%B_7L#5T']"?_.F]V_V]\7@[G*3E/.8)!&7_$EOV&_88'A5V)K88'93B#
MPJ[$5C..JC/N&?>%^_7GY:J-_6*2+U<K6N1WD\TJ+M;SN TJQ?)?E^O-1?M+
M+F$;:HCWXUV4XG&WB7*]G,\*[V?^AC$:1G1XU'D^(ZHQR2,X'R.@1P'1Y@@%
MO0S%)FNS[:.V;AN6>WX[*O<A%'U-L^?7,/NM8]G5EWRV*+]](-NS]V#[F38O
MZF_Q;=\)0ST5^OC%'U\Q_"-NL!YL6G'\<2(6&!:84Q482BYB31F"#0XP604^
M! ]":E>Z$X:HECZ* D<B, .H!6=YX:H55AQ6G.,5O C4UEJBQL6.[P$SQ)0(
MM$*G@A-)%M%'<>&Q-6%<??J&H@1#<UH6 !: <Q. 42\YT"J7="R@A&U+#J-#
M$PTL4,DG+W6PU?1R&-*QY>6N,2V4QR^#'Z;4W'/1<;3#E,ZF'</SS]1Q<E9K
M'#. H?3I'>SF!F[8>W/2>,%8O""HN;3U8!8&4K)M>>@UB>2-T'EG/;A/$NHS
M6GV_1=VNV/JI03ZS<"S3<4X=,<7/A^*C7M29)(+/)8*/H?%>M>5=\DZ#JA6E
MB]YYNW-8QSYYI%XTXJZM)HP;VLIL.%K!":&3B@>RCK".#$%'A(U")M76#<FI
MJ]Q3$D9!K=F1SQAE[>70IP?4D2&TN6 5815A%6$5&4Q,R9;&=U$:I(TB0)T,
M)%D0JA(Z:!M(V%X.@7J F)*:2J^8\ =KQ-$>QW85#Y\8^9VIT_:SO_IQ=[_T
M9CS=\[/%9;RVGC)[\\7?MX'Y]_;?29['];HSH[\1+):%;CZC74?W]/5E_'.[
M=>KM$]!/ZYS>0IFM:&NC[:WGEQ>+IV6V?CV/[YYTS^Z8UF,SN[J2ZZS9U2^Z
MK.BLOKOYP.U+@1;EZ>OE>K9][Q5U&=0WU SS;3=>[3V?O+?1MW=$FE2_-\3?
MFJ;YILGQWG?8R8_N[M6]O+ESK]XG(J^__6PQGRW:U]C$U>9)O-PLGW[\1!O7
MJU]O;_15-C+6=G%/XOP?\=WZZ:,_OC>)SY%E>\=N6<'.W>SWICVH#_ZN@=S=
M!V]YUE:T;CO>3=L]RB:%)E->)VSK"RD@9DQ02M<)2D2I=?A/?:5;[:54GFWN
M_#*\\MHO?71J;V!#>[DLHK1%3M20=/&@FXB*FG/)"3_ST7=Z&=[1&W_7'0;*
MUQLAV>K(YW:9;KWKVM"[[]/9??OZW9]#(^/R\KI \.G5QP7Q6/SAYN\;4>;Q
M]9J>K.EU7,4-W0S#=EIU]=://E>&\&:VGJ79?+9Y]^3F/;Y07W#UJ5(^EOB'
MVZYY?<E7OOG'K[WT05^&C_48OB9?'5_=,+_FWE>GU!B^Y_XWSX[A>_+E\>4-
M]GORY9WAY9G'RA_P W^GSM9_M?_,D)JF^O%7%MVSMFI,(_"^49;$^W?*^J:=
M'U^I,NYK .\7O?K'E>>EY;Q\<82?Y7QY<3EO"]8RN>K*^W$U=[=-XJ 6>)<]
M!T,8=/9<]MS!>NX/<;5H \*>RI[*GCHX3_UMN8GSR<O-,O_WJ_9WM%K_K\D/
M?[^<;=ZQO_9KK;P&X37(,?G80[/>\\/CL_7DEQ6]F2TOU_-WDU_I]7+5YC2,
MQ@&ZZBF."3OO?9SW5WI#BTN:?&B1P(L0]ESVW.%[[E6TC_V6_9;]=DQ^VZ;+
MO])Z$WF./$R/Y>7LV?LG+V?'X:JG.";LO+R<';Z5LN>RY_)R=GPVRG[+?LO+
MV3%9)R]GV3]Y.7L6KGJ*8\+.R\O9X5LI>RY[+B]GQV>C[+?LM[R<'8EU<G$W
M%W=S^& 8/.RUF29#CYV0G9"=\+2=\!3'A-V2W7+D;LG:R$[(3LA.R$[(3LA.
MR$[(3LA.R*M$=DMVRU,R0=9&=D)V0G9"=D)V0G9"=D)V0G;"$3OA*8X)NR6[
MY<C=\O-C<*23$:_?_]EJ%N?LE^R7X_3+>Q7]WJ.^]RX'? ^FZ/<>!OM=G,=%
MIDG<3+ZG3!>)5A,MIQ,EE'KX@]$_:UD'',S/GGG^0*IRGV.^'][$#GO]A[.4
MWL3WLZ;R3>=(;V_/%X;Q7V]&\/:[?_S2>SCYOW]\*OWU6<(UN$K12- V:\ :
M(@14"8K.F)/T*0IU=9)P&X5?J?[IT?/_#$:8$ 2!RXD VV/PJ!""*UH%K,I7
M]VBRB!?MZU^NX6\QOGYR^^"#JV,/'DTN%[.KM_SK?_[UY?=M8M'N>7N)?C0I
ME&<7<;[^TR-H/ZW;T+='CR9UN;J(FS\]FKW=/%E<7D!9;N#Z3Q_];XU3'7![
M3OJMR_S?I^^5']O$EV[_OPW7/1GD#/(!6,H]V/H__X=74K'AG*?A,&+84A@Q
M;#B,&+847H[>:SF:HB(?;02??%N.BHK@3=00M&[O*J11,NPL1U,D+:,'D;,$
MU"E!<A+;C]6&Y$LTFI>CO!QED _69!CDGS.5 Z/6I&QR4ADT9@*LWH,O18$N
MQ30,1RMJ_12U5M88BFM_&6MJJ T%@I0:*'I)3J3H;>T3M5\G;'!3Y=09(G:L
M_L)D94L9@*7P*IP-AQ'#EL*(8<,9FN$P8D[(4D:]/O0UE!+;XBZ1:VL]00&B
M";FMO[10QHIDO/ET?6AT6PBJ9"&DV%Y3DNS6E!IT5D9GXU-6O8;B>'UX4O["
M9&5+.0.R6I-S"DY!=#8#4HH0)0K(Z!MTL;H::"?)H6IQ/GB0M01 K0F2-1Z2
M01-3J<5B>C"RRFF08NJ$8+:.QF.8K6PI [ 47ABSX3!BV%(8,6PX0S,<1LP)
M6<JH5X@N.5-R6^B9E-L*,6<+ 46 XK1UWM22<&=75JQ9&@H$080*F(KM(G<(
M5N?HB@J8-?(*<; >L]<>YURKJ)GW.-_!T7ZFS62VR,L+&BZS6-W&X:LG;BD\
M@6;#8<2PI3!BV'"&9CB,&+841@P;#B.&+>7HEL*(8<-AQ)R[I8PZTU"U<!:Q
M@$PD &.7-<C! J&J4NMB).[4HGD;2[8U0ZS> %I%D#P22&5D5!FCT/G33,//
MM/EQ&WW]:;E>]Y1D0#DUSG&&832>PDQE2QD"4T?=(J4ZE]!I J=E!2P-P=%X
M"SD;=*@D"BEV<\,B21TC%&D1T"G1*%\5:(,Z!BT;O4U/Q+Y;=Q0SE>$<R<W-
M41CAC/!S1[ASODV=<X"<L$VZ99MY)ZUEQV2?M?)*6?DIPJ5/PC960RI! BJ=
M(:F20!E+T6 JT>^T7CDHPIWG[E8,< 8X WR(<8V,5@?L^E.1-H"D+<1@!90V
M02:#EI**GR*VT3?%V.@:J#0LAYPA=IOSM/%4;#;5B_@0<0UMIB;8,X3K6#V%
MF<J6<@9,32GF(+IC0K3O*LPI@D?CH!%5BE2E4K33,; QTP4CMGT@4IOJ!@LA
M1P+R188J@_*FK\@#QXI/R5.8J6PI0V#JJ ,-JLUA358&*";7S8()V@,-H<9L
MA13:);_3XU5Y:;,G,%$@H(D1@HT9J+HBA2&C1>%8,8<:&.'#,QE&^,DAO#A+
M7B-!T-N9=V-R^S&!%=99ZU 4I3]%N!(4O P&O"0#&)V'9-O,&ZW5@K"($'>V
M@G*LF '. #^VR3# CQ#7T"ADUB) K+*KCD 'T5<$<L+E[:2W[NRV)\+<'4H#
M(9DVLQ8!(=HD0"FAA)#1*-%7.HYCQ4?>9<\GB=_9P7Y;Q<5Z'K?.%<M_7:XW
M%^V)X7+KW!4N-1.FU?O?/#:O-Y/U<CXKDYO;/Q;//IPM_?X8#4,E1[W,T;$D
MZTH%;VQ;YL@FJLEAU_8F5%<,J:QV2F*\3$FK(D#X[3GDJKU&!=^$.%B/5)P+
M.QK\8O.*5L^7%^UKOJ+%>O:&/DCRGY>K)@.+YY>K%2WRNRW+KK[DLT6Y1;9G
M[\'6%/U%_2V^[?WPN*G0QP]Y?<7PKR11Z*.K$Z^J6'-8<UAS]M&<H%,1TF4P
MW<H-DTAMW><2A"*E)*'S9_IPRZ2J+"%!ML:T=9]K*\#B*P2)3N@BG<L[?;A'
MHCD#2(^SXK#BL.*,7'%XR_T(F#8T\QN$<3'*3L*6>/+\ )-G*V5-251(OD9
M520$EPTH9WUR!FO)^.GD65@J)A<%I@C5)MQMZAV%[>(W(<?@=8I=D&>4D^<I
MRN.GN(<I-3Q]9LUAS1F&M?'T^33-;Q#&Q2@["5MBE#'*&&6,LA.P)489HXQ1
MQB@[ 5MBE#'*&&6,LA.P)<[//$!^1D5A:Q0%0L@>L+U3UUY.0!2HBB6I2]EI
M@+1/LXZQY&>XH);S,ZPYK#FL.0?<JQ[1DL$(*9D,:$*&Y'0"YY6H4B2BO%-0
MNT^[D9%H#A?4LN*PXK#B<,#F#)@V-/,;A'$QRD["EGCR_ "39U^TK-D)\$4F
M0&R/(L4")$R-6DF,/O71A60DDV<NJ#W4]'FO'BBY76O-W /E#N[]79S'1:9)
MW$R^;PO>BT2KB9;32?-)S?. <<P#U&/5^7I97J8Y\4S@FT:)YP+WG@L84X0.
MTC9=3P905H(H'((1H<T&R.J:[:=S 33&&:T)O%6QS1_:"SVJW,8S1"^5=+A[
M0-#+S3+_]ZOEO-W3]0]_OYQMWO4?!)NBE@,3\D_L=KQ2SK+!LL&RP;)QDW_Q
MOBT$M8,2BP*L-D*L*0#)XMH*,L50=P[HH"87VEKJD%T <XE-0(P";7-(P;M4
MTT[._R%D8VBY$]8,U@S6C)%J!F=01D&VH9G@(,R+@78BUL23X >9!&MOK:,<
MVV12$Z",!8+)#J)IOTA1)Y'$IY-@(ZTQ/A0P/K>)<YLT0[1:@;4Q4HFZ6!N.
M$COQPO,\F.?!+!LL&\.7C0.#W274W;'-8!0F0.TBI" ,Y"*2;?]4M0OV%'U,
MPD:HCBR@$0X\10]8B3"@)%]SGV#_^AFDVD\]!@;Z2#R/.<X</T>.CWKZCU8X
MC(WSSE%3B1BPV_<6&_8I1$].:;'3ES#Z7%%9!5([UY8,64/3C0Q:Q*2=#$;%
M(Z1.AW'NZ5#%@F?_K!JL&JP:/06--#:.88,_-NYCE4T!I)*@=4E9H#!6[1P!
M*+V4SD<!U1@%;35A(0KAH6F(],YXS+O'#QU>-89PU"IK!FL&:P9KQK$C1K4$
MBUIER)1LUZ.\@J]>@''%"I^#S[M43^1=;J\"%51WWK8,$(I.30Z,R\%1+<X^
M8,1(3;WE%,!8/(\YSAQGCO?.<=%FTL5E#=[I-CLOGL#[]@\YTK)2=5+NE,/;
MHK4@F\%*70%M0[@/WD.1I:A@BW5EIZ_$P3@NI\')J1*:23X2WV.2,\G/D>2C
MCN*0"1D-2E J)\#@(Z12'$@J28BD$\:P4_\>JDLA!E ^*L#<=;_+LH(IV5%
MFU+=.9/H(6+_QG$<A^,XK!JL&JP:!U8-:T0JF2 :,H IJ:8:E"&F&&N0*2BU
MTRE5F^J"\TTU0O5--6*"($6 7%,H'K&DXCGVSYK!FL&:P9IQC)B15;GQ.2$D
M82V@1=_F]4&#M2G[2-I%ZW>H7JHNP@0HW88!+&U5X*.54,G:8**J7O5*]=^+
M&5F<>C2,]%Y][W;[H_8XMJLXK/5_[JO_SA1I^]E?_;B[7WHSGN[YV>(R7EM/
MF;WYXN_;P/Q[^^\DS^-ZW9G1WP@6RT(WG]&NHWOZ^C+^";-%H;=/0#^M<WH+
M9;:BK8VVMYY?7BR>EMGZ]3R^>](]NV-:C\WLZDJN.T]=_:+K+#:K[VX^</M2
MH$5Y^GJYGFW?>T5=%[(WU SS;3=>[3V?O+?1MW>$F52_-\1?OJ,?J+GW)'CO
M.^S41W?WZE[>W+E7[YMY77_[V6(^6[2OL8FKS9-XN5D^_?B)-JY7O][>Z*N6
M7K&VBWL2Y_^([]9/'_WQO4E\CBS;.W;+"G;N9K\W[4%]\'<-Y.X^>,NSMG)U
MV_%NSFN@;-K: <'K)EIHI8"8,4$I%J,146H=_O.Z<K6]E,JSS9U?9JZ\]DL?
MG=H;V$XJ91$%,$8-21</6A0K:LXE)_S,1]_I9>:.WOB[[C!0OMX(R59'/G&^
M[HM=>=>UH7??I[/[]O6[/X=&QN5E(]SL+96G5Q\7Q&/QAYN_;T29Q]=K>K*F
MUW$5-W0S#-L)U=5;?^B]=ZN5WYO9>I9F\S89>7+S'D\_WZ3OZE.->*S]'VZ[
MYO4E7_GF'[_R4OE8[/O*_5X6'FMC'_03S^(2Y4-?HI(/?(DG=0OW:N)Y-5?_
M_-3D/IT][[R2^+P8A*.(_/7[/UO-XOP H8Y]XC\W%W# ,?K\U/7PH]0LL'OV
M3X]DFTC<=\B^J1_U5P:UK\7I_=8#_[ARV;2<ER^.\']07$U^:+/LTD]/V5X[
M( ]AL'L,8 X9K8/IC_Q  >-[*LN81N ](14#\ML!^6P]^65%;V;+R_7\W>17
M>KU<;:@P&@?HJJ<X)NR\]W'>7^D-+2YI\N%8B35[+GLN>^[@/7=[F S[+?LM
M^^VH_+9-EW^E]2;R''D8X8.;XY7.)7S0IRT_C^M7DSI?_F,]J:OEQ63YFE9Q
MTRYQTM7+O)EM9K1^\E!\/9T2OCX!>Y(#Q(/"@\*NQ%;#@\*N-)P!XD'A06%7
M8JL9RLKV)C%^CT7L]A*[$N/%YHEI']+30<*WJS2[M[W],>+3_8K'6P=_Z5[]
M3)O);'MR-^]9&^J>M6,'5KXT&O\R7),9]:8S$E(YU F4-!607(:DO0%#%&3.
MV)YTGVXZJUZX8+JV$Z4D0!DLA!P)R!<9J@S*FYT#&)OO_[AU_9^6ZW5?O>;D
MU S@U,6Q;",[OJ<P7!FN@X+KJ+M A&BSS,6"3[KK M&U_*1 4+RST5$,H9B=
M'G/*2YL]@8D" 4V,$&S,0-45*0P9+79ZS.V)[C$=&3!4Q^3F#LQR9OD9L+R2
M]UV[!JA9-):C;%RFVG[T612-6>JRTR]4"0I>!@->=EV HO.0;.@Z1U@M"(L(
M$1^4Y4-HYC-4MV22,\F9Y(,(>:3&4ET# KE$@ 4SA"(;/)TH)EFBS_7<),Q!
MZT;E9!R@:*^.-@E02B@A9#1*[)R<<HB0AS93$^P94O8$*ML^30J<7?S_5M'U
M9+.<K*@]E6=SFBS>)P:ZWW<_Y:Y"[O5J^6;6;2!-[[A$CC.HG$'E01G0H+ K
ML=7PH+ KL=7PH QG4-B5V&I&5R*W#2<=H$9N^[XC6R3_N'C3'BQ7[]I[T6NX
M?#W)K]J'TU[[E#F S-&P(5G*J./&SGDE;$R02PC0G; -":,&3-F0"#I(W*FW
M^)92N>;DBR?/+I9MS/^Y;7;[HKZ'P<O&@K^^[JU/N]+'/Z&5O8;YRI;"?'W/
M5U^R09D:*ZMH5"VAS2U5E$"E)F_)&7+E/O5LA^+KMADV_)-6R\Y O)+J*<-U
M-"[#<&5+.0.X"EFB#ZF DT:VB6@U#:XY@LY)*U-C-FGGR+AO*3!CN+++,%S9
M4LX2KD5H'2QFB!K;*E^Y"M'I#(YB"E;+Z/5.]>ZW5)1Q9&"07G.OZC(.G?<>
M.O^>VI_DV=5!47%1)O&6RPP7?2R2XW#WXUO*R$728XX4@8IL@A=#@5AD %-4
M*IAJ=DKTL=/\-@6>+<IMV>Q)):V?"G_\0T[9;YBP;"E,V ^;"'4FF5*#J_<(
MZ!)V6\,C2#+!E(HUHNYC0WCOA.4@SYA]ANG*EG(&=+5%IU"D@9IM 4Q=7#P%
M!0%]4#;&(-).^<<^6[0//W]%)QFOHW$:QBM;RAG@523*(:K&1DP:L H#$=N\
MU!:IT&AIA-EI1+?/KNP'"0\8PWNTN0!]G%'TVQXQ6=9F^6DS*;-U;N._V8;5
M9^OU95QD:MZXWN_\+%9.)L"0+&74RHD%T62I0"9'@-Y42%T?5TI$.5G=UB:]
M!-8_3D!_W[#P_345?EG1Q>SRHB?]5%-$3D*/QWD8LVPI9X#9JDE@EAZ4D*6+
MY1@(FB)D%[PC[XSO8CGWCZX?"+,<8Q^SYS!CV5+.@+$EYAHJ)?#>JRX(Y-NT
MU&<0,2?2R892=[8 [1-C9\:RYS!CV5+.D;'9^9PU-K+&U"A)04&LVD!!YU6V
M)3C:V0FT3Z"=PP5#=!ZN61]6M/WE9IG_&U)<4]>[Z>(U+=9<KLXRR3)Y;)D4
M(@NL(8#5)D"3& TAZ JDE"I*RA3+CDSN$U5_^2JNZ+O._Y_?<O^^M-%,C>-*
M]?&X#,.5+>4,X.JR4+KJMHJ@KMA'U0#>FJ[V!VV)Y&N@7F+I?<*5@SMC=A<&
M*UO*&8#5RVRB0P.59 -K+!Z"C@5"],*[0BF&G2U ^P30&:SL+@Q6MI2S :O.
MTIG<05*[#JPV04BUXZQRE(7(2NUD)O>)FG,X8#@NPY7IPXJ5?T^55BLJ[\\*
MBV]I/>W."QLN]%@>Q^'KQ[>44<NC;_I8A(B@R#1YQ&K;DD-EL#J;5*5.$7<Z
MH.W7W.4* 5<':_X6W_[PMA-)^HX6U+YG;REE+<_Q4/JQN@Y#EBUE") =]1'T
M2I//1DHPVF1 :C /0B6(U?J2HVPKEIUCD??K'M,3PN]V*'T0^@Q)SH?2,](9
MZ>>.=&$IUD05JLP&T&F$4&(%74,I7FMG74\M:QX4Z4H'1CHCG9'.2!]@*"10
M,<JVB3-VW6W1H8485(1<<DDRHW5BI[9EOT8V#Q$*D5/)&0.NKA]IQN!Y>]0N
MK_W0.=QZ5FC%U?4LDBR2I[WN<8A.N.2A2TNT-0P5\ D)D@Y1ZI1L,=1'-N*[
MR_5L0>OU\^5%FBVV9/E G.>W@?-LM8KMMQ?M]^OGK[J'/RZ>772;X5[4+[SD
MIUE,L_EL\T[VO7[28FHL+Z%X"<7JP.HPQ"64CRXHZ3WHXDNW' H0:Z.R=+D:
MX5Q;$M4^4A&#XS>7Q9Z*_S&IV5+.@-112&>%$I %!< 0:YL_5P4B6]MX+ BE
MZB/#P*1F_V-2LZ6<,*E''7'1J40E= "E4FTS=I4:W:N X)Q25=CD=X^>VB?I
M,3@=X(C+(2,NO -C6/F4GY<+R'']:C+K,$GKS?56C.$RF]6=U9W5_9[J3I%"
M(A' 9A* 7A-X2QY,R2Z%E$4MZ3[YE.WY]HTM'5I^O";+55E#;QLZA.(R8$YX
M,+X9WT,,HY4N7I:EA( Y=PGK "EG!51J*+HH$?V]^B'U#5B.>(W951BJ;"EG
M %63JDG*")"6&B U6DA=VL$))W-$+8O9F;5^2VZ"H<JNPE!E2QD65,<=:#!.
M: P"A!8-O\9D"+G]X[,D$7.14N\4;GY+&H$##<,,-/"^B6'%^7]:KM>3YI7M
M ]I57L[6K[H\VLUIP,-%*XLPB_ 01/C@X:)@I6QJ)T4)W3Y#"5&1 F>E\!5+
M2B'WL;_A+W&V6'<LH/6+Q0\?L>#J1)^^\^123:VS9ZB?8W4C!BY;RCD -P@=
MA4=PU71'K <-H;H&7!+>.NV3+KZ/#0D] I<C2Z?B.<Q8MI0S8*Q)Q6?7IJ6&
ML #:+@@?L$(.NM2<&]W<3O^Y?;82,&/9<YBQ;"GGR%AE13+1!B 7/:!  R$[
M#4ZY2#K&D-S.QMI]RO0Y<#!L-^*Z^F'%VU^\WFY!6?QM,J>XILF6#5VX_;+]
M$)L;;2;QUG':PZ4CZ^@X '!\2QFUCA8;7,C1 .G<UBH8.AV- HH+*IMJC GW
M:C"TS5/_N,BKC@9-Y+;__7'Q'A,_=3__VEWXB_K7-3WK"-&[I.)4F'/<LS96
MCV+VLJ6< 7O1*"+O':B<(F#I#F:GXD%'C;[$Z)3?:3GQS;7R!V,OAXQ.Q8D8
MMVPI9X!;8X4BH060R@VW)GCPLDUUM2=A,QGA_4[J\YNKZ(\\U=53##S3'8]#
M,7K94LX O=4H1-E-4T5WDD")%GP(J<U:H_#%)^_EO9KJ# &]TDV-\<S>0P;N
MN5#^<('[S2M:#1=_+)3C<.OC6\JHA=)DF2)&#]J9TM8HM8!'&R!DLD4*%R/V
MTN]_Z^WOMX]UV\:NS]SI716G2DL6Q=%X#W.6+>4,.)N]*XZ2!A%5M[C0MBTN
MI 15 Z&J.H:TTU%AGS+X'CC+<?93\1AF*UO*&;"U6!L1M8&@ G9L3>!#U!"S
MCUJV6:G*I8_R]P>;PQJCF+*C\1VF+%O*&5 V&6SK_NS!J-1FL+9F2*88H)QM
M^TTHGFP?!? /&"EP_AP;SARA[OUSUM=K3/W\PN=7!S.L)[/%9/F^!'Y;[[Z>
MQ$69S*]/9)C1>CJAMWE^V8W&9';1WGY;'Q_SWR]GZUEG].LG^UC]>0MINW7=
MLW]ZI![Q +'5\*"P*['5\*"P*PU[@'A0>%#8E=AJ#C H@R@P,P<J,#/C6R$_
MR[D[LW ]65&FV9N8YGS8&@>1.8A\NCW0E7,DI%00M<N 0L;V"!&TD[EJ79R1
MO31WO2G\_OY]X?<-:WY]CYJ>NJ+KJ9;GF SDX]<8Z STX6<%C44KLHN@I5.
MV&VT$;5C*"E?L@C&[-1>[%/7=CCD<HG;F)V',<N6<@:8I92RLZ6 M5WG#BT(
M$BH+T0M3.FRF?*^MY(Q9=A[&+%O*T#$[ZO $81 NR@0"8^F.0B@0-#K0EF+2
MJE"C8A\5=!R>&'IX8A!-9#E5\/Y&_;AXTQXL5S-:#Y>LK,&LP4/0X .KI A"
M4G(53!(9$'-326LTB."MIBRJ,3NM6_H)XM^B0-^UYBBFP7&Q^7A<B&'+EG(&
ML$VY"!3=,1;D+: V%9+3&F*T3E4MK#4[FWKZ"=_O!5L.*)V*US!?V5+.@*^V
MY**==^",-X I5XC)>)!))C*&1 P[D]E^XO;,U[/V&N8K6\H9\+4!502K$T0G
MN_(3TQYE5: 46VLI6>JZDQ?M)Z3.P8*AN!#7W0\KF/[+BE['69G05=N&J^WH
MRZZKP_7^].&RD%5S'"Y_?$OA-/=7TMQ"16,E"&W;JL6A@U2<!"K!I92UQF@.
M$\"_)L_W5&FUHG+=-^;9HFQ[RFR;L.^Y&-IM'J.G0HLSU&@NS&?&,^//G?%)
MY)2M%N!)-\9+;2!A>Z1#*%D7'Z+<:1O>3][@ 1FOQ3DNPACP#'@&_/!#7\$C
MUAH"6"D$8+4%@NC :M$$:Z./1APFM7 X!'/.8<SNQ.!E2QD">$<]L]9H5"9"
MB 4CH""")'V%T'Z=9,[*T\X9S?UD-!XV>J(U3ZYYW\#(4QTO.*O!NLRZ? ZZ
MG&*)NF*%[+NL1G:UBW@A*(FJ5HV(<J=2MI^LQA8R[T^6[56'T9[C47D<X6*@
M,]"''^%25LM<2P%MO.J2# V?9#T(I;T7,J,M!THR](=<CFB-V7T8M&PI9P!:
M8UW(52*X&!IH2Y 0M/2 VL?D'9G0SP%Z#%IV'P8M6\IP03OJ$$7!*HP-%9S%
M!N_0I0$P!A"R.I]3)*EVYLO]I XX1#&L$ 5OB1A6GN#]402OXSL^AX"%F(7X
MM(6X1M_I)UC3'4A.@2#JJMNC8I,M+EM]H%S!#6A^N>),WSL3P]1S32QG#!CK
MC/5!!K)JK#I&;2')' "=4FTUDR5D6TKT29FJW6%/(_AF\'(,ZU0\AQG+EG(&
MC+5"6*L$06ZL! S:03*J@-+*16F$\V%G>V^_1Q$P8\_6<YBQ;"E#8.RHPQ-)
MFL9;#" #BFZ6W!V36 F2R])3C1;ESBRYWW,(.#PQI/ $[RH87+9@=4D?&B@-
M%[(LQRS'+,?WE.,LJ]35*JC)M<611X*0I6X+JDA5^12C/]"!!]>@^6D6TVP^
MVQR@E:%RTZ X@<\9 T8[HWV(T:Q:"5&A!E>VI:_)@0]1@"C:*=(4LJT'RQCL
M#=^O,M=.\2Q706/U'R8M6\H9D%9E5946%K*VKDUSO8) &D'81-J9Z*T_W!'&
MO9"64P=C=A[&+%O*$# [ZEB%MLE&1P*2J@W#J>8N F'!1IW:K->I?*CS%AX@
M5B&G1OHS)#IO-CBI],'[?3B3>><ZD_FUR[P;+G%9FUF;69OOJ<U"^Q!"U&UM
M541;(K6U54PN Q421F1?Y:'R".^)\U/W\XU$O^L_O:]48'WF7 +CG?$^P @7
M2E],\0FDU*HM=%R#:8T"O,[:N:JTBSL=N7OJ5W1? '.8ZU0\B%G+EC($UHYZ
M*JVIQJRHRU6@ :Q!0HS9@36R1F6TRGB@/0X/-)764PP\E>:I-..=\7Y^>$]*
MH0E.@=*-\>BE!V\M05:HE$UM1AX/=,;" ^%=JJE3G,K@G1 C3V7\M.P&B587
M[Y,8,]X.,5QQ3LWB:?7^-X^;Q4W6R_FL3&[N/LOW[X_1, 3^T+&RHH)2-0#Y
MIJEH$T%TU4$VOMOOH*.E?,#C%'Y>+O+E:M6^8?_UM]X=77B_8F17:B4TNR)C
MG;'.6.\Y!^ULQFI*6T^%KG]X5!!%(; %G0RBJJ0/>61#CU@?8A:$L<Y89ZPS
MUA\<Z]E580-94+$60,P"? @);%4AH=$HRLYLO<<#(ACK[(J,=<8Z8[WG($R;
MDZ>0%!B?-6"A"#&:#-;%C+($07*G8*G' R,X"#,:5QS"'@\E#I,8V;[OR!(C
MORTW<3[)<?UJ\GJU?#,K5";IW63Y?NM'9_-O.%W"2LU*?0I*'8+O&INGMNP2
M'C"G!,D%@E Q>TK190I]I$M^ILWS!I5?KIGRW;N_KJG<*EMX]AXK/>FTE'H:
M!K#K\I3$FLG.9!^^+3'9KQI0%6NJM@%<[$Y<)8&04%8PJ1#%XI7#7HZL.#39
M.; V5D=DJ#/4&>K]%AB'2(I<!1$= 3;"@W>$H)7/DKP,#>Q]Y$L8Z@QUACI#
MG:'^ %"73@D?E <52H-Z,5T,)A9(.3GTNGCO=UK%[I,MX1C,"9#]7CM)/F>K
M]\FB?'M^9# )D.VG_>-JT-)R7K[HLYW+3.I\^8_UI*Z6%Y/9X@VM/TF%/-G'
MHL];<MLMZI[]TR/UB >(K88'A5V)K88'A5UIV /$@\*#PJ[$5G. 01E"*>"!
M6B2,L$/"KU3HXO4V2K6LD_:Y_TV;[FC5R9KRY8H+  <=?!Y+,.OXEC+JP+'R
MMJJ,&4(H%E %!XE(02C1)(HIZ[+3;FB?XKU?5LM,5-9_7BTO_M^XN7;_7U;T
M.KZ[:%]P_6Q1GL?Y?/VB/GL39_..$W]>KE[&.;U\3XN^8LI"3;7B8\C&XV(,
M8[:4,X!Q1L*BJP3ILP TV4'P+H)7P9,B;+S=V<JZ3[W=$6$\Q*H-]B[F,%L*
M<_A#B5QV@E1HD^+4'5GBBFM3W?:CT=JU_V?AC>VC1(XYS-[%'&9+80Y_GL,Q
MN5JI5A :,Z T!9*H!;0M16N;9 T[K>[WJ6KCX,1X76P(;9$YY']SKYZUB^O,
M=3W9+"<YOIYMVL?\D]HH+NOF'W%%S5O7&P[[L[*RLI[N&08ARJ1C\-"T-@&J
M4B$FK8"T4M4;9W62O205KN7YM^6S_/?+V8I>7E.F)RU64V?M&2HQGT3#%&>*
M#W]]I(N2)1<%.K5_$"E DD:";>,19)4ITLY6SKWR!?UREF-/8_889BM;RAFP
MM3LN5U23H8C<V-IFM!!\*$ !28M&4%=V>I_LE0-@MK+',%O94H;$UE%''W+2
M9(O-$ WJ-BLN;5:<I07"%%W045;LY01%CCX,,OK >P &E1#H7&-]E1.83A:T
MZ;8";'L#QRNG*<-E+*LQJS&K\7U/W3(QNY(2Q$BQ*6OL#E/,[1_CK4J2*N9>
M#E/<4>/O+M>S!:W7M/Z9-B]JUX/C^IG25ZK>VZE%Q1+-"0)&.Z-]B$&L)(1%
M&R$V\ (:9<$3-:[ZA%J)'$3HI8'OX>'+<:TQ.Q'CEBWE#'!KK5$9;8"HD@,,
MZ"%:U=#9F"I"R4+13A?&7G(&C%MV(L8M6\K <#OJP 62CBZH "X7 2@P@!>Z
M0DHRFV1MBKF?S0<<N!A-X((W&PPIM_#+Y2J_BLU/NIS"ZU5WP.#FW73R>AX7
MFTE<E DUKWG=.==P <Q2S5+-4GWO$PB5E]IJR%HVV95902K*-MF-]?]G[]V;
MXS:6N^&O@G(]>1^[:H<' PPP&#E)E8YL)TKY6'XM^Z3R5VJN(N+E@EGL2N+Y
M]$_W#(#%7BCQLB2QY)Q*9)*+!08]/;^^=V=&9T5EU(/$&'[M0.=7A)S7"_-C
M#SA'$M1Y.<NR**=C@"'B>L3U*7J\*L4$RU1&*EY20-%2$5E)1HJB4MH5!>#Q
M7J[540(,1T;>Z.\ZY2,4P39RR@L VU15+DL!9XTJ4\)4Q0G\01#E3.IL:JL#
MY5Y'"2]$L(U'*()MY)1)@>U)>RQ8P2M>&4I26AK"C&&@ U-&:)'FHA3<6KGG
ML3A*<"%Z+*;IL8A5"U.,+&!@H88_SN=6K]9R/D09I@NZ43Q'\3P%\?S  M3P
M-'<T+XG+6 6VD"F(-,K"3]1)4PK+Z)XM=!27_]O%2BX^U&IN7[>M7<7VJR_P
MY$2,C9SR C!6&6&$S14I9*D)DV4.!D?JX*<L+?.,*KT_&^8HSOV(L?'D1(R-
MG/(",);J-*5%61!1B!RTUX(1865!.*<9-X5CU7Z+ZZ/X]"/&QI,3,39RR@O
M6-!6M>6< 5ZJE#"C,J*RRI"\LBY7IBQT]3#.]HBQ3WUR8L+^E-SJ[U;G=IG4
MBX^V7<%;)LB\'^,<X$G+2 5,;Y?#7\Z [9*VF=<FZ5G@5+#@X7CIZS1Z$7)6
M.EF6QH%T34T%=DE:$9DY$*%.9#HOL[S0YI@^^9^:Y7ARCT>7MSVXO!ZPY>92
MMP7*P4]?"W$_?7C["PP7A%>:QV,9(3Y"?(3XXT(\=Q6M**<D+Y3 ?'\-9I&S
MI+!@+6E)>7K<?/^C0_S4#:N([!'9([)'9'_\8"_/C$E1$7=4$U;A[/F",E*D
MQF1.5SEE>TZR^P0B(K)'9(_('I$](ON#ST,03F@N<J)L51&65P41 K3WBI62
MI]J6.=N;QGB?\$=TRSP'B)]"04*6/DSHQ-_WQ&(GOS<K.0^3$]:M-4F]B(&4
M*+&CQ(ZUA[<.T_ LI\*@YZX"6RW5BE0%&'&ERJK*%=J"PG",,,TO=H6]"T$7
M^%@;:_YZ]0?@UMO%(Z@"-,MG&2^B/A![*T5)$B7)E"7) V-]45&=F:+$EB&N
MFV):RHI0RE+#,Z%+51XC7O,06!\=>L_A($90CZ >0?VXH1I:&.D,)TIB$)ZG
M.9%2,]#-':<RJQCE>R/5[A*JB: >03V">@3U".HG[_,IC% TUR7)3 YV@'"*
M5$Q7)*LJ*4LJ<R/W!L'=)084?3[3%"!/.??B$/?>)T)T^]C/9(([_FF? M%4
M,S?7[@0>HL3-FT]MXI;-1>+JA5SH[5#/J[NP]LL6\;!%^.F_?)-]$PD4N282
M)1ZER#61*/$H39M D2B1*/$H1:YY *),(<TQ-HCH]^HW>SGJO*R;BXL&;]OH
M/Z./>ZH^[NC!CO[I^^<D5EE65J(BUE:2L")-285]FARCQG*EJ1;';AVQP9IW
M[HU'FO<(-,<:L<QF>54^N3?ZJ;V@,;LPXGG$\RDFD11%+E3E-"E,61+&%>!H
MI5.2"6$S+O*B*/8B@O?LY'!4Q)UB\D@\.A%D(Z=$D!UUT.>EL04EO,P<@&Q1
M$4&+C!A7E!5-727H43+U(LC&HQ-!-G+*-$'VI#T3W'(G1,X)!:V8,)=)4F45
M)VG*>%IIGIK]II;W[)X0/1-3]$S$5M)3BA3T'49">ES=MFNYT#YJ &<L3]XT
M"T\2-;?)>[NHFV7R2[.*[1&BL(["^FE[1.N2RXKE)*L*L&FP-%56(%U=FF:&
M9R!0]9Y%="='_Z@#T0@,?K#J6)..,Y'.0+*_0$%ZJ@<G0FSDE!< L26C$BP0
ML#XT9X1E0A.15A510I>%!'54L/0HGOUC0VST-IWRF8GH&CGE!:!K7N6I*E))
MG"TRPE1N255)1814.N4Z \P]3I_DB*[QS$1TC9SRHM U35W%74F)RCCV)LPY
MJ;("@+.R(F=,&\[84;SMT3TPL8,3$_&GZUZWG^U2UR$IWV?C)\TE,G-TIT=Y
M&>7ET\[C$M2EE!->:$V8+@T1NJ"D4!5(14>IL$=WI_M@]+L  #]VR&".%9R>
MI?PEQJ9/]?!$F(V<\@)@MF2FJKBJB!0V)RQWE$A7I*3BA6,<C(V"RV.[U(\(
ML]'U<\HG)V)LY)27@+&ER)S)2M!B#06\!'U6B4P1EPKC9*E99O?&5-W7L1XQ
M-IZ<B+&14UX*QE)%4YEF )56I/!/88B@5I(R%S1GBN65VQL'<5_W>G073.7P
MQ SV2;G80\$'^M2-5:M-#KMNVE7TK$=1&47E\ZTJRUA5\MQ)DA<Y&#NN*(BD
M()?3W(I2""J5W7,HW:??S3N'H>VW'<2\080YD@CFLZS(7Z (CGUN(HY'')^^
MR9-S346N-9$*C!96*@$_,<!<*UFIN69VW^2Y3Y^;HR%M="B=\IF)Z!HYY06@
MJ\M8JA1 8UE2"7HLRXG4SA'%A,A D349M\=L<!/1-9Z9B*Z14R:"KB?M@ZA*
MSK-2981FA2", 78+JRQ)64XUSUU:J>/DVD<?Q#1]$#'E?J+Q@)7\G'RJ5^?G
MS1Q?.&D4/%#ZHPO_UXU2Q N7\..RUBMKDM@E/TKL*+&?M\0V1@E;5HX88W+"
MLE01H5U&N*!:*F.8RO9JC^\3-?C-SB5@R^_-[_+S?V[PZ*=F^?Y<+NU?96O-
MF^;BTBY:CT['BNKGLRSC49['F$)$^8CR$_1Z6::TRP782V4.F%JXE%29JTA&
M69DYFF89+8X94W@<'(XNL5,^4!%Z(Z>\ .@M>27+3!N2.^8(8Z4ERL&O7%I;
MY0"ELMAKQWR?@$.$WGB@(O1&3CD%Z#UIWX:T@E)!&:$4\)E5@A'!<D!WSG21
M.259=M1H1/1MG)1O(]8N3#168>5RT:Q7>#+;VMBE/RS31> HJZ.LCK+ZOEE?
M%>6J8IHH4TC",BJ(RE)*7)YRQ7)35GEUQ#@$R.0W<"_81_CES1AG?JZEJN?U
MZNJG>B$7&JYX#>O\6*]J>\3< E%%>1UC$1'I(])/T"%F-2^+,BM)6F8:ZQLD
MJ<K"$*ZL=J7)F##9$6,1CXG%T2MVRJ<JXF_DE!> OX7214$U)XZE&?JM+!%4
M%T2!LFLXK0II]NK+[A&0B/@;3U7$W\@IIX._)^WI4 Y0CSM'="%PVDMEB&)Y
M00IC05&6CDJZ-TOK'E&)Z.DX/4]'K**84F3BW>K<+A/7'Y)$#J=DNOC[TB6U
M J:WR^$O9\!V2=O,:Y/T+!!E^==I%*7]$7QI5+F\DH0J[$/+G2:5QH8A.>4V
MI5KRDA][FD*?CP"BWV/7O>1["_L"/WU%T+/BR:7\%]@Y!.W3_/0T@2A)HB2)
MDN1A_'8['Y+6:E)_)N>U <WTU4__;425YR)5A-/4@:'F (8KI@C:6[JHE*72
M'5'-'-QAW>YM_^?IN?T)071J_!ZQ,V+GR\;.!QC5P)U)%2?65@"V G5>E1K"
M\Y*65::HY'NYNO<=U7!4/7GJ48Z([!'9([)'9']F_I4BJU1EC"#&<0$RH!)$
M5D5)RMQRIW*3\W2O>.^^XR>B?V4Z N09U(!DZ<.$6OQ]3RS6\GNSDO-$R_8\
MN5PV'VMC3:*NDF_7+?Q0+[Z+89BH)D0UX3D:@"YGH@2938RB8,*)JB*5@9\*
M7J4\2T59N+VTB+L$2GZQJS< +[]VZ/+7JS\ 6MXN'BX'(F/53)0TRN^3.(T1
MV2.R1V0_KHE6\<S1PA(I5$Z8X2FI'!A>*65I:85R%3U*.<E#(WOTZIWJ08R@
M'D$]@OIQ^\92RC0%_=SD%?:-S3/TNTELL,(S:4I'JZ.,UHZ@'D$]@GH$]0CJ
MCP#JJ=4JIXX263A'F+.<R*S(B#$\SR7CF39[R:IW":9$'\PS0/:G*E(Y4J1D
M\J&0'YVS.O3#^JS/Y>*#399R99/P<XMC.WR<1"Y,^,'^[[K^"(=C$4=]1VD<
MI7%,G/CRJ"[J--?&$>XR]+"IBE2<"6)2G.!54%[*O82[N\1; HR]<S]V(/8;
M8-B[!8I__/\?-YCUVS!X"#]XO3#;?QA=^7:AYVMDFA_J]K)IY?S?0,9<PC?@
M=UQPO5A;\^ZR*W,]>BX&I3.>BZA+Q'J7**"B@)JR@'I@$4*MHI;+E(!I90E3
MDA+!F$$1DC,P)*NLV)L==9? SBF)D.A;? X'/ J+*"RBL#AVP"C-=,X)+3)!
M&"\I4:6VQ' N7:I28^11 D916$1A$85%%!:GR4NG(BQ.VO5E2ZXX!=EC=0IB
MQ0E+JJ)BQ&1,PVU5*<V>W7*7,-<IB:+H^GIJU]=3E2*]E'C:+W:5U L-Y&EM
M\BVPM/_I._A;C*-%92(J$\_7\F0LI3P'4[,4*6&:YD3P-"564ED5CCJ5VF-$
MNNXEV'^UR[HQ;SM\^J%#IT'<CU6(H%8<*S,FX[.JC-7%IW&BHW2(TB%*AZ-*
M!YUFF16I(2FCZ&/$P6-E7A&F2FS0[0JJ]G(>[Q+$.@7I$'V0IWJ8HV"(@B$*
MAN-Z"15-N1.<F,Q)$ ><$6D*1:2E+!?*L<+I8P2LHF"(@B$*AB@8IL]+43!X
MP2!YS@3@"TDK9;#E'"5"&44J+@N6E:E1="^3X2[AHU,0#-&?%"NM3CXR].:Z
M\,\L41;6L,!V<XU++OV9BC(\RO HPT]=AMO,@-2CQ"CI"$AM2:H4?G6IU(61
M3E.S5_TD,F=X)2I"G1&$Y;D%XZX "Z]@A53&F9*IH\KP(XGD(LMGK'CZ,7S/
M221'L(]@/WU>BF#OP3X3C$K!#1%9"@8;9914E J<,I%; /.L+/? GH%!EF4Z
M XF0^K 0V'>I*^&+3DDN%"O+; )@'QUSIWHV(\Y'G(\X?U2<YQ57F=(Y,5F6
M$0;_$J%315PA,LY+6I@TW\5YF5JIF2L(Y6@(5!7H\PR^4_"B! N!528_;J)7
MQ/F7=38CSD><CSA_7'W>54+J2I)2E)A^93E1W(%ZG^L<5/U,55SNX;S3M+#"
M$I$*'.9I2J(L9Z3,M>0&+ 2='S<R'YTWDSV@L=+FR>(I%OX:(RDG)HRSLPR/
MNVG6:FZ?4!S?K,#N_SRU7#Y,KA<AF<'F4D6:IZ0JK":,H<^MH)RD3H%!E?%"
MIL5>,K7)\]26FI0T!\E<YHI4./W'4 -RN30E-\=-ICZ29.8%G>59/C')O,-\
M)R>;7R+VCQ_P>EG+>90&41H\ VF@P.1BQH(*+?.2L(H#LF>IQ.%NG,L\I[G8
ML].L<%P)*4A6R8PPC268FCI2&,VM8*52CDY &DS?'Q<%P>D)@@C[$?9/'_8Y
M,S3G94Y E<\![$U)A$D!^W.K+(7?TVQODF=>."YX!; O7 6P+Q41-!5$.R5,
MQ9A1IHJP'V$_PGZ$_0C[DX1]P?-45GE*;,%2T/8Q8XKKDDB:&8IMU10O]V#?
MN-RDA2"FT)PP WI_)4M*G"U+4<C,5=D48#_Z?J8;E^GK7 XQ\'V"-<\P+O-^
M?7DYMQ?PBYPGIF[UO&G72XL!&1^I<?/F4U(O N<#.[^Z"SN_;'D,NX.?_LLW
MV3>10)%K7CQ1CNK:CH?KQ?)1)$J44Y%K(E$F2)1XE"+7G$3ZH7_%>F%@C:\*
M>,B1TA$[2J*MZF\[?DRZ.P5@>D;QVX5N+FRRDI]A 9>RCEF)D_5,/[6S94)>
MYQ?A479.E<KD%<D54X1)I8@JC24T,[DPN2G3XBB-NP,$_(X(\"L P"_V:,V0
MRIDHG]Y+?"K^WZ<_+B?N('D6O!,Q]RDQMR@5E25W),UH1A@66"F>:T(I+9E.
M"TKM4=IA'PMSIYB1$?%VNG@;T36BZ].A:\J9M-Q(HKE$[;1T1*6*$J>UX2+7
MJ<CV.A3<I:=T1->(KA%=([J^+'3E*BNDTI90YC1AE99$2@O_,)Y7PCB3YGNZ
MZUT:,T=_P300]JGZ(D='^F%'.L"*;5?1B1Z%8A2*DQ&*(/6D<AE6X[,<A&()
MYH-F&3'"TKRL"@KVQW&<Z.'X'U<BBNKI6]^<BCA\^H,2W>=/SSL1;9^TY#TW
MK"KRC&05V!0,K XB"B, 2"NCJBJW%:V.XSX_ MI&[TX$VZC(1F@]#6@5!=?:
M6=!"C<@(RQ@GB@I)E"RHY#3EK-HK*[^;[SQ":X36"*T16E\,M#)#-2LH):5-
M+6',<B)I;DBALHQ6I;)9L3?J]FZ.\^@C.$&7>6Q]>XP2:V!/XLNLZ\5'. /P
MEKY'KJL7<J'];\"Z'^M5;=L[%5Y'T7B7TIQ(M<A?D5+1V?I"U=8'9:)[R-'!
M9G[N'!319QHX/7U.B5@3L29BS>2Q)MH<D;\>B%*GE.]X,]P[\93'UVUK5VTB
M]?^NZZ4U"9#=+I/FTBZE]^_,K6QM&QE_JDI<;'4;6]W>)5Y2::.%<)JDF>.$
MN5(3J:J"P%]+RM+*2GZ4G,K?\-W>N3]:ZY'FG5K)>F'-V\6/G_6Y7'RP/S7+
M=SW:_(Q@\W,M53VO5U='BJVP69X73QY=>5YM;E\B[D_==1@E090$=Y$$.7?*
MY+K$^42 Z@R'UY4J(SS+LUSH(G-VKT7-7?(]'UT23#&!*8J!4Q<#$?0CZ)\^
MZ+.R%(X!;&<6<TF+%+-*N2'2\J)TF9$9WP/]NV2B1M"/H!]!/X)^!/T)@+ZV
MJ4V=S4A5L P /&>DRK*<""Z%-CHKA-BK[+I+CFST^3Q'W#^EGL\O(G3SDZR7
MR4<Y7_O<W/9<+F$A. BIN;AH\ &-_C.IVW9M#9Z6$.-I:SP*,: 3A7L4[L]*
MN%>94E*EBA3*YH1Q['JJT"5'B])DDLDT9<<(Z+Q'6'GK484>25K3?%:4(HKK
M:*;%$$W$]HCM>]A>"E9:S2EQV,R:9<H19;0@K&!EJ74NN,J.$:*Y/[9']UO$
M]:BA1Q2/*'Z@C5U6*J.<)B93!6%YEI/*2D,HYV6AA14Z/TKWCXCB$<4CBD<4
MCRC^(!VZ66ZEM171.N.$T4P0880A+%5.2J%TH8[2H3OZ64X#R6-%RXF'1?";
M0 WX,O[8UL8')N%**Y>+9KV*L9(HPZ,,?U8RW(BT$)6P)#4N(\REBE32,6(*
MXY0S*:^JO69AMXF5+ %-7B$._1UAZ)U[[T'HG7OC(6@DV7]JEF\&^'DS1I\?
M._ YDNCGLRR+DC_:<#'"$B5"E @'BF"<IJ;2CE2E%6"A:9 (N52$*Y8+61B1
M%WO1\]M$6)Y<(D277A0'T1R(X!_!_T!XW5IE=&D)SWE.F"DX$962I-0VS5WI
MK*3N/H&9"/X1_"/X1_"/X#]!\$]EIFPJ.,E-FA)6<4UDIBOB##=.L[+BE;E/
M/.?)P3_Z@J8:!8K%,0_8UVQ3[)(8N;*)VPH+Q:!/%/11T+\H04\MEZFI*"F%
M "L/Y#>IM"N(MF /*2JSW-VKXYD7]"/8^0%09R3W'T>VE[.2I5&V1]LNQGFB
M$(A"8#_R#X!.C:#$ZL(0EM&*B,)2(G.I-:]4FF7JWG&>1Q8"T;L7)4!4^B/>
M1[P_X-VSDG);I$26&O!>F(I4S'%24E$57$IAR[W*R5N'=B+>1[R/>!_Q/N+]
MD^.] =W>B-01(XN,L"HS1!G0]"G3-,VXRK)J+X_KUM&<Z.1Y?I ?RW@F%L#!
MH*A<:!^M@8.8)[\T*UA*O4ALUT4P?$)%^"3*\BC+HRQ_3K+<YM;2G#/"-(-_
M!'=$R2HEE1:IM*6L=+Z7EG>7CF8>/HY;:<NR&>4QQR):93$.$[$]8ON!+@IY
MEI;&@,W%30$ KQFIRC(CI>&5*T0%T'^4CF;WQ_;H;8NX'C7TB.(1Q0\4SJ1I
MD7+I2.JH)0QA6;'*$6J+JLIRPZ7=ZX5SEXYF$<4CBD<4CR@>4?PA4%R(LLK*
M5($VS7$LC.*D*DI%<L9+FJLT%6)O%MA=.II%/\MI('FL99E8*.3'SQA47-?M
MN34QXA$E<93$SU02F\HX7FI!"O@O8;8"F9Q7)4G+G!I&I5-NSRMVEXC'!E N
M8#GOW ]6K5Y? )ROCB27,S$K<Q;E<K2P8OPC(GU$^OU1G"P%;,XY4<P"TDO#
MB62R(+(HTES2E!;YGLUUE_C'L9$^^M$BRD?M/6)ZQ/0#F*Y1%W<Y405J[Y(*
MT,05)1F3+I54Z<S)8T1#(J9'3(^8'C$]8OK#8[JLI& 9Z.FTXI0P*S2I\E*2
MM*2BM(7-&+U7/4GTR)PRKH\C)?"SA+=XV"-P:.G7^TTVS_[BXV[^ZL \H7'6
M6G;<8^J/U_X="///\-]$SV7;(AM]L&31&-L_ ]X#/^Y>XQ\^(//Y%<F_=W/[
MF9AZ:3V/PJWGZXO%]Z9N+^?RZA5^NL=:9T4=WJ0+4H4__,^Z7=7NJG^@_RJQ
M"_/]91/*MUXM[1R6_-$"8WY&>L$]7PT\^OF&B$:SKY'X^AW=0.<M@T5'V&&>
M;^UNV,M^Y\Z'N%^W^GHQKQ>PC)5<KE[)]:KY?OL#H&OXL]_H$/V3#E[NE9Q_
MDE?M]]_\96")0\CB=VS$!7N[>=Q->]0S^%4&N?D9')TL+[/&!Z\36IG5A1*&
M@:A2#$P)FA*IF2+&E$P68(KDN?CO8OOXW8*=OKGNN0H>6@IX)#6I 6-&@BF4
MFXKDJ2E3I[71BN%S>\3T@'DH1NO9J-M1)"IN,.P!7DX  IIU9[1\'V@FTK/T
MG_KKX>C,Y65K7[7V4B[ERO9[Z=6'<.MO#H6W/]9MK>IYO;IZU=_CFL!U>&K!
MSQC+_VG,A-W&!2[\RQ>^2\]R1N_XU3M^+3VK4O:XCWP9+PGGZWF]Y+WR/PX!
MX7V20NZ4[_$X.N,CF;TOB + 2_CIOWQ#TV_N38YM4P-4"+ TVF9>FT,6;/]V
M#TC ^VEZG\+A4\W<7$OA_[)RF?P(^I-)?K#:7BB[3'(ZP_+I[$$Y[PND'FRZ
M*1#[B/P:03*"Y!.#9!8Q\O88^;I-?EW:CW6S;N=7R6_VLEFNK(GH.,&C^AQI
M$@_O?0[ON]4YJ#2O#?KUT$]^IQ3H>&[CN8WG]K&%[F\@<]LH:!_9#!%?;%OV
MP&8(_/GF&KAXVM*;&[/R&]F>)V[>?&H3MVPNDN;2]_A;?$@PHOJQ7M6V??4$
M%LQ#TF_*8'K3+(1CT><I$V B4>*YB><FGIM(E'B4(M<\+E'NI&@_E+]_MU+^
M]HKW32OBGU@MO]:@W+B DE63+"U\I.NY319VE=0+W5Q8_#O^IE%AOUPV'VN,
MBZFKJ+%'N(QP>1)$B><FLD@D2B1*/$J1:Q[9-?[(;:R>O\;^;M"ZYU:V-O&[
MCQ,\UO"+;%O0U.5% T3YA\\H?_R2M]-7-FY EMN6:SUUK&9")9'3*'>\56&0
MWZ=K*/AM3\'QW;>_>O1B2L4JRH3."'.J)"PO,E(9RPBK"OS$<JW%;C&E*/.<
M%B(CCE(.WS&"J,)JDA=2%C*GW%5B:SC7VX5>(L(8&_[[=C% S\_X^V](UG?N
MC]:^1M0Y5GDEFQ7LZ1M13O6\?A?Q/.)YQ/,OE:\_".+J0E-1:4<D=Y0PDU9$
M6%F2-*>.VM0():M=Q)664<XR19P0EK!,2R)8E1)=49H7:6&*HGP<Q&V!;/#3
M5Z W3V<%+U\@])YJ+Y)3,2"?#Z=$$'Y*$#:ERA13&1$"09A11Q2EC!@N3:IU
M*J@P>UU=M126*XO*K@ %V61$%B*%6S"6LIR5CDT*A,M9FO&(P3&8?(*NJ3=^
MFJP?+3N*#>,I:1.Y,,F\EKXO0&W;&0Z?G:^1&$E] ;?W+BRYF0<=(\G1C1_=
M^),C2CPWD44B42)1XE&*7'.:D61O 3] *-G?]\04]MU8<J^@7\4H0W1P10?7
MXT<94J9*4U2$&>T(TZXBE:I2XHRSAF=,YAF]3URW;Y+;^[A^N,;']7./ \<*
MZE:S,LNC5^O)(PL192=!E(BRSS<W1U-=TLQ0PCF ,BL<:*V93 FSEK***END
M>\,K;A,I?D ,CV'BT\S0>6YFXDMCF0CTIPCTJ1 9+:0CJ>  [QR;=$LJB58Z
M32O# ='O%8U^<J"G,U&\1*7]GCA_KYCTL9Q<#U0O04\P*OU[LY+SFU4O1X,L
MRNDHIQ_=[95KI@JF.4F=0A=641*1991H(8VV*;6F.HK;ZQ>[PJYCOW8H\->K
M/UIK1N+T]0 $1_)[49[-TNHERM#H^(HX&W%V8C@+&F9F766)*P!L65;D1!J7
MDI0ZRHQ-,\>.XIIZ:)R=XIS5"+'1"S553HFH^Y2H*YPS&16*%+(H"*BYG$BF
M<I)F6#JF34K3H_B)HG8[<>B-+::/X^CQ3[M)B^GWZ\O+N<7F=G*>F+K5\Z9=
M+RU6&@"_$N\2JA<?;1O<0 N3N'HA%[J.+>UB%FC, ITT4>*YB2P2B1*)$H]2
MY)I'KAN.+>V.W81Z4_:+NGD-^OKB0XTCS4?%PW7;KD$W]]K[1DV/%0O1N77B
MSJT'Q<Q[G,K!L_[<.6AJCO0(+),@RLD#RTE[S7G!:$Y+0PK+<\*<L]APS9$T
M-Y:6@I:E.TZLLEF@'_#=\E>Y7'6_C/21MX,NXKO]M/ZCI37T2#[T<@8KC![T
M)\?<20CK",,1AB<&PT5:%I;9@AC-,L)TSDBE+2=97C(,76852X\2O(PP?#HP
M//:>P,\2MN5&G.]_?VBU=>?Q7WS<3=^^?U?_JH><+G*]:OJIR;@>V%A</EY.
MYO*J67=)2]^'QXGT+/VG_GHXLW-YV=I7K;V42[FR/1G\>0^W_N:0L^HC'([@
M_'C5W^,:-U1X:L'/&,OQN9^10+C&[IV!XI^__^8O7_@N/<L9O>-7[_BU]*Q*
MV>,^\F6\)"N?V4M^Q9M;/6H7R'NB_;$&IC^AF?^"*# $GFAZ_\A3)P_ZOYP5
MEZND;>:U27J%[L#;/2 !-UKM0R7H_)>5R^3'!59D_6"UO5!VF>1TEF1I1A^4
M\[Y ZH +:3X)8C]>R"N"9 3)$XC.OSR,?-TFOR[MQ[I9M_.KY#=[V2Q7UD1T
MG.!1?8XTB8?W/H?WW>H<5)K1D.UX;N.YC>=V\N<6A.YO('/;*&@GE7D7BV!N
MS\I8$Y:X>?.I3=RRN3C8]R26N,3\XJE(X$B4>&XBBT2B1*+$HQ2YYHEF;<31
M>,<N<=FX@))5DRPM?*3KN4T6=I74"]U<6/P[_G:C3H518X]P&>%R:D2)YR:R
M2"1*)$H\2I%K8E'Z:6OLN[/Q_.YC\?FZ[>K2$WG1 %'^(;%8():)QOJD6)_T
MS$9\&,VTH5R1C,N",,4JHN!'HFV:"L984<B]ZJ<TTT4F>46XL)JPU'"B<B8(
MK6R>.V.4Y+2O?EI^L(MAOH>Y9K[';TC6=^Z/-M0^':GBB<UR6KS BJ?)#G&*
M<#X)HD0X?\IRT[02E<!*4VLY=BA7CDCM'$G37$E*C19"[0(N%:RL1)Z2E%L
M:98R(AEWI+"&I\JP-"V+QP'<&XY58K.*IR\0>F/-?ZSYCR!\ B"L!)4N+X@5
M-@409HQ43"G".9.&<\FT9KL@;%R1,<1?N#HC<)TC59F6I)1*&2-8RH6<% BG
MLZ)XB?IO#":?OFOJS;E<?(!GUXMQ;'C3*K%OBEC;=I;8SWJ^1F(D]07<WKNP
MY*:S1HPD1S=^=.-/CBCQW$06B42)1(E'*7+-:4:2O0G\$".HT]-3V'=CR;%K
M>?1P10_7TWFXF$@+5[F45$93PBK'B,I-2415\8R)++..WR>NVW>U[)U</USC
MY/JYQX'CM;$L8AO+IX\L1)"=!%$BR#[?U!PFN<E-49(BS7/"BK0B5<$+8G*1
M"4Y-J>P>A-\F4OR $![#Q*>9H?/<K,27QC(1Z$\1Z#551>HR2C@WBC"9*5*5
MF29I(:I<I51(X>X3C7YRH.<S0;.(\[?%^7N%I(_EXWJ@<@EZ@D'IWQN<LGVC
MXN5HD$4Y'>7TXX_4HA;$GW DE;D$\T<(HE+%B<B9R5@IBCS/CN'U^L6NL.G8
MKQT*_/7JC]::D3A]/0#!D=Q>E(I92LL7*$.CXROB;,39B>&LMJG@!2"ESL%.
M8:*21&AKB"D8<X8:0.'J&*ZIA\99/[&(_,,NF]$PV BQL6HAHFY$W<FAKJ"T
MRHS*2%X:1YB3C CF4J*,+G*A*EZ:_!A^HJC=3AQZ#TXG1.+A#>K%6G;4,_7'
M:_\.7W_0 W*':8;BB,,,_QG>\9JW^](CAJ/WR_K"+FO=G3SKN'(F+XG**)R\
MTA5$N$*#^N.JK*JT2)G8/7G6,BUR,$.%*CC8E0+TG5*E),O2+$VI+++4[9T\
MN5HO[3O7';5F 2?,PI&ZA&M6R[4-SX"=M.;UZJ8+^V\*;X7DT'/9PG&$/;@@
M\[I=$3NWV*_/[P,\<4B]-'5[.9=7K]S<?AXS@R<?=OFKW55/?W\1:5=RN?K>
M[SS!^[>OE&SMO%[8/1[9[&)^EN?Y/SU$I_!;[/C><D:>TS^MO825S;_O"5(O
M\)6(I\L7Z/#-OV9G/3N.^+"?%9C^T\X-G^R5=W+XEA_DHFOVXJML CMB.<U?
MURVLLST4''FBQ6Y<K 'E_+\'7<W=OEZ/<>5Q9[;>*A9UY_?_S5[""NPB>=,L
M+YN %LFWO[Q^_\/K__]5\MN__?C+=TG=)C+Y,&^4G"?SVEF0SK5=:+B_;BY@
MQ5?)ZERN0%)_M//F,E16P2> ?+J&]_L'7'@.FS:_2NK%HOD(S_AH$U4WE\L&
M;M*BRWME]?D"7O@#: /^^^U5B^<_W+GN(DZ)=:[VS^XOP]/2C7;%(J_5N4VZ
MNR*[P8NO'2@!ZR4^ YZ(#P )GICE^D-[EB2_P_5OPCMXNXU_C[W_Y4*?UZTO
M&\.*,)NX>KX*I)DE^GP)!%TU'V #SJ]FP^/D0LZO0#\(ZX*_KFR]@&>\MS;!
M4<W)VUGR%EXIH6<)/BO;B)J'V_5P*=[Y5;V"K=#7\D%W,MN$)._6RP24-K/6
MJ]:OE'X_2QY^K=>M#/9Q!=N1+/U +]0 $U2Y<#=@)^M%4 F1;9=V+E?68'O8
MU69C_V^+N^'?YNS@AF]S8G]M(@&R6D 9O-V%_!]X["'>]Y6#>(=S"<O0=KT*
M#!;. HK%S87=P5BL4#'=8<YF!)IM L)C;H 8=FO%78@(;K1>&+M,FH7MJ!*F
M+=L/^+S#+PD<;=THQH1*<XM$NY!_PJV^[5CRS;L?_M;M^7>SI 8RO/%?_/&S
MU6M_;M_A$1Q_X\=WFR_@^#6+\S/J!1RB>F=_@"M:M*I,@H(!*>%'N/@] SD/
M>XR;>[D&(,+3A^67\WFCPX+AN\UZJ3LJVH]RO@X?;)X%+^<?!ML3SMTO< B3
M_#&8]^8'K2/;^_4%R(,K?,GW( %J(*H$7GFM=;->^/?Z%6CC<<[O(?T>WLCO
M;S?9#BZ9=81_PL.)&W;1P$D9[W.S&)^_@05[_AR;(W>3M#0[15'[.L (BBK8
M=6#F@_MVBP<=W3.@F(([446$J1A8^:(DHB@<H:( LU\ZQG6Y:Y_DQN4F+00Q
MA0;[Q$A!*EE2XFQ9BD)F:$!L]3, DTC9Y3OWMS'^O8>U;[L!NK]LS/^WO_ST
M-?M?7&OZ/_YN[^![BZ_C98I'-$"\3EWY UX9?GN_\L#^[1O@4GC)12UGR=_
MSI+Z?-W:U0JD##[SW^7%97M>+VWX]3_LLK57X>?_:I9_>FS\W7Z6[7=G(,=7
M+8B0_:?,DD\V.9< YH?6".OZL5TU?@4_H2X$S_HWB[ *#WJ+,G9A9OZFOU@<
MVH>_!U!^_\D:NSA[0IIO>3JV+/!#[HHGP1Q_],:.E%OX!KP)_OAD':L@(*3;
MM?H?"PH,Z$4R6?C3C("VK-L_05^_ND0%"'1]8-X&Q#*RW:=Z=3Y2@SK.!ZUI
M4/M1>S=@"2^OO/KBNXCB[2Z!,75]Z6_8:^.'9(NQEQ83@+1%Z?.GO4HTW*V!
MK0=N'RMCZFK\?5"[O)*#:[.K>M4LO=JQ ))L+!+MU9A@N(#*,COP,- \VF:Q
ML/-9T/P#J,*=X#=X!;M"4;]YV9E_X+S&PQ6(X\_HV?NSY*>F,?XP_0 F2O*Z
MHV%O23=^2N:'YJ-=+O!U8&5+^V$][]1&O$1>8E*1_^!_UP 4?I+"#'8##OU\
MCO_%9W49>KB''Y;-IX,T5;U)X)^L5A+V31JX*^QIXD %]89;TRE@-FCI>+?5
M^4;&[WL-IP .G6?O&B]=*?.JY(XX)2UAA863R)@B%(XAE;KD0A3'\-*-]+Z-
MVM=K?0#BJ[^"J/CS:YZ[&RPV>NX>WW.7GZ+G[A9&R2&WV;4G2DJE4UKDA*<^
MXE1I(H0%GG69*\HB8Y3NE:#<Y43]T=IW#I074 >]\OC%DW.31?F3<U+>P#MR
MQ,WM5Z Q\L= Y2?PY=Y\L<G];<V3].K^[OV@]E)V#EW8L(V;I$4C( Q8 HD.
M7T*C"I4!KXG(S6'OE*\Y/!(,-[L,:IW6]O):^Z53.EJT+.0'_Y3@/_O3PFGL
M6";H*6V[OK@,>HMW\DKGO%9YWCNUX*[R M<27$$'NW;YWP%+];QINQA#..8?
M\,G7?2<\!1U/B?<NVL/4P>]=MYPEZ)2 )9TWZC,HA.BR,L&0VGS)DQ&0L#'M
MI.VBZZVED=YP"3M*%HVQ_:V_V9)N__ Y^)]?D?Q[+PH-,()7A$$#G*\O%M]O
M:16[<?.SH@XOT)4EA#\<E+&@?']_V82N;*^\T[?^:+]7S6<D$]SSU3 M^O,-
M\S?N8]S=;\;V_3:6LZV=W<ABW+GSY0[@=<J+5U%>R?6J^7[[ Z!K^+/?Z%#O
M(1V\W"LY_R2OVN^_^<MN3'PK;<+OV(@+]G;SN)OVF#D%7V>0FV=@C$[6M<Z
MFVGU=S(&LNU3>^NLA@/+O:$J=2<-++NS!G::7N*QXGV]Q%178PD[$IV[1GPG
MI_P<1;BQWS3OM%_/5RC:D\X$3.1RB;TR>W?!?-Y\\E8]7JR7UM2K!&1LB]Y#
M? [.7P2 F-?_\+$G#,=X85HOX'FK9GDU2[H03>^8N%PO]3D&<4&M@/OVH1W\
M>!2X&YP.NKE0()0[E\M(J&/8J#:VC\?V-#*)D_4R+*0-*UG!"]6XNI$>\*%I
MS*=Z/I]MS:1)+NSJO.G<F)V\GB6?/$U ,<*XU?(COKJVR^ 'T1ILBHWDGXWV
M:B<,N5E6KVS &WRT2Q]]<];G1K3;'ZW\JA<-WFTO)(9[X".5G\Z]_S4Q5@&K
M?$;ZK.OVW.^F#\L8ST?!>;31ZL#2GZ,6M!TE'7G2_-VT[YPZ ]YO])\$;7D3
MO&2+MB/\2GX>"./IABP&B^]=2]T;[=X?&<=89Y=+)!'<8[0Y/>4&SMGPX92T
MIT/I<=-T*M\889\@&C:'$[?^<+[EC@W.S&7P'EO\/_RX'=D.,ZR.7'OW9@L0
MACBQGJ,) ! (/ ^7+&MOI[AE<['[Y;-DU!!X!*[+@(]+LS%K @C@;T  [5=Y
ME2CKQ\_^N6@^+;8C\WA 6N]*WMP6=N&\AO.S]!YD1(JE3QWPK/Y1POW7;>?1
MW3.& &V5A6/Z,1Q4A0N4;;/P8!NB_QXNZJ5>7X!"AQD)4W>Z'C>74JLT-3RG
MQ!8,6-M28&U>6I);6Z5YJ9PLY3%\2G_%Q(1W[M>0N^#I^7IA[N2[?6J4F)Q[
MQM,6!<68NM&A-$&M]/>@FVSR=:YQ)VTB=)W&T>[H 1[\$"<_G3< TP20%.[6
MKA7H=#5@(H+TZ_G<=X3HU> :#>P^U7"XK_?.@'[6AE!_&R+:REJ ]GE]@;IC
M@//-NN$R$ &="@=J*&A)5U8N ;WG'D'#+8+J8\+T<3='S5JO05V!E?BK+T?,
M>O9US\I14<\ Q&5",9(5F0 $LQ(L= LP!LBEK7%6N;VQ/W=!O9^:)1REQ1O_
MWOKJ]Q&= ?W\KUW0T8/>U4W#53=9_SV<[L\6*;O]2/H-.1V0/'PHGA0ZK].6
M;\R<3YN"L>I.G^U"^8>=W&@!K[SYZ!EG0-@K='^'+%)4@H/GH/.(6PSTNX/N
MZ[/DMX,>;]2=AP49O)%$&_"#W7O&%WSCH$MO$"61!KV^VQ)E_+?#:;Z#@=EK
MUEM28]Y(3*O% ,<>1;S,>;M_M;'P)]B0SC'A;0+8H^ LP9>X )5\O0QO;248
M"9W1@&3T8BXLW@LA$%OKBW58>-#Y\6%+>PYDQ+1:]*WTB9,[B;%>-B7MN;6K
MPPN]]K7V7P%C0E?>B+C]*X1EPU_0!OJVYX#O#JYZI!3XD,SX5<,=)FFM[)HK
MAX6PT%H+GI:$%=A1,<]+(BE8(I5U52&=+K7=2Y.\BQ#N3MQO&]?=[83M3=89
MA>VAFIC@,QT1_G3D[0LS2GJA& +4P?T:=J]W "6MG'O7Z^$ZCUF"(>N0'&CL
MQUI[']/(&8FXMKY S&QQHKD9$O;0L[3[5839(?.P]R5MUXW@O?<+1KKT1R^+
M_O#^G5'6S?L5?$DN#;SMR*?[2W,V5&&\?O^FK\)(RK2<3;'$Z+?QQKQI0AE,
M)[W>#-F:3U_3T#.0KSGR"/ /W'407S/TJTO@CT8!ZW?!BXTW#F5M\-%OJGQ\
M%1%<V;K:FEGG3&Q &5BV_I;ARF;>ZUW EA<U<ME0AP2/1">[YRY8DE>V>O?Y
MB-G.DEY#PZLV<KU3$GWF0I<>L0F?;%GF*-'Q@=[NU3:(ZB$4X ,1P\.W*J7&
M*_1)P?VB!O8<V>DA_-,S*];@!34. ,4GBYS;9._J7@T)RIU77W:B0%OO,7A@
MM]_\\'>#O[4]]VYD9;<TGL.+@1,[]R'K;MU(M2YH8;M $I($/[QHVA4<_S\M
M>K3#0L(%?1*Q+_U:='$BW:GQ6U[=I(^5]_INSUI NK\??J.ZO<%;U&[6?[BK
M0?_/VOA*'2P PYO!1BO_F)"GL^6;<6M?VXMG9@E ZSDL*+JXY/XHC3S6_<'
M(!R&N,)A@)?Y<>,XOW:O?+9/I],.F4U]' SHTYL+FZ!@G[)S+1WP@(;PUAQD
M'&Z4?TX7@ C!M,.1+'C]&G/3\3&CTK,0JYUOE[Y]NXD$S 9ODB]@!;5=RQ;N
M\5WG^6\WKGY@FH^RGB,A@$#O08ZULX[/I#&S44KX2G[V)8GS>6!&>*2RYW+N
MPN)KD!V7<AFRGY:V&W6(;CS$XFZ77FQAUG\B#O=LU9_K?4[9 O:9YY'!*O68
M*PT>*R#TE?^3I^T(##O4M[7?L=$AFF-D"1G!(^G6WWWZS9B[9EW@RX^I7.P>
MQN"4A8_0XFH6OAHT>7UY.;_J7^O25T;U 2E3^[4OD#FDKVA&[8'0E.09H=4V
MKIH&J(DG-AR-X=Q]=0WP*.#^%FDS"JTIN_J$SEHO!<?/Z=XVA-,.2]J->%V8
MS0T&2L,.>%F)!;+>98O%N[!D(,8O^+=K#K0>=!+\27JS^>LO)SU@_0 2TU?"
MY'26@$V7O]C3M*/9;;3A"WG5$W:3?C(&SM%>PT[]A(=A#=K2=F;*-=*L[1-*
M@EK4^S(.W+M#^T[J;B3%(&=;KVW/D5%:.Y]WF;!ZDZ3Q91W-<VDX<%]8Q7;S
M@8VCIOW"X[<6WDFOU28^?=W[8LD6UK&W(1\81!P\_&UXE>L>AE_RPEGA>W7"
M?^GC]9<@K;8"+WY/)A)BOCZY]9K>13&]=<KIK45,;WVQZ:W9W=);\^.GM][0
MCWHG]^M+2V\];*1?*X96\L^@Z:)?(3C$-C;1EH455 74,I9_6I\E&GK$M%T<
M \[Y(A2P^ )9+[UKK\I]6(.!.?>R=R>T=)UR,I4(Q4MBG+&V-+CEAM8^!SP-
M@S?.:V&#;0!FC@T9S^M+5*4ZCU9?.82NN-[1TGUEQVOG72"731T,)^#BF)MZ
MIVC[C>'Q"7+PS^O+2Y\K#=!Q#O]X1')V-U=4MMXCT%N"H=Y_S(ZS377_J!V"
M;MI5^Z6[X 4'[C;)D.F#)7BRK,RI98RD5$O"."V(TE80RUF6B[1@3MPKU<DW
MH_D-NTR\7I@_%EUF/[K(WBY^A/_B3WU7M-O%76^R\AAW/1 @\BT_\,QM;<?I
MQ%Y/*-?IQCSZM)*^Z_/6Y=8W0S_;SHG8M9H!@3TX4-#+Z'6$@9G68V8*OLC@
M:@^E S4\2:]V[]_%"Q;H/<0[;Z?[#Z[0+DD_W ^]H2&@@->,_89=;QR\R*>8
M>B_J'"Q0<Q4R5KL2YDW YJO)MF?)ZRYIR U52>W:U_8L^ZH(N!1[>BZ!^OB$
MY?IR-7I'K/+J:C#@!U2/5]CQ,#39@[OZNUUU!',AHM4"?;&[QS8YSE'O!L#\
M$)3G4?\>=86]#+T.[]]OWE698].<8;4SX$EXI=IYI]G^6D+4Q_?P":[7KA9,
M7R67<[EX884/F95YR0I#N)2@/&5:@!5<@-Z4207_RURFCM), WNW@V3$__SX
MO^L:#B*RW6\6LQ0PQG3X\R IOR(@;_(*44 >,)Z!UK,$_TU&)/?G8[,O_O/3
MD9DO*%_);YP/\.,/=K2#?=S:?X!U8[++OVPP,.G]BF?)OX<>RO,:OFA\H>TF
M2S:Y ./AJG=^7*Q]B1SVZ.JB,/"JS;(&DL"?+[#D=*C0!&L8O[PZ;_LHF9=@
MWB=>8](*VB>["PXU&GNOX;\HE\LZ))2B&=,;S][K\KES^6Q*8L_&C.OOM[1=
M?47WU$U0?+A.^C03?"^SE)\PZ6"9K%OY(73+A35\DBB=AZ]\H2>I?T2?8GM-
M),]O!/R03<;O<TP]\]A@>0R'ZXWEPY,JIUM,-#MP&GP2X39WK_SL3]F.>B%?
MDX3SI71JO).;-Y_:7BWS4>X6L[;AXCT&]O]F/1O3)^1B/)C_Y]#S;W'SHW>]
M95E5L8P71.,P,48K0:00CE3<49U;Q4I*[]/U=JQ0?4V;VO[#Z,IK1^246R-R
MBJ^-4"[H63ZE+KE/]VBX>.YS!R?'D-8:6I2L)(4MD2'+'+1UZ8BHG,PLXSHU
M;)<AI=.TL,(2D0+K,F5*HL"6)V6N)3>98#IG4V3((LO/BBDQ9,<6'BTGQQEY
MGFJA>4Z*,LL =BH)4,4T3N4R GZHM-NS_:I,4)KRBBAC *J$+ #9E"+2.)73
M4I:52J?(&66:GU43Y R?@8<YO_5'3*5Y4;Z'0G"G4IJ34N0:%+.T(I50DO#4
ME65J<MB\]!B^AQ_@F6%.S%=<[R=F/SZ\AV#4/^CM @[HVFN-+]3@/NQ)]FE_
MH" ;$ZI[=GHQ><,2E/+0%WQ#3M\8J=[0M LU'RC3:;?K= [5Z%2TZ&ITZ/<C
M9O=2Y]^M 5)^..LK8;8CWP[=NV#^PMWP+H06_DO]KRS=\X8?;CF57& ]:6B$
M:5W=M0;S.<YF6%#B>_W#/=IF-LZS5[5;+S'9\KJ;>_]%EZ_A?)/U$.;L<Q#'
MS^BKEC$M\:_C%,?]A'LYOVKKMAM,,]J;]W:!S1Q^\1VS3./]Z][1#ASWI:T.
M[4K#<*CP1OAIM[';!%Z=KX.#HWLM:\(H(O]6< ??EZ?V8=ONBAE\,KS;Z*:,
MIZ.]5ZM^HQ^YE429Y=JAX2*JLB*,2TH4+RH_^T-1RD3!S3&P_&_>)X7Y.N^M
M1L=3;0][B4\,FAX<R]\.'KYD0[D7BN3_.7@DK_SDG(WW$R"EIXTO4N_3^]&O
MB0CUH<&BRE?)N>U'>07OYPQ3?S"Y,Q3U#3EE>*BQ8O3,ST$;/0=;%CC@VP9=
MF[L^EBP4*K6^]@8#D.-OPK+\;(?5TE?E70'8S.?MCHMU=WV=WQ0])KO%7)O!
M9E_H%- !SL5P^L:$VGU8/W3C\-7^JO#X_U@#?0>GZ";@N6C"?(]EEY>W\4U?
M5QXQXNG@X^UGTOC$.Y])ZPL05WVEU&ADQ7FS0ZM]C_4>.?U0P=70I"(T?^R2
M<0X&77<;+_QMTV]SE*WO4WLNPY@/E&O]*O10GC8B9-=F W/&?'I/WQ$S)/;[
M?+1-5\__V_9O[SWX2_O!JQ;P3C[5<<1?P=&X47#\Y\9B +HKF]ODP6V]E6^!
MO17*]0\=L3S"]*:I=]^:KEGX<2QX'9(.ASN297!4CE[6-R2YJ$-HW7Z^#!VZ
M,9'31\=19))U:Y>#U]X&1@IM1:TOHEPOAM\^2%"^?(S"MR%%)6',9^-TJD,,
MM^,$/49YSE?!;(I(.M8FAR/37G/R@9;M.9P4@OP^%%I=A8.ZM!<RU,OUA5/K
M372I:T&S6X&UJ<K_"B-N)W@,W2"1E0XN==;E?<R"N@GWJ)=])]2M]K532M8\
MJ.$=UM;27(+>J W)4^U \Y*:2%V4A&N3NJQ@O"J/T_@+Z/9WC,S]+520(PV#
MMG:['+B;K#>&^ \T^L+0J-^ 9+0#,9P_021]NU\TO-WKN?;JSZ'N7-N%M>O6
M;MI6C7H?HUH!,MON9%O9B\MY<X5VYWEMEQ)TB*L >HO+]:KK48(9 9Y]?.+R
M9E5>@E_(SR"7_]%I+^LPT&54Z=?="->,[[9[Z:0!-);ZG6BI7QE+_5YLJ5]^
MMU(_=FVIW]?>\=K,DQNJ+7?2=NY>ZG>2XG&]V!<IZFKD<O6RZ, UMFNSA=;&
MJ/_)NWT!M1Q^[.2:SW[SC4ZP,0N:A9]\(C0*KM#R5_>BV@MF;Y8,+MJAOKZ[
M$1@ELAM\V;=*Z5.2$1G"$-#=]C#8ONN +-U9:M]8^*";>]0,7JIF':XZYHMZ
M=\K2]DG58?SZQN^N@EV_J:T<5UP>Z#OOM9.1DK%12VK8SF7S)R:X-Y\6H8PS
MN.;F^.B=E@:!N&%V1Z :)CCA!(CVU424CKN=W]/$=T!V_-\_=Z;VM>_=B3M<
M$4H_> '\ @']"'@7'O+9FN_# T5YE@[78[,B>=G:5WU,"-;0/1*>.4C\CW5;
M![9]U7]C="%<:0;"^&=49VGU3V-IW+UA$,=_^<(W!3T3V4V^^L]_62T/+;73
M$/SN']RET631H)/@'ZYYFRU]!#0.SQ6U1YRPQS[XI>6\8Q6X;D\3K1=;"LCX
M%L3?H_^"W\X-YSP\$]\C,^9G1(Z$)CZ$1G?"9BMS:V(6^[0,;_$U<HZ/ MYD
M?-/T! CY]\U\I@&&UXO0TPI^^]]UL^JJY$-H1?J4ET[XA-334+>C?4JKMW-'
M8F9P[(]-W?/]^=,X4+)MSZ[;QJ\<MN*,%P]QW'8XXJ(V9FZ_QA$[*/RH$N 6
M:OMQ#LG-2'+C0W(B!(O8__38GT7L?PCLWP9\'P>O89ER>0VX[XF$V8%;;"3$
MU^X7)4"4 *= L"@!GEX"Y%$"/(0$&/N8T#^TY<+S"32CG@9=ER0_\G,^'_M_
M+C:!RQN!.OR,3SBU!D8W=OH^39)'Y[0;AK'N.R5A&S'LZ%N3=\["/@JYNKH,
M"1R;UA.'(YEG>_W;.XMO$\>L1QQVT1AT^VVBE0.O^>R0T1I]\L_6FD-'=:]J
MS+J\Y9U.X",>''*6+K"O<M_1',?G#-TRM!RF&8]#IY@T%AAXBZ?E%?SJNWIC
M?K4?-XKOV_DQ.Q_P(2>H?Z9/R>H>B&K1@8X>?0\0?' _\#>LSC^C)\!!/VN7
MLKYI!7OX-.)6]#F1F%)5[SA@Y\TG=/WVS[M<KX;RZWN<_)=0&),Z);)*,B(M
MUX25JB RMY;H-.-IZ8J4,WN4IAP^E>GGIFU_ZCEH4^;Q,*4RSS;5YO7U,\Y?
M:$;+?_I^V "WM6]4\:4I\$,[:(G=Z6JXM4]U]9#@1UDTOJ^/SUS&2-1H$G(W
MI0 Q>S,4>305 8M?/"RN-V/1A^Z-W?3/,/N@_\H&38>VGU[BK9?C^2@_AX7[
M7.%SG/5@X%F85!H$UN9E]QO*;X:.+NW^4+7UHG\E#%0^<AE':A5GE91$E]0
M\HB2**TRDG%CLS0WF<J/4L:!U0@@^I:WS0.\P?)B'N#AX@\D]TGUOWM!4#G:
MGZYK\'7S*+?'CJFNH^1V2I_7GD+JO3]C??<<T()]8C,J9O#3PJZZ['BO$OMO
MS9)U.Z0?ULL6C=!9]Q/F#H1Y0V<[582(V"&;NAZ]B$3=#]O[_^]:+E<XQ:"K
M+<#4>DPXQ,[)=:B@ X%@/VO?+@C[%*FVF0,NCEYA8U5B^O]XN,\P,@GK;-KD
M(^;4P7MTW4[Q[@ H4O>9"G!YW<W_,?TMEO(39IH##LHY" /L,0?O33I"A\DZ
M]0+$V&A*PS8-/BWK4"SX:3%:=->B#[-0_)C+_KUFAZZ188^4GV(>1F79=IB\
M.KSEX5T+7:G[>VY]>_AF9\2$ @<<]G5-7UBL35FCT WYGGNS[@92?&@:XR>C
M&$S,ASOZ4'RHY;%M7],(N^^-1JQR'TI9VFY@-M:?G(>A=Y/IAW1:LN-^;_ZZ
MFT_>VX.; 28K''K^P5>S#3//C+WHIDP=Q*9A@$GH%QE&"WG'O@EJ%*A4PYEO
MQX=^P[K +5VWW+YSV5GR>J?_Y7HQ'I857L ?F6Y]WM@?V+[G/S LYVNTX</J
M0D'O]F3XT+NS,U\WB=<;'/7PA:5[B$6A]270*+PH(,(/X<2@&1L*3@YT9D+E
MSY.M*W7Y<E_.65<5MYE&OV@&J+INCG%0HA$O^^W<?HW!F3+Q\I6).NINJH,^
M@<5U$\&U):.[.E/DCYZK9LE<*M040-[CL+QD!/VAU[A/Y=^6$6"IG5MI3L%-
M<TTODI2!T2)+4E*;$\8H)TJDG%BE<YLRGC.;'\/P^1EG;+]>F)\MNN]^\Y,Q
M49#[WW_J!X+=J._I398<C:%#01^LDMUTVGBA-L=8?96FN43A<;#]R!^7*)]V
M!@3_,30?R5):DC2;/4+SM9OO<;?.<,J2;W]O+N&D5RS[[NEPJ&_ ,FK@@BL:
MZ!@JC?\#<!6#*+[.F(IA?'.X>&>$XJ9P?.BF@AK&9L)=/R$/K8NY9WO9YW]K
M>SGT:%F,OW.&T]SZR]$4"=VTZZ#";%^[O9[1(!500? 4D\9A47:7-3X.]ESU
MMMR7F@Z,![3NO&18WF;0[G:]ONR4*1_XV2AJ_DO7]%X?%G]-?HKS-<>>G7P%
M?5C ,!;&!YS EELD-.LZX+[8F8VO.^)XS=MUE=^;+>DX*S36[T-=/C'?JQAH
M28,>XIVC%\@U!SAVX(!7R;?U=YV.C%,;MR;P@#%NEVA>;GW%=-RX[6#!8A)O
M "W,UM5^AV?PE/"83>HIB*?6-T(.BX*[#0T8X@##6-7X(%6-/%8UGEC5R_&J
M&MG=JAJ+XP\P?*9VQ_W.YK9HZ3K;;$]?[S-%<*#P9[O4=6N]8.DDRT;<X/=\
M-SBPLO^G6?K*O%XH;=JD@+ZR:"Y K049:P]).+SYQ^^Z\;[>"[7Q:?D"N?5%
MT%SPN=V8\19[CLN04X.^.6NP 9#"VKQ5'9JGS.<'\E,./A[N\6VW@$7HD'=(
M#F,Z"+J&N\8\_;!$/Q)O1,C!GX>2%IV(QG;W:EMXT*(91KU@#O%ZH^H>E.AA
MY$"8=M]I=;NSV';4QI>KSOW4Z6W>M;I-E&O2N 9:>H7:]#L1OJ*;BPN,T8<L
M);0L=R91'V#5'1Y%=]/NF=G$K3#SR7NL?6O(^N(2#,5ZZ,K5V0#=Q.J=2WI3
M0!H_Y*C/"%-SN]-C8U7/O9T38EXZ1%7D/ &QM@QZK+_SEU_\+'EW#3DQ6VR]
M]-PY5% A(@!Q+F7M/=Q2ZR6(@AW2[-]R(!K>% _1PG<'&ZC5@L;L3354"KKX
MGM?7%Z/-[KYWB/!GR4];>OWH%39MT7P345@\CBSL,S7P?E]9QO XWS8J*/5=
MYQ"WGF\!7^_^'NJ3O[S*+:H,_4=-R,=#DT+Z#GU>LQ]&AFRP 3AFW5UN<2C#
M\$)X$+RML//]I35KW?4]&>R@307U9IKC,.$Q\.E+Q9R#)OK0[K7C-* U&#=D
M.%UAY&4;,F[&S71")N/.SL-&]X-R^CIT.=?K^9#_B6?[2RAWEOQ=@J&*4=@O
M';70<A%SB\RV:R4\?,>(](FO_H#WV:AVPPZ[[A9?]1^8JKO#&.0Z7<)=KXG4
MV T0Y&"OCHSN]&(Y;PLG=K0"WPL!41$;?N*PN.#3PKCZ97"'+;S>XX&[3R?;
MDHO(00U:4+@UVPZ1W>MV]8^]I>S*8N]Q0\8=/&[M;.^B[;8-UWXZ&RWSNF%'
M7VAO^5*9YTUWL+:;> PDV]O23]YQ-3[4=3MHM=8.BB[*?M\\"U1VN5A@9\0-
MCGGYA#J(W)+0NU;!6?*^N>C_U X,WF/@:"*Y5[%E: ,6>!GSYK$(;S8,1A\-
MMPSA0-]=%'D 1.W&51K22[H3,W[/(0=R,PIR^U$'!AF/7L67)'SX@&U, 2"O
M(\T6#O=M0;84C9!MHRRP4B<I[!:WX\AX6,NE3_9L1]['_JVZG"($[3X0&KJR
M^I.SK9MT&+Y)8P5\L'[B6->?97CZ ,C='7IT/XCB05D;S$%X7;"$KGR-@;*#
M[.E[MV]NA2*U?]!.2A=8@,UFB[KV]=N4PYU9KX*P[!-"K'/8AJ8)KMTNSK$,
MFO&YQXJK=K<_^4FV8#E-=+K&VAAFY!W$K"!5 !&\5.G:V<_#;%6O:[L]93N(
MN3VA]N7G;/ G-%K^\X!658?\L[[I:X<%UQE1Q[-)-UE1!ZU3WY1F9[6S3N4W
M&%B8X]!WD-L^B+$(LQF"Z2-WK-7AL5UQ,QQSWY46[].;ENVH@])V$.,L^5N7
MTS>\VC# H!<E(WNXLUV6/@URZ,#MFAV1M-.?^IH%?]D2#O#R!4OYNIRR7DJU
MXT3YX:$[/!=4+NT3(#?52P>4\PMI]E/K#]4*'C6YOM)PHAU-2:ZKBC!K"J*L
M4SB32SGC"B[WYRW=>@;]Z^ 7^'G#^;=+L;_)(D_0N_OP]3^=/V9$^)AJ/T$A
M.%9S-GGD@S=M)#  N,>3Q ?%%,0--K.[?K*,LN=R[F;][7L75RB$](5-_DZC
M&XT3'4:=]GJG4#=5H%/D?"\-5,/[^WRE(?]/WI<O ?=W' BAR5]X]<Z]V+B@
MYF)RZ<(/N<'45B]UK=TX,KH4"/D)2P,NL'YJC<5<HSD](XKUHF?9V;5=#D>]
M- 0C&U?]4^2BRZIO!ZU]KT0*]L36_@:8S8X$]M1J,!=D[VGH3ND38-<+')/A
M9PKT]L4JD"PD].)]3"^(AFN&]T7IM)3ZSTT2Y/"1NCKPZ# N(R@&0+EQSDQ,
MNKU#TNV-I=+3 LJYG\7KTV5#1OKE'!ZWQ8C^:(]&?(3L>L^LP;D30G_[>-3/
MOH;O+3#W?1ZF9C3SC\-- >^]5@C  D;B M FU.8,3O8!P@*C&E]-[C7<CUOE
M]GNNUQX(-^7N_A!TQ2L^-_W#>M%5,&Z=FG'4Q!\*="J E4PVX'L('+=@-MPF
M/!(O&8%?5]0^9.4/P!$42EA>R,3OS>%5TV#]D[\G_(C#1H)NZ@]_T^N-_6L.
MJ^DMA-G75XO#T>%17H^6R0?0]D.IT:S7L8?*FZT7@3\ 1_55.GMN@$W3@3'#
M77CW1/"?]%>TXPDP(4ZK.WMHJ]-J\N<"RY6Z+3==F4!8WU?*$B:?YQU3G$XT
MQ:F**4XO-L6IN%N*4WG/%*?]6A"6IDRYC.1"%X29%%OQ\)RH2K-,JCPKW-X(
M][L5P6-5Z._R<VRU<<MJ=E]-"X2+-O8D;>P?<*XL*H KW*(]&V[L6NU['VE4
M(5>?K#TP.^^0!A)T*?FYB^!@R.&PVS?X6>U"AN0Q^$;P=V*-= A7=#%S'"S6
M;GL.-XO;Q)+Z'#2LEEZB^_GOFQ$[?<^/<'6O9&/-_6Q7)PN\Y]<].',M7NYU
MS!"Q]\VFYO6?=GX52@M0$_<Z;>LC><MQ,IX9T;RGA0_NXY>4'>;@[01ZQF&X
M]6)(481[]+)MXZKN CJX+!*617!9H$&M^N(6;,??^H&*>,/>W>Z_[FMG85,_
MXF_7/"HLSFZZ?6$T^YI5C=M-=2UB-J$UH/=ZY5_=#PWT6S8;EPKCO>;R4U#G
MQTVMD)Q;S\$(X"+D0VYV'RT)__?N5DN[6B\7G3$2^ K3$&$75O/AOF#MK- Y
MT*[5__AQ#4WPFV#:P*?>A8)?[,/SH_4&'1[[YFRI\%M5O^-U[PQY&HVKQ@CS
MZ$(DGQRU:/#GZ7 T<+GN[*K+!@\Z'L@AB(#+#9''>GM9.'-Q"+KX VL7UM5=
M6#$@.?ZY,]RVGUQO$PL]_<L:2U?AT?BE]JH%/.@,2R0]R(3D33]NZC\:U2:O
MX;O]Z8<G#I,<LY3RV?9Q'SVUL\*VLDV]10GW!X+]V[Q1L(2W"]B&#WYF],_-
M)X("R22==.K+O/[M[<^_OQV*O !C.C=6S]1H)@):^RS;VM1R6>].Z/+-(;H"
M/2R_VCC8NHF:NVL\WZ+H>#/\8L: -UQ<CSQ:/O+>F<W]MCQR'R+%E4XS:PCH
M8@94L!S4=V,IR>!L:<L+9K+J&"K8KUT8_U=,YGF],#_VJ3RW"YK<9+DQ:+*O
M*/PZY(;X#4C^/WEQ^7TR;,+I*'?W&1RUS_P9-XXI23)6:F#DW!$)O$M2GEM9
M4IH6V;VF<_HXX7M];LUZ;M^Y?A/&[/^'S[#]&2/5OZ-N<FS;Y"35VE]W<O\"
MMP[9?]M)PEW+)5\7.E(,$:#'J=!G()%&B=&^I6;(0OUZEO:0;+3)3SB0&=W5
MWDYW^-%S<XB,FD8__JRCVTP[.C"UB!5G_$;SC@Y\E][UBP60XV;?W>J6?N1^
MZ;=IWW^SIMX['],CMD0??(N]K_D2C4(PF!]"]%^;[;HUG?[:WNFW(>PUG></
MO-1#PL=A#_@QQR0<A]ENQ06/3[!C\MJ/@X@+JDGR,XBXZ\G[9$ 11RMT&_;7
M=3W'1;</B0M3B:L\*0H\(A$.VRLRH\RYG)-"I9B2X3@1E1&D+"QG:2EE*O;B
M)54I.:MTA5W4,L*T441:D9&**\&XHV  B1L;Z[VUXL R#W-&_^6;&EZ@M?J5
M62_Q +=V<3S>_OV\QKPE[S$>1\*WG"(1FJ8*3;XKE'=2UQ?H. L1A8A3SPFG
MQJ1 '"#U9W)>&^#<5S_]M^"Z+"HK""]S">##&5%5*4C%.$]S((6NRB/RV_OM
MZN5Q:5#(3<?@PB$3?MB0[?]$2)D<I.RY+".*/'\4*:A1@CN25Q)4&,<+HC*9
M$EZ5FN8F+TW&CLABO^.D\\.(<*0GA/U;-5N=' ^K?!DO.:=Y1HPUZ*)6G$C)
M+,E2JU0NTXR6>W,BN,N!4J(@F2D+P@I'B7 JAT-?.LX+ 4ID.5F5;_7)8J)M
M5/E.$Y]_6B\7-;8@PF$&GU>^#[@O1G .$_=MA.\7!]^RH(6FM""FU #?%,Q0
MR5,!0&X5DWE5E#)[KO#-*<V=LY)0[%S.C%,@NK*,6%4IZ@IJA=N#;VHK6VDA
M264=9D5F@DA325*4W!19#AIU:B<+WR';*J+W::+W&]]K "RH<[DTGWQK*1P?
MVK@5_A(Q^\5@ME$ZE9):(C():J?AH$+J0I&2VXH;K3.>TN>*V2IU5:YM260F
M.&&Y$43DE2-4L)1G.4W38F\HI"[R@FNXJ 3-&V1<49)*&$9$49:JS*G.BGRR
MF(WS_Q8WPNRC;L97G3%10$Q.0/S=GM=Z;J,/]UF)@H..!U>X,LM2HB6Z;H5,
M =$D(X5)75J9@DFZ%VO*<@Q" >R5-D\)D[HD@AJ)78LI " W>35=S?6G^DAN
MAZVYZ,>J^S[)/+X_L @#:S>;5LZW6Y0=3.R;;17MCG+JNG)>J?7ZHDO9VVIS
M&EH.730?L8BE[UJTF?[:?3V,#\-,OP^^=]S2#\4-V82^PV/7[F^][">-^>$&
M0P.VL^2G]=RWJ^T>W;=!#64HH:/M=8O 3/(Y_NDJU*R<7[4(!'@[3R"LKW W
MR/Z>9MN &^=E/SX3]JT"0PD#MC?Z:.?-93>UI=V>Z.8[SG7C)69;EX;!C^T*
MMFRHF-&]N=1;2/TW0BU]H_#!72,17\"![3Y\>R\<9BPO?>+S/X:V)!NNNEG"
M:;]N.%58N7&6O-ENF#%,?@QE2YMW@;?X@%7R;?+)SN?XWU%;P1DVX C=43QY
M0C7]![OP,Z)]YQ&#W5,P4];7WFRU$#G8C77J1>S7#BNKK"D=5J1R;EGHP"]
ME2?<N0SDGY5,LV-41_PHETCP]E>[? ^FM[UE)ZD;K#(611R()7943X#LB:?[
M"RTC'1=!A08?K2^@\L2Y1'Q#X@R55C_^^GZHLZI#G=32A!'LV*T(1VAE93JM
M.67?[&_V[)M'6.%UZPG%< #OH"KBV$CL^MG/@4-Q$41+7\_9=4/$7X'X9\E?
M)2@/^*.O8VBZ)ND*=8F/M>]XBM.+NZ*_K2:&V%X%NQXB 3 S!\LDNXE,X;PA
M=(/T 0&1+-:^@"\(NN%;K9]7B8OUK9S"7$HO-WTAVUGR0SWWRWF@Y9&O+<\+
M4UP#"J?Q1U[1_"CGOJSY*R_QZU!Y>>T=1B,]L3(3I(8?CKT"P$[D)[^3WVY:
MT'9]:T+3,'_->E&OVN\&[73<LW'[A>JV77L"#47-XWXUX69]9UN\VR??! M[
M?/TQU&NNEK[T]JJ[/!2VS/SXWJXQ;5]UC$!V;@D\WU[UU<8[SUAZQ7Q],93H
M;F[2-;G9-/KMV_B&*D<LI5Z%%PKUURY!'6;9-1KN;NH[.^%$%!GZ\RQ0^S%;
MH[]VMCP\M><, -D_+7;BQ)#C@<U]NQC&!N_U(0X3PI$_T3B8;>]GT'!\'^>1
MCK_3SOX <DK?.JA>AKIIW][XTV@X,D[[6]4#SX:RYAO8 K'YSHDVWQ&Q^<Z)
MU9H=K_E.>;?F._R;?_W2HV]H ]S)=,BN[?MSU[I;FM-"<TT*PS$GW4J,EF0D
MTWDE,F%M=K^ZV]ZLVI3>[AI87H%ZO3"=KO(@I;>GV;O\M2^M7>AZ7@\237EU
M<]"KL"WIKJX8Y-Q8J:K;6 O[Y+6P-R]\I6GZ.)6O!3]C_.ZUKV>Y$(]>.$O3
M,\[+QW]L?-EG\;)?C5M7  -*ZC\_+)OUPI .&)W_WR-46=\J$%N]J#CLS>I[
MCT63QZJ'!@;#S__E&YI^\W#%T4DOVJ= Q&/62/_4-7_Z+]_)[L<%>@.&?E<Y
MG3U5-7K204::3X+D1^7;B*$10Z?"B]L8FD4(O3V$@M6>1YB,!S8>V-,YL%D\
ML/' Q@-[.@>6Q@,;#9%HB+P4F#R&,V<*)#HF"G[[^F*8K;PZ;]:M7)AVADD<
M]G(URM P<B6_B^QW9"CTL;53P<*GKKFZ,4_[8+I<P?V>3Q'2UP.FW?U?XTR"
MZ>B54SC3]RAZ^O9UF_QF_;07$^'OF1?ZG>H9>Z8DBF2)9(D'*G+. Y+EK@JZ
M=BYU^IZZ^,%W.V4%_5I]?"AFN1N#WH10T^?:ASBZXP<MFLG399N'KB/(_WD*
M+CFH&3\D?9:(+T<\9%TB^4]+J4=I[Z4S5N6"DY0R19@T!9&ER$A9,FZ-806S
M^3$RR>&(AW%S/S=M^XTOW?)W^^.__WC_ PADV *X&AYEK*XOY+S]EV](OM6W
MXM5B?4%,LR+=%=_\:U[,"E'VI3W]BWVAS<0S.BD/#1811D^8.2*,/C:,BI+G
MU,J2*.<D0*(MB,JS#,N #.-IGI=:[\*HTU)8KBQ1A16$528CLA I$8*QE.6L
M=&ROR_!#P"BMBIDH1,31B*./;UN>&+M$9'UL9"UD)J4$W51)DQ/&6$Z4!=U3
M949I798Y+^4NLAI79*"^%B1C+$.EUI&J3$M22J6,P2Z40CX*LF;5+!,T(FN,
MB4[-Y?*C;Y& M:E#UX36ZO6RQJGH+R4L.AE_\C2P>WJQO4B7>( BHT2Z/-L#
M-.$89V2=%T.7R4<Y)W60[]VW_\TY/!";KK5MT_6K]7T?X3K_WMA^Q%BU\NUR
MEVL_\W/F.ZIA+SCY^25[I:;F@_IZ6<QARHD)6MX/QSVW*AYZ0E3=WI\'"+:F
MJM0IA@5T3AC/4R*S,B-*%:)4A3-4'J5MUULDH&U7[Q9O-I#R R#*+W;USOTN
M/]_-O^6['9%_V&6#O%1E-/M^ JZMF]10Q3,8$3PB>$3P(T0C"E8I5I"\M#C:
M*F=$"25))EQA\[S2A=A+E[E+G/>!$'P_A:;B$<)/YA!.!<*G'QJ.H!Y!_<:@
MK@O&E1,5J7+0;YG%\>A%Z8A6F34%35-.]^85WB7$'-7RD\7T^P:EHX?L5E;
M4*#K1WGT/9,/S 4@7QV$@=,'^D$8OJE[F/_PI?#W2Q;MTQ;DV5F&.&*:->[R
MET7Y2\T#NPG%IB'6CR_(+<LYI9:8/,>V^&"G25?D(*.+5.6E*?/B^,4,KU>K
M9:W6OB_X[\VO@$J+5=<5_[G5.7R1M;XBU2>9:Q;Q?%(L%/$\XOD8S[FVH*;E
MCA2".<( PHF41A+FJLR6*<U551Z]JN+A\9Q6Y0P6$@$] OKS][U%B(\0_P6(
M3_.J4LPHD@D+*KLH*QQV+X@J+><%SZJ,\J.7=SP"Q$^F\N/90?SUKKC'K GQ
M+X<3_Q:=[^_V12(=O?PL-'^+\3W3+\Q%.TVK(5+L/FF[D7KW3.B=3M56/'%/
M3[%XXN*)BR<NGKA3H=Z+/G&Q(OR8D7?_M)MTR?[!+AKX["7UR8[%=Y/ L4B7
M>( BH\0#] (/4"P(/SG6>89TF7Q!^$EIW-?MPG]Z6EJ32'@[^<&&G-8V6;?P
MMWJ!*:R7ZQ6\XCC)]=(N_UDM_])MX?C?/B-6R;;6+SE$/K6 ^ D%UV)[PEO&
MKU5E2UT9083 VI$TK8BR5I.<EI1EJ34BWTM1NDW*Z?*#7;SZ97VA[/*=>^_Q
MX:]XOM^M5^U*+I#*6R'K "'C6/7;7W[Z2K"Z*&8\2R<0JXX'):+HE.@R/>9X
MIBA:E65%"X!-00T#1&225(J7I*AX!M!8.5KL-<:X3:+G(Z$H*R.*3N2@3 5%
MIY^N&=GE^>)J(;FE6G.2JHPC1I9$&ED0P]-49(K9RJ;WR:Y\)%Q-:1%Q-49,
MI^:_.=1#VS-X#)=&UW1T34^8+O$ 14:)='D&!RB&2T^.=9XA79XT7+J7-7ND
M^.DT4FGOH9Z_NT1#L4W #DU\&R!OB<;N/M'W%'U/C^![HCP3BN89<9FBA"F7
M$T'SG%12\ZJDQE*]UU7O+LUX^BR*UR&)8ML;]9MM5\M:P\?O$0'N[8QBQ13Z
MI<9C$S%U2G29'G,\4TPMK=.9,QFQIG2$B9P2(=*"."VS2N8%UX8=HR'.HV)J
MF5814Z=Q;*:"J3%J>A+L\DQ1UFA6ICKE1!C05YF0.5&Z,,3FA905U456BF/T
MI'E4E!4QAGI"+9^C4^>:71MU3D]:NZB;9;)H5IN>S=<_!M^"L+.R$N/_%=?1
M=D.*\HS#19=-6^.A>;6T<XFQWFN7^"W][B7+[BBIHZ1^O+Q16E748&J3R-!?
M!)#+P2CBW%F:&U'J++MW]OT/77+'^Z%!?$C\>+?PN4X_=EWI?[5++[E'"/7>
M ]0OB$_WEM^TFD(WN7B8(M).B2[38X[GBK1"I19PDA2N8H19FY.*%AFA658
M]DJKW5XFZ:TS]">"M+,\YO%/Y3A-!6NC1^HDV.69HF\F-"]Y2HDM0;MEE@DB
M<Y63C M:5HZFFNU5F=XZCW\JZ)L5>43?F'[T##Q5V+L!?L&#V=8&)YH!+[]D
M*1IE9I29CS8\1G(JBDH1[I0BC%<E^H; 8E&&YCG8*Y3=:QC8'65FAPEOQI!P
M;Z$9 ^@3.4L1:"=#E^DQQS,%6L#**JN4) 4 *V&,:5+)3!%'\\IP55FIY1.X
MAAX$:&ETPD_D,$T%::-CZ"38Y9EBKY1*V5(5I&"@IK*\H*02TI"J4B[-I).Z
MV N /H)CZ!C8.\VQ]B=TF&("TQ3=0OUA&HV@7R\^VA;[@%[:I3\!"VUCQ=HT
M#9GM<7KI&4[3:YMY;9YRM.7TQ.W7R?1,!7(%9HWD3A"E<TX8E1(,FQ0D;%JX
MC!7<.F7N[77Z8N)P#S"=C'9_=.CRZP9<?$;Q'P@MS\,@^@*W_3_VOO6Y<1O9
M]_OY*UAS-V>S58*6>)  9_9NU622[,FYFTPJ,[E[SZ<4GC8WLN@E)<]X__K;
M $F)>O@QMFS1-E*)8TM\ (WN7S_0W7B*)UQ&5!\1 T54CZC^FQ"Y($H)I @Q
MB&6D0)*G @&>9Z)("T*HOG>(:TRH/K[#Z2.JCQ[5QQ\*BS@?<?[:GA58985B
M&C%)<\0884@!CJ/"6()SG'-!=G#^B\-I(\+Y4=04/#.<'TTV%GF@L!MYTF&W
M\\I_ LK)'Z]S!I+?RLU+UMM12T<M_92T-*%429-Q))@"C<N-106G*5+2<<J=
M*4B^<UK$P3I+!2"QIM76@S[G;\T_E\WB#,9]_X8HHV@R]<S4<H3Q$3%0A/$(
MX[\)1[ARQJ#<8(.8$#F2DA;(8)(J4>1YH>X55#LVC.-)48RAYTH$\B<&Y#&.
M]DP8ZL5"NR8D)UD&-C;&&6(Y!9C&@.]9JC&S3*3,[M1>'*R#UB- .YD05D1H
M'TOH[" 9:P>*E#V!4)B=5_"=7%2UY_+V\")K$MOE<?HTM*0_3%H&H8%O/]WQ
ML.K5D[K7O&3%/FXU3J;$XX>IEKZY6E3D7TBH9ZK*59%GV&F'M$@IJ'*'0973
M'%&I"Y:S5#+C'K"-^U7*_/['"N83RL<79]OBK:>HQ2..CXJ%(HY''/=5FIG6
M19$)9#*J$<MRB:33"A4$8XD+DN9I]H"MXQ\.Q_F$9>,+LT4<?P(X_M0";1'9
M([+O";990FW*?7L3XK?#_<8X=11130SAA>$9%@_8KOXAD9WD+"+[>.)L?8K:
M/IX]7-Z:;\E^OPRU[ DFJ"4OY,36>#YK/)_U2=(E"E!DE$B79R! !_;ZHDA%
MD3K"7O?A;?#GN-?]W<Z>]NN(<A'ECAP1C)2*8A?%;KS,%"D5Q2Z*712[AZ#4
M:,K#8U?&P:J%1J9Q*SQNA=^3Z:XBVA_BGOCC[HG++!<IXRC-'$9,"H*D)"G*
MF$N%%L[BE!\B:W6[]W' D8V=;]^HQ9_A+A>V>>_>GMD:UN[;:C:3=1-N^;)-
M\70:M\2?5F;*6! ^XGG$\R>+YTK2@O',H!Q;AQ@O4B0+95":<ZTR2TVQVU;W
M+MFKCX[G=$IC\FK$\VBQ1X1_V0B?YT*PU!% :\40PXZ"Q9X52%#%<"9T3NF]
MCK@]&L*3*1W#>;;/#N'C\29C#*1]&ZN\HV*.BOD9*6:O14F><Y0+"DK6"HZ$
M!-?+:@6J6A6%-3N*^1"AM Y)'CB8%E5S=+YB,"TB^DM"]%P6U#FC$,N-1HP#
MMDO*-3+$9*DH*'=VIV#P$,&T1T!T.B5Q>R0B>K3:(\:_;(RW3%E+F43:90(Q
M9SDJG*2(*V%R[*S,V4Z/]$.$TQX!XTG$^$<.J#UF%<I.9.VI!M'&5T7U3%7M
M"TG6C:FY(Z3+6$0J"M#(&2729=P"%'72DV.=9TB731,<_I+@3?SU+Z:\2/1,
M-N >P<O.T*QL%LC.K.]E'UYX;NM7^ZQ?-LV(^.J-*9OSF;Q\[6;V\Y 2.1#&
MM_<NW64_R' -:A:R7KP)LT;^C<UK)1L[*^=VAS[KJ<++*/_J 'O+6TMW[6H-
MWLXS@KG(64$H9YQD7PT]D=^M/8=1S5:T*.=^.BB0Y!H:O/KKU_A/_8+Y=>B7
M/;P4I^E76T_L/')758MYM;"M._[3Q]^4TU2J0B MC 2'W#DD.5,(9SEF*<ZD
M-<6KY//9[/5,SD_^]RL[1[]^>"3:;3+I+Q:>UL#O3;(XM6W?=G]R8GD&KUJ$
MEO'^\W<5_#V__&.SZEPU'.H7C./@L0]*.='$Y$!;[%N=ICD2U&>,$N<T(QG&
M>/<45\.QM%F!'';&[UA:I HF$:49SS/F<NO,=NSC6ZL6/\R;1;WT@OB#AR#;
M+'Z1"QMB'?[,5@],\L1NA$/.ES[BT0#$P;,0&08_LALW+"F_.EWT\5GE*^""
M>0!L'_7X8.<E,,=/P/9-8I8V(2EAR=>>6?[S?PE"TC?P"2[:"\(G^,V?$CDW
M2;D8'Q?A% N6J@P1+$-"FD62:NQ9R1%,%$WYSKXW4YKGU&)D: KW2**0%#E@
MD&1<:JF%3(N'YR)VT\%4TS1]4DPD-I@(/J";/#1-WC9)Y9)OK;:^*65"\<3?
M1R<!J4KGW^;?8$UR(6?PT+))9K;Q  >S]==4Z\:5R7E=SG5Y+F?^F?[+]1L#
MM_KS+.#CV@*5+7RR*%$/DM,$E@<&L*C"]0G.)OVP'Y[ [:7^R:_+!6A@?27)
MKR+XI*/H\9@AJ)<S3]=RWC(Q,.=T93$--"O\!?IX];-EYY^6(;K<?[HW)$BG
ME-*OK@D#8G+3X ^>3G< RGW?Z>5+*^LFL7,#S+Y'(. G"5P,O\"'8T-=;C._
MK^Q0)JP_;D)H5%CMD-+29=RD-&,[A1YWR39Z"U+;"^T'JY=UN2AM\]UG/5L"
MX;ZOJ[-WX4";P'_OW?8VQ]NS:GF <Z1HFD_$-2=)'4'^VFF,CS%LP;*<YPI>
M".S A":H$ J0'4PZPP2E>O?0W[LD+8R#,3#G$XK%^!@C0,<]>>,+N&%S;E>"
M1BJX+^L%8\N!;X4)A276$LF"JJ*05G"^:_#?8;-S'+R1BTF1CY U)@G\.+?:
M4V=V.>F-I\Y/])8%YF\:?U#86>5'6.G?DT]@126V(V#B@(+A'K!J]7(6R.@?
M<\T)9<IJN6R"/7:9?*J6,Y.<2G!63R78:?--XRRQSMG.@VVU9.?H6C,](O6&
MX:"79+#\,$_^>SF[##[A9,@J8)TW2UCN/XQ-!Z66"*<409IG&#%#,;B$V-L=
M3FNK-3:8[>@@E=/4@ ZRN "<,3A%,E4:&:ZEY,*Y5/'K7<+O8<1[H./7#]^N
M_+]\B"#HIB@"$7PZIBA" E?//)7ER4EM3\#I';A@,LS<HX /$JSC!\'G.Z^K
MB](CA[H,# 2^\UG3 T^[X0]N,E#-V'IVZ7V[UIWK'S+Q+ZJ"N_:CK/5IPEH#
M>9*T#F/3 =#F7?#E"F>4M4 MNUC,NF,097,ZZ77E;1 0WB[])\J?R.A?%SS+
MRDT2N=A[MYW9L&#3Y/U\>]2? .-" ,&/!2;E[P=%58'._K \/V\CQD#4'U:D
MZ:-Y0YK .L-#R[JV%Y66"D0TO!,>"H]LY]JB]'4T6C:>W)M3@ZL\?8(-L9=$
M?]PDSJ1]6[]NY[+NW/?=UW6D;_US@!#0*=Z_'PP1./:L7)[Y*]MW!P*N/"3,
MAB&#'HG@,:=R?F+-Q-\G/;M< '\"2>;VI%J4,JBE[J+)^!#+,4ML)BC2)M>(
M>?](&,J0,BEWKLBEX3L'\2JPIVWAS^WEV >^B$(%+13*,H*5 ,M;Y?9ZQ'HG
MZ]I+VT%1BZ;%=%2>4H]:^[!J$#'R$C8ZOB"4YII3@G)56'"SF4 %<QQE3A-E
M"LYQL:/)2"%A]1U#5E+PP(K<@@?F%,HYPRG%C!N>'8$O !6G5Y_C.#J^6"%6
MB'N/U-!A)*<\508YKL%QQ@ @DA/_PV8%*[#*R(ZS?7_8.+RA4Z13/$;6N-[0
M&3MX.)YIK8H<!5N891J42HXQLIJ05!>&&;YS).Q=N.,=*/3GS@F=W3)-OJ]F
ML^I3;^KH6=6LS)SO.OLB^5C+>=..?8RVA@2W"%82\52"=\2,1@7/,5(DS7,#
M+E JR>%URL%!(R_&J4[*FV%CI5O U)7EO-G8U?I4+DX[!VDY[ZS:Z4N-/=SD
M.U[O-%WC3VZ$,;[(@U) DM9-VO7)6N?C/J[4-/EX6C;)F04$V1CD)V"OX9 .
M[F2]]6^=^T&W'O)3WA?=&_E^'([U2W&\M_?<(DUU[MGX[8=?O9F2HC3OHJH^
MOOK?<KZ4]672;C:2:?*K%Y3AQ=MQ/D"J?RW+NA6,VCHO)9M91UW,MF-&/5B@
M9A6!]R(L05)+O1*.0;[ </N_7\<SNSBM3!_J6$L%2'AUYF4,5K[7OC]_V(A'
MMT%F@%\?LVZ1H_+P, _G8?J[^IT2,.[/=C$BA*9#V,@M9X ,Z]2$+N"C+."E
MCW/W(SBW=5F9:?+S%;&J(4G]PP.A3JM2VTVX&4F,V^M6_U4)S-(IU]46_I[/
M_R-)A@F0Y_+$HGEE;/_X5QMY>?\.=3Z?7R/Z)F3Q&6"NH,+AT;/EV7PS%W([
MJW2:E>TDNA9"[0=[TP/MW+PYKYHR/+NVGCDN[!M5??:D@F>^7M6'?;YE7NI]
M-.DZ ?;Q%U>D&ZN[3LKP*W=:;UD57=YER*Y\+9>+ZLWF%T#7]N.PT&T!F70P
MN==R]DE>-F]>_7G%$OLRB,.*#;A@9S4/NVB/E)G>OOM&!KE]VO% LH(Y/Q2\
M?L<]EU3DW(&;)RVX>39#!?,9JT0(+'7.BR+[K>NB#+=:\W9QZ]O$IM1^ 1>^
MNFJXPIK<:4X1YQ8\3(8Y*C3)$'>.2(RM9)K]1G:&>ZO;Z%7EA<_4/!Y8=,=3
M&E?:GY.KMDZZ.Q:?*F_N=@EZDW9;><LV:3,*C?>EANISCWWSIQLT;F<)W#LK
MXN#^>)8*[*3"2/I-1\9RB915!&6%SK'.!'%B)\:;&O##92Z0P2)#3&N#I-9P
MH^2%L5)BF])CGPM.)XRS"2.CV@SH;+YR?DLS<A(,UI4+6;J!'=@:IU/P/E4#
MYC&\80\+!IUX"U_5)TB<V;61/EX7=1*N#,+:SC7K1!5>]DG68*U7\UGKJW>.
M9^]M!A]6V=4^; AU]/YGZX/LY &W1&X'V:T*K,7*[>A36C9<90E&_:RI-IR6
M+GG%QV' +_GW.F?%JD6([\NY]E1L%EW(OTOP!@L=D-^[":WCXCV:;L=VZ.2$
MQZSR8N8^O77(5:OQ;GLI_0*UOL-^"-S#5(WGQ';SO!LF/&MG/)X0<PN? 25T
M=3('T3'=&\&'Z=T5</RE3PE:SA8[FZHM8N[0 F8UNK!F3KG@+M. A@2#/<,T
M& B900"EQNE49([)W3J W!%3%"B7.4"O5<*'-7.4T4)E6%*E,[P-HWWF__OY
M( KA8YT_V<5[]U%^/E!\,YU>W3WCB.'-K^>V]?+EYS_M8_A6=D:J:M-"8[ ?
M*<J<3PR")X'/XC#"6G%EF:4B2^^3G K",7_];2?KWP4H?S_O-*M[MT+HGUL\
MO'_VZ81FQ:3(1A4'W]2P-V4(RJWBM7UAI(V(I1NDSU^1/4\ZJ[+-6IQ77GN=
MRSI =QN&;]8L"N,,^WCP6)]I/Y8$PZN"+^/P;A[-#Z1'<:M6 3S/:,'5Z-CW
MR@AI, YL&](+&Q:>9YOVEG<)R=-1AM%7IR[_#,(38&H$ ?3&6],M:'MW"+P;
M,'M@+8SU.S_EW*X!PYN0G5.3R-:K65FP@QTU;RTMDA!&:FW!+6AI8/C2> O*
MIRX.K:AYE\&H=57[1_ETZ9LV7X+152TV$.8:) 2#<)*HY2VBZ1LPZ-\"'S>E
MZ;((;WA'E^<7W&Z8;;,$^[+USGLOYN.>&N+]L_,UYH%<[9!AJ+7UQK.RBT\^
M7KXWEW()'LR\-SK7JQ6&<%[[&+BW''9FZ[_8LZ<P[[-"N[W!D(SI]RED3Z%I
M\O.R]E;]HEUQ_QTLXW(>_(? &\%7:>]L%ZV;OS?+>\,&[JFMI^&>8L-5BNNP
M[&T+M$>A3/K@X;KPKJ^=I1EUA91(6Y_RP5*!5&XXXM@()EE>Y':G(.,N55P?
M[(EW>'^QY][YFI_\7 $L7;8_/\*COYD!&[Q*+!C*YW#;HE[:G0#@;<;Z&[Y[
M /!&2C], + %L->JFIF' ?F.]LF*^/=AR@<?[0&J+/*G&,E]?^[]IP!-[7HU
MH7S96Z[5//P)L .#"OM'@$6AE :<>#L_\3@*^*\\POMHBW<!+MK]5F\LMUNG
MIFP"D"6NG$L ,L"Q0>%N0,X+6<Y:&QF N+8GH$CJV27\=E':3^O\BW?OO_W1
MO\][(4&]GE:?/,3*&0BQC]."^JV6M>Z+L)LFA(!L'=X&>F*:O%_6R;OOWB>G
M7IEXC5'Z*%CIO 4EO>ZNPUO&8HN_(#;\.+!I_;(WP22J6N8$<V.2G,G??<$_
M+'YKXOI$I_H6? !OE3YTY)^W9M7QM9,@AEM,<H9$GA7^1%*+BCSSQ4!6:/!7
MM,8[F?AW48E]^'TE^!U.-QM1@>[#Z\(""*QE'QKP370:.W_U5\"+,<4#ZJ!W
M9)L)TJHBSP\PRNXKSSM^RGLBD?O!RF.9S[LTB;?= (KJ=2<<X+[>0(.KK>\0
M=L53MOR!CNO'@CG[-UUO<N-?76'F<<J4 ZNIR)U"C!N-I,0*N4)11J4I2'Z0
M4W8_Z%-KEC/[WGT'<+ZX_ ?@^@]KDO]B+RS8<[[^]KO/L#9S.7NW! \ AMI\
M<_ES79FE7C1OY^:#K2_ \&^N,@W'$@9Y/$QVZZSC($D#CC]OZ>;UM*=N2++J
M/_.9&J]'PM%W6[+'/B_K %D<PUFO>\1U"+A+@I!$T^6S^,'X]!:8B;\<S>1E
MM5S \S];\Z9]5Y%.TZ_ZZ[5OSGW>V->-]0'.Q:KM6VB!US[ZU?Y>T3Y$I<H9
M2.GK_BE7]G[N.K<54\*^&F;A='-NTW#^?.W->)KG=[[WSC?2*3G"6^-4G_Q4
M;SRT4%Q[9N'MVZWO(M:C-&X5!T+9_?F,X^M!^CRHL.I6B]/[MZO=/!<AG?IC
M$9IJ5IH;#BEY6*+=)1!U4Z>M_PD]1+[;V2M\8)Z[AL W'#OQA/@R N5HEB)2
M81<H#]#6^_GCI,]_N-E)])- U'=OONH8Y6MV"+(I]?'0W9S^J\8TZ.8<X3EB
M0L2$Q\<$$@4P"F 4P.,)(!Z=4B91*4>?Z=D!4Z3"P8-+3QU]OWZ[RA-/%J?5
MLI%STSPT^#UY/HK -IJEB%1X$+MSI+AV-8PUR2^V">?31/2*(O-21";R1:1"
ME([(%^.Q?$->VZ[IJYU+G;["RKVM5;MW)ENTAVM'<JSO/<R9[\O9HDU$[S,<
MF[LQYFTH=JL#;?L)/B01CRS$PQ?-JR^CU-'9ZRJ"_.'(?'/$@Y /WT\X2PO#
ML$:9D0(Q9U(D648183+-G,AH*G?Z%[',,,FLO](:Q(K4MQ\V%&6:IP5A5O*4
M;&>7#]+'W\'#_"#^42Y.^Q3R'T*]K>]:'RJ.K+FN%0?=:,5!;^IDQ/"$\JO[
M&#UK@7IH3(GX^ZS8)>+O8^-OYFCN2Z !<#.+6,HT4EG*$:7"&2XTP6FVT]0&
M2UUD6B,BB4-,^[./4YXBD7',<F-EQG>.T3X>_K(BFQ3TZK.0G[5 1?R-^!OQ
M=\3XJZUU*>4*$4I3L&6I0(IJ7V=I.<T)%RG?.0J98*W@*X92JC.PF0E@MB86
M86EIZC130K,1X6]*)UEZ]5&$SUJ@'CLDU.^&/GA(:%14OH=4OCL%B9"+Z@0N
M.KV,D:&H&9^@(?6<%*+"SEEF)>(4YX@Q[Y" 8X%LRK#5X)44-M]6B(((E:<.
M(^[@<H:-15(Q 3J(.&F( N+MM!LXGD+$))_DUS2VCG(483?"[A-@E^<$NYF6
M_B0!A3+AP*<HB$*"2H.$R9W)F#__<2<.K[ER3"F%"B; =W%8(%DP@E2JK%(9
M5]KLG.MW1-BE>)*+& <:GQQ%V(WL\D)A%W,CK,HH<H9[RU5GJ+"4(9<"ZN9%
M7J1BY]P!XQ2SUG#D% 6H-IE A=8Y*E)F#!B_W%DU'M@M\"2E5_>8CV(4$X*.
M%/KYN:[" 3-R+F>7,+LF1G^B/HSZ\+CI0+DM6.8XPM2?ZU H@B2F&AGM5&8S
M94FVLQTM;)$YAQV2E#O$J%%(929'-M?<9&F1234B?9CE$T&B%S(^,8JH&]GE
MA:*N2$5&>(X15OY 2.9RI(21*,VID5JGV"J\C;I2IJ0P0B+JC$5,<X*$9/X(
M2D:Y(3DX+WI$J$LG&281=4<G1A%U([N\4-3%BIC4. UVJP4$%21#DN0*22X\
M@&HCQ,[Y.50;284J$%7.'S! .%)2P&^,:YP;XHIB1+8N$Y,4QXW.F/DSTO#/
MPI;S&/6)FC!JPN-JPH(7::%3BRBS&C1A42"94X8H9;*PF2%%NN-_,&I2;C!<
MGE.!X#Z+)"8:<6(QS21569J.1Q/BE$Y@H%$5CDZ.(NQ&=GFAL)L*HC"F!A4%
M9WXC.46"^=A[BJ6@W!1%OI/S4U!+J"!P>9IBN$=0I#+ND%0VQ99+K.V(PCX8
MLPF-T?81RE&$W<@N+Q1VJ<@IM_Y(/*LXF*^,(46(1;[7@24\4SC;R?DA5AF-
M&8!M0;F/^V0(K&2"B!$9(;DE-K,C@EU")SR-23\QZ6=T49_W_LCVJ/O&K/ON
MVIY]E%+]< QU,YF>J?YD6&&.;8&$A1_,I!P);9PO$Y,X!Z=%&+*S6VUY)G("
M^C.X+:"<0),:B72N;6&E(9CS\>A/.LF%&('VO'M#_1<FBQ'<([A'<#](^2\M
M#+/8X[J4B%%!4:&909PXF2G"K) [6P&Y4RXG$OPB9>&'S2@2!.XI."$9*SCF
MI!@/N&<3SG $]Z<CBQ'<([A'<#\$N$MN1>9RC&A>9(#6U""E7(HR23&@MG1<
M[60\X4PK@AV8ZC[>Q7+'D/)E<BDOC/<#-,_I>,"=3=(L@OMH8F,'28H*<RKG
M!H;Z.KOJI+0OCY5UI/-D"H\=OB9],_Y(VL=J(6=]\E12MR(7]?/3T<]D2CPL
MF&JI9O:8&GK$70=O0[%GJJPSP5UAA$*9<P(\L4(A25*"I"(VPT(5F!8[V0$B
M=VGNNX@4A4&,88>4$QGH1TQ5QG%&QK1-E5,\*4;1F?M:-GN*"CNB?43[B/9/
M".UQ+J3(K$:%*"ABF*?P&[4HLU9EA@N;L9T^M#DUS!*=(DP=!G<NIZ A%$/6
M@(,F<T;PF%PSD>()%F-(P8UH']$^HGU$^R.B?:JXE"[SW?[\5@OQ@3C#D,B5
MI(XJP7SQQ";:9[G*I$XQRF0H/<062<LQ @5A3$:92<=4<)'S=$)'47OX[-#^
MZF#<(4YGON-IS.-)3ML[U^'SW]:EG!WWR,3QJM4#$^J0IVV.0Q<\,?:*E(J"
M& 5Q!.P5*14%,0KB"-CK^5)JTS& OR3X.'_]BRDO$CV3#;AM\/HS-"N;!;(S
M>P9/#4,XM_6*%X>[XG1**?WJC2F;\YF\?.UF]O,F;?X)?F3I+OLAABM0LY#U
MXDV@ O+O:UXKV=A9.;<[]%I/M'O5_7?+UTM9P$I>NWB#ES/&"UQ@EN$TIP7_
M:N@;_6[M.8QIMJ)#.?>308$<UU#@U5^_QG_J%\NO0<\$X9TX3;_:>F(7+7!5
MM9A7"]N&"G[Z^)O _FP5+E!A4X=8*E)4<$U0+HS3C++,9OFKY//9[/5,SD_^
M]RL[1[]^>!S*;?(G20GM$Q%\="!QNT=^)V6(.<#S^@MK.Y,+:Y)%E7P/U/NF
MK)K+9I+\,-?3Y.O__%^"D/3-^HOP 7[SI\35U5GR]KPN9PGFD\2_>Y+()OED
M9S/__Q\MC*JZD,E_53./!LG;;U:/Z[_;?-A[O:B4K1/2/FVZ$K3!HL!?L)3]
MSRA9QY(L<AC)LL:07#F44W]N4<%R5&2<H]RR-'-%BK$OIA^'9.%[2=;/U>SR
MS)XE'Z9OUU+5?;@I!?^]G%TF.(@ WA HD#\OALF':K;T+VZ2O__]W>I9W;>K
M9\FY\?-:P  __J<\.W_S8_*NJL_7+__IXX^;+_[6:GOFY0_G[=N3Q6E=+4].
MU]_0;ES39(<@Y]O=I*XEQ]N+<E$:NX4RW:>;P_I@SQ?MVTEZX[CV0\:CLTNR
M&L< K+I([$_+,UN7NO]T;SI<AQE7FT7Y30,[>!;<UECN0I5?>G;QRWJM "U.
M;?+_WGF^?_OQ^YZ67SC@+=.T68(N&,PBG_([3@.L0,[>W'%4!R!C EK8*Y\@
MXO!QLSSS=F8SQ I/P/]35\WWLRJ2;XM\GFP??OCU0R3,%F'VB.0TV1!:O?^P
MT$W!??]SI.T.;7<H9Q&\Y'<;XA'+LSD8W%N7U+;QZM1SZW=__^'#VV1AFT7R
M>[FS*.=7'N.QN2Y@-U3_]^?OXM)LOG\"7D_U*1)FEV=_^?G'<=(D.1Y1O#BV
M_/+_QDF;(_*+L1<E(-$N/'G'X I0ZIK0)F\3Z5PY+Q>7"9 %J-R9-]Z>T<O9
M8EG;Y*2N/BU.$R?UHJKA-:&5R<J[.*]+L'IAP,$F*AMX4^76+HH?BG]A(V?6
M?U$!V4'7S4^2NFI'V8X.G)/3JCDO%W*V85&Y.A3:] ^<'I'.&P'(O4Z%_]3?
M4,Z7LLOZ\)__1Y(,0R;G\L2B>65L__!7&][\OT,QSN?7B+X)OK\I:QMR2%ZW
M*FLS>K(=\YUF93N%KD"I_6!O4,'.S9OSJBG#LX.36%[8-ZKZ[ D%SWR]RB#Y
M?,NH,29W]X_V[TP\SM(*O+&V:^?1K]QIO>4J=M&:$)-Y+9>+ZLWF%T#7]N.P
MT&V*B70PN==R]DE>-F]>_7G%$OOB^V'%!ERPLYJ'7;1'2D)IWWTC@]Q^"V @
M62'*-12\+MW,YI**G#ODE+3(!XQ1P9A"F B!I<YY462_B3;A#&ZUYNWBUK<5
MFU+[!7-\==5P,<VH*Z1$VF)_'$HJD,H-1QP;P23+B]SJW_ ]W[M&K?X0%IT)
MK21'(M>L#;,K(AGB),\PH\K FW>.@LPPMXSFB',&%**I0HK+ A&<24OA0\EW
MZFT^Z%-KEN POW?OJKD7]];I>>]^*9O?O[GT/[\/.N8CO.B;6:5_?Y781LMS
M>,BB7MJKBAAOC-K<!Y:.%[;Y>.HC?#,P>KRV#'M:H 7A#0U\WVKQ=]49#.O2
M!^XP?^.5J"^-['6ONDRJ90TKMP127WKE:ZJS4I?PG*_]W;^"V@='Z,-"@HO3
M1BZKH-K;.TH8Y2?XTX:GG,E_5@"$2]64II3A2PE?]4\T(1CIGPKZO:R,=X;"
M0.&;KWVT'IX]#]_#NK8\#^/Q?^LN)_-/KT>BVD?85.X  #J<XGJKM.6J/3(5
M]%>G2OQ@O&:!F?C+$=@>U1)LB/*S-6_:=Q7I-/VJOQXF-)/GC7W=V',),K[:
MI0E[P^VC7^U/Y+PHFU*5,S!'7_=/N3(QLWUSQJ<L+;X::L!NTJT*_/.U=^/'
MOQ%/,0<%LO[G"8T]3OK+)DVH>.#7WMB@0%S;G^#VZ=&[(';@3)7]QJIX'@4V
M+XP*JUPOG-X_V>NNS7T>EFBWU=J?6C%4U<Q<2=/O.]/I?ZRLF^0[\/O,QA[K
M _/<W7NV/"&^C$ YFJ6(5-@%R@,DQ3Y_G/39:1$+HP!& 3R> )(H@%$ HP >
M3P!Q%,#H#3PW%(A4.#06CA3IKJ+/UV^;Y!?;^*TH\Z?(+%%D7HC(1+Z(5(C2
M$?EB/);O#:?]O:"&2O<P9WY9I^#T^2W-'Y,3VQ89E'J5!=.\?F"&'7$#@-%
MV^UZ<#PA(7_$SB0OF"I1GEX8C2)=(EVB3$7>>6"ZC.;0H?">!SAU*#SWJ1T[
M]%-5+TZ3MZ%R0AZY)?ESX?2':GW\A)H:/W=^.7@+<8<U+XBU2!&#$4MUBE0N
M"Y1+*J53K"A\Z=%6N9)(359PC:B$RUFF"B29Q,@I4UA3I)SHG7*EC1HE7YOT
MLZW]!_+$XHU>X>?+VJZ:A2,R[!9.;CJUCXV@3_C1(RM7K?]7+U=J(LI&E#TJ
MRG+"%+68(L;R4!1*4<$$1]@P00V5F7([QV&S3*0L<_[HM=P@YI1&A2TLPHIH
MX5B6&T..@K)C.'LGHNSXI":B;$39HZ)L2AFAE!?(NMS;I50CB8U!MJ!,:$Q3
M;K*=<ZF%L530% G+%&)48:1X7B#'3,Y2IO.4L:.@[!B.GWZ**'O?'=D8[GF(
M<,]WR[HZ/_:QTE$WCD[<HVY\)-W(4JHDL]Q':GPS'.^!4"R14HRE1<JPSO2V
M;I0LM2I3$J52@#[%2L'=OL]6@14\BDKJCXY^?-U(\Z@;HP<243:B[.A0%CLI
M+(!EJE(-B(DU$J(@J.!2:U%D*<GD-LHZDJ8\)0;1C!'$%'4(;C:($P6^C-$&
M(/<H*,LCRD:4C2@;479L*&N(I(;J EFF'6*%U&"7$HTHYPJ3S#HG^,Z>I<UX
MKAA&&2\L8B)72.5<H@++U%@ :BUWCCU^E#A/&E'V4>,\,:WG(>,\;W]^^^[/
MH:/UR\6[)Z$?[UK<_\(TZ,UD&@?/'=Z3X: >,6&(8%(@YC*#)+8IRA5WMM L
MLWA'QW(MK'9.(9L1[/=2<E2X-$7:9<QFJ6:$'47'DC'HV+LW@ABW'HYH'M$\
MHOG(T1S30J0I,XA:(@&9:884Y@H)<(1DD4NB[,[.>,8EQ2K/D?:]^QDQ',G4
M6>0*6O""F9R;/*)Y1/.(YA'-(YH_:C:I%IGE4@$4.P'([#@2/!/(<<=)3G+C
M4K*#YAG':4$MPAF8Y8PYC0K.)9*9HDP8K@@]"IKC(J+YZ&)D!\F%.E!(;/PQ
MKX_#8V*B:GU"JI5,B1=U4RW]N2U1N7XAH<;!=P=7KU1QXW(GD;*I3R/6$HF,
M4"0+0QCCN=9T-_3E,,8I-TAHOXE?$(*45!KQ3&:%RH0F^BC%&C@=G[>TQ4Q/
M6L-&4(^@'D']"8"Z$R+%6*;^$$H-_@\!GXDYAB0FPGM#A.7%3OXK92X368Y2
MGUW <BN0S$6.K!!6<R$!ZH^2F15!/8)Z!/4(ZB\>U&W*.6-YBBBS$C%""E3D
M.4.I=I9KJ=*LV F$:4XH*YQ"A<(Y8B8#':!H@01/E<RM%E32".K/#]0W8V'P
MES]\]:Y'(#_J(=]W/89W#R1M'%C]U^YH]H,>?\T*HXBD A6^<(@1EX*@<8>T
M9M)QR8U(=^J,K&6ZH%3"E1E'+"U )'.5(D)2DJ989B1UVR+YBX5GZ')6=H=>
MOVT:NVB^KZNS#_;D# CPL0*I#4%<WP3_HSWL&=A'/++XT0_ EH&T8SG_.IYK
M?9LIQG.M5^@:WISGTZ*@=SX]>)J3QS_PF$R%H.GZGR.<N?PBYAU/+WI>/:6?
M!Q56W6[S>)+;S2>YQ?.=XXENSQD-(A7BZ9;Q?.<G+(#C9+<HHD<7T7@"=#17
MGIVBCE0XM OWU)'NZ[=G/@S<).4\69Q6RT;.31./IHVX]E26(E+A06R\D>):
M/%@[BDP4F0.*S$791(F)QPD_ZG[X]05;Z[2&8QPD? 2*C1O5QI&B.#[]%^D2
M!2@R2J1+['TX=K/BZ$>:/@M(?("D]J-;IU<1Y \OMP;IX+4@@I,\5\0@CEGJ
MFP]*) HM4"%R3*D_F%3NM+A*B7"I+ ARFCC$>)XA85B&C*1I:IAP.-])/&\3
MS3>J/G[]\.VJZ(,.:SX0O:F7U81R/A&Y&$'I1RRFBA Z)KI$"'UL")74<&:<
M03+UY_V87"- 58PRH0KAK)*,TYW&%Q1;1Q1<F1<4,2<SI J2H0R;E'.I"7,[
M-=('AE""\PD6+_1,H&-%&J,+\1 NQ/&.R8N*;S1T&9]5]$SUG:*$&BT%2D4.
MN@L+WQ-$YZ@P.BU23"UA.SU!<NI/[#:^T+PH0$=*BX1B!N78&E$XRRU1#ZKO
M& %MQZ+#,!+1B+@Y&KJ,CSF>*6ZZ0E"5"M]_5OG.X)8@D?H?!=8YYEPH:;9Q
MD^:$$<($,L+EB&GM:_P!1AUG I/4I)0^+&X2P2<9HQ$WXT;#4_<2_"%+4=>-
M1]?%?NVQ7_NU?D;H 2LERKB3B$E_EI*3#"F=::J%E07>.166>1TKG0/?A(.^
MQ,SWGTT)LDH7.,4Y2SE_6'W))SB/S=F?D'Q%>([P'.'Y#H<C%:Z@M% H4T8@
ME@N)%'5@RU* 9T<RG+ITYS@-HP2Q&-R97*8 S[YEF<@R1%A&=*K!F\FRAX9G
MP7&$Y[%X//'(C -G8$<-.E8-.II>O"/.$'C!37E3[G!JC4.YDA0Q;5.D.,E1
MD7$)?@SX-(3M1 >-HR;-"F0RS?VN2H&$S#%R-L^+3!(GB'C@+ )!\02+;'0:
M=40]>,=GLT; CH = ?N^:5^<&&IX@3**-6)*<B29IHBD7'&KB%#9SG:.=!IG
MMK"H2 L']Y@<*<L9RJF6W) "[F</#-@PVDD>FZ8_O!.TZI6^OWWX* !X\.Z[
MMC[>)<IA&Z/+%&1".93I%$P<(142VDB4.^.LS%S*\IVS"N[2&/V#/K5F.;/O
MW7?S1;FX_$=I[+=EHV=5LZSM^_G?5J[66W!0F[]7\Y._EQ?6M-+YP_R'.4R[
M-$LY^[ZJP>6=O^O;=W]SV?YZ&9NIWZ69^@PHC6:>U+&C^O4=U8_'/(^&+;&W
M^LOJ,?Y2YQT;6(VFMTBDPHH*L;=Z[*U^/!:,F#B:I8A4V,7$V+@Y]E:/ A@%
M</0"&#NG1V/DV:% I$+LG!X[I\=.JD\CC^_O^_8T8CO5$5B X\A5&)]^C'2)
M A09)=(E5CF/W;:([51'FEQZ=!-U5(FCX\##P[=332V1-F6(8>UKEO,<R2)W
MR!HB"DI,FKF=+/XO::=:G]AYEQ'Z4S5_MZQK&,UWG_5LZ0G\;>F<K:WY*#\?
MN&I.3%(:FX#$]/V(L!%ACXNPFG&GN)0(0+- K$@Q$MQD*$V%)IE4(M?N/MU6
MCX6PV01G8RA,?D((&YNQCM$!B<U8HUX<H='T3-4ASG*:9UR@'+0B8I2#.I0L
M18[FHN"DH#;=J8_YDF:LQU&'C$Z(&$.-6A2=B*MCHLOXF..9XJKE*98F,RC5
MM/"!'(N4D1@I1RW/6 $>B+A/L];CX"H5DXQ%+R-N<SQY+R,V<QV7+HS= F.W
MP&O]%(9S(X1#N,@98KDB2%+GD#9.DHP2FWO=>/=FKD<*VTT*')N]/B'YB_ =
MX3O"]Y?#M]%<X=QI1)4&*,YSBI1@#/'4%+E(?1NZG3#3ES1[/19\BPC?X_&8
M8C/8+V\&N[<]3NP+^X24;6PS&-L,7N<X:2DM+S32W#= PX0@(;5#RA*7I:EV
MA7>"[MX7]DB!2,(FA)+1Z=YGT(4PXOFH6"CB><3S(9X3E]O4&89H;L"38@KP
M/.<9,D90D6*=RV+'D_J2MK%'PG.<3S(\AIVE9X?G7]15UG_J'UW.E[);@.??
M;79_YUA1R%3)3*!<4 R&D\4@-!(C4?#<I[@8S/ A.L>^J^8>G^I [U_*YO=W
M(%\@4O#;5J/7I%L9:]XN;CO"W_#3Z@\[+,W?&MIUHVDO]:]Z78);6^HK.6"#
MW(WO_MK2._$$#\U>/\ <2@=@,5\D[Y8-3,_6S?T[IN8WL>S#$/1^G6*_+^=R
MKDLY2\IY TQXUO79E0O?\_:?5B^&37>3194T ^KI'5KKEM:UI_5Y#=A?PVC\
M=4W9+,(%LCD-JQ!^L?]:EA>@3N"EDP0N_MUV?5NM7M;E(G3;A6NEUFVOAMIJ
M"S? )=/D9UOO;0A<SB]LL_ 32<XKX)3+R<Z[PD.O>%UMNR=8XUM#N+T$^E0N
M3I-3X.35A($$\Q.8Q*P\@S]+N*;[QGX^#RVB/>T\":LYO*!IEC#ZK\-C_!SL
M9VW/@Q$ )/IU^F&:+'P7Z:5O7ZR 15H"M[V*%Y?GUE^V'@\\KWVO-=/D[2(9
M=A9,?$NMR<8BGDJ3S*L!G1H?&JI@DG[.84RN[5'MQW4JYR<V()/7V3##ZKQ=
M[=5'255W#93[VTZM 58_ 6+6_N[PCNF3;H=\LT(:HW1O8.&V>(:%KFUS'H2\
MVB=D \;R5^@>+/T?GTZKLPVV.I._PZ"&\-" M#73Y!^GOO6V].^R]85==\RN
M_#"]:'VJ_?PKY_P8KQC'F2SG"_C/FFUN;H";%^$9\+S$/\5_/AS(ZI$P;@-<
M/DT^5BW_5K,A33:??&YK;]/Z@9PL9[)>232@R'(->4'6>\IT*#2 #7@-W 07
M1P%X_(E_!%0Z'MEM\@F8<]_[O^#AA\]<S(51F/@-.I\UP5*'I,@U*@HKG&;$
M9G:G!%6D3G!?( 46)P5+%"LP0G.+F#,XPY99*^FVW?N+O;!@RWY?5V?O.E7Q
M#X"<WN+Z8=ZYG-[/A'^]RWFELYEO.)OYAK.)0'M[A]/O C5V?F5=&"<DU^!7
M*TDU8B072$HED2QTSB3XS;38J0NCN !W7&<H)WZRQ@J@4IZAU&KAC%.,JV(T
MTYY7>[SK*]SM(T!0W=(E<4"8H2;QIN;JB ?0,V,3%\D)LZDOAE!.(:95AB2F
M#&%9%!G1$@M-=PHH4B=SQS)$"PN\1H&#I)$:44I238V0.=_AFQTW$>Q;_X$\
ML7B#0<[!F%QQ"")#%B$W1&&NV+LO)'>:Y(C:W$L&"+?DX'52)6&F@E*VF\I,
MK"54Y"FBQ$><<I("G(!?S(6UJ51*<Z:/,4.\KRAD-$+PE3>5SZHZV.\#4^./
MWC+QN[4K(>E,I$L+9H>=&Y"+':/>/\NWZYPFOPQ%ZV<'0ZP3P)EI;_=TIY2,
M3;)(BEDJJ4%<,D!7Q0F2#- U<YG.<)83J7=WKE)'\L(Z)(0UB D02<F<13R5
MLL"$95;MG-]^-+X[(INY+V<H/'VI5N)/^YT?)6=@PW=B)1/O*'F'(M''6]E.
M;8Y:81(PF903%&78I2"B.0@K)001D.C"4JJ,WCGWSNF<"R,,PD3 /1QKI#)C
MD!4JA:=Q)G?/_7Z)8GV]]@!:&+N7E<'&.MZX=S37\88RW0C^7B/TS5K$?"!K
M;#)&,X,Q5QBD1!+PX81 RDF!',\YYREX*T6^+6-*%T0!\"-N#?AP*=Q=2&>0
MLXX+C)W%.HTR=D0YV2_=J[AVD/&1Q)"^:'/Q/Y(DG/FH9[)I_&;NB47SRMC^
MX:\VCH3\=Z@R^_P:T3=N9C\C4X)T^J?Y<].69_,WIFS.9_+RM?]V9X-WFI7M
M%+I,TO:#?X+>+-UE_\)P*P(KZ,UYU838W.O:SF#(%W9X^M9JI_CS+;>#[V/]
MW*_A]?V65FRV_&_7LE^YTWK+$BSGLW(.PUC(NCOR;O,+H&O[<5CH-D-7.IC<
M:SG[)"^;[B2SX9IO[.^'%1MPP<YJ'G;1GNBV]E"R@I(8"MXJTB?!1^<..27!
MP<ILA@K&E#>R!)9@<A5%]ENQL^U\J]MP^NJJDUQO8L-75XWW@?>[GZ9STAIU
MQ\/]:XTDN;O92(ZHHC08+ZV[YH]NO<ZGJY8+ +"Y1YUV(^SG95W-8%B3!$;]
M'8Q7JC:&HKO=H*^](B;IF_["\"=^\Z=) M/1IZ,,]4MPO#*C%9*4@<DG;8YD
MFF/$4Y?Z3)9<V]W89:92P0L&MJ018"9F!9(ZLP !)J7>3F1Y_A!FXDT99)A,
M^:@,Q2]VPCK>&\L^8$P%6Z6"F=0Z(D'/&4T-8J8@J+!&@9P4VN1$.*X.<HCX
MWZK*?"IGL[=S\P-(Q_RD!+YH\RQ_#JDJ5QT!OJVB;S/@F!FVQ1#?+!NP3YO&
MBZPJY^T._B3I%R4DUZR7)6G7Y3["^N S.L"^_JBSUNZYM@\/M'&I;LS "$HQ
M) ""7]9:^Z BYXVS==UM3$G]KV79^G2-3_61LU"5V"8=>1V[DDDOHN5:1+N*
MQG"_?YC_>E;*<,YZ2.9K&L!Y,TG*D!,T 17<P&5^".!1UHF3\,-G\[2FK'^5
M3P]JVC2DU:"FR<=3&!88+_H4'N 3&\&$[$;I)W1>5]HS7VW#0'RRTERV>6]^
M"CXS:B,?R38+,&H6?7:C'V675+>=E+5GLG"'L1WUNNT=/T [F$U(2_*M>N"%
M;?[4SF-@/BMB&+N0Y0Q^'R0VA7WY9>-O;<TR/\_MT<*-MC[S.5F^JG0]Z6GR
M%BQFG]38!%IN4:ZZZ%(W-T?L/YG;Q:U7>YM33CH@[S/.AKE<,),F9&HIH/TU
M]&_SX); J'9VV0WMEES6<]" <0(WP??))^OU2Q,2TUI5?F+;_-FU6'A'PM9P
M^?DY (E?MLG>..!@\"%7U=\T7\!HEV!<UCY%+HQPE;Y; 9<X6*-N89HV$V\Y
M6TP2LZR] ^3?<A;235N6/0?3J#*]8W,F+X%JR?+</\IGKX8]Q.!E[9ON9@X=
MF+\^/R61QL?@NNSB5JAO2]95DBP\R4M&U7IME7.-76RN>_(K?!NRDF>@#]J4
MQ_V3\ULI/D=OMN+A58ZDOZ'#! \#6Z.$^_8B3*"5]8P-#B-\X<JZ64S:3,2E
M:@ 8_,N'9/"KUY)G#73;:^T9Q-?Y!Q8'AW71YM*&5$ZXM+:G%CCHPK.!?^VV
MW-U?QE:BNB7"9?!L*H"T?[=YTNT"?>%H=U'K*N'PM\R6QC9;LOO/I3EI7W+F
MW:X-%/)YF[(V/8<#2*MVX2Y;='/+A<_+'KSR7%[V^=T@K\#TX:$AZ3HD:7N=
MYD=95Y=R%M8?U@TN X&8MV38I+T)@F<28*_R;'FVOF^:_+@>YO*\53IP!]!W
M<W[^*2',Z57E[2@%,[-2>RUR7M5A]ZIE^4!N>$&;T=WTBW;;IVYQZS4+=1A.
M_GZ0L=!<F0/C:73<H!.(_H RTD<T?.I^H.8?CC>LK\<6B](T=;E1%ND"2\1$
M09%T.0;GU<@B2PUFU-Z[3OW=BBO?#9GR_:J&XKM.NLPM<RZS5\%P@]]N*G!,
MI_F(PE-_.F*0":Z>]=9BE(#!]@;."V=IBA3/#6+2Y$CFVJ+,$6HM95K1^U?V
M'D\"B!A5@'8$$C#I/3G0:S/P/CLCK]?PYFHENB[ZF@S*Z'I#H#>@!Y8W*)NW
M%_ KF"M?^^^ZS8K^L[?K2_M]BV.&H5]R/<JF2^K7JK5XO-]75]YP\T5*O6.]
MST3KG+R;'/R^T&"5;-_RCW=S3\OS/I  G%F=>YZR^G0.-#BY[*(=J^&LQM(,
M!P*6=L?'H=#/[^^CA?S<EEJZ6?7)1U06=:F6;8EER[/-:GB]8U'6 R'Q-''+
M6>+[5:WL7W KRR;LIG26O'_(OO?YAF'!@4^ZS*UVJ*V;T5/=!SW:2,#0[0<)
M6MO=0./>-5@]?.+K.&&00*F3NOKD@S3^VL''"_#"36M5KT@)7R_T-/FV&W][
MCY]DD&%9UW[.8*]OC=A'"GH/P@<0-J-1P10?!K(2&+A=\\<9^.B7;8EMSRES
M RQ07Z)5"FLH '2 T57=;-''SDI[T7'F&JEZ]\]<P4V3?:Q4>@*%_3!?:_OG
M\)M758!I<M'6_(*N0-[^MSY.<E+;SBMHO5*TCJLUX 7HTR'/!M=)=F>X-]4P
M%K5*W=N6GD&,;XNHD_;152@E]$Z<;7VO]@6P0(O3LC;H7-;@/7ZJEC/CG<40
MO6R6?F"!JP^107TCM#R-@'R_J_)"P]ZK3:6RK4X%/@)?_-]=F L^7+05YIZ!
M2I"\LF[Y>9',P'F$7^;SI9R!SN]8=NW,>Z,-+@(9V!1<$+T67CQXS'?N6$/*
MR6IHZ_<. V2]=.PXV]-CYA"O(Y7_ L( \P5](4,1W5D7EMD7=QB;$\"45D*E
M%#'-P0EPA4""\A1IFDN5%5DNS$[UY5VVFG]:^K5[[W[IV>!7X(+-;CX;7PUM
M_A]^^O[Z4D/@KQ%9^MNL/HAJAQC1/H;WX@<73< 2")D[ ^T18H/=QUYT0T[N
MK/S=;PC =_/P87?1ADGD;YAY=16N"F7AH.(O@WT4U$B(OGMU =K&LS%8-!T?
M#R%@S=+]"+IM)=,)\1[!_,'O;R5^,P@$P>]?A*8,NJSU\LSG.?E<K:Z30QAY
MJ\'VS@S>L]3[[,XR9+-L4!J,A>K3YDS#Y9M[ ('V7=&\#5>O5F0+_I1=?+)V
MWJ%?6*3FF*CS,6S(C#&S2Z2I(J;P!P<#&K 4 *7(+4;"6*6ERUC&=C*[[I.Q
M\L-JD?Y>-5<W!3M G3;-#"NH/QPY3X6/^3&8%/PPV*6:*<R9W#D(P&E96*XL
M4IDM$!.&()D5*2H*QE)&6>[83L[:X\],.\,Y\647/KF6V=2?%J1S1#.?NT.P
M-&:GWM&XC#!N?5-L1GS,R"&1ISD"9:$,+'W*"_F8,[M=D?EX5,,0\M<[A;UK
M65O?L69TPLUS2K&/$<I0/FY4#HN>>T&E5(&5P)25AQ#ND.&TYI)WIV!)VP<5
M 9,3HBD#:58*V)D#]TL)<Q0TE46:VWTAT+L(]^//+"6.I$5F?*&_/]T]9:B@
M!"-)'&-:%\JYXA#"_9 S>\+"K0,=UOMP;L_NX8@J(-M,^7[W$H\E)?BEAF)]
M#ZG3LEE4M6\AZJWAO=YY-=^T7M=.^JH1U V.-'CVYV"<>]._W43O.DV%Y-]I
M\F&=*=+%^+M-[F .;[DOFT;V134##Z-KMQ<L?=-&.7?N'3@8880ADV=SC/#R
M]WI1^;]Q_Z*0T )W7.XFOKMJ62].O4=3@Q<U 3,>EGL>DG3F]U6NK_9G;*=%
M03&68$MAXA.@ 6X%<Q@YK7-2&,=Q?A@WVG[Z%HCTWKT-=-PUK3["2AR%?U<+
M%+"$K<1XNS+S6,"RWV^[_\HK1E)K6(ZLXLSG$1 $-A%#N<FL SU;J'2G6\W]
M/1]KOO>M#M_.S;NA4_UW*_T6R\=JS1!' [/.O_>)G=;+7LA="OE)"Y#*).!M
M&].^$1)6*7=K&>]N.I_)5K*]ZE)+<V+;#*,N4#](=0P'C_B@RN8]WN#6LAG>
M-1T=[X; ZO%>/U1+&X$I6-L>YR]7ZSWOBXU:DI9S79ZW+1-A3,[6LD_S"SK+
MAWC\RNNN2>DP+6O=M'"0H#7W.M#OF'5L97QPN4V3M;,0<IXD\J(J0VKDHBY/
M3CRSS7>-LVY?<<VF?B@G50C5A2RZD/@:MF\6=;7>-_?,Y%NJ/D(Z?ZQ]?WFU
M[W1C;6/M^Q.HXSM8[3M.[UC\C@]?_/[ )7U/TTD#)1+B#*$<XH@:V:?D5#[+
M0('QXJMB-G147[(15K/=6NFV;#:^ ;_I"XJ O/FU;-.(3P$/&@\"T^2M]@$.
M$/:03[:V^OJ$]5Z'G@\UZ!,/+SR3C(B#EI;&\L3#\.</.WES0?AD6[H![TQF
MI;,AY6J=PC'(7=M(6/,UJ.V^<[.HI1=8Y*V"Y,PN3BNSJN?H'M2"@L\?FS>K
M@IH0O/1# +/^RJRGOA7%+_\IS\[??-MG=+9E7^!^A8WM$SL'Z[S=ZI#&5Z T
MH4'#A5V_\XYE.[M$ZZ96UJL<U<U,OE \<E':3VV9W%:.RT;"8UNJ"4,&(C=V
MW3Z]@6&7(2HWV,$&8/3HVFY7;^Y!=V&J=<:AKV/S+H=JP\07K6<T37[T6T"N
M[N)N>[WB=@9^*,N0ZU>NLS"WQS<9)%[*@8_6$MHGNI5A#< G-J'"OZT1*[T%
MW):CZ;+I2Q%#K- 7;'WRSI5ISV8*X;\^PS!PVL*VJ782G.ZV^$AN'M/1I>Q-
M_%.VOMH88'LD!G@8V@[GL54Q%"K P+N4Y3K.OIUV _K'TZI-0]B\W0OLJC O
MO/#&IX0$A\'*=,M>U>W"=-E^FP'10=KJIU,;CJ<(*A5,ZWH6V&0[9[:7P8XS
MX/*Z6IZ<#K(@N[10>$:7T6G-($<TC')5V=A[N,Z?8-MYN(.G3UJ?=G5L@:D^
MS7<3Q'>+]]IG;Z1_@N&P*O9K![AW>(-4U:JK %U7<7I+(\ ,.)C5.J=\]<;5
MW/JQ!2Z;[]!PM72U]0<VA$R1'@E<0+DN.#WITMKZJ[929?J7[UNC-1!O6#GK
M6D4/-4T().P9PV;67&_]=Y5\(?=UG=S3*X'N -T]=9+UQJ+NZX=$7VQ;W1_F
MMZ1?IQANRH4,*P<W^+"8\FE"8]NW5\R:7#.#X'\4,9IA)/,L1SJ3G*B4TV*W
MH?5=0M/K8/-[M]U'9G627Q^_?L"MX3%L_ ).^%Y?NZRU.F4F%+\VO9*P9KH=
MS-O7!&F_<W^3&%ZQ9<'\UA2L/TJ)MK#&1(!KKPA2S!F5BQ07Y"!;%A].09Z^
M\:K!PQL8;6WI5_ J0\LA'V@#2?P9C(^NX= -?89N,_+[!"6.Y-H]>&.>#XM*
M_YZ$I4B&:Q&["8U03PWM@6[_OH$1P JBUL[2@Q6$/YI%GY5_4LM^RVS#(KO6
M@/LDZ]877#50"/L;H3O(RC5;V3+V['Q675H[,*S:HA5_:EU]X7LQ]!TMYMZV
MWW \85#E5GU/WY"C;6C0OBQ4L7CLZ.8;AM@,.XAT1V'Y/<_N&J PS-+O!5VT
MJ=1#\ZLWN[9&^,D7<PWZ,PQ,]&!R27WJ[:]A.O_Z-6$_RW=P"#[;^B%]8O&F
MF;_U*'GM# :/'M1)K'.=NR/#=@X=ZPG5#KZV0XIUGLW:/=Q=AF[MK^2T?GG:
MKY:^M4E_]M[JC6#$!TZ;76Z8]Q>V;3[2'IVX"AB&4J6][UC95&V'DK:A#_#C
MVAH?\'15.UMZ1R,>ZC>6&M)OP&?_'7W0I]7,5S">=VVI2ATR 2IC9R'?2,[T
M<M;'2S:Q:0\ =&BV1KFN8TLU W\R^&J#H'7@QJ;M@M*_IP^'W?2FUY&-1A #
M_FX%((#*1UR1H.KPF\!K=CBF8.QW[!:8<ECKV0RL_0#AOBC6:[:VBY7_LAJP
MZA MU48_X+;US/FR/J^:MAIX4.B\V![3[F&4\N3$-Q[R%TA?= 0/O2B-3Y[I
MQ+*3+G!9VGY:)W6U//>*9R-\5=FF*T8-O>!\$ZF%;(_+[ .!N@VJV<^VUJ57
M%/947I0^QG=6^?@6T*0W'R)2CTO$+BH/C[X7U=@$;3VR$&OK+>*5^=H:!& =
MK.5J.VP;+)IUH["AJ+G94B]"'=B@2N\F(=\TG3:LQOT#;W7+NG%&L)W\Q>LD
MW^'E5Y2.@J$$<M3-)EBWLL<7_Q783:%/X'J[MAWVNE'?<%I1_L8@?[XW.7*U
MM>V&B^\%Z9=P)#)8[Q]=*!<_#46B86__LK0ST"T7LIP%EP5X=//(\'_;NH)W
M!*X/1XVO=C77KED0-?NO4&99W<B]>TS!R,\CX.>5/@DVAIUWS#$2?M[PED-O
M3&/U3'9M-,/^8=B#\5M4_02"UQ'Z&70G:\MS3X,.A=LF'9N6T2HWIV]H6'F#
MT ;1:/?#]J3-;#A07=QE#R']*+PT[3I/01)06T"QX=W(7F&<QT._1R,F>V(7
M;3.>$4I*E\(U:%;MXS!S.;MLRE6=T<"0&81C)GV:_O8T_6UCVRT3F:1<R )A
M)_UI/[E"ROECR;F3N<QR)]C.KHBAAC+!-7):^0--4N+/O;,H-1EF*86?3FZT
MPUL?1/+>A>V1YD,;H_M8?;^BT:%.LA,CVB/[JNVLWKJ:O;.\J$+#)7 8];+-
M0O%916LG<3(Z)L&%4EC ,F<\EXAI8I PSI]AR(C*K<ZYVCGHD#F;<W^,5,:4
M]J?>."1335'J#Q)55/MR^^,Q"7T"3'(E@P0%/#8>T85SX3AH2STH9,(A185$
M1F>YH9*E@N_4 A))"U84&A6Y+A"SFB")BP+QS'\>.FB0X_'(N$[$O 9(.KY(
MSD+*RVKKY)O*[W'YTM=0P.+SM/J<Q?#5*F/1UQ'-9D"UB[;@=F@Z-=U>S(C*
MMH]833D2.S(6/SVKXB>VL;:Q^.E%%3_A.Q8_D=$4(1VB[NK6*4['V>D]?A5R
M;=<I%J$$>>6+ML'PKF5&6V?@ 7?[)(M=KSL) 2%?^RWKRVGRZRJ)84_CN&H^
M&Z1+#'-DV@R_"GX+.\I=5H2W)#8JRK<4TRC4Z'UJ!W?2"XEAFF8&')P4^\I!
MGB)!<G"9\C2EWI[-1'J0=E&^)&-1^B*7=U5STY&%,2=PBP$&Y$L"_6*Z72_*
M35ONTQ''9]@UW7[X97?(E5[Z\\ZFR9"(FSAPPTDQ6QV7CH@#OIWDWF,QCAJ,
MDWF*B27@#V>YC[.  6>)0HX7X%4#D!B%#XPAW[7+=_MC**YWF:=CBKZM3X 8
MW4I3 VLD89D8EK#2DELDF!"(IMQ0F]G4':@%W\.M])@.VKGYM)MC+G:!+:>N
M,"CG3".6@U@+93F(M29I;HK"L)WPZ9VZ$KZLQ=X\V&6GH&0W0'+ER=/4:.&T
M,BAE,O.M/H5'TQQ^%#9CE!*3[RS0'?N8O5UU"?JYKN:5/RTRU+:V9MR7G3]]
MFV$?J2ZD"_F,U@S\Q?J(3[)>C>2#3SP,X=5?VY, 7ZAA^ ^[.@6I337K#D)M
MD[3"N0EMXRJ_RPZ>X=L/O[8;$E5(^Q]TP3I9EL9G^O=I*]<>1KBOZ]6T7XJ0
M:#!KZ\[;;N>?PAFMH32\.\UAV**K/0ZR# ,*YSZL#G,-M==;B:>G\L*VAT-V
M_=CTX@N'O"[6K;N:WJ9-H.M.DH*9M PWNVQ3@<Q>.K4E]6!*6SOK#WP=#'WS
M=-*V&T+3Y8&OD[=CGL&*U#^TI!X(^=]Z4O?;_F]-=>[7<G"RQ?>EUY')_X ?
M\T(AX(=Y\M]+H%_KL7F:A,RV#Q;\O^[ 71"X[SYW;0N (<^ JSW_#T\]^_#=
MNW5/C([,;0M3WV&A7LZZ-@ )7 CB,0O'=?Y431-*$<8$YY/^26-JT?+NTF^Q
MM92X3'PFXZ ,:@):)#2"N)PD?_.YJAX@;%L"] - A3\K+)Q#-:M\-N^DH\]1
M#^WP'9+:\\GJT-5B77 E5;5<)#XD6'N0TQLS+[OI='V3VH07LYI:2"!;%YD-
M>TGX@*-M*X-; &]/ &G/4;L,?_A'AIO;#II[!^#3-)M)U[^BNZ(%[[9GRL;%
MB]/:RFZLY[[4O5HV5TUHLMX\_6-[0EKH^K3[T&X$J\%NSK2NNH:/7M5XJ[QM
M$MG/^/9SG%XI("&(89WK^E]YBL*T!BG=X;BLOB.PGT![3HF/_02)7/67*)NU
M%C*E"4HSJ$6Y3=P[*_.^L47/("^X(<,Z+N:C82V_^37^<I3$5$S&A([)JQ\Z
MT_%C'7KR)F_KVBN)-0O\TK4F6L/@$=/_)J^Z HJN4UP3NOP,86Q]>GG9&\7=
MS$*[\%X9!EPS;?;?H&?<+W[]<*HRA$,#WL:7;)A5.D8PFYTK-<A\"R3#U(LV
MSZ/I+49?T3>KPMGOU>?R+,!:U=7(SOJSKE?2"C[N^5+-O(L[;WU[GP=[)1?M
MAQ+_/]_7 0"IFN\ 27=:WXUPX9\0X>%Q[-F?8"7^QRYZN_;E&K!#B.V,V.]7
M;+?7[6_3I?H,J>_??OAF9;YV$@BN;G@<2HM1VJ8_M$?8?I2?X0%??ZS.0?HY
M2_^4H.2',T"-BT[4 #;6EPZ!>-K-^(C[W0,:)W9^VAZ:%FP9 $-XG2^XO.P<
M_K9'6]=6:F[;IFO=.;[^5-HACJO+H:WK QS-(G3%]N9Z5?<X?N+M1%\B439]
M!6EG) U@M*]Q"&5!?E,<N&I6ME^U9Z;V0^@;M T>UQ;U_Q.,M,:4ND7EX:3[
M'J*;8#QT_,OV (R]$^WZQ;7JPE\%C\V2]MB$I#UJT$/R]S 5T$OH_ZQ;D@_:
MEH8>%H.N7GT'B_^J/OGZD<DU?5?;?(0SWTW-3)/O9.US$GI3TV<MS)IJ>,4W
MUBO59J-)W_X5W.HKMUU^LF72#BG:AWCV*J=;M5\_ZBG=ASBG^ZFB^$\>L[90
M'(!Y%Y#Y"I _C F1[4GH?;(ZX[-'94'VHG)[70CV?>AN'1\Z'^_MW5(G_3&B
MGG9=O"+0K.EH-H##SJX_:QW[=2WRJJMDJV)6$8P6OCU*G&VHCS86,NS9V;]L
ME3RQZ@8#,+^<!>3S(RQ-&V4.Z/7^VQ];]WMWB*;S\X9,W<9X/62N+G*A*T(P
M['W )$3CNK)2'U:8[2/(=..9-RN8$)KI3AKI^K9M'";TWQ*^JR_[0V\VB':+
M&[(N @%#,ZL>MYLQ"*]2+G>.H.CRU&$5/1&V.\KM;:2[?UMA1R^-)"$MYG4_
MJ[SN+.9UO]R\;G+XPRD>>+__21J) U_B>"#>>S&=+MIP$GL[P575 AR65MNV
M_ENK,5<;+G?U</@A/9SKVK%>KXBN2(M.L>1,,J2U)(B)7""IL@RY+)52,FL+
MY0Z16O.]+.O_ZZO_!P;S;?-H;C/&W_K#9CIU"XQTAGQ* K*S0,+ 3,"-KWK6
MVU"HVVDU>U5GP/XW0:*0?W[SVA>?>_3?D;TU)W9B?=S\ZYWA^);%K9)Z_;NU
MYS"RV<K"Z!1:H,LU='CU5[;BR@&0MJ_!:?K5U@./-N5-+/",F 1.3'Y<'T.Z
MSB9:FP%/"Z8?/"7KG6Q.)XG_F7P'SLZ%G*WV!7X,;3P[OWB5A/!?OC4(0-^/
M<A&V2Q^LM ,7SCD!^)!:"GH7PX\B)SD2PE CF')2W:NT(Y0V^XG[_P9S?SLW
MZYFO)^[G_;'J9_W1?WGH\H\G:0IL=L7L/.#EF??X_VTW^OK]L0GM;B9MTQN[
MQ6UG:VYKUMQVVG';64?W\=5%#U/ _B,)__REF\8N"P17HK/J_=B\D0_KZ"]'
M@*G5$K"X_&S-F_;5138%P.VNA_G-Y'EC7S?V7/H@>,\/=8"(\.A7_1!@#"M7
MYZ)LRC:1\'7_C,&%<*791'F63SG%7PT=D6[^K2?RYVONQ5,N[GCGW6XKIAE]
MW#?&*<8ICG"*?_GSHMXG_5VT00#>*:E_]PU7YP9U8.G"/_O!<F!,MG$/_\$5
MP+$1\RCG;T)%A):S3CNU&FLGOE7.QQ76Z)[_UKMR7Q*]6)CG291[D #XRW_[
MOU]A]NK>]%B%P?JPZ/DB"8YUTFO[/;/;0T%Q( +>+[PY-.FOW/$)5LZ5/5@>
MA.NNH7(+$RD=!9T/R*J/A)F[5'L$N'@RBQ!IL(V9Y#$@\\E#9'\2WE]4_>>.
MO#NM!8X"DL^!%Z,\1GG\,GG\6UTU39#%7^>@^F8KT?R;+.=1**-01J$<D5#^
MO?(E45$JHU1&J7QTJ5RU9 ^BN-ZZC.+XH.Y\"*#%&.BAN3GL'?L=O.UMO=<Q
M2/IXJ+E7SAZ20&'7<>RZ-5(EBDYDDDB5*#I1=*+H1-&)HC-R)GEV5+F;3ZK!
M'7?Z7N[GWCF,65COT0!VY8*>57-[V:62)@X(>J<0YY,CW2-)\? U\^K+J'+7
MJ-XCLMQ5!/O#X_/0%V4\'1$H#]ZTV7)6\(Q89"C%B$G-D>#,(:FTPH[E-AQR
MN)GTKVQA4IHZQ(4O)$IQBF2&-2(2<XJ%LI)M)OU_:]7BJL3^MW/CT:3[W[ L
MH,\W"$D&5[9XIALMGND-+9YYAB>47'TLW@BD\X;@\(/*Y\-"6(3V".T1VA\
MVD-;-#(F/HP@%D$L@E@$L0AB$<0BB$40>RD@MM_)YAR+/#<"\4PIQ"@3J,":
M(DZ(S GGN4IW#CQ['"=[E1FU:BP2'>WQPOO]\JWN$=L.L_$]M>:+UT#! ^J2
M8;&^?_+P3>DUK1O&$@G_6"W\>097I61%13U&14VFQ.. J9:^;414U7>CUS-5
MUL)BPHE-$6.$@;*V!A7P:%#6>4$YRVCNBFUEG5'JC&4:J<*WK&,%(*W! N'4
M91AS1XPR,2)^=XY[>JHZ OR(V"<"_,L$^%&$E"*412B+4!:A+$)9A+((91'*
M7CR4[7>[6::M*/(,69);Q*S-D60\1:G4O) VTT;IX[C=+RQ&_N1!_JHH>:Q$
MOE)K#)\?NS&.JVYE+.2(/!*)$@4G\D@D2A2<R".1*&,B2A2<R"./1938]W\,
MJ_"LB!+[_H^K[S\Y>F/ ,= Y]OV_%5P\F46(-'@ D^_Y-T]=91TFH7NJSST\
M.CP^!RZ,DA@E,7;\'QE#1J&,0AD[_H^-(Z-41JF,'?_'P(JC[O@/'X\DRA?;
M_8\J-AJ[QSX0DT2J1-&)3!*I$D4GBDX4G2@Z471&SB3/CBJC;O?_I!S2V.O_
MF919QC:$!\QR>DXEE@X+D0M+D:;$(>8RZLLE+:*%$IFT&2Y2NEUB:8HL)X86
MB%&1(88YW"-)ADQFTK1@-K>R&&EGHXS0"<O$R,HKGW@+P@CMHV&>".TO$=I'
MT0@D@E@$L0AB$<0BB$40BR 60>Q%@MA^)]MH0QTC BF=@9.=T10I80C"CA-3
M6,$XML=QLA^LCU%TM%]ZK_];!+H[HL5&_U%+/R0&/!GY?CC&>*:*%2LM2&HP
MRE-A$<NI0JH@"LE<4)'SPKF";RO6@G*9,V50;BT#Q<H$$H1+Y%@A!,=8R72L
M)]6.1:E&@8I(.Q:JC(TQGCS2'BD.$UDG8LI8J#(VQHB8$EDG8DIDC(@I-Y_4
MIKG6DADD"Q]J905',E4*92JGKJ"*2ZV.XQ$^^U#KDQ&J^^4'QX+5.Q2L_A@R
MA*4_/:!9"4YR"I*3+*KDK).=6+T:BR%B,<0(J1)%)S))I$H4G2@Z472BZ$31
M&1&3/#NJ'"W)Y\54K_XZ_3!-%D">9EE?)JJ<S9H$)<UI52\0,-!9C-*.(TH[
MRNS:L<5Q7VQ2K<AR3E*E$4N)18PI@E1A4H25,U(5-K7I3J17&)LQ+37*L>&(
MJ10CD1,*/W+E*$M3Z\::^X/3=$**XNA1WF>54!L1?33,$Q']Q2,Z4]Q9I14B
M(@589]HBQ:A"+G5*%H(;BM,'1?30MWG=LMFW4#\0>A,6@?MI2%\$[@C<$;A'
MEL@5L2MB5\2NB%T/8'2FA.>*:(9RR25BU%#D.U^A/"VLL=@5I" /:G0^6%Z8
MCQA00J/A.9[<L5B"^W EN).=^MNV0^6^S+.HFL>HFLF4>&PPU=*O5NR@<3=Z
M/5,];32U&28:%28O$$M]DC8%/4U5;JWBG%)LMO4T+PR7&ON<;J^G#?PHJ':(
M&Y)AR5(NQ5@;58(Y,>$9'YGRWN*XIZ>^(\"/B'TBP$> '^SGJD)E:98C4FAP
MQ(0Q2$I+4(HSP:A(I6$[CMA! ?X%1?\CCD<<CS@><?P9; 9$*(M0%J$L0ME#
MF*3:4LZY$"@EI/ V)D'P-(YX5N3PL4P+>W^3].V%+&<^/OE]57\ XW)MGC[8
MSD (+@@<C=+'V1N(AQ^/KFKD&9#@D*5%SX <D021!%$H(D=$$D2AB!P121"%
M(G+$G3PW^-U[XW_MO>.?EF>V+C7\;<J+*S*GZ)12^M4UZ5(Y_'F$UESKL5S[
M\BMH]NVRAE5.%J<V<=6R7IPF_UK*>F'KI'()20F9A._>56<PM,OD?%GK4]E8
MDZRB5,,Q?\& #A[(*;0QS!4,%80QQ)R32&"MD*:.P>?^6)9L.Y!C4XK3+!?^
MV!6*&.-P3V$TTCI-N5!,IF85R%DVZ$3*\]<?NZ+R#XM*_QXB-F_UOY9EW>:&
M_&@7IY6Y,H:3;\1PLINS.Z?IE1&<QV>6!*Z>>8H#;^3H##X_3?85VG\JX8OC
M#=,S['G5E(ORPB9E^#2D"4H87;FX]-WH3BO?E>[4GL%"+<K9JCO=-/EX:FL+
MJV(W&5_/9-.4KK3^MK*!QU[89G$6'KW;Y"Z\KEGXN%Y2PA7P;Y] !!S8+!*@
MH7\ZC#EDR88+E9S)N;9)<VKMHNE&DL"[YA5<",.H0X;CYIMA);ZUVIXID%B*
M)UYDZ70(@0!H>Z23W$#:E9!UR-B?Q9!JY[#(_8%%#K'49$@20Y FA&M-#.5B
MIWK/6J8+2B4J5,;A'I!0F:L4$1AJFF*9D:W.FQ_TJ37+F7WO-K*NWL[7,=+K
MMO@_>BI]A/=_,P,!?958$+US>/:B7MJKLF(/C.V!O*. =^"A;=;SK.F D,F%
MIZ1GH &?_W$/+P^:.:K+L+@>B99R-F#WQ0X7DD0"]S;+,R!->+FRL^I3S]6?
M_(^K^+JYBK&'O2-[3=ZE_>ZNJ5PNJC[Z[ D+:LXK77\YFLG+:KD 6GVVYDU+
MMP*@]JO^>EB<F3QO[.O&^N$M;+_ 84^B??2K?6'@B[(I6Y1YW3_CBK!N^]8L
MGQ:L\._][%?:C[%;/."ESV]>_?F:>\DT+^YX*[[C;=F4<?ZHKXR3'-YZ0V6"
MN+9MT.TW(G:AZQ'\"'$@-V*].?GT?*FG18.5>YW?W[V^:P'?PU+LD.V1=Q3D
M@_+7W0NRGA8/OG YC IA!(L0:;"M$ X0;WW^"F'EW?Y%U7_NR!O*BZ)BB/(8
MY?'1Y7&5BA?DT<>:DA!LBN(8Q3$V_!U[DX ^_.L#A]7<)I=6UDE5)S/;Q%8
MHTS+'TF7GB>2E/^"VO5@0EPAB4/2^;/::.J0R(Q".6$%P8YPPXOM72;I-,YL
M85&1%@XQ97*D+&<HIUIR0PJF*;NF2K1'CW^4B]-R_GYN_P?@8V/[*;;X'6]2
M?L3QT3!/Q/&(XRL<SU+NC+*(%#E%C"B*"D5SE&N*E6(I%22_#X[W&3E75U=Y
MD.^@'?[: /?8B2T"^Y,%]MNXDU_B-5[9S>ZZ#G7M6P[?HBX\]TGVJ+L-&]^:
MU"^9O^]-L%@P?B2^>\&5Y#;-G&(91JG*)&(VE4CEF4.:*4*I%E@:_1+=UN,+
M\-,V?*+&B!HC:HSGJ#$H)I@(PU#AA$(L%Q:I5!>(\]1DA:8Y*7;ZG;Y(!_GX
M$OW<5$BWM1A5R T%@J.8SP$*0?9,?6_IX]Y/@2BACB@40?E(S(E%\\K8_OFO
M-LJ,_AW\]L^O$7WC9O8S,F5M@ZC[DHCEV?R-*9OSF;Q\[;_=8:-I5K:SZ&(9
M[0?_7#:+TEWV+PRW(CLW;]HZ+WAV_?_9>]/F-HXL7?C[_145FO&,.X+)SGV1
MWCL1LFS/=8=;<ECJF8\=N9+5!E'L*D 2^]>_)ZL $" (B2)!LD#F1(R;0NTG
MSWG.DF>)$YL+OM:SZ%<2_?F&K/G5NJA[2U"YV^IJN;&RPTHN5^YT%1Y:O'T]
MG=13>(V9;1>U+)L'@*[#S_U"#\$CF^#C7MK))WO1+2H2UM=\ T?Z%5OC@JW5
MW.^B/:C\?95!;BY_:Y+5VP?YY'HZMVL& L7$*FXY\MY2Q+74R#HA4!+86LMC
M-"[]G0PF EP:P^O9C2^C!U@,MY[&]0UB,YR:'_6RGL%;^)W+=)GU5?VU+VF-
M(==JVNKW;#+UI=(_V*[>R"C9:X6E)S[XA#E*'JQ!3@Q#1L:(0J)*2*H()UM!
MA&^IL%R:A)=%EBL[[W77Q5GW>AI^K8=*V1Q@6!#AW71%@/[[1U!D.9("^I_K
MJ9WZVDXJV]-OJ*]<_3BYI&5UMN0H.]NHP,S\U:[XRV7Z]I7!=2X43HO:_,FD
M^90/#Z61CU=<O564V7]PKF=9K\Z\)0<<)I0_C5)4KHXUN6VIY3'E#UHQ:8XU
M?M@GED\LGSC"3_S*3K#:4P'8@Q1\J9RL< B1@D*#ZDJ!">$/46%RS=?=*PD?
MH ;L^D87CUYR,@Y*/US&3,')@I-/IA!O',*[3YC\-7Z,DXH46!REA#Y-JA29
MW8?,/GZ7DW%0=FPR6[1JD=!!0HNS,4X)?9I4*3)[-YF]<9U!D=@]A@?,M>&!
M10[:J"8\F7&6QPQ[RR\?P:2Y3X*,&1QOFC*[+_I<FS$[8IU:B%+DIK!((4HA
M2A&EPC5%!16Y&3>+/#6BW,KCW$-#P/7&"N)^&CB(+_1O&*E_^M=F&B\J>-X?
M<599[X'HM^O#>Q\%5(>$@S<@R\-5VCX<LXVVW=28ZVDW%VKOU;5<*QDB#HB&
M9!%W7" 7K$+.62<%#E:(K?93/B8JC*2(6NL1IYX@&SU'B6M...:1!;)57=O'
MMBYG4]6=GS0YT7]/A;-2Z".A^,@Z2WU;?>Q]2N)AM)8J(%Y _'% _%XMXCN@
M]G_\FZ:$CHL3"XP]68>K(%M!MH)L!=D*LA5D&SVR';3C;0A1,BJ/!"<1<2L(
M<M%R\*1Y4((HJE.ZZGB'$ @.#B/, D<\8(9,U!Y10[AC3DJ9<'&\GP*NEU2K
M^PUEKW7O*/E69=.N;-J-C2A%;@J+%*(4HA11*EQ35%"1FW&RR%,C2LFW&I.3
M^OZT:6<(N.ILT;OT!'X?FAZ&V/8M4,O&?0D"/^\@<-G>>L)AT )CXV&> F,%
MQL;!B07&GJP#4I#MR2';0>_26V^\%,ZC:!Q&G'-P<4EBR-(8 \9$>66O[M([
M[Q3!22%X!X]X9 I9%AUB5&!FD]<.JXUQA;V?]P'<O#<K+^_-NI.WK]E2],CH
ML<U>+M!>H+U >X'VAX=VSX)SR7!$I5:(9Y!W3"7$K:;16^JH)5>AG87$ A8&
M!>'AFF -TE82E**41EB:--4%VI\(M-\I!ZL$P_>=L=5D$I58>-''11^7(-(S
M5$<%QL;#/ 7&"HR-@Q,+C)6 24&V0T&V@PZ84(J9L=8BIJA"G%F-7!0<61.5
M3IIQ%O"=8^'9S7N > D_P@J7>$E!]H+L!=F?/;);8@'- <^3L11Q'!*R3EMD
MK5>,D41CX'<.A1=D/UADWQ4)/YAAD(\T0GUQ_]=M;2>EDJ54LI1*EL,B2I&;
MPB*%*$5N"HL4N2ER4^1F!"SRU(CRE20K]<6*XWU[F>LI4;W+>+<LJ_X6CY%F
M-3:F?4*X1G@9R7J;D:RONZI)U8_1QS,7VXJ1HXIB6@:?/VU ?5:3U@L-RN3J
M_4R;)P461RFA3Y,J16;W(;/%E!FGS!:M6B1TD%!6)'24$OHTJ5)D]FXR^Z&9
MV4F1V <.#Y3! G>L$1G&;>QCIL!HJ/'XR/AD25$^_SE_?A&$P@GE\XL@%$XH
MGU\$H7#"75RT/3?A[U-7[J'QT*.EQ-S!I?MK,XT7%3SOCSBKK/= ]EE7NG24
MBL=2\7BP%8]:1ZYTLDAAJQ%/ E!3>H("#4:P9"1E\FK%HS8>CA"%#.,<<9$B
MTA$[9*S4<(603+J'GK[*.#LRU)1ZQP.I9"\@7D!\3"!>6BT5&"L-.0JR%60K
MR%:0K2!;0;;Q(]M!.]Y8.1JD]"@9"HZW( YIX072Q) HM"3@T5YUO(EB2K'L
M:0?C$/<\(1<P1CIQ0QPGU@12'.^G@.LE.^E^0]F_UM;5DWI6QY*B5/;ARCY<
M^?PB"(43RN<702B<4#Z_"$+AA#(:[? 2E/HA@V4V6HF:EJAIV0]ZEG'# F/C
M89X"8P7&QL&)!<;*MG9!MD-!MH/>UA9*<26M0L9K@SC1 EF2'/+,&9D<C]JK
MJ]O:23N'N;4HA#Q!ATF%;-X4]S9(:9010O!'&2;/CHPH(W0*M!=H+]!>H#T1
M)0F- F$J ^*! TPGYQ AD01L#6,Z785VFSP1T41DL$F(NR"1BXHCR;Q5@1KN
M68'VIP+M8ZC7+<'P58I3DTE48N%%'Q=]7()(SU =%1@;#_,4&"LP-@Y.+#!6
M B8%V0X%V0XZ8!)B9(0YBI2T!G'' M+.)&2#TUAB::C3=XZ%/\PT>4&.A"A%
M7@79"[(79"_(+H3U27B*(I<:\7Z_,Q*)*/?<4TP(9N;.H?""[ >+[.N1</C;
MPE?\UY+$;^=GL:T]_#O4'W>$F]DQ8^R[5[NEA5#X]\/&F:^\S)<>/IR:[_RR
MGL%#_4[QNN3M:H.YJ]YU)*^JGVP[;>:S=4+?CF)RS 3[MF&A[*B:G<;JS'ZN
MS^9GE3W+C3CSB6D^F[=Q9[R_^GX^#777]^V,X4]P$SOK[_2F.8-/NX"SYY-0
MN5BU\9_SNHVAFC75N;VHZFF^TS0.&/BIGIU6T?K3_,Q\O8?K)Q'N65D/%W9U
M/JVKZNY5M=)2UZ/S5RFS?^CF6M%$%7+!<<0MB4AC[Q#V@FGLK"1^:Q=3 /9P
M9CCR20'<1[A0IV202909P;WW 5_MN_##O*NGL>N MJZ>]O3?X/ /K9UV*;9
MY;5B]%^F?IY_V@GN<@/<Q=>V.:DXWKW+^?#\7,'9D[P6#2B&R@+SM#&BBVA;
MX*=>T*MS ,<FY,^J7G\$FH1X5,'K +-]LMW 7YDQ@2/?Q_/9(!<@$Z2RT^&J
MX>3,EINW[*IV/JU2VYQ5?['3N6TOJL7LW?P:S?SD=$O0^ CYUTNE9108[(80
M@'_!]+"4,&1T\@*,$@Y^XE7^I29&.,*1(3'OW"N*M.06_DF,)XQ)[O4H^9?3
M<;/OIV8G\_X\B9]_J)ONHMO%OZ_/VWK2X_GM>9=]B7?S7>WY>=N GK"S.+D8
M'S<;3X5TQJ&0DD=<:8.T=L">08*-+;@"3M_J@F.9E,8K%(.-P,TF8SFGR&*9
ME/.4"&<>A9OEU]!XS+S<3'<#\5]!MT^;CW87)[_SLV:!PU_GY<S*W76\S'?S
M\C& ?:S>-K-8B:/>-J27QO<8[-C7:W9/_WI@NC[>VH+5-CNM 33B>=/.^M4X
M:\ PK*<#?_;+/EV8;CMLQ<6B=<>/R*+5W<W^<3M*N[[\QWD+B[*P]>/G<S"\
M0=+:V,TGLZZ7,']J8=6R\)T-_?CKZ3FL5C7O!JL=\,G/)X#Z_2HOK?X*%A?L
MJ>%&@^S:C&!MM%U_L\&76').-NBO]T >CRF.-^1JJ5863O5"JT1M21".(.<Q
M!0WA-#(T1= 05(=@M;=N*SP3(_>&,3"*G%"(8[#VK708 =)0C(D5%*>K6F75
M56U-9_P52 E.6'@W_3UF[0'K^(/MZNYOT\9UL?V88P&_Y+6"P\W4PU6# H(W
M^6'2^#]>5!&4RSD\9=;.XXN%@,YC>#V[Z:?]G3R.LPI<L_Y)*^]PQ:H)Z%5]
MS 3+QW9"S]+W7^H-0+)ZZB?S,'!LOF=J)I/F4Y:1/KA2?;]DW/YX,^] 1KH_
M7;;VNAIZN8254'^\QA#Z&FH,]LQB;>R:07/C];G/D.B-,TB^X8MO' A;AKV&
MA;D&L^U\UBSC??E]8!7SZ^?3T<1>P(K#(S['\&IXG,''^+OE^<#)$WO>Q9==
M/+<9S)9DZ*/ PZU?7)>#^A&T<R^B%R^7]]B173H\5>EC(?-C/V?ZY%=<?#(0
M_/.K%W_^PJ7TF-SNPMM>IHX9O\<G?B6MM^?:>VERL:<\W@<2L#OX1C_8B9WZ
M6-G9EJ:E8\EN>WAP&M=6X:-SU(CV <>QQ[?_63B8$:\TRW-M).+.6^04$X@9
MX:,@@D;+KYJ-7'#"%9,(8Q81EU@@ZXU&CC!+F5+!6G;5;%RS%N^O+Z\41P(_
M_K[>(XC-O12O[-!RAU^],E:=N!91J4+V8V_H/"SC%D5O/EN]>:C96 >F+BGW
MC'!"D0#'%EQ=J9$5(B+JI!.@2 V76U&6W 9 ^YP22;Q!W.3F]7 N(H8Q&K 0
M*<F=499%:.4,7NI_Z]GI5D2EVPRI;,9?EDKWXGV<S2;]3;I]J=HCR1^_EO1@
M!.W1_,FB::]=K=_L19:&HE6+5BU:]0&UZO>WW$3YQGR1J#VC.B&6(D6<8P):
MF@A$.391!DZ8(OO0TM?OL%^7N/JZ;?.&0*^!W_1[ [],7_?A^W=IQR4KY4UN
MKK([6#/XZVM[\OQ(4/4<E??-HDM_*O[R86CQ']=V<8NK?)!*?3,''A_G%/BN
MF=3A*[4HSTKM?YU(Q3"XD6%@6<1<VX $91IQ[T#):^:0#?  S:RAAMZ?87#G
MU+MOG%*'CX1\_&CX%YCW*S4N3\\4*!O$>]D@9D5[CU%[?TLMZ0ADNQ23/F3D
MW(O 6,Y@YPY[\,F#0EH9AP2A)DB9O$Q;C0%LB%+@P) QO1\O C*$6N1(LH0P
M3[1QC[+13-41%FQDJO7;"DA':$#OK"!=SSF\6PWI@Z87WC:I]!HJ74\$H%6?
MR^DGMNLR:YU$-&U"7-[KQ4:JY[]ZU_[S2\1>I4G\C$+=#L6-.3MP?C9]%>KN
M?&(O7N:C6^QV+.KAC1<6SO##/^;=K$X7RP?VEZ(X#:_.FV$?^V4;)_#*'^-Z
MTMV*;S_?D#GODM%^":(/GQZLU<8J]HR[6KG3]@H+U],)> VHF]EVD=:Y>0#H
M.OS<+_1@.=H$'_?23C[9BVZ1P+B^YAMHTZ_8&A=LK>9^%^TP4WDW)>O;R\5V
M9DE33*SBEB/O+2@SG;>.G1 H"6RMY3$:E_Y.7]PM.WNK+,!H07/%(Z)8P5.E
M\$A+*9"+7C)X:F(D[K4L8)B]_GH:OEP? ">\;:;MQG9UOGY1&.!/I_4_Y['[
MD)7 KCJ!42B!AP&2#Z>Y0'U!K.K7^#%.*K8>\SR[S!/(\<]FWMZ\UJ"OB?\4
M%T4WN9+F2CE\UZ</]#<=RG/ZRK5<D@-_B-T/:AR0;?ASH[;YLDZTO\FRU&Y9
M\7"EVB%O:M0)#"*X_WPM_V%9_G-M'40N(?+QO"_ RQH@YU/9/VW,/1\!\Y0"
MA6\J4"#Z6-#;IOT?JUM?B?7#%C>P8X/9PS[REI>)8R)O^Z;'DM[R2GG,]*V?
M>FLV(,>&W_:-;_^M[)C>[%OOU(G^.ARZ/DJYC6BW&(N[__V@??5#NINW\&F@
MM6LFX=O;_US3]N>64X</C;SW-J::W71,]:%1;)\,F4WWJK?=A\KG_\^U?UY0
M>2^!]P?8*3HL]GR:+%FH]-""N_*7JY7#_ PI6OCNH?ENO0BAZJL0GB%!"]L]
M--O]GM-FGR$-"Z<]-*?];W].#-5K((J]9+K=S\L?A/@QI617=N[6PR\)(X\Q
M@\NV=U]V)LN1V^8E71\%6*8EW3P*<#.O?\$I?8#Q.CZY3=W#,HSZ[,6PT.0I
M#JE:A2[HW4,7A4,*30I-"DUNIJ7;92)(4=//CFAWJ:1N&[<H5,RQXR*3!:<*
M30H,/3;1BA]\ (M4I+WXP0_@!Q\^-0H%"@4*3A:KZ#"(]DWM"@[1YWT_]SYV
MM^HA\L2(.#:0VQ?5]I;U?SW9-I=G[[6V) GF,"'(&QX0IS(B*PQ#P@@<O4W.
M!+<UA#N0X+G'B$L"US"JD1,J(FI3,C(:BZW:&-6Z%OAYEQ82L5%>>][7VR[J
M:Q%=+["E7YT:=0]CHWI)V$''[PZ"*Y^$+(]/SQRVL'N5*/;8(\LH0UP$@G14
M#&$0>>UH#)9N-;N3-$:M#45">8ZXXQBYY!QR7A$<6%+.^@UA7V9$+!(B?ES,
M5OK=SN+3D_D[Q8[VW=KE&V-'.UJ_' 8"W4$VWC1G9['U-=S^7WU.+'(VCP4[
M'QJ]WEN_MX.F]R-TF+F/YF</[]O?@5'OW'7FH3KLC6_"?&FP=\^F!,-!*<D,
M2D:EY<QDS!"QQDIBK,!FJUG M_@-#]NC!Q]APT?6H^<QBIJ>A@ ^V0#N R+7
M(1IV?\U_56]L.VGZPL3W]5F>\0JB?"_.YW-8C;$X^C>A]5D=PB0>+JWOP/F+
M>O!JZ6Q7V=N^+X0Y=#H_*[ ^[( 53=I&21**N1L6=\DBI[%&445L1'"2;EN9
MD0>G-,'(1*'!RL0168,YBD$JKYF0R>&K5N:/L:T_]H4T/^?.-;_D3XW=-\6L
MOF9CBF/]P#$K=-WM[WO!N(C6,X\4YV#G4R^0T=PB)I1VV@2O&+ZZ8$$HJWT,
M2('3@#C6%%GF+:+>!Z,-89S91UFPW0VQQ[.Q, Z4>1* ?2 &WV$C.E.&A60M
MLC$W#/1!(><L02;IY#&FS@=[%2"HXQ$G9I$6TB$>&&"[4X#H<+7&!$N.][X%
M<3CHL&L+8A\=G.XE9W5''/P9(4TAR//-S2O9JH4?"@7V28%GA),E6_4!B+8[
MOO6,B%9H4A"IT*2@].-76H[$:WTVBU2DO5CJ>_-=B]U0:%)H4M"UV%*'2;3#
MV""\PR[5_S0Y0RQ7II6RKM'A7-DRS5NFRN&@O;5(I)P?(8E AAJ!@H]><NE,
MI%N3R+FBF@7+46 L("ZH0P8+AY*W$:> G:>;6Z:7<I!W2=^ER]$C&Y-']K5]
M2NBQ> ;I,(HFA:D@R-*$$2?2(,VP0U*(Y @<Q=9<73KCG([66V1X$HB;&)$)
M@B,98Y(AV:13>LREH_Q8CF3K>U0@\R2@>7R6PV%C-]4$FR@#,A%SQ#'.V)T!
M0/K$2 J2JK0% %9[K8U'Q%B&>*(:&:<%PMY*)P(/1H:'3G>AI.2[E'R7DN]2
M8H8E9ECB8X4F8Z7)MR+)(XTL7MS_=5O;R:BMV&?$225-ID!2V<8H-!DMX#P;
MHMTI36:<3:7&L$)W".[\'C_&:1YZ/ W5_S23^5E$?8>!1VT<-0::'D0M=6GZ
M-"[JC(T_GD7#)L<#<3%(% 03B-,0D#%.(6$3,9K+( 3?VD5T1@3N(I*8Y*VH
M9)#-VX_4BL2DPIQH_B@-F\@1%X_?KZE(SDTE9U\TN59P#D('C4%9/Y?62F.@
M]5A\J.?0T&</AOU_V+/S5PO3OF?PTDEI/$Q>^F[LH<]_])QBQQ&-Q"/N)$%6
M>(T\%C@X08SPXLY)9 MI>CT-@R3=2R;"LT@<@S71T42.G,G]4EU(2#O"D*#&
M:>VXDDS?.7'L(9;+'+.1Y(V,'V&>!%B7+DH/  ^&T. ,!5  [SUW4DX@ZL:C
M2(3PU$GE^%9*,(U&*)H"TE@!FF.1D%..Y5YZ+@4&B.,?O(N2'@TZ'')IZH[X
M<(&E;TY!*R2[GPSJDL96N.P>J;;JCE_H5KBM5(6,.%.CD/49DW4,#>Z?&$F?
M*FP>MGNNB',V<(LH(7DX4J#(:4=04@(S*0Q+RM\EV%K:UN]YP:0T7!&6D'*<
MP8)Q@JPC$?E$M6>!")G47<*M#[A@ZIB.)*0R*D!Y$C \/H/AL'%:)\$-$7D4
MKC>(6Z&0#7E[3#).J A$ARVQYS$YKR)#*07 =N,3,I01$'OC Q8\Q.@>.HPJ
MC\E(9/Y.\W!+A[_'AYA"DU*MNZ?N],\I.; 0I1"E .SCV[6%:"5ZN$WDW]K&
M#54)%U63^OS.@>[OY]['[E:%6T^,NF-#O^*@9@<U8&.%,!Q)3'.>C]?(L@"^
M)S5,2AX=<^2J@RJ\3=%)CH(AN>44 ?\I<8\"%R&9P**5>,-!79..=VDA$3?U
M3.G7"G4P'HEG.BJN?!*R/#X%=-C"CFURWK*$A,,,<94(LD1+9"VVG&N)F=VJ
MT$O1<R6%15HFC7A,##EF++(":V8I5D3@?4>C#D?F[Q2->N1"^D,'H;L4F]GI
M/ 'CS%OX\FI23V,5/\.M.^"D>RNR/W1Z/Y%:G%*K?VCT.SP>>Q[U_EBZ2 5'
MUAN#N',.6:S!1C \.>4I=SI>M2:BM-9[1I%0!MP-1P@R 4P*ZE(R1(;@Q-8D
M]@>I]Q=' N\N^QJ!]*TR4(O\C1&CGHAR'(.=L9\P'/JT\$,JN*J#P]7'#!Q/
MN.#L25A_A=8C26-]#G1^5J!]V*$K'AT/6$HD<QHDUSH@+;%'CBH3;!#<AZTQ
M!V!_$IHH&*@8SN0Q)U)I+Q#647 <%(XYMOW@^9,/GTOU& FOT1E)K5<H",40
M]Q8CA[5%7FO/*8_:VZT"8B94% +< <^(1!S+B!R)#C$,RR88%RD\1L*K/-[=
M"6P\6PSC0)DG =@'8H0<-J([S:F,WB"A,,GM @G2+$@DL!'.&R63V2IA\-[%
M0!G @F  $!Z'#"H,Z:B$-%@)DQY\<(T<98<!^-NZ21Q32_[AV12>_<7'W5B:
M0_VQ\A/;P1K!(\_0I.YF*$YB[I3;/_8\MJL<P\57]'LC[)@Q]MVK4'?G$WOQ
M,DWBYTUR_&/>S>ITL7QZ?P;J9K:=O>H_'.7G=2]S;]Z\=[!%HLMO6#SJ[@'B
M3=:X&0'9,>?*$$.X(%@RH[Y;WW/Z(\9S>*?)B@[U-'\,ZLGQ!0J\^*_OR9^6
MZY#78+GP_3,)QM]=N>," 5+3S*;-+ [B__;#WT%:L0L&K+E(P3RC!.0X2(^P
M RD&.R#B;"%\/IN\G-CIR?]]$:?H;^\?AG*;K/>W:>.ZV'[, E75T_/YK*L^
M@951K4(,[J*:G<:JC9/>$JF2K=LAWE UJ3^4[U;W(_/RGY<S\ZK)(KIY<;SB
M[35BP;^ Q*O_#C#S=GX&1H]?_GK^!1[?+?1?%\2];W)<>9G;+,4'(.6;Y@R>
M>U&!E0<(/(/K,H&_@>1Q\)&[:M[E[3];K?6>K+I5W\GCZLTI,![<OY[V-SQO
MFW]$WX>48MOKA*E?/<WZ?\[K-O-"OFOL.GCH?!* )[KY9)9O8:M38)?85DU;
M31I@H-UOV#B@\_#GXMEI/@,5=;R.?X>U[H.L@%4T"=_"",.I^5$OZQF\A=_)
M&GEOH.HW!ZJ_1INW!D+59*J_;:9M]/.VW^O]P79U=[A4O)OT_#CL=U-,V5'F
MJA["X#_3!M@4G0U4ZQO-5[/FBD2E>@KL7MM)!1HWPAFY4_WD<FL&[F=GE86[
MG2VI#_]>OT=>B^GZ6KB\%L=WMI5N38[J</G@WJ7I33/M_9FL\M[':0V8]1;T
MT;,5G5^FU5_FDPN0'6)ZV5FIH;KKYL#L__[E&,M7'[QW_RH1%9-)"6GL+>+,
M4:2M4\A@FKRAUEV3[!6%4I[PA+#-&[G*2^08EHBQ& T)G#OBM@,P;O;+M)NU
M\XP</\,;OS[+/M;.C5FYL3$KOM:-4ZO[Z,=Y>]" LR>9RO;DI(V@I+-=4 ,R
MGF=H[+]\:1)D7AFDYKA:QJ6 7?(TC]Z4O"/'K!9^80\N6P,D)L%X-L@Y3V'=
M;436@)MML7!2$$<(L5?7'4ME)<G)O$[8W+F/(2,31XE+*ZR)*0KVE75OXS_G
M<>HOWJ7?X&6:4/O?AJ$ECR*N73RKD9U.Y^#@7*P;UAOF\Z/Q4+8&6_#"VBZK
MQ;]8>,_VHB*B5ZH]SL#?P$71^M/J LX[KCYL,%3U";BP JD!1=O?8KCF*.MV
M?@22-\D6*%PXJ0<[,X-Y-HA:T/3G\]:?]G-E\GMX#SYA;\E^JF>GF7%!90.S
MG@'7OIY=RZ0/9*U$'\\<O#XC_7>QGCKP!SVJNCEX9)GA9ME2Z>WOT)P/MG.J
M7K__6SX/(RP'K/9 [8ML<FPX".ODM-WX$%Q)XJG &,F01SLSCI&5FB*F=(S1
M@SPSMQTA8SA%#:B?5 ZAN]PS0B8D$J6*<0" 2+<2;)KIR0=8\"S1>T)M:48*
MVM,Q:FKIC7=<(4EX1FP.B,T(11%['PS1R>NMO2U831$E)BA(@1'71"#;!T:=
MP#YQ'P/?TM3WL,Y4\V,YPH4^RG[W.3CK]<<XN3BJIK'7RG,@2 -6[;\ ^P)0
MH3?>>NSS3;?P::X/)HP=*Y+1VACJD"=)(4Y!>6LO* K!XFB<<(;@?6/%*AMO
M3\Q$L+F/7D!/%#6PL-XJH0$!\F:I#6#:*^D1"0(,?!QBP%N56W=%C7VO.!?T
M^!Y*.?8,'X/Q]45, *O>5K]&.+LB_4E#\"XS3H:+$+-!54]S>+ WO)HAJG<&
MJ ./\KT=T]J0PXCPS*&*].HSX#[PXQCML2WK-(>!0MWY>;>P,@%U8Z:"K2?Y
MG_FLWER]_Z^Y><CC/_Y-4XI?[8I\'/7'R:M'7('!U.WZT':_86RS37\9F>MF
M\$,?OSO@0/'=2/1N6JWXE/"CRUCGZ.,UVDDCHG<H:L(0C\(A1YA&5#+K4DS8
MI"T-3J,/CH)S8+AQ@.<6M'[DX/J;Q#G7BOGX-;]]W_$:B?$H(?TK\9H:K+\>
MTQ9XGH/5YWUF$9P_@9?*Q*K <\[V8N]T=O'<MG#X:'D>>.#3>-+,ZEXJXV??
M[Q[U()G=5=_6@X-JX3T64?;O,V,N<.>G]0O>KU_P>G7! H+^-+CJMIK49W5^
M&*Q"9GCXCM-F$F+;+3\I;W/-X(9#V/\2G^$1'D#.PG<V>2.@^N<<)#?5/5IW
MLWHVST\&"KGY1;[=^H?_/@=D))R_!H:!9_7"]3X']8=]@->^)R@Q# 0/=!8P
M'YP6JN\7W[EYZO*+CJO?UAZ1;WD3>FQ*]I+D(Q1NA8FC1BMD(_R')Q!SFRWO
M)"DCP5-J_-:T':\YQLYX,-$,N(42!V1ROHQVE'AM@S?.;B2[;$KVDG[[C<82
M=:S&*-TK$5[Q.'S'^/C ><#DH T*PL*:*IR0$U8@84/REN#H[);13DB@' X@
M$0F /'ASF7<BHDG%)&("Q)4WX(,P,,*;[.Y.)C'LB2,8.&UFC!QQD_C\"N^O
M!>(/K9UVPP>M@#>#T5@MB!BE!%"(2'%E$<__L9X+!*8#8]Q0Y?G6CH]QS"@F
M::[G3XAC8Q%XA1@)Q1VCV<5,US0%OM\='X/O(T/Z$3EJ0WNM<=6E/A\E6%%C
M@O4!M)2P8)$2Q9#S@$,JVN0<C8H)LY5SSP,@5)[EK/)V$LE-IAD@EA"4.,VU
M=S)^ :Q^Z47KYZ9]8[O3I\Y/8'QY^,Q^FV7+N?[RQL6*S489C+1:$V<9:#E"
M><[L,\ $7"'" F:16<K"%N-P4(V218("RYL=%AC':AF0LX!CWH+!@\T#!+0%
M&2>SW#2$??3%&/:XV<8G(0!D(HHF$,0#,(,S7.;%<58E8)VTM=]U5[;9=T13
M&#E*]W=W#//2Y[V_&.;J&4,,<POLE@'$R_-N&D!<:-@QQ1&?5@#QD=/RLB0-
M:;(#.RZ2GO]/5:WG_Y_;DXBF38C+V[S82$W_%ZJG(7Y^B=BK/I$]U&WL!1-N
M/9F?33=+ :Y6[!R+>GC915.GX8=K,^3C-+PZ;[JZO_<R&_R5:SYGDL ]7ZY*
M?S[?L*;G+E'86Q<7[V$1M=Y8Q<LD]KQRI^V5B/2B]* O,'AIY[/FU>8!H.OP
M<[_00[<LF^#C7MK))WO1O7KQYQ5+7%?3U:_8&A=LK>9^%^U "VK6)>OZW#)'
M!%4:Y[@5V'0\@EO@<%1(2*H93DQ:L56S%2/WX']:9)Q0V</DR$J'$<T9.IA8
M0?%64></BQSZ-\V9 W#**W/9\>4#W/N'2>/_>%%%T-'G<!UX#XM6,X 3,;R>
MW?1E_TY>?&,AT:ZJH9X'QEHX=,MTX:W7V4OYD%CIEIM6#SW*)V]*R^M<WC%@
MQ&4.]%IISNWVV.03S1[O+;EK27;K[<BG2JJ_@ED];3[:ZO_!([*G__J'@R76
MG;=NW_E9D_T">LW&[7]V_39:'6K;7AQ5O\=S>-\XK=Y_B@'^Y_4/ER58*YJF
MMCD;G&'PV>"^W2DX%FM;9*L3UZ-UJQ_?YSAYNXK1K>^!P<%\J^H]N(B]A_3;
M(J?V<G-J,P+8G[U]TO+F1]5@B@_^T?MX/AL<I$R#7IB^[^;^=/C"0:0&VEQ]
MY369N[RUN^A?T9Z!WWL-W88[7?GJRSC"@OQ'V>W*6RR@<:W/WAV\Z\G<MD"1
MIEVZ>I>%:_V'7+-(:WN&.V@R%M?CX=,F%FKS<<1OR0!'%3P!>*WNJM-HPS]A
MB7/I0N^%_[693(.='"W6\PC6.&51.K,GTS@#,_&L_MR75 +OA#97PL[:O,<\
MB_YT"E]QLE$H!F^1-\WGW5!!>S)I7-YQKIMSX(PS^+YYWT\![+K,@?5RWQK>
M.,=5JI!#%<UY+VOYP-E&4]>F/8%K_C7PXA!?N$Y*JC1O^PWP;M;&Z0G\F3EW
MWE9I,J_[>X+',>S]-^TL@<_<K/+DN[XD-,S],\BW^:;PQUHE:[_; 3P"#/34
M2723FN5<;3&?]D&7IMW$W76FS&D3U;),(P/IJJAX@,_7[]]4&H\S_+7TW:HU
MYVT,L:\K^JP":;<Y5\3"KS6X->> <Q=K<<]4MV>]JN\Z\ =70K]VQIH!<5S]
M[:MZ#53J9+*1D1-AQ>&9]:(V;-,DZ2MS5R9-9I?-&O%%"M 0S9TU>5'@EJ,+
MZL=(5)+!(.SA/UP&CXS,Q0W:,2I#I,IO[05934/$.B$52$ \_\=)R5'"3"OM
MA(@*WR!DL(%$:T#T4T_V945>-^PYOIZ&_$<NS-M7.KNBHZR-^((RS''^-._3
MM6:G;3,_.<W%BKWZ ]8<'6]ISI0/B2*9#,X=B!FR-'HD0F)8&(O)=@NAV_#6
MHI*Q^]"\'N1QR6RQ^^^VN3++Y X,(_DXJZ86&]6#H[#:;]R1C/Z8#,$H%H)%
MA2@3"1C""&0L4T@YKXSF1DJ]M8-X%[!9DYUK0>5=N\24MWV&YKO4*X?%T0VV
MZ5W3;IU?\->V&ND1-:-*O9I/VW@"RK)W%X8/6CJ&ETX\6//@B,*;-?Z/$>LM
MS3'WD6AD4S*Y?R&P!9 ;42(BU];&9+:ZFW,J:>(J(J=L9K^<@"6]0<9(X$S%
MO7);Y37CTUMZE D0*]_OVH8Y@S$$:W>6.P*U>2_S<J_[^084'L_IN32'UV)6
MU5F<G38A8\+"$8+%'+3*LJG,TMZ]VET&CL_/8MBVD-N8Z]=7H;.K3PQ]AKZ=
M+>K:+\NZUOACD32SL2>^,/>;+EY!L%V)%#D]9^.%EU]2=ZM.52'[$RZ.#^R4
MTMXR:5"0N16;2AA9$@A2BFC*$CR%;!GID2?A709('/-@*,R1L\Z \E3,J1"P
MM/$&8/<[K-_)-*<S_1+@%>M49RA[W;/#PMK*&+<V!.+UP IKO^PK47"4F3M'
M.[*YP&NTTY,^R^2J\!P"R_E<[I3-+JT805P[T)H46Z2Y",H*YH7;GA[RR"SW
MRXKDP\GO<N3PPZF=_G?3A-R18U])9'J\==!#GT-0O7/0L2>+[SX(CHL4,Y-B
M1&"<1;#H<JJ[$0K)*#TPH;+@,^Z#XY8L]',-O!!_!5USE7%^7]!OK\7S1(R2
M:09]><D<FW9;YBAX:JYCF^86.*N8YWE;^XQQPS?G4^%G8*LXS>>?VPQSR_:-
MZS=81>>.UP,;J$_KZ9_>MWGH>][EIHQ^,E_8#K;?9FBFBUC'YFO.+HWPRLV'
MW8OX^3Q.%]F)?7?(ONU17SHX;*!</@N>,\_7#K18!B#S!RV/C$]:)*7.9U]&
MY[XSG%A@>J89XHD$AXE*RJDM:6%)TY0DDESDCJ[,(^,)08D(&ZSB.LJMAA+7
MN-)O@'#OTE*,?@*$GEVL54WDP_M2^6R< 9>LXB\_>"@Z@I-.%NRXX*RN:WR]
M;JWNVN):[H)GTW8POB\/ ECO2,==?X,-7AYD)I>.GO<"DB/9@S"L6J5NV-*7
M6:6#9)T!S?(^6[;"X7;-6?Z?X<%/W5VZ^3;*6CM3(-I;\"X&FZ-:RL4SS1+Y
MT#?BO01\.YDT?K4?<U5_=)NYZIM6]$U]SMV>)2B9ZQ/:!Z-]]3:7WNYBWZ_N
M-NYU:D.OD'K]EM.Q)]DZ[>^>TU@7M=CKVM#%+#=P^*.M)]E\W2R%/K,7JYWM
M-GZLX1UR[L875.T:'<.P@SY8>F>V[EWY!076FL0N--YQ]4,V9_+&OOU<U6?G
MP-67&2 ;9+CZI(5KD[]W_?GYY2_;)OM%$V8 JJ%4_?K^LX\9Y-F(\NQ,GC7&
MTL2,!/^:@W:442##(T$")RVC]2JR+8U*P"N7QBL4@P6;-1B%7. 4S%$)"MA3
M(MQ6><M[?QK#?!+?I6U'!QR;K[LY'S(_W33+]B9?U6?9/@B<9T@;#4RM#,J!
M62]MX$W,ND9$>NNS6Y65I@8N^)1E\ONAWG2A9YMY!S?N_O3R:L7$=I/X:W\M
M511CKZ(PI8KBX*LHULN7OJ&.XN_D=A4-=%-JOX$+7^QZW9MB_'+V3#]ZYCJX
M[[EOP0AY+3)?P-+ETQ$@1S,'!,A3O%X-I#;X&'^W/!\D;F+/N_ARV7AGR0+#
MF*;^UB\N9^',5M(!UD\]C-AXN;S'VHGK<Z"&IVI\3)G\;IUW%^L],.^?OW M
M.3;\EE?>\C)QK"F[QT>N#Q5:I^I"\'NF<M;_<=*"8@IH@8L^)9S\>KW( #?Y
MAQW$OSJ$JQ?HC#73Q5-N,G0++KYNXM8N\Z._[_J#\!=,D;',A,^M$88-J_Q'
MSB$#CR9;&0\_-6XL0'Z_,SN_=8KW(U!EDYUVD>/?'YY#KC6D[I,ZO3;8H[3M
M:+X:#7<^$61Y9(CSO$,@)0--C$4(4A-/MYKUW24ZNH_=JXP;<."G2\#8&41E
M&T'4KTW $T=*[MYZ>,)2=SO8N9U&3?W_%8UZ'QKU]1">Z_HV%G4_YZWHTF>K
M2\<V /R)JE"N4N0L*,1M!'68.!XF%:5H(P=%F1O3C4Z%YLW:Z6PX\_<56.Q+
MD;(CQ7:G(!61VXLB+:[I_2G27Z8?8RX'OBCJLZC/HC[O4WT&&K7"42#*0T0<
M:P.J$!NDJ,9$DQ15V![O]\CJ<P4/>]*7_(C3W;4*1<:*XSER??E;3F6LPV7Z
M5 [K#ED.?C U%]D.19\6?5KTZ;U&=(-URBB"L,F-T!5UR DGD'28!.T3TWAK
M;.ICZ],-=W2!)3\-4 +G]]4)P[%]Z5M5O-/BG1ZPMLT)R[.A&U;>-^U[!Q75
M6E1K4:WWJ5J3MCAPE9-8N4+<YQE&/K?I8"($QX12<G2J=8D5OTTL*-AAU[2'
MBWVI4L:**BV.ZZ&JTG>KRI])S&G+/9#TXRFZ13ER4:M%K1:U>I]JU5,EO*81
M69(;JP=,D>:YCY%GT27)K#;A+FJU'\^T3YVZ HU?,V;\GHGT+OVM&R[=DUZ5
M9'=!9Q&YXJ*.7*^^F7?PB+YH;S(4T9W6YR7Z6W1IT:7WJDN=9"G*OKU;[O;F
M+$'&P3\95UH*%8W$6XT#G;&@@I4!Y:GA&FX-LD9Y1)B-!G2RY/HF74H?H1O-
MMZE40H^DV-UGL A?\59'KE5_'#K%Y]9$RT;T)4.IZ-2B4^]5IU*CF,X>II/9
MU[2:(F,E1]JF@ DQ6CJVY9\Z:R0U' D;!>*YN#5WB4.$,A.)(IC>J(/JZ'4J
MYT=,J:)3BZ=ZJ#KU0Q[U"H_[8^@*F/^5Q;*HU:)6BUJ]5U<U!$F<$RA8#2I2
M@9YT-/<% @WK' L4DRVUBI76C@:'&#$,KF$":>4XHM%Y+PGQ H^T<>JWJ57#
MBI]:_-2#U:EOFRG*3:/B;#$&:CDZJ$2 BUHM:O6>\W]C8MXDY!TVB--<CNJL
M0(0)'9TPC.BM>AHNM>,R*11C/]HZ1.0BQJ"/&7:)@6Y5X2FH5:6+JUI<U8-5
MJTMI*$JT*-&B1.]3B4;B%"-Y[)6B&O$@P<_$CB!NG.84*RH%W4>F[[YW.(DX
M4JJT,"JNX\'JN%4+HW-[4?H7%5U7=-W^9.O[6[:6_\89;-9:SZ5$G!">4Y 8
M,LHHY*,@BAKA/=[>+AU' >KZ@04._3; T+X4]!%G]#FJYYOU]?Q3\44/2$^W
M\[@QN:*HZJ*JBZH^)%5MI/74,HY );.%VHW>(J9%\(HGY=+6W/E'K;RY5D]G
M'+K)$-5O4]7TR#!>5/4#J>KB4C]<C>M299?4X:*PB\(^*(5-:"!1L(BLSPV'
M)06T5#XA&13W.:$J\3&7RBZ/7RST^+Y4M7J6M;+%IWYBBOK'N!C-G =0KK3T
M435I,O5B>U84=E'816$?DL(6T5II)4%.)(YXLAPY22VBGD>G(O.)Q%$I["4&
M?;"?5]KZ;3/U>U78A!YQ_2P;'A?G^HGI[)W.=5';HU/;J\FMPR_'XGQ6=<VD
M#M5RZ8MBOP&1BNJ_F:\>0DI1",08!E_=!%#CDGBDG+ V4N("%Z-2_3M\==#^
M>W;7Q>.[ZU_@\D%;8O9LS(,]N_3TGLP#.F;SH'_:IX',KIF$G6OWLZW;ZJ.=
MS&/N,CF-R\$(E5V(9C$6QF@LT&.:(2(T\SP1_!'-A=$.R+T)O0[><KA>TVL;
M?++4(9U3QKG1\%?D$EFOL)<RT'"W!I9WS'A;)IE?J_3?[JUC)5'T2.+''ZSP
M149\3.6^WQ3UW6[^=0Q]%^5^<(ID_?ZOV]I.[D&U/&^B ,?EH__W!6#470DT
M#J4P?D9Z!G1:QSKX.ZNR_^KU2;Y!/9W;A4()]<<=3@([9HQ]]P7'0,(_'\$U
MN'R7+SU\.#7?^64]@X?Z+Z3?#KJ]NJXF] E29F?WIM-8G2Q(D!VJ?[\NM/,-
MS]G_=&@P[0(."5$:%>(LY@8WD2-AL)(\4F_47JHAOEI)*#>,.?'U2L+CW76$
M#[_.%9P]R51M(]RVRZU$JC2?S=M8@04\;<YJ7[DXC7!5UT\A]+.\C]Y4MJV[
M6*6V.:LL8(BOSVT^TEU,([ S/+L_- ,VJN%9)VT/,9F3_AKAT<U'FW]O^A/
M[(;OOCBN@.G@GI>WJ*=^,@_@T*_V F)*\*@X]?5B%F(W@R/Q9/TMS]OF'ZO7
M=+&R_K2.'^&?%BZ![^SFDWX217[TZF5ZN>_ZKBK'U?NYZV;YJ^QD<E'900)F
MZQ+1 G' &@Y5O4D5>!RL*QR8P\)FPQB8(7]&<Q;[Y(/S>7O>=+$[OCNL$#IF
M7+DYXE[VJ*A>;XVR!(5T#=B0*P__SS?P!-?6_WG4V6F'NMC6Z1(XWH([U@*#
M+#>."=7, 5" =PD^I<EC<:-&%A-K;13.VG05-XAE4AJ?YQ/9B'C(S;0"IW"-
M3,IY2H0S5W'CO3\%+IC$=^GG&H C_EI_W.['L0H;=[_9=O8N7>.(?H#7^&'2
M^#]>5!$0YQP>,6OG<5<P[^EJH]1,)LVG# *]_5+UP3T0K]EI+YJY+5(S[?%K
M(:SUPG'/4GK)8\NH8-<UONXAZU.]N,5U8# T+SR-=0ODGP&&YROF74SS236!
M)>U>KK'KTL):O.#VZMCYK%GZT9E*\#69Q/ET-+$7S7P&'_XYAE<#$0P^QM\M
MSP=*3^QY%U]V\=QFT%LN56].#K=^<9U#^Q$^9=AQ>+F\QPX'=7BJ8,=:D?S<
MSWG9\CLN5@*XXO.K%W_^PK7D6--;7FF.M>8/_M3;74;QL<2W?=F;7/:5#0?]
MQ72$D<4I]$%[Y$^$)H](@6_:^%Y^T#W2[-+)OZ^]J+\M]4.Z59N%O6ZVCH&V
M^^;(?4;)GA]W]CNE_Y-W2@MS[I<YB]8N6ONI:.TG)IJ%)@^[X_0D-.7WK\^&
MGEGUM)J=-O/.3D.W,TFLL-B^\^I'IA)'D0MW(PU9/8N=]]%K@KV1Y"FIQP,C
MRL/K1W-0]"DT&4>F^)X2P\>C[<8Q 7D\)'N$U.Y#JUZ^?L<W>J&)<0(Y0S#B
MA&JDI<3(J1"L\MP)*[=V?",<2<$@)U5$><8OLEHHY)4@47%M1&[@M;GCN]S,
M_<)^[__V*!##:R"H/8E#G/C7.L6-K!'41?\RS-LL_5V<[D]TB*@NHFTOA66#
M7'=.*#XT=CF@HHE'A^@1%42,@VGV7]:80@HQ>80ISTDFFB##?$!2:*TH5H;2
M+9@:SX3Q?74'++/$#Z31_F$93P<R&WP\!"O6YBVM3>>X(L%Y,!H!C3GV$CG-
M)6*":VN$R\!\%<8I)P(KRI!2A""N$T=&1[A%$CP:XY0DO%B;!\XNQ=H\I&X=
MX^"5_5?42IL;9#GD+<X5M7T#K>SFJN2MP(Y*O#7$,#IK)#4<"1L%(%I4R BL
M$:',1*((ILX=EI')^1%396)A"6J.QLC\T-H0X7%_#/GF^5]9H(J=693!#CO3
M>B89C1@)Y158BL$BPP-%G!-EG3.4*7T5R8/C5E%ID%21(VZ=1=K'A"(UP3(
M>4JVIKP7._/ V*78F<7.?'0[4Q+!:(I@6 ;X#Y>*@8D)'JW5CE)G$I5VR\X,
MWF&P,"T"&S3CF+3($290%!*0+F#&Y5:5W;CM3,-*)+-$,D=C9+YMIBB72<;9
MHK3QI(WQ+)=,%CNS*(,==B;63 9#&)(,?'ZN(D/6"(:\,31X8:55VTC.F;,.
MX#X2 DAN><SUT@09XP0 O& *'Z"=28N9>9AF9FE/7-H3[S95(^9""A.092P[
MQ1AP"J> B$G>2L=TPN0JP'&I'9=)H1@%.-\X ,!%C)&C#+O$G/<J'):IJO3C
MQT-'VCNXQ$S':<[>JLCAL*AS$%;K#KJ0QRP@O;8C4"'<* E7&D@_I&7WK!I(
M,Q]X3(D@IJU'/&"%K*8YKA@E881(<[>QCH=AVPE]I"0=F7GWI/I';_14W0@*
MW*&CZF,U^%NOC+Z7CG\_3^+G'^JFN^B.JE^F?@^]$ ^RJ=V[Z<J"77_X-]QY
M1XM#%ZAQ-'J4G$R >E8@&Z-$QF(=E0Q)N*T!.<H K%GGD/(&O&!B)=*$ _1A
M*KCAS(./O OUUMKE_912!'3Y&'^TL_@NK1TAFR 5X#@Z@U<XS?=$P5Z@'%U#
MMPG8[6$M7I^W]:0BZJBBF+*OA/@>_O6.UOND]JT.)S$W(JR7\TT6S0J;M-ZM
MM)G/<AO3T#=.A9-F%WTOUC9V0TN#=3D\G[?=W$YG?6O7:?73</IO\]:?YNEK
MKY=;!4.WQ/4K/[Q__5OU_P LX#%=+\_5]__Q;YI2_.KM7ZKW<3*);?]O\NI/
M1]5_6R!;]<&V[46?ZO(>7G 2+X9?CG*+UAI>^&,=YJ#;JN]SP\*!H287PZ-7
M]QQHLGC2Y0LMCG:7C[SF,?#QIW57>9M[,,)WPF/SS58]<&U^XI*,V_>NOK_^
MT6OLOGS\\>,Q375W7!UWC]F;Z!=XAC_-77I/HPW_G-LV\W]N"%K]T-JI/W7S
M]N2HO^=?8&$C\$8#$-8.77U;L$]B!Q_3\Y#O"T\K>/(\@0DU;[-< 8\ ")Y,
M(IJ#F+BZ.6\;#YB8C\&?N0_PT*C8]F+;QM,X[3)SP=-/>A9;G34[M;-5R^/-
M.SE[ M^2J0Q6X<#1L[G+1W([TS,W ?-QV3YY=;^^4?& %;WDYJO@J_+_-/.V
M2I-Y'?+7V)/A^'G3SE(SJ9O\5CT5LD273L4KOGK3P-*%N&AE/8,5[(:9KL_4
M@/FP"8[K77,_Y5[;WN?N.2!MN0EVWWS[?*E/LJ*JW,)^ "\'J%J]?O^FTE@<
M+8'U_I'SYDN_-'6J-0^O.UJ _+5FW,,LP:([\<HTB-,3$.>,-K/3N@WH' #O
MHA^+-C!MJMNS7L4#KG2SR];'EV? RERNZ7'UMWYI\BEYX.JJM_)/O[T^&DR-
M+]D8&_>J/L&OJVEL/4_X#8'J7\8N9KC-FKP@<-/1#1XPDAE"!47>YG)RBATR
M@23D=71" @-[[O=I7:]QW 8 ?;C$G\%:^V5)]U^Z;MX'%_(?V2_=T^P"3HYW
M3Z%Z!/MF,;J@5WQ? J*4\27+2=O,3TZK<WO1Z[LQ3K4@)FA#O$*,<X:X52(7
M 6/DDM(84\RCW9IJ<1OF^FV@0?>A6<2BEMP6N_]NFVYWY.G;.(::47),-O^\
M[4Y7YN%@='7CXP<FN(!U! 8 T &P2;"V-!HD@K",P8V3OX8?E'#4)"0=)7EJ
MGD+@]GODA XT)$+<=O;--6#S"PC-V;1.M>__.40N?\]6Z[OT;C[+(RVZOHOL
M_ZM/3O?$+_*8C9%=0CQO $\&OR%VOFT^]?IK,2AE 2C=X)'6&72GOK=QQL9.
MFI(HHX[(4FH0]TXBFYA$+ IL/$O6R:WA%_N*#%VGH]ZU2Q7U=G[F8OLNO3^U
M<'PXNL%477]@G9M^>?OS5]B)D2-.=L]$?@2.FD_;> *65^^$#I^T-*D6)MQ_
M=MEG.VORFS7^CQ$;0H%AFZ2)2 +;(.Z,0D8G N2WF!&5*#9TNZ].M)0)EDL/
M,P-&#7PD-*)1"ZZ"](3=9'/ED0TA<<S'Q%1+F.J#%$T>Z':2[9MKK.NT,239
MGI^WS>=^ILGD8GS\I8A),4B-HN*YN8DPR%JM$>$\.".=-GXK,>N>#>VUW;I?
MICX/;P][TWQRA"PUENCECE&%_Z>J^@E1?@+^;-ZL/(EHVH2XO,V+C0%2_^KG
MFW]^B=BK!,X""F#V]H3.8W'F9]-7H>[.)_;B93ZZM8%Y+.KA91<)7,,/_YAW
MLSI=+!_87XKB-+SJ#89\[Z%+W<>X/O1EM1/Z^8;;G7>)H-VM3?+=%M'@C57L
M-T-7*W?:7@F5U5-0=/ :,]LNYAEM'@"Z#C_W"STDQMD$'_?23C[9BVXQ0&=]
MS3?VK_L56^."K=7<[Z(]4.+.\.RO,LC-][C7)*M'YG7!6^XP$D'!(4TH20+0
M#$XI<KDO@)!4,PP6I17^[POE#Y>"#I[=^#+VXFG&F7<.BUE%V-9W\L[B[+0)
MO98>PJC @H-_L1Q@M@RD9:T_N=1+^7A.([DN^+::6FA75N?Z,_.>[%%E9XMY
M9V!"G0][;VMVPV+W(=L6.3-W?8!:T\4KMNP0F=DT.O+A:9QM?48>I+@:L#9,
M4AR=1<*D"RHHBG0(X%ECX8!_$T>42@W&12Z\QO?DC=\ZG6CMEWV-,.7'9(2V
MRB =V\QVS>R_@^(Y;(AGX&59'!WB2I&^R@#!_TNB?&3.CH[GKA9NO8-U:#^<
MVNF^A^G245K-RYF1&4'[1(;+N;&'P'&4Z^#RH%/GM4=<!)J[D1$DG"6$.T55
MC/O@N*]7_/V^H%\?9MP?>HTQQCBHRDO>V'3>,T/!4R<UW,:V%Y?[J.=M[3/$
M#9^<3X6?@:OB-)]_;MM^6FF?*+!Q@]5^W_'Z;@GJ[=[^Z7G[#JZNILTJ)V$Q
M0'DU:#4#K-^U)5ZY^:R_0<ZCF'9#Z#3+Q'ELZR;T^4=#\/WR6?7"I1YHL=S2
M/.US@H8CXQ,6Q9DD?7L#3_,8<L&1P=XB+R317BL>R5;75BF]\(8[))+/9H0$
M<"<L(.4(,]H[H]Q-(JIO@'"+%+L<^@* GEWTL8KA!?/AO:G\46K\7L-??G O
M)>O#QA><=<VDWQV;A:N1Y=FN'6SORX. UC]&'W.8NF)D2!0<[C@ZIL28.EB[
MG/N90ZT)+%9' )*=!V20Q@N7MGH#62TLHRPB(P+8&3AW/#?4P#76NL2--U+=
MP&98(^?O YCLDP_Q\>XT]D?FPYPA\55>7.%8&++'^JM.VQBK/A46C(-^IWJ+
MSP9$7+__!FH.Z R(VISW4)QS,0;8[9:PN^&P=3/XGW[+:L#P];RTQ;!ZN*Q_
M<,G^6F45KL9F9J*]!1=V,&ZK)0(_XRRP==/"3B:-7^427;54P#BQV1IHIM>X
M:S<-;>P.7X YTQ_;DJ#!.UR]S650I=_(G>5LX/5[G=K0FSZ])97@PR;9#>KO
MGB.*^1PPZ]?M+A?['?'*?K3U)/M)FSG;9_:B2O,V.T+@%GRLX1UR\O87C+HU
M.JZA11O/;-U'C!84.(NVF[>+#,[>MEIF-0"6=)G.&[GM?!&3R9^T_HC\?N"N
MS">S/CGB-._S=UGG-?TK+U=F<T$><WM@8W]@+>)[]_()S*1F+"JD" <5JKE&
M3G$PSYB3U$C#O=O:UZ0FQB0X&'\D!E"[.48DN85_$N,)8Y)[?55[OO>G,<PG
M\5W:=K3!L?ZZF_TAL]D'>(D?8!G_>)$S$^PY/&#6@K?T-.'Z2R"T<DP&/KWT
MI381:0,'!E'KO9ANMCR:&KC@4Y:X[^UU R!?KK'>L@"LK_^ZCN#]AL5B[R!_
M=]Y* *+ET]'$7C3S&7S*YQA>#9]E\#'^;GE^KGZPYUU\V657#KYE2?R^>G*X
M]8OKF@P OM0]LUR\7-YC1_> X:D:#"LFOUO?[EC0=MCO^/,7KB7'AM_RREM>
M)HXU9??XR$=KW="+4D;WZ>(I>^I6L,Z/_7W7'X2_  9C:?7PQG:GP[Y#_B/G
M&8/-<)^-RT;53^\ 6BR5>ONQ]>7:>U A<:-CB@0QF5MZ!LZ0U4RC)(4V1&.3
M\-9@B[M$NO:Q$9%Q P[\= D8^QI3=(3-[LSF)RQU!];;LVC4707/@P/<Y9R
M",(!\E1TZ;/5I6/KC/1$52A3!NXD7.Z@"NJ0Y9U5&E,.N2?#>+!]:YF1J= <
ML)[.%N4?*[#8ER*5>O=N;!&XL?04+&ITQWK],OT(?S3MO4T$'!77%N59E.>C
M*4\"7YH,5RA(:1&W%I1G% 9%ZYP#%4DPWTJ$>VSEN8*'?6E+^?A=>@]&PHK3
M.39M^5M.2:O#97)"WXNFWV#T@YFYV&@LVK1HTZ)-[U.;\L23BT0AS/I9Q20A
MG0<T,2J5I$)8XM38M.F&*[K DI\&*('S^R3SX=B>M"W;73I>!+"XIJ-7MCD;
M<#:T6<Q;IN<Y1ZAHUJ)9BV:]3\T:)",,*XL"51IQPPUH2<Y1$D[GS@61Z*WR
MF<?6K$NL^&UB0;\.&Z8]7.QKNY0>8;:[9T81NN*ZCER;OEMEUD]B3ASLL20G
M#.:VK[W36C1KT:Q%L]ZG9J54T:BD0<01"3YK$,@DIY&2X$<0XA,66YTWOT6S
MMB=QNE>UN@*-7S-F_)Z)]"[]K1LNW9>3>B18"0H7/_5@->N;OJUZ7Q8S&?HJ
MG];G)0)<M&G1IO>J3:57PNJD4'+$(:XU1<Z!2DW4)&%H,"1L)2/I@+TWR2!.
M-6A@D1S2!C,D"/RIB;7>D7$V%ODVI4I!J9;TWN*N'JQ2_3%^C)/F/#>9B?YT
M"C<Z*2E*1:46E7JO*M4*[A/W$9&8N_=CK9&31H*_2CW3T5 LML9-&G!$?8HL
MGY33F@RH5(TM,B$X2;A)V(RT5]>WJ51SI&51J<5//5B5^J&U(<+C_AC:N^5_
M9:DL6K5HU:)5[U.K.IR$EH2@J+4 I]-X9(WG" =#4P@VMRN\JE6#H,X805'T
M$AQ5"<ZM\=HB9J)3CC.<XI-P5(N76KS4PU6I;YLIREU;XFSHNF274V9+^+=H
MU:)5[S=-*;I(H\#()&5 JS*"C/ $">99-#%%$;9&00E",,.1()T8^*K<6_@K
M@%8E+K 0I:>8/06M2FE1J\53/5BUNI2&HD2+$BU*]%X;.F@B0JZB\2)OBCH3
MD3,BH>"-\EYP*K='E-TFUW?/^HWP(T9W=_0N<E$\QY&KN-[RJR9-IE5LSTK9
M:%%X1>$]@,+31CNM&$5"&HQX(AS9Y#!R#N.L\0*66['8QRYNZ;'B;3/UZ^6C
M^]*DQ5$LCN+!:M%5$\!S>U$Z !;]6?3G_F3K^UO.1OC&*"X/U!M)D%$JMW&(
M&!GB+;(*<TLX26R_XZ?VV,9A_< "AWX;8&A?NIGM'@[XA"7Y9GVQ_U1\W0/2
MTNT\;@Q>*8JZ*.JBJ ])41NB15+4HN@80]QA DI74<1-TB)8F31CHZI=O59+
M9QRZR4#I;TQB(L^R-<2C*.KB3C]<CXBEPBZ5-T5=%W5]4.J:2Q6CM@P9CQ7X
MU:!UK60862:(Y88HK.^TL7O/K2:6QR\66GQ?BMH4/5T<ZJ>KIX\N=Y2+RAZ'
MREY,PES^<BS.9U4_R+I:+GU1ZC<@4E'[-\OGHB(%%ST*>?XOQXD@'8Q"AK.D
M-,>6DZVDZ#&J_;?-=,^:_X@;_>C*_PM\/NA+S)Z-@;!G1Y[>DX% QVP@]$_[
M-)#9-9.P<^U^WAA3/XVSJZ/JB[DP1G.!'M,,$:&9Y^'<CV@PC'96[4WH=?"V
MPXY4MLBD%88C[J-%G/&<NQT\XMQ8Y6,0V&TUZWC K?-ERO>U:O_MWMI'<G*$
M1U!$_$4^?$S=OM]4M]U^_G7\?!?=?G!Z9/W^K]O:3NY!LSQOH@#'Y:/_]P5]
M<6<"C4,GC)^1G@&=UK$._LZ:[+^6^N0M**NV]O#O4'_<X2&P8\;8=V/S"B[?
MY(L/WT&Q'^=M#B]23-E1-3N-%2A_>(F+/&T[:[I0P1O59Z"68Z9\[U$ N/^1
M+_+VO)[!;S;\8][-<C>$H3-N[N77]#?[>1(__U WW457]=9"UW=/.*K@:_QI
M57=5/?63>7Y*/:U.%G9$_CM?W"]095WS,1ZO+^GMUH;0KU'H,9=G.#7?^64F
M:>V_D&,U6%W5=;6SMR.-'#-E=C:Y @Y9<0RXNO]^7=CM&YYS#SW@$Y52@\%.
M$T9<:88,9A8)F:+-W8#\W3;F;EQQ*3?,;/'5BLOCW7.N'WZ9*SA[DHG:1KAM
MESNN5&D^F[>Q H":-F>UKUR<1KBJZZ<U^@7\V+;N8I7:Y@P0#%1@?=X#4W<Q
MC<#-\.S^4,:9&IYUTO;N3F:D-<R"(\TZ*!Y7P'5PU\N;+/"K:E8;-3$E>%B<
M^GHQ-;*;P9%XLOZ>YVWSC]6+.L X?UK'CQEKX1+XTFX^Z2=V[(;0X^K]W'6S
M_&5V,KFH[" $LW6A6"%XO4D9>"#\.H>5S?@*S)"_HCG+@/NY.I^WYTT7NX*X
M*Q:\[.51O=XJWNRMA0T38B'^/E%,$DM(,*,0CTPAHRA!T5*LA#5,Q2VGG9H8
MD^ <&1(#XD%1I"6W\$]B/&%,<J^OBO][?PJ+.8GOTL\UR'_\M?ZXW7YD%9GO
M?K/M[%VZQM/_ *_QPZ3Q?[RH(@#'.3QBULX7\Y_JZ1PNGMWTN_Y.=@59]ZR+
MY#)D.P9ME)K)I/F4,6"P7/JP*XC7[+27R]P^JIGV +:0U'H14NG-GQ6/+>.U
M7=?XNL>L3_7B%M=CP=#E\336+:S<K#[KKYEW,<TGU02XH7NY81!?:^_F7Q<+
M;1>(GW\'8SES>.4G\#K9N3B):-J$N/SR%[T +$G]KSYR_ODE8J\2O"D*P'*]
M_H!;3^9GTU>A[LXG]N)E/KKE@QR+>J#O8C=A^"%;EG6Z6#ZPOQ3%:7@%*-5_
M_<MA&,/'^,HUG_,JPCU?KH(TGV_HQ=P%JR[=I8?G.T,VUG98R^7*G;971+">
M3D#L ?4 !%[:^:QYM7D Z#K\W"_T$,FQ"3[NI9U\LA?=JQ=_7K'$=?YFOV)K
M7+"UFOM=M >*:@S/_BJ#W-PE79.L7G>L"]ZRDR015&F<4)+$ ,I:AAR."HQ'
MJAE..1[L_\ZVP/E&E_%-J5W[1G+E&__S#=#+M?5_'G5VVJ$.$",M[-UKWOFF
MFF'I@2]0<EM)]"RXX(:\()DY8/WRZ0C@HYD##-2?8W@UT-O@8_S=\GP0NXD]
M[^+++I[;;'@M^: /-PRW?G%=P/,CH.FP)?UR>8\= <SAJ8(=:T6^6V?@Q:(/
M'/SG+UQ+CC6]Y97F6&O^X$^]W644'TM\VY>]R65?V8_67\Q7&UD<6Q]TQ/:)
MT.01*?!-F5'+#[I'FMW-JKE)JL+?EB9JNE4Y_UYS<<9 VWUSY#YW49X?=_:)
M-/^3$VD*<^Z7.8O6+EK[J6CM)R::A28/FY'P)#3E]Z_/AMY,_;YM,^_L-'0[
M<X@+B^V[\&ID*G$421$WTI#5L\C,&KTFV!M)GI)Z/#"B/+Q^- =%GT*3<102
M[:EN:#S:;ARSZL=#LD>H_#FTUA;7YZM$RR1W7B#%\I0=(@PRBF$DO%!<":*L
M4E?S5;AU2<<\BD<S M>HA*RR&(6D Y4D"BKPU7R592K*%[)5_K='@1A> T'M
M21SBQ+_6*6ZDKJ$N^I=AWF;I[^)T?Z)#:'41;7LI+%<S)IX7NQQ03=VC0_2(
MZN7&P33[KWO'43C!*3),<<2Y-4@+CY$F 3OL>!1VJ^Y=!^R]R6-/J):(B^20
M-I@A0>!/3:SU[H%&;.ZK#QT]$B,HA3OX(K=[;VQS6+;3'83UQ_@Q3IKSG& <
M_>D4;G1R;[WDQD.P8FS>TMC4REM/L$;$2I\3G0FR#BOD0U0)!Z6-W>HQJBVA
M,I& 4LP&JG,*&8H%,MIHGB0S-*D#-#9E,3:+L7FOVN^I\\K^*[>L#]P*@8BA
M"G$O K+<,\08-DY(GU(NP]A$)^,(\RDR1!RU",Q2L#$UMLB$X"3A)F$3#\O&
M-$=:%ANSA#1'8V-^:&V(\+@_AH*7_*\L3\7,++I@AYDI)= "VX0D3P* 7.M<
MD> 0DYYJQEBRD5X%\J1]Y%)2!!8EF*;,@IGI&44JQ(1CH%)$?WAF)B]69K$R
MBY4Y)BLS2B&X<1%1$\"?Q00L1LD4$HI[(ZT7*N"KX(0S_.CDD(A"(YYH;O;M
M#:+)&J(I]<EO^<#CMC)+&+.$,<=C8KYMIBC7:<?9HK+ZI(TQ-[8I.^=%%^RR
M,KUSD6E'4< &7'\3,+*>1OB/$#[QJ /E5X%<!4$3XQA11BCBRFGDI#0H^)",
M"4EJMA4N&+^5*8J5>9A69NE=7WK7[[94>4@,"Z61I2['-JE"CKG<58 1PR*+
M5FVULA&$8(8C03HQN(9["W\%BQAQ@84(#CAFAV6I4OKXINI(V\J7B.DXS=E;
M%3@<%G4.PFK=01?RF,6CU_9V*80;)>'*;(&'M.R>U6P!\%D]&'0!R2 #XIYX
M9$ST2 II"1'1$/F8LP4>R+8C]$CRL9EW3VJVP$:_[6LZ#1Y8C]'UNNAO:.,W
MG)H?];6FHQ13LM[D<2, >5!MGN^=5#_436Z,6;UO)O.>5-6OO[[I<P3@;C-
MN@__8<_.7_VU>M.TYWOH:WN0[;+?3:NWS<=XYF);47.4&[Z3S8;OO5(;6I$V
MN>G[3\![LXOJMWGK3_/LR=?+6/C0CW1)]>__X]\TN,:OEO_^Z;?7_2_DU9^.
MJK<?_MHO1+3^-'<]_=U.SD^KO\9F8OO?_V([6)^W=3>)[5'?M7G _97CLDZH
M;Z#"WM6D4M3EG &D&<V=>6U"UCN%?)2,!&R)45L)JRYJ10*WB"DA$7>,(>N,
M!-5JC*&6"4QVJLDUR?\MMMG@L"?Q7?J?)O>8_J5?J>Y22VYHP?-Y&U=J$-%U
M/?C+VY^_I@CQ;BWX\$S[W;)3;C.?Y6;765]67?3SMC<'\M$EV_7B#MSV?6[>
MF+O.?HR3BX'!%PR:CZZ1=<FD?4_OG$TT[18K[B=-!W( ?_T8_2 Q1 X2\^2[
M8N_<&/OPU[6I#:?1AG_.;;L$C 70'O4W^DMLNPBDA_,R]<]M'N[8=S_.*'-E
MR5+CYUU>R6D%CY\G6()A( 6<=]XVN4MYUS\8+*#%=4<5\')SLW> IYZ!^-1
MOG_!4QRL<FZ(OKQSWPV];G+)0N47!;/=P!!7N*5__\FP%3@@VN?SW.8$.+.M
M4CV9K?K'I]B__[F=G>8FSHL.\P'NWEY49W5N-!_[!X.@GTPBFN<N]9/FT^**
M;J7$<F/VLV;: #M.\Y -,)E<$RY6@'OVVET"[4?K/0!'_VH^3B;]'R<1?H'G
M P]<7O:F5X;__6%Y;67/ST&[#C7"1P.VVV%=\JILO.6\#GF9 (K.EFLZ=+0^
M6C3"[^7S\@H_@6?!01OL.:P3_!7S^]GS@8:G(&=]N^LS-P%QOI[P0+=HSW)[
MXN$B>%";)XAV/=JVS:0"M=;FU[I8;[$-#)&79NUENCE\*)QS:N'8P,KSR= N
M&W[N3IOY)%2A!>"HVMP>'_AD CR&9KV(Y-7X/0*E@*B7O+(<50(/SI_>[W[M
M R.^*J:/B1$WM\S> $O5(2YDXT/&6!"/*T,HGY$1=AU_?\HS'[S/'91BZ-FL
M'P)QOC2[  C=PBB 9\P!O]KJ]?LWE<;BZ%HSZ;$6>VD'+EZV6O/TNP78/,#[
M[GJ[18_\-6OW!& L *5GIW4;$*@I,';SX-2!65/=GO4&:=?5W>RR!?_E&0O3
M9+DXJP&KQ]7?^D7J1QC%]FS5[G_-0CX:!G:L6S6GH"?[4Y=3E0!B_!_K^O(3
M:+K54WI.\1ORM8#N8?CKK,FK!3<>W5P<17BBUG/$;,S5N,XA:SE!Q&EJM2..
MI.VY.()@QZV&TWF.4N6R+\QRMP$L1$A<>&=N$'':P*,U.!I<G959_4O7S?O0
M4_XC1RWV-%J'D6,Y(NMZ.5IG9=@-LVRZ\;$,CBYQQ6#E*7/@?0E@&2TL$M9)
MQK6E3OB[L,RN8><;_/(+2/79M$X+6^FGSK?-IWUQQO&8W*[5S*40^X$-:T&!
MV']U94_ B,JPV#/..JZ>V?S_?_2V7WW6+<8+;5#N^!&_[+GZ;Y<JR:[9'F=Q
M=MJ$K&,6%@@HC,%GOC(TO+>\)Y>!^'P\1^*WU-/EU,"5VEM_8 !C&W3?;#&N
M!M#V?/#5J[2:6Y[]A>PE@.SES(;U"3C-8 ]=G<BU=O'R\#6#S[-#.CID(Z#Z
MM*,!1>,HXE(29 EG2#O-!78L<K_7N-(^ME^&4_:$?'RD*G%V+5M=,Z9IS-P5
M&3-64(:89L I6EID#:A$0[575 L:3!P;=UU-:7V7 Q@?3NUTWW,.U3$=)><M
M/14 QSK,P1&XG(LZ0A:C6NDD"47.F&R?88^< G:)2J;_G[UW;6XC1]*%_TJ%
MSYF9G@A!B_O%WMT(C[M[M_?TMCO:GIUX/VW@*G&:8G&J2-F:7_\FJHH4)4JV
M+%%B44)L[+3%N@ %9.:3"22>],(%;;.X/%S$OI[\_-LP7AUG_XZ$Q!SK$<K(
M<;6Y@H!6-7=]W6:#!"@\JQ>7E76[Y83URE@785X)&Q>7<1 $LXON!;E<Y*SM
MUU6[1=S83.K0+7?U+M]E6]#.LNG"WH\;;N#JUSU&_*-3%8:U=!T]GDD0EL0(
M8F\-1=*+1!EQAI.M5(MH8O2<.I0PSR=8(5C6P1MD6;*)):]PH'?80WH'T_4^
MK73H![#'BXN/EUL>^?*N 'VDH4P&\(T]GGXE^;+NZR#/-]1<O+Y>MRX;FSW3
MWG6^O A!TGK/B)%NSX@.:^JC$\>D(!163"/B+%CA!$&U21:"ZN@"IR*?<Y;7
MQ=$FGW."(H32)H'E#A*YJ#B2S%L5J %OE8]+'.FQ.EAQ7!M1,+M9DKK;1B='
M2F,<)8^(,4? R20!&:,PTHH)#P#/%-UFY*.&$*PT<B$HQ,%)A=OS0F!(CA%I
MI79;Q*'[E2,\SJK8UT2$;.]FWV+I>N3N/82\5W99O[J'_HVMK8TXO%W ?_I-
MT,Z/.(./.H7;<P0_%)'."SZ;+D/L=ERWK&+7KUUMJ3^3[;++DE-Y='^)BZ'>
M=+62\!>\;6:GT]JO-U[6NV/S9N)C#HR<'7(VM@/WNZYE?6G)ZNKK)WE#?KT3
M=-7SA6Y59S;$O*_>U-"_[";8D.L8]XHSE)2_]@D;WQ?Z#(A\TUFT[;+I=]M[
MA5HMUE]3JR%!A8YE;;74DS[0>M*TU)-^L?6D^?WJ28M7M]63_MHWOKKY0'V0
M#EMP"E$2F58^"HIT9OID,GAP'!,7;&N[SS#J,ST?$L0[Q+F#GGH,?QKL@E).
M2;E%V_3!G\:PG,;W:7NU<K7,_<6URH]Y3?,C=.(O8+Q_?Y5WQ^P<&E@TR_CJ
M96TP?>RSH%;I5UV*7-MG5X5KX'T#^G4K4NUB=375\,"G#(+?V9MJB[V^T1%Z
M;HK]/.JD:WQ,F;QOQ7+SF.7#;WA,'&O*]E>Q_/'./'="G8%T-K2RHV.^F_+8
MO7>S(?P%,S>6,]+O;'O:;SCG?T2P]N#8/R;CSZB(J Z FZ0<5!T;H<WNEQ!Q
M(E;$A'A>..2<2&0X^)H)<VV=\(JIK93 A^R,[&*?.ML-N/##I<'866T/K?9_
M%/4@#YD^*2E>0=1;YNMMGTO6YF2P",H!^E2P],5BZ=@H19XIA#I!N=+.(T54
MR&LF IF$"2(\)N>XT4YO)1+N'4+SUM5LT=_YV]I8[(S4X8CCV]-WBLJ-A8ZK
M .DM\_73[!S^43>/5DEK5%);X+/ Y_[@TV/"4SZ/9H0!*+0*:6X3\M0I88RE
M46XEL>P;/M?F84=XJ3@I:%G"SD-%RU^;.+>3<)G E!=UZWQZH/*]HSED@A0T
M+6A:T/11T10B4:.Y1S(1A7@B&N7*S,A@S9TU4KEDQH:F5X+1P9;\T)L2N+\[
MA?25@V_?2CEX^\&WHH$E-AT]VN:4X<5%G^D!>C7/28H%6@NT%FA]3&C%)+J0
MB 1<S+5IC<YY;DX@*0%KF5!4"#<V:%W9BE^G%@"VWS/MS,6N:HCQ@J0E;CU4
M)'V_/GHSS;QV56='<B;D<F#'*ZA:4+6@ZJ.B*O76A)@(0**RB-/$D.8A(>IY
MH@PKXK;/PGX+JMY&,'5O2%T;C9^SS?@M#]+[]->V?W1G^Z>X(&N)40\76=\-
M-*U5?SJHGK6GDWE9_BUH6M#T4='41Q6CD@Q%$QCB21NDE8K(2B>Q2SE.W8I1
M>?21$AU1M)0C3KA"SF"%6!+.246C4K<R NR7=NH;094=T1%4FCD8Y2OQZMA0
M]?MX'J?U/(8J\^;/X$4G)4&I8&K!U$?%5.&QBY0'1)(#3&6*(N.B1"Y($>!_
MDHM;Y&&)2FFT4<C;Y!!W)"(MN$%4.TNMP-Q(]QPPE1V) JDE4#U<2/W8V!"A
MN=][\L_\5];*@JH%50NJ/B:J!AZ8-%8BXG-A :\P,B0SG6@"T$EPXHYN<2 Z
M3XF- O&(\_\0BYR6\+2USCE&,5:W<B >%*J2@JDE3#U83/VEGJ%,2!,7/8^;
M796O+ O !58+K#XJK"KBA66"(-=3"TN;#Z,:B%@-"Q;+!#'K%B5LHB1Y8Q".
M>0O6!8Y,P D1&Y@A@A/*MPB\#A%694'5$JD>+*JNE*%@:,'0@J&/B:&<.TP@
MG$3!*0ZA*<O4FRXB+J3D.#FA]!8)YGT2?7<,;^9(EZ2A$C<>+L+]7&?N[=B<
M@=0/57$6]G-)Q"VH5U#O"4Z.&J:,HA1%'SU$C@!]QA"#(L4N4(*%UFI4B;C?
M#T;BH_W<W?U+/1M.F^\(4'4A92CQXL&BZ9H+<&XO"A%@0=""H+O3K>_N6>OE
M6]=RM6:8*N2))X@'[9%+QJ*0I,6 R,IL;Y'N^\#IP.6P>6&P0[_V9FA75+WT
M18:Z=Z/'_G.)>0\(I9MEO%(5JP!U >H"U <%U,G9G/"+%*, U)G,T-A$('1V
M3.:M5"8>Q "\\]#Y1I3.=FCCEQT!-1<O<M=U+T!=PNFGXXI8 78Y@%/@NL#U
M8<$UQ=;P(%!0*A^2I0)92Q)25B8*L!N\M:."ZZN4$ZOK%^]VNMJ=.2<*5)>8
M^AE#]5$UK?, QN:LH/8X4'M=*;C_Y5C,%U57]+Y:37W!]3L,4D'^NY%-.6TY
M%CD\-Q9Q#O]R&=2UE(1Y&E,B!X'\O]2SW8(_VSOP?T'&>ZS$[,4X!SN.X^DC
M.0=TS,Y!U]JG?IA=/0VWSMV/=M)4YW:ZC)GY<197M0HJ.RAF<17&Z"K08YI-
M1*B7N43W'IV%T5:LO<MX';S?<#/.,^.L<@8C*KQ$G"J';!0)>49B" 9'R_99
MU7:5^'TCY/^R,Q9)1HZ$VG\.VQ?E<)_8_O!,-_AWGMU_7XWQ+S"!S<3#WV%R
M?@MJLF/&V!^^@)2$PM][ ,O+SGRQ\5L&[?MEDR-NBBD]JA:GL0*=@$Y<Y%*T
M60!"!ZW@P?R>;_-V/EG8:67#WY?MHCL;G-'7SN=-_1FD=Q&G%]7_O2DF^(:N
M[IZS@%H3$P0-R3H,9@5B"/A'CB%BU(8ZZOE6^(!%=)%JCT2,^9F4D%/6(D^9
MYE1RP0*Y,7SHC$7;G:#^6S]J[_I!>WLY9K<:"GG%4(BO& I\?+O___225,'=
MTSSH'7=H/@105_G]]G) -M,ECBKHB#^M;!.KR<Q/EUG6)K/J9#"R';&+W4ZS
MR/=D.>TTN+*N/H_'FSK_')6WOS6_^766I(G_0EY*#U753<<.[S<T<LPC<RL_
M$$C(6I+ 0HW/)B7OK L:.1D4N"U<(DL,0YQKK*USAK*=E$_\ZF&U;S,YYOCV
M^L![-3GPVK:#H[1<+,&D 'K-ZK.)KUR<17BJ[:K<^<$NV6;2QBHU]1F8&7"'
M)O/.8K47LPC"#&UWE[*9F4!;)TWG(F8Y^LND_G$:/W?&Z9>/_YTOUYNP>5R!
MY,&K+]\TV+;*@]]EP7;5ZU7NF!*T'&=^,I3>:Q=P)9YL=AIP]>_K7CNP=_YT
M$L_A3PN/P&>WRVE7^2!W(?=G WV.JP]+UR[R]]DIP++M-6&QJ1EKD)]<'1]H
M"7Y=POQF(PL2D3^C/HO=P:[YLIG7;6R/]SCQ.[#X7VW[,"S^)0M#]?9*L<8]
MSPIXTC?8V:_![-I<#B[Y8"TE(4XI0Y!CV?(13\&ML!HI%96D8$A-W#KD9!CU
M#!N'!/$.[*K+=7\P_&FP"THY)>46/<8'?PIB/XWOTX\3,)?QY\GY-L_%>N6W
M_=4VB_?IAFCR(W3C+]/:__ZJBF!GY]#$ AR9VU;DGB\&IWHZK3]E:]?[:]T*
M'=B3Q6EGB#+=4#U;A1&=O1VB[\X97$OV:FFO;6L_Z4SUI\GPBFM6K^<#/(V3
M!D9^T84D(=>%2<LI>)'GL7U]H^G8YW+=-ZC'G4/?5: [C/JVR-GEHEZ%^+D_
M,$6Y^_EV-+47]7(!37R.X4W?G,''^ ^K^T%\IG;>QM=MG-L,6:MAZ%:)^E>_
MNFGY_!PFJ=\)>;UZQRWKXGVK@AUK17*[G_, Y3X.WPPC_OG-JW_YPK/D6--[
M/@E.CN9/WNK]'J/X6.+[=O8NCWUE*T1_,4WB)G%_R/;( Y?B]5Y4>WC_VP;\
ML$=8FS^T,=GC"'S3AOSJ@QYQS"[7[A]KE^RO*^1+]SI(NM-MX#&,[:XE$N8J
M7_VW5Q!X%^F\UQ[N_^0]W"*<NQ7.@MH%M9\+:C\SU2QC\@18.H;QV252?O?V
MK&<%Z7:_ZF5K9Z&]-7VMB-BN\_U'!HFCR-*[$T)6>P#'YY!QMV,UW=F0/"=X
M/+!!>7I\- <U/F5,QI'#OJ.4]?&@W3BJ)8]GR/:0='YHAZIOWL9VRC++M4>*
M!XJX90I90A6*1A$:&,U%!J]O8Q,6.'&"HN!E0AP[BIS4#FD7-99"R."WBB>M
M=JB_L(G]M\X*Q/ 6!M2>Q'Z=^.=)BE<2@% ;_>NP;++VMW&V.]4AN+J(MKE4
MENN)N"]+7 [H.,?>3?2(CFJ,0VAVGIN(=0B>1(=49 9QE01RR5*DF.+"16QI
M-..M1KXK!J12=_Q B/D/RWDZD#KBXQFPXFW>T]NDD6(= T92&X*XM@(9+C'B
M@M@@J??4R"TS;JGQ3&J$O5+@;7*)C%(>!<Y9),RFQ.,!>IND>)O%VSQ0%I%Q
MR,K.G<PDK53)!224B+E:$\Y%@1FXCHIYKS0U>BL63IFM4QN%O$T.<4<BTH(;
M1'6.G 7F1KK#<C+9D2@^9EG3'(^/^;&Q(4)SO_>)]/FOK$_%S2Q8<(N;B7GB
MC$J#8C0!C#)S"%Q-BRRQ/ 6E74Q;I TR.;![G"%B;5<'7B+G+4'8,*9U$CP0
M?8!NIBAN9G$SBYLY)C>3&)Z2QAQ10Q*$OE$CS2/X 5%R&;A)QFR='*1,<HRI
M1B)ST7#O-7)4:&0L!O,DE4]2')B;28J3618R1^-D_E+/4#[Z&1?#F<V3)L:.
M&:7XF04,;O$SK5**,8Q15 [\3,4)<B9@E(C42@;!4XS7+3GCUF@J+?(ZGQL/
MS".;LL=)I.>>@ M*S.'YF:RXF8?I9A;6Y,*:?+NKJBC&UM"822ZRB<KEB/+.
MC>1<X"@B)F&K;J!.E"1O#,)160B^ T>Y<!'$U8$9(CBA?(OD8MRNJMR_ISI2
M3N.R9#I.;_9>1QP.:W0.PFF]95S(/H^/_ND=/.R:R9^.6CMKP2-L)JD,W#@'
MKA!;/Z5C]Z*(K8.RT;)<NP+'7,!"8F1RX<F@7)=/J47:2L79=TGH1\BH5$=D
M!&4E"['ULZ,[NR>MWMZ+6WP#RUY_:V[JJQS YZ#&(1Y5/\W\#JB1#Y)[\/VL
M^A#GBWCF8E,1>90)SLE5@O,.7GJ:P;J"_KU=+4)WF0^_3FU'^/K?L3F!5^2?
M?HMU<V+!E/9LL-_]\?]H2O&;8;A7=ZY?TUTF;_[<4Q6^/;=3>&BXZ</2]=-S
M5-GJ^SBUGS(-MJ^;>3UPS7;LU]6GTSI3M]:?9M#1 *;:0R2Z=.TD3&QSL>),
M'+[H:+N1ZN>?WUUI8CHYFRPV"+4O.@K&/!SW;' 0M9N_XJA[ZX=3^!G>"T87
MQG @ZH7KYQ'FJ#F?>)C1H9_OLG#84-_>SZ,<B6>6^0E@ZZ+-C/36Y^NV[;K6
M7&D WGFRFE$+\MG,X@4"D4D /?ECAO[_J:W:Z)<-O*?O9]N1ER\;?YH+T0UW
M==R^.25FU@[@[J=U"YVL-X6-XI6PY4;K@:P\-F>YC<7 ?3EPF-\F.@?.K#MJ
M+O6O6LV>EG[25J?1AG\L;;,R$]7/T=E9ENK\MO^T9_/V%#3D" 0I99$!B(7_
M9!USC6U6I,Y3>$O'?[I.V<^OLBGE[84+N/DDWQ4FK:_A\5X/0Y_HWQFCGN,Y
MOP$><['-59N0G]JV_?JSN6VTR /0R^XF%?]))D/-4C@26<L>2[XTF2WMX!9F
MGP4<FXY*N/OB[ >>1#2K0UR]YM45IN%_=B6M/K]&[$V:QL^HMV#PMLPWNCR;
MO8&QFD_MQ>M\=<LW/!:3OK/#VEC_0Z[:,$D7JP:[1U&<A3?SNA_*U_WQW_.X
MR::Y=C(_W]&3?(C6/(Q_YF&3:-B56>S\S/7,G3;7+,AD-H4 !?P84*N>*/;J
M!1C7_N=NHOLU1YO@XU[;Z2=[T0[,I)MS?B4TZ&9L0PJV9G.WDW:@WO*F9G41
MZZ;BK<XJ$T&5Q@DE20SB$+XBAZ-"0E+-<&+2"O^_H@]:X5$((A=W?DS>FPC[
M,+%EY7+::@;W@@%:Y#BYX]5? P'8>3#P&];[:"@=D$W_NS\"VKSYCX^]4V'#
MN9WY 5_BYWGF@MKTR[+G2=2;KGK (DYF_8W^M(%.+NH3^*C3BRJ!'^-/)VWL
M?!W0(>A _Q:(]?^QC-G]F20(J#N9F,48.HYN<*=BO@M>LD*X.O]9@>.21_ZD
M.JN#[1<2=E&7Y9FP]+^K9^!#Q\&Y_YA]2/ 9KE4I?$'QV<<-[W>3O?U3KFOA
M?>8Z Y^K4Y!<Z&+MBN=B4Y4;5KE 4G-,\?;#NTIC<50]OB=S]PD?@L/5@ERU
ML2+7#I'A$_3WMMX-)/D;L? )X&T. !?@T@8T!WB^Z*IK]@*;)F"NLIEHVTF[
MN"3?O[QCB S74[.JPGE<_;6;I,LH:+CSMMCGJ"]4LESDTB6=\6MS_-@]MRH_
MUBYJ__M&_%9]BCGPS$9Q.LV?D<U=/<LK@JL OXL-LQ^0/P.<PIC#S[.^;7]%
M.;N/LT-IT46=IQDZL9SG!T=71D@D;!+V 1F"->)44N02T2A&*F+B4BNQ549(
M,9,H-P8)*R/BW"AD&1,(.[@]*$\HEG=86+YBTC8L&ME1J2&JQ/'MB\5[B%:&
M8D.K"+&3FC8+& CB<IX:N+.:VXN^*EZ.\4Y ID_L(HZR !7U3%'M*$I*@Q3$
M()&E-"'A!=8\).SL3B3GUV%$/M;#;L-*E&+['TW=[JH6'A%XE-)2?3>ZF>=$
M&>:#1LQRDT]>,F0U-@CF5G-/-$C 5I[1CF?^E[AXG][9]G2U [4K*>#FF(]0
M"HZZ*IH=@K6G:VS\<P=4/;) SW(<F_L+ #<ZF0$\T9HS@A38!03_P,C)*!'F
M\#O$=-*E\,0XL[%C^=/,+YL=2A$=)_)4WX'#FQ?[.N_XSQEC^NB[6^.^ZL5$
MV\S B=H I+0N03>/3??]X"Y5"X@.NM)*S65QN>/J8W9[KKUQ;B?@64W;^K)<
MY^C$E!K"E/ 4<4) 3*4@2#/"$+?">YF("MN4%]\BIE<JO=XFHS^!PWLV6\?.
M/[2^J3_MK.3K*.LOAMBMJVWLIL7NJU>Q'/A"('@Y<NA<I\W0X\SF__\]YA7>
MR5D[%!N\,H+]XO5MX6+*46 .9YIZ>7*Z$OA1^EP^T(0CMBA:TAUA2,A$'9!B
MP3+A$C6Y)-U5\72!"Z\Y09XX I8W1&1\$D@Y*0G1209!]N1SC=1![^PBX&R_
MW3MIVV5GZ4 @QB8/S.F(20H(L^ 0Q]X@K5E"3'%*793):K<+>;BA-O4/\*_%
MQ4_='GB[:'^"48KA?9/_FS-(?EGFS<SWJ=N[':Y>D9H^*-\4EY]^^?&K$1TY
MPD:.2626,PC1<A27M_@N%QIN6DSU]=E9/1O6'M;K J.S,0)<,K G# 6A0#XX
MUL@F"3@8?<)>Z,2]V*5,W<%3NU'6WL["2MAV9(XT&Z<Y&E:C;O;3NM6FE.L@
M]0M.>8%S/F_JSUWIRNG%^ 0,8BRB4C+(FWP.3SJ!+,4*86+!D;*4J;@3$!M%
M**#U*./)PTX0.<@=B\ME[,TLBK.X.*V[%<#!TP4E[_V.5<G:(=;O<T$NY31?
MSUFV6ZO8ZY+<=HU$FPT&L I'E5T,-6[!H.:JW7DQ^]*(M$<KF].=6MJLEUOW
M>RC7*Y9?LT#Y<EZPN/X-DW9\YHB:E!>N F+1:\2C\!"^$8R4B"1PFHAT6RL3
M6BBMP!E'WD.TQY/%R.34:@W!'L4,"YP>E4=LXY==+98?DQ&:J:,;Y.J&JLYC
M%B\!+E/4S",A1 +QR@GXFGMDL)>,&RE#V'+1]RU>UX^KO\\;]!]/[>P_ZCI\
M@JG9D=!Q>:Q&*76K[<V<4Q&6=EJ=#!\^2A%S/A_T( Q%G1>M!+7(4)<=>$:3
M%<X)OT5L<!\1^SJQP6_#>'4E.7>UF&K4L1BAE!Q7'?"MEJ%.;=ZSZWW'/6[,
MCTXX(V9.1&X1T]G^<2V1"\(B'2BU3,O@TI9P6D>\]]0A;0((IP3A=!9'Q# -
MSCH5$U9W6*)X5[>+]VDEM3^ !5Q<?+S,OLZ7=P6?XGA4JQ*KR#%#YD:Z>39K
M )_Q9(@=?1Z!C**UGVPZ>3>OE::F/NLNAF%+>M.M7-35]]'W&>R,=!GL]*A_
M7U&&2X8&YD/FH$$V88DXQ+O(!AF1%[G, 9/.D*T]<^%H,CIA)*Q-N9B"0E9Z
M,/9.4VLLF$?*[N ,;,SD;SES-89=RO_(5D[VU_0W:=X:+R:S3F&ZVT8GM&"#
M';5"H, )!$@@HV"-,Z\[B+)47B=OMQCPF,,L8L<1332?5[6YFH>D2"<NG-(^
M.'H7!KS'%5HZ3J/="P.YX;10;ZZ;>+F!"O?6\VX]:W:2,WGC+.?C#J>#KL3O
M[0+^T^_DYC0"\%J:> JWY\@?7E>?Q6[G+#\'+YS4H:UBMR^V9=8[*>UZ. (-
M?VFGC+),P/OFMKF2-GF91]G$(1CN,K'[U9H6^MQMALX6_;+1O$LC[=._VT6W
M4MP>5^^:27< ^O*WM: =56ZYZ->79O5B?;IN44.$OEPLX><L?#[_UF6HI&G]
MJ=U,0)\W]=_[ZTT\C[/E9?)Y)[*7(9>=SZ?0B1S>KU(5JJ;O'WP[?,]EY[KN
M.#N<H-O\L,5IO\"U]LY=G.;,A"Y5W>6XSK;U+#=R7/UG_0FN-- #O\BA7G]>
MJNWVE<,DG\Q:>SZ;K5_)3=\X3?(-YRU>W<Q39R@1)!M88<$%YE%KY,!;1A(3
M$;4U0H0MCUDDS#@S'/FD\B(66%Z=E]A-HLP(#MYTP%=R$#[XTQB6T_@^?<,R
M^<<\8A^AU;],:__[J[Q';^?PQD4#T=X+T\,;$EP6ER.5UPER:D$]S8I0?6=O
MJK[]^D8C]MP."ZV8!3IB@9LDI#NN-9R<ROW)!ZF@^_EV-+47]7(!37R.X4W?
MG,''^ ^K^V&RIW;>QM=M;Q+C:ABZ5.W^U:]N8J\Z![>B/QC\>O6.6VBI^E8U
M/J9,_F'SL-?PS?UIKW_YPK/DV/![/GG/Q\2QINP1F]P;)U@GU#F[9S:TLB,:
MK$UY[-Z[V1 >$0/$K>>#,NI>,4>CH8%Z9KQB!T!;/5H&IV?*SL2<LE(P"=X7
MMET!(F0%,XC08((7"ERSK929;UG6Z3RVK.%7'+,?/@_.]6_@E(+[F*-CN&='
M7$N*'T' OG>NI8-D47I2TO<"B;?,5Y\U5D"Q@.(#U+I@X;?F.RC'>#(.!4L<
MXD)'9$BPR&DL T[<4+EU.&Q'6QP[3Q_]-L34%!#S]M,51;7&0BQ=$/-VDHF;
MDXS1ZCA8P<]QX&<I!%$*0=R.P5B(?  HYQ78G-Q%"-*4IUSP5DI#'*9F*Z7U
MD3'X6S+LOQ%V]1%3;.^P6VH^[#J8I8\$S73,T-RUMLGP>]L$_G@E,?J&9/L"
MU6.$ZL+R7UC^;\^TXI$$[2D2FAG$+>69C"FB$(*,6G(NQ8/6D7=*QO1M*$VY
M/&)X;##]K+C[-X'Z=G"^24H?@M@'APZ;[W_;3.ST$?#BX ;E 4, \I6O_MLK
M^NK!PS$.NSY^L7D!XS3BJB3[H@0=1J;S_/]GY?G_ IY_?TJO>GN#Y_^"#EAW
M!/73:>W7F;%KUM<Y2$MF<KG,%EULG5F^ZWGK+QVKOOKZ269BN\)P>J40Q.;)
ML3,;8L_; %W-QVMLR+3Q?;[VP#YZ[6LV/C4LFZY"P&EF)+7MLNG+D/1YW"NZ
MR3Z;^Z92$W0LB=R%PO] *?QYH? _L*S<W5'XR_M1^*M7.TZ;]]8PXH) $/02
MQ$WR2//HD'&4=72EWFYO/']#VOPJ>+[,G-\^7P\C\/73]26+_@IDYZ-(]:P#
MNLWS*.$:EM^ @ .!\NIJGVR?@;"DVY=T^Y)N7S(E'CG=ON-(RO_(1^[ S\\V
MK.RZC&/7I>RHC&VU:/>T-T$1[CQ%#).(P(V+R%K/D9*"66*TQ5KODEED%\Q*
M'67]K,M(' S&CO97A"JY^H>5WE#P=+-X9D]^V Z5=;(V%21]L4@ZMD3"9PJ@
M1D7.E"0HZ$ 03U(B)S+%BY7>1$JPQEO4A'L'T)PZ.%OT=_ZV-A:[@E%*2P)_
M2> _6!C]:78._ZB;BP*>!3P+>#XF>$*\J43*%/2)!@!/KI&34B.<MSB2\DSY
MK1S[?8/GVCSL""T9*T%G"3H/%BU_S3QJDTL2LHUBU+YW,X>DD(*F!4T+FCXF
MFNH0J3>&HL0R7VBR"3FM+4I2,$PLQIZ;L:'IE5!TL"4_]*8$[N\X\_MK.T);
M0FZO)%,TL,2FHT?;S%2[N.BS/$"OYCE)L4!K@=8"K8\)K5%*KZU5B& J$'=1
M(L.=0Y8$%@P51N#10>O*5OPZM0"P_7YI9RYV!:5'NG";E=#U<,'T_9KT?1IS
M0F1G2G(B9&;\[H+6 JP%6 NP/FK,:ETR.@ADM6>Y[GO(E=T,@*3"4>K$M;0/
M =;;:L7?&U771N/G;#-^RX/T/OVU[1_=U9+PD>1E"[6$J0>+K.^6+301<V74
M::=N[>ED7E: "YH6-'U4-+4A!L\=031IFH]B,0A3HT;>8!Z2YE;3+>Z3*!B7
M8 Q1L!80V.E<JIXS)*6E(7GEN??CK)/ZK>0I1T+?7F"M*%^)5T>.JM_'\SBM
MY[ED5/2G,WC12<E1*IA:,/5Q<Y2(L"H(B1(."7&")42H3"&L9(>/FG)_'5,)
MLTRI*) 7W"../4%:2XJL$I[Q1+2PX5E@*CZ2HF!JB50/%E,_-N S0W._][43
M\U]9+0NL%E@ML/J8L*HX$]HFBIAQ&G$=%4"D"2B8I*S5P3._5:!3"JZXI (1
M'@W JF+(.0'8:K74,4I,\;,(5<D1)0552Z1ZL*CZ2SU#F9(F+GIB-WO2Q+YN
M=@'6 JP%6!\36$ET01//D?6)(QX#1IIY@2@URCI/H^5JF_]:0W"K&5)=>I,A
ML:^]F+CV27$+\:QY#L!:8+4$JP<,JRMM*"!:0+2 Z*,N^FKI,(4@TRN 3JZ8
M1-92A1(-Q M)$_-;('J??-]=!XY&'7$E"\:5T/%0,>[G.I-PQ^8,Y+ZOGE(M
M[.>2CEMPK^#>$R00R:125!(QS2%X9%PBP[!')&)&M'+)FZW-SKVFXWX_&(F/
M]G-W]R_U;#AVOK.U6$%% =02-!XJH*Y9 >?VHE "%A M(+H[W?KNGC5?O@V4
MO0S)>!^0BOF,C$P166X(8E%I0[ES4J2Q'3X=>!TV+PQVZ-?>#.UL1?=%@O/=
M:++_7,+> T+I9AFO%,LJ0%V N@#U(0%U,-A;801*Q&4")I.0\0'L9TQ:QGP"
MASZ("WCGT?.-*)WMT,8ONP+J(Z+W7[GXI4!U":B?CC9B!=GE+$X![ +8!P78
MRHF0DL,H$"T0US0A&[E%,LAD@@A2ZZTDY!&Q3ZRN7[S;Z9*W-"^2?*+$U"\%
MJ(^J:9T',#9G!;,+9A?,/B3,%DHF(21&4?45ZP+2VGK$0Z3"4)Z<)8> V;_4
ML]W"-CTR+_,L;HFPGQMP=^4#RE+XZ%!ZJ&"]^N58S!=56T\GH5K-<\'Q.PQ2
M0?J[1>?):<%%0,0DAKC%@-].,@1(;E+T-' ]NM)ZE_EG&]<Z>[:K&K7[C\V_
M(.!].(O9BW$#=AR_TT=R ^B8W8"NM4_],+MZ&FZ=NQ_MI*G.[709,TOS+*Y*
M"U5V4,GB)XS13Z#'-)N(4"_!AN[34QAM<?F[C-?!.PVW$$!SJHR7 A$6- !V
M3,A1@1%1T(!@@O"TSP+TJP-:-X/]SAB?*9='#.]_?_R+@KA/<']X-CK\.T_O
MOZ_&^!>8P6;BX>\P.;\%-MDQ8^P/7X!*0N'O/:#E96>^U'A_:W[SZ\D"&O5?
M2#_KQ;VZZ8CQ_89&CGED;J4#.XW5R3 $V<?XOS<%.M_0SB.L?E*/0PHH2BX0
M%]$@'2)#-L3HO.':,/XD!U/E%?LFOGXP]?CV1-VGG^<*[I[F46TBO+;-S#15
M6BZ63:P %&;UV<17+LXB/-5VI2W](A]$K"O;3-I8I:8^JRQ AI_,;;[27LPB
MB#.TW5V">*^:0%LG30<T69+>G@-RA'A<@8C!&RX?F,S\=!EBY<%&V\D,YJZ%
M<,J>@V5NCZIZO8<54X+FXLQ/KA39;!=P/9YL]G?>U']?=]A%\(Y/)_$<_K3P
M('QQNYQV94YR+X=N59T!:#NVGN/JP]*UB_QY=CJ]J&RO"HM-U6A@E  I0C6Y
M.CS0&DPP7%C"#&?0 *G(7UB?Q>X8YWS9S.LVML?5]\LF?Q7%E!YU[P9@!C&X
MN'RU#7]?MHN.-2B_>M1J:7F(BD6/A/$45(QS9)P2"/X1? "E=6:K/I1P-!F=
M,!+6)L154LA*SU!TFEIC064HNW%38F.N_E8WO\,POK/S;.#?7H[8KO3V^/;E
MAKUJ[=2N%++RIW9VDO6MBNT"NKT8C@RO]0&"Q-I/NM\_31:GG;3EX/%2MZ9U
MVU;>-LT%C,8GVX0J3:9P.S2UJ23Y6^SEX'>M-!&LQJQ3:Y#,U,:5:N4:0AL2
M/%EK>LA=G7[AF'.^GIOM_)7*NOH\'C\<C[\^ZH?AJEQR!55OKQ06WH,\;LX*
M>)$W6**O^8=K@S*XHRL2)^<U 1. ,%@.Q#GFR%+"$4L&&TJUBFZK+(X UYPS
MPY%/2F?R?XYT2@:91)D1'%R @*_#_ =_"K9Z&M^G'R=@+^+/D_-M-J;U@F?[
MJVT6[],-H=1'Z,9?IK7__14HH;=S:&+1+.-MRU'/UWE,]71:?\HVI=?>;GD*
MC,I@=C(I7CWK#,( J9,A].S,PEJR5^M:-UBN&Q"[YZX]C9-FPP0NVYB6TVH*
M,]J^OM%\['.]ZAM4Y,ZAWRK0&T9^6^SL<E&O0MS<'YBFW/U\.YK:BWJY@"8^
MQ_"F;\[@8_R'U?T@0E,[;^/K-LYM=KE6P] MD_2O?G73^O$Y3%*_X_]Z]8Y;
M%H;[5@4[UHKD=C_G <I]'+X91OSSFU?_\H5G :[I/9\TQUKS)V_U?H]1?"SQ
M?3M[E\>^LA>@O[@5<).X/V1_X(%KT7HOJCV\_VT#,<0C+$X?VICL<02^:3MZ
M]4&/.&:7B]>/M4WTUQ7RI7N1'>QT'W0,8[MKB82YRE?_[15]5:3S?IN8_Y,W
M,8MP[E8X"VH7U'XNJ/W,5+.,R1-@Z1C&9Y=(^=W;LYZYJEL/K9>MG87VUORM
M(F*[SFD;&22.(DWM3@A9[0$<GT/*V8[5=&=#\IS@\< &Y>GQT1S4^)0Q&<=9
MKAWE;(\'[6X;_W?+%IJ(3;\'/ZEG[>ED_F@'M,8S9'O(NCZT(\0W;V5'YC'7
MUB)+O4:<)((LU@8YIEG4W/J Y5:AORBMLA:C0*5'7,6$-,824<63,I)R(^+U
MK>S5+O47-K+_UEF!&-["@-J3V*\3_SQ)\4H6#&JC?QV63=;^-LYVISJ$51?1
M-I?*<CT1]66)RP&=9]B[B1[1685Q",W.,_@D2\KCQ!!V-"!NF$/6$_@?04PT
MPB2GM\Q4%(Q+<!Y0L)8A[K1&-G&&I+1=:7#/_1/5(]T92Q\_$OI%D@@<6/V8
MPW*>'J"MW\?S.*WG.3\R^M,9O.CDT8CVQC-@Q=N\I[=),3%<.XF$<0)QEAG=
MA%&(VF3@_\"BFZW"75PS$ZS$R @=<UEIAXQS%E&&J0TN&972 7J;HGB;Q=L\
M4 Z-<<C*SIU,S*F2.,G,,JD0UT(AATE T2@C"#'8^ZVT;L(L4RH*Y 6'6!A[
M@K26%%DE/..):&'#@3F9^$B^3*:JLJ@Y3B?S8V-#A.9^[S/I\U]9H8J?6<#@
M%C\S:7 PN0352@E\1J,=V'0,-CU2+P+.C/];EEQ'S!)V.!_0B?GL;D*&*(DD
M#5HX+:1(\@#]3%W\S.)G%C]S3'YF#$PHS#F*SCCP&2-'X"8FQ'  -U-:C?-1
MP&O'![&F'$N)@C,2[)CQ2!L7$25:Q6"\=L(=EI])CB@I;F99RQR-F_E+/4/Y
M!&A<#,<V3YH8N^/AQ=,L<'"+IQF\IDQ0BECR$/^#8<^K!^ U,N[!L@L2!;UN
MR[W"D6*G$+&2@'<J)#(I*L2\L3YPY5,DA^=IENWS W4T"VUPH0W^ J45CB08
M)I"@R2+.(90VBAE$N I*!&DBV6( A' 9AZ094I@*,' D(BO@F<0U!-?<$F;-
M83FK8W!51TKL6U9-Q^G.WNN8PV&-SD%XK;>,"]GG$=(_O8.'73/YTU%K9RVX
MA,TDE8$;Y\ 5=N>G].Q>%+MSBI@SA04";PW\-(PYTMX[I%*@''.?^#8OXKY+
M..S>M^-R%!O>A=SY,,B=-\]&?P,M77]K;NIK%(J_UM.+LWA6?3A^NP-BR8/D
MZGL_J_YK.8M59I^EF)*K'+2=!>X9^3+#Z(=%[7^O?ETV_C37D7R[6K;M2?F&
MT3S*5*3#\W5S8CO3 _8#5*Y[]]1^ZDC_0/UG/AYUF0;_%>T,_??$G\9I]4,[
MCS/;<_EU]U0?[/(SW.<[BM)%?1([PM^_U]"K3,L+][4QK\1U)+UMU\B:SAA,
MX'E<DPRV<3J-39OI=]NEA8[#9\'(^M/JMSB'F8BS=0F-3;K?>KG(/,#9CN1/
M.ZOS).6A@.LK&<H$OZ.CXPU,1)%/&C$;'$ (D\A1'Q$6*7"AE(IFJW(0IC@H
MQAEB@1G$M>?(**U0MUE&E,,D4VY>A9U?[46W?/^Q'A!EA4.Q_8^F;G?%PLO5
M\>WH\?2ZLZ;AS6S5MCT]KCKVVP4(;3M,@Y_6;<^?^U]+D$[2*UGU79:J/_X?
M32E^LQ*@3>;I[A)Y\^?C/7[<#IAV1UT4X"N@<#08ADE;G48;_K&TS<H6'E4?
MZ^6T7K9@O596;)(IQ>&URP0SOVS /H%M..U(4*LT<?#W=\-\_^>/J]FMH!D'
MS\?V:/W/ZJS./+0]LWE[T2[B63N0AX=EN\AT"]TE-ZGG3>U!Q;)1LG.P7KX_
MAGJ\-DEP0^8?;ZN.+CS;Y&EOKO,+XN?YP):ZLO:Y6T2] >M8-XM4@V3G;_C/
M']?=R/?#.(%SF'V,MN=ZWN2!;J_PI4]FOLF5/MNU<5VWL/[:_,K^BS<&KS.S
M-O.2+GKS'MOLU4S:TSPNU:>ZF0;DIS9S57<(E?L9/_MLW&$RLCK^L&SJ>>QX
ML4, ).A1P7JX9\5U?3*M'0QFSG>#)O(0]V35D]FL/N]@8SV 8U'#;/KRI<EL
M:0?;E]TZ\/TZUN5N2+*K?!+1K YQ]9I75TB9_]F5OOK\&K$W:1H_HP#FNC-6
MF99U>39[$R;M?&HO7N>K6^[SL9CTG1V6#_L?,KWW)%VL&NP>17$6WLSK7C1>
M]Z>DS^,FZ>C:#_]\1V?[(0;E830]#YM$(Z[,8N>*KV?NM+EF7">S*6 G>+!@
M<7H^W:L78%S[G[N)[I=E;8*/>VVGG^Q%.Q"X;L[YE>BIF[$-*=B:S=U.VF%R
M*%_1K,Z[VE2\P;UR1%"E<4))$G"5HF7(X:B0D%0SG)BTPO_O<,P&'H4X>W'G
MQ_2].<.?"\'].X":28A#Z9"/V:OJ*P2\T%#MXT9@!DB6*<'B&KBJ&]S(OL[)
M?!6N 4C:R@V.^1"0O?WPKM)85-=< 0C\3L"X0! $OTZ:@.9@BRZZDH/];*1)
M<]:A*_@?[>*2E/WRCB%T6K>WBJO />F#A77/-_WE3]#E$'/=F5E'WCY >0OO
M660?JXD +5V1%0@!.Z3_Z_&'XRID0O&F=Y0N S]XWZK.2N7LX(?#K(&KT)?*
MR/3EN:/X6'.F\G#!'YN.>A\-A^$VNUD;YF,-TMNY0Y<R.K>3T'W"Z )!'H6,
MVCG$4@"3XY)%VE./L"=<8T932%O),TE9F9*4"!M+$2?8(QL=0U1AGX(T1OJM
MY)D;UA^OJ/&&%I/G'12NXX=5L9/1R41&'RDU199'A[C@ =F@9/Z?H /5BM*M
M?(-OD8DKM7IN$XB?P R=S29IB%Y^:'U3?]J59!S?7DAPCZL%(78.UGI9+=?K
MR5^],NJ5/;&36;:JG0!MFN4SF___]YA=_<EE8+@Y@F.)55X0,/]UO;:Y&0R?
MQ<5I'7K<Z.85O.<>3ZX5Z^W =WJY_9*OY_V7S=7%3QGM+BN"K1<T-QO,,'54
MV<50 05@,-<CRW%L6M<+;H_647S.9]FLJ%+W+L*&N/4!?KI2;'A5,^KZ-TQ&
M"'I"^F )MXA)\*YY2!(YPB*RF% ' !3Y=O8_-YA%9C62-F_4B<S2Q,$R,NJP
M%,[:L'T&?I>;;AN_[,@*TF,Z0BO8:\*V;-U0^V?4(A:BDIYY9+3SB'OMD!;*
M(44\,U%KI=@6ANY;Q*YG,[_/VRD?P2/><:U+<TQ&*7BK6 <,Y"0LP8E?5U0<
MHX0E27$2GB/O13XJ3T7F5HJ(&"=8"-XIMA,C]O6T]]^&\>IJ-NQ(1I@X5B,4
MDN/-,!JMJBSFBJ1@CYI<VW-QZ=AW4?:ZH%DV9%>CPL5ES-.%L?D%N5;HK.T#
MW"R+\]A,ZM Q?/=>WV5;T,ZRZ0+GS06 U:_5_@9K=*IB$S,&RX H4PEQRQ0R
M5G$D2"XCZ$7>"]VE,=Z0D7<P7>_32H=^ '.\N/AXN:Z1+^\*S_6X\'Q_3:_B
MJ>PY;"PA9?.^67-XT*0;*@C>M&2V+EM\PZ)/7O#Z/OIXEK?S6+]$1(_Z]Q4U
MO%P5CU98(04BT1+$J;;(^4!0H$Y'G)P7?@NQ=K36M#&3O_5&>Y>:)T;IT%Q"
M 8!'ELA. T8G%<SBX',PYAV85ZX5^,R">G!K'-,T0BPFPM;I%B4%-AY\:N]
MDKP!XVPE1Q%'+)WA.*B[>,J/*Q5LY%+Q-8NVO[Y>MZ7D>#M_9M,-6A>-WB@&
MW_M1[<J/NK*PT2[@/WW5Z<XI.X/.G\+M>4EDJ,6^VH-8^5\QUVS?-O*=2G4]
M+/6G5[-W6;\MC^XO<3&4H:Y67M +70WLDF*FT]JO]\'6.W#S9I+34S9VH[87
M0>ZZ./BE-<"KKP<K.+VZ,3<X/E<C"NAA=69#S,E$30U=S>9BLW([V(I.5:Y^
MS<:GACYU)]]T%FV[;/ILHUZW5OLAO89=38BC8UFTWFGM<NFEM,X3I&3 $(YH
MAJR&/U,FO5,"XG:WM3:$(TF,!0A<<(C@!P6!M*$$D4"YXN!9$;EUGO.R=OGV
MDE N5O[5!:&/>>%HUY7+#S/Y[^/5VN1=9EBG/U<U^@8]Z&+^=K&Z>EG__#M[
M4_6N4HG\<"J1:WQ,F;QO37#SF 6Z;WA,'&O*]E<3_/'.$W="G7<[9T,K.SI"
MNRF/W7LW&\)?,'%C.7_\SK:G_;9>_D<$2P]H_YAL.J,B>3H WH]R"'1L9#$[
M7]Z@Q"<3M4%>YJ4*12)R(E*$G;1<264('=U><[8;<.&'2X.QHW.>3-R>>/.,
M=>[ Z.8*GMXR7WDM \;Q]^$<2EX'J;Z+G_/Z4__3 +>3V3D\4#<7_^J:?QEF
M^;;_;1=QCI;S>U7M+9#\@LU#0>)O3<E1S!" 5J1\M+D8E4#:)XV8DC@HD0!;
MMPI8?0L2=VFM8"+^UEN(=[V!^&%E'@90_6EE&W9%G4!X@=314UX52+UEOM;J
M4 U 6'"PX&#!P<?$02.9"5I3% +FB#-/D4G6(A:D]CIX>T,AQWU'I+M&3<%+
M(%H"T8-%S??K/(=I)E*H.L.1=YB6[2H]ON!HP=&"HX]*W<<)9B;E_#.K$*><
MY2WYA*+RC$OL'=4/RBJ^[9CDO4%T;35^SD;CMSQ([]-?V_[1G944@8$HT%H"
MTD.%UE\S/U"SXA<";9KG7*6"I@5-"YH^:E1J%76!4Z1B8(B'*)"E = T0*Q*
MDL$1B[%%I2M;\>O4SA;#AFEG+G:U77I$N"A@6N+40P73[@1Q"4@+A!8(?8I4
M(\VQXIF@EY&(N)0)&9DH2CZ70"-,1S$Z".TLQ"]U?R8)0+1[8F=;HP4[2R!Z
MJ-CY?3R/4_ O0[6(_G0&+SJY*!A:,+1@Z&-B:&#):694+L#"$>?6(J>Q020(
M ;":J'9;&$H<M<$%BD2$@)5+[I%.D2$;2:;Z$9*X)ZJU]ZV\/=^&I_J(JK*V
M6\+1@X74CXW-K.[-[SW54_XK:V4)30NL%EA]5%@E(G!OJ4)$$ @SB169L,,@
M1462F%C&MF'5&<>="!( 2 3$E?3(1&,0Q]IPKW'"YB[4+Z.'53&"PK8'HWDE
M3AT;J/Y2SU ^&1\S*\2J\%>!U *I!5(?%5(93E8P[ !--< C5@E9SR!P)1"_
M2B-2HEOI1SXDQ2-UR(NH$6=,(*>P1XX8K"W/O%GB.4 J([=3(1;-*W'JR"%U
MI0T%1 N(%A!]U#.A4EC'#( H4Q!94AJ1UCPB*36W@(G*6;:++=-=XYLXDKI$
MC25J/%B(NWZ"9<5D6+8X"^85S-N1DGUW3_;,;PQ$N=68J9RT*Q,$HCQ7K=0$
M"<(B=UPIYK9JB8_H',SJ^L6[/@5I9P=AZ,LD.[H;P=BM?#<E&AT;5/]<9^[>
MV)R!^ _52A;V<T'L@M@%L0\3L:-P+OF(D6<L0N@+4:^C!"-KH[>!NR1)'!5B
M?S\8GH_V\QJN+Y.&=X38](C1VVM./6,MW@MBE^#ZL8_=3.L\5AFW-\H$%+ >
M!U@/5.6K7X[%?%%U!4JJU8P7.+_#(!7 OR/@:\(9<RA201&G02&M7$(A$4%\
MI(K0!X7HC[%7?(GO&]<ZR[:K"'T$'%!?D/ ^I,7LQ7@$.X[AZ2-Y!'3,'D'7
MVJ=^F%T]#5\NTK2N+71#X>[B*(S14:#'-)N(4"]SW90]N@I79?'.8K>'N@)W
M&<"#<2/N/-"W5."DQGFK%(K1 :9'S9$C7*"0,ZHE#<X'M4<_8+5+?K,_L#..
M*BZ/C!H;]E\3S'VB_\/WV.'?>7;_?37&0_TS^#M,SE]Z?<25M%<WI7F]L'J(
M)\,09"=D=)5IJ;64L&21,SEJ8@DC(WQ",5G/'</.\IT0Y:X$XL<)6+?X\^1\
M*U'VM]A.PM).NZJ:NRI/*XYO7^U\>FE8UZ=M(KRVS6<(JK1<+)M8 7+,ZK.)
MKUR<17BJ[:J[^ES)=5%7MIFTL2]F:P%7_&3>UWB]F$40>FA[7>=VL_CWM6*7
M\(;+!X:*LI4'2VZO5I5-"1J(,]\5W)QE6,CUY4XV^S9OZK^O.^=R%<[323SO
M"W-:^+IV.5T7 [RAT/AQ]6'IVD7^%#N=7N3Z@JN[U\K2P(@T7<G;JT,!K<%D
MPH4ES&:&D5S%=BAHF[?LYLMF7K>Q'4M5S2Q]^=)DUI<@'? !0*0KN.FG$)-D
MS#V):%:'N'K-JROU./_9Q6&?7R/V)DWC9Q1 E3IASC7\EF>S-V'2SJ?VXG6^
MNH7#QV+2=W:(3?L?<FW32;I8-=@]BN(LO('AZV;I=9/K18.F;M;%6P/ZYSNB
M]D-*85[ZJ4\_B49>F<4.T]<S=]I<@[#); K.(&"C;8;BBU<OP+CV/W<3W<?\
M-L''O;;33_:B'6H,;L[Y%3>LF[$-*=B:S=U.VF$6W+RJ6=\.KCU&;BKK*J0@
M@BJ-$TJ2& @I;,[^B0H)237#B4DK_/_JVQ937HS3=PGH0S7LD9C@G18VMD*2
M:#N'*;'L_ BDHTS(F^"XC5Q:'79;V/AVE^ER<;G]%0S/^W1#3/HQ[K:T\<&Z
MX9=%B8>"O'DE$)R'Q6GG>&P4/AY<D<FZC'3VJE:2O5I";-O:3SHO[--D>,4-
MGDY/P@"6NH'17X!3FA]8MC$MI]449K0MI9 /IQ2R8,=:W;<R\;&F]WS2'&M]
MWS+*]V_U?H]1?"SQ8]9\_LJVB_[BKLM-XOZ0K9@'+OOKO:CV\/ZW#<1>C[ /
M<&ACLL<1^*:M_]4'/>*8/2S<NLN*_5]7R)?BOD9VO>@\AK'=M43"7.6K__:*
MOBK2>;_]XF[YL0CG;H7S.:'VGCSR<</V<\A@N$\&_A>4<V=#\C3040;ED?%T
M#"9]EVCYW=LSL-:+O)54+4[K96MGH;U7B?>#&L*G0\7'.U2PHXS!\:0$CH%?
M?#P#MH>,OT,[QG;SVCZWVD47-.)<<,2QX\A2*E#44DDC2<1NZ\R8TY+%:"62
M)!G$C=+("!J02C)@I8Q*9HMN[.O)$.W?.AL0PUL84'L2^\#Y9XB;KV0\H#;Z
MUV'99-UOXVQWBD-8=1%M<WF4YGJ.T\L2EP/*I=V[@1Y16NPXA&;W)UVP%=H)
MC[S/1,.,$:2#I$B#>5*"$(T)'2]__ZXJWQ2F_L-@0#PLWVGWS/O%WRS^YBW^
M)E/:$)DX$L2"O^F91,8K@Y@GEK+ )+-;AEP+(K7&%!$>%>+.@?$7#&" >AJD
MTD)S?X#^)B_^9O$W#_0(]SAD9??5BG6PSH-A2C)!2&R80R:"L2+$RA124")M
M62?#C6/6>R0%IQ!!P]-:!O!4&0X$>Y:$8H?E9I;*%65%<T1.YF4EBB&_\-&K
M48QGV(J?>4\_4QAE)1,&)3#@B&NOD;$A(:N)34ZRY,76NJ:1A"=+(PK:6L2%
M9<@0^),Q+U-T+@AC#\_/%,7-/$PWLW )%2ZAVUW5X(UAUAD4-09CQ?/"IL<>
M*6QE4,I%SD=<)V97KNH8*L*,E.RGK)F^#+^L#,HN DNRSPS'/[V#AUTS^=-1
M:V<M>(+-))6!&^? /4NBIQ%M8#\K7J=O<^FL3(QP0A'-V]3<B^R9Z0 Q:_16
M>>N]LF.C<]R]2V>.<"8B&)53]Y)8G+[ WG&_X]-/>G[WOL>E;SJ_^Z_=>-RT
MNB2CESRFA/*Y>,0=U<AP"YK*&:?,<TKD%H50C-P;QBPR3BC$L>'(2H<1I9AB
M3*R@>$M3?XOMHEGZQ;(!\03]^RTS78 F@DZ<=UKX_:3UT[I=-O&V0^_5,)?P
MU.*N7?]?,G"Q#%0M,.1G:#II%RA.NY77;MCGF;)UF)8K9"S7>1YNI%WI>$/>
M=!.-\OO;U\ZV,3.';(G$Y9P-LO8(A)KW$J&A.QMAS^\QSJ%GTS4[S4"&THW+
M%\;AU;_+-7O/!G?#<$H8XS]<>^'>/OFJUER1S^K7J9VM->B2/>8EL2[\-*O^
M:SF]J$"GV5''D/"7VC:ALLO%:=UD?.U^!.2%KEW\J:W@9?:DTZEJ$>U9IGN"
MN#HS5/T>,ZO4QO#:M=;GN]K)V7P*TK3BJX*'LV!4];*IZN;$ IC;-1U#OCX[
M@99G7?-U7HF>3C/O5>94.H_9&\@<$-W#/2U6/6N/*_B<#(W=>Z#-GFUKDBFL
M+IOLN@9MP"@Z"Q+@!T:MNEFTO0F$CG8D$)-^<(XVAR!S7:T^.#^8EDW'<G_K
MIW^7>0OZ7J]>]<?_H\&(OMD6QNX">?/G"J;;GUX2@,&WY?69GOS+5G/HZD >
ME@< IF29[.H]E\-1N;CX%&$(5P1B?SW^<%R!R>TO'U6@HH.Q[2@WH&<M^#_Y
MM:LGYDV=2;RJ#__OKW!_'K68R7K[CN0'TA7^W@2CVY["R&6*L)Z9K+&?JDRI
MD<_$P2O.ZG8!XM9&O\S4@Z'O<WY31A4$_T.K=^__YZ?O$3$5C'>(F7 -/FE2
MA^J[C<%;W_1K=VT]<C#K9S$N\MC!?+?Y[3GC:[9NRU;^%&0)Q"O_U2[G<^@/
M_ 1?&V?GDZ:>=<(]F0W2$\ (-A=CH2J[)WO1 PB^]LL(L]*Z-=5<;B!SR'D0
MI':4=(V.1(:53LC)A!&71B#':4#:2:(BCE;8+9+[!_M:[_)P[(J1$:*',3(R
M@DIFF*J:WJE<&?AM,]H;JHZ0L+WMEIZF,&_33V-^F;OH[HSPY, MM#B= !#^
M8PGN#MAW^!$:Y\?5^_[JZ,1.)!R93PK%D!,5:7#(2&^1YIBY)+DV<2L5J(C=
MW<3NJM$9Y/!H?#) B0C1I8!83E'E1":86<Z18<0''K0BZ4%A7E=0*Q?$L.WI
M3S-PPQ9U<_$VY#BARV_9D210=7S[@LH^):'-O*8H?_U1;X6R.9DWT.L&7IAM
MRF0U*N"'KH<E7^@!;//ZHBMW $[*%#S?O$S3NU'9=EGO(7!M.BL7,@]MIC'K
M/#YP4OZQG,P[%^6:'6Q/EXM0?^K<PJLN(?QK6 3KWCXX=?E]V0-O>Z>T 2^I
M=XY[*;<-F$?XTLZ0SMI\V^67;C3=QNR<SWS?\^P[UQ<QHM4=W<O&XCT]A'-R
M^R2BD $'JA#A/"*>$@6<MV!_M6?1>A:PW\F:RB7+X!73"W_$YCS^Y>+CQ1RN
M94N\:Q[!;W0;Y:H@R1@<QRTJP>59EMU_QMXC (<?C%F[*<BW1G#9-8 Q[N(B
M&.775Q?=^C7=@R;-H_H8WY\TC^K[/GK/QS)CGGC:)I_^(^FQP<_^(_&QI(_)
M1#B2CZ3RN7^D 6G=(Z6DVA$YU39Z/0$OD\H)6(?!AE)&83T*:]HAHI^"QV\_
M@[93YKZZZ3RO_R_:IOHA5X>HOH\^GKG85(P<=2'UWCG]#EXVBZ$<Q3244=@V
ME$_"=WKX=O+#>CWEC_9L_J;Z8;6B,N125-V::[&4146+BNY)1==+W]7&VG?1
MR**112/WI)%O-S9,OM_8,"E*692R*.6^(OY^V['/^'O?9<G]\'FR* YLT<RB
MF7O5S(_UPDZ+!I;%MN=C LHH['Q7XO#MW![J'QR\'#VH#M"8^!0>LTS= S(W
ML_>;4XE61RN:>!YG]RMGM3->H^=0J>-IB?V>3KA&=-1]',?8KT["SG.H?4@:
M,XJ1B5YE4C6"-!8*12D5Y8G+I,SUM$ZJ!<:24,2IBH@K E90<8RX]\H1G;0)
MZ@%Y]-]V'IT>8:7V?A[]Z=5F;/PCQ;Z.5%"*?=VG?76,>BRY0S@P@WC"'!EI
M%$HZ<I(\F%>\Q0-'A:6.2 LW^8X[CB)M)4?"),M\T)32+1ZXQ[.O[$AH70QL
M,;#%P!8#.SX#"S+FK @</%8-+JC5 5Q9#@:6TBA)8MQ1OE6Q(OD8='#(<N$1
MUUPBQ^%/:A,/DGJ-.7TR \N.5+&OQ;X6^UKLZQCMJ^98!/ YP8&U$.R3$,%J
MFH@$-YPF$K066PYL<,$DP0)BEH#32SE!QAB-0A+<>L<]Q^')[*MAK%C78EV+
M=2W6=7S6E6"J"%<A%TM3B$M/D2$,H^!Q2H):!A[IUJEZ!1ZJ8!$QR0CB2B:D
M912(8ZT2$3A*]Q :DV_T7O$1T_OG ST4 WNO[<8Q5B,:Z79CIHFPC3_MDO!"
M7VL]YZL7P"N -W[/Z/GB7- ,:^L%DBPXQ(TVR.:U<)$,D=Q&JJ3:*A!M;!(N
M6<0MQ!L\&(N,(@QY*7!R.FJ)Y9/A'"$%Y$:E*\6H%D%YX4;5,F8ICQ(Y:3#B
MB6-DJ2'(>,I8S '$=O#@K&*1"H=T8@QQ"#&0%F"7F0Y2)$8EX_BQC&I'_83^
M&9LZ"X:FA+XI-G5,JE)L:A&4%VY3=228..415Q9L*N,<Z<@-F,L8M".*:+?%
M*VNCMYP1A:BW>4&&@4U-R2&KX$4XQ9CTH^5K%)LZ<E4I-K4(R@NWJ2*XI(*4
M*"8;()JG#@)YK)$3VL)/.?C?\E.3=YQ0$1'-YI3S%) )V""3$B8^6*Y5\5-?
MJJH4FUH$Y87;5.,E6,\DD">Y5C0-"CEP-9&05F#OB&$\;L7^)CE,A$>"48ZX
M4P:YY"V*&GS62(A*Q)8%U1'J2CFD^+B[AA_B= K]/ZI.XBR7WNJK$H2S7-]I
MD<M+G9<#BV/%N_L26(Q/RY^J:.]-8_0B,%-Z&22U%FEO#<0ATB%MJ4%)>24<
MEMQ$?QTS%<5<!\E1=%+G KZ L\I9I)ARVJ<DG'1/AYE'@-Q[1\W[DYV\))TK
MYKN8[V*^=YHKZ26C3 EDM D0OC")G$T4625H]-@90MB6^38D:6T92DS*7$Y9
M(1.L0DP9';2S,E#SDI:1BNTNMKO8[F*[GWQ;5=HH-/<H8K"^/!B%-"8".98H
MX5Z %;5;Q^ =V'@E#2(D<,15,LAP8Y"7DC%%4XS^"8_![_^(9K'=Q787VUUL
M]Y-3F&CM2+08J91MMZ$169HPHCYBE0))G&[YW>!V*Y<$0<HG#<\HC6R@%ESW
MKC"OQC(]G>TFK!COP]"X8KR+\2[&>Y?&F[G(/?,4"2$D.-XZ(&W \4Z.8RM%
MLE:[+7H48HT+-B&95$*<28^T<Q1IKL%0&9:P><*#-T?2%/.]]]WD'9Q![3YF
M,@O0QUZG=K2]/ Q:5X"Z>^]F0_C-TTS%'E"CP.N3*#L]IEG;0[W,1<_W!["C
M)6JXRW"]"*R56/'@M87PR$7$HP"L[<@<@DJ)L&ABW#KD*HARD@*X)L-MIB)S
M"* 7;&R,45+L"!-/M[_,CA05(\/::_)T<&A;K'FQYL6:'Z UYS%09Z1%Q 2P
MYN  (\.40M$S'*P&^\RWK7E,1DMJ4&!<(TX,/)-#+@M&GA-M):6/=FIAK,R]
MQ9P7<U[,>3'G^S;G-%G--$.8.##-48&/G31'F9;&*^)U$&+[P(0+U B)A' 2
M<0F^O,%>(:4TUS(EY?6C90_=X)SK$1R9*-:\6/-BS8LUWSN?&(].!8>\,S1;
M9H*TIQ:EY(@4UH:4MRBN\69:FH@P 1$;+.(YDU2;F) T3AAEF'3^*;<UL"+%
MFA=K7JQYL>8OW9K3J+E1-B"+20!KCC'2N3('-B&2G&44_%:&48S<&\8L NNM
M$,>&(RL=1I1BBC&Q@N(G9$&F1]!H,>=/LD^]BR+3]RHJ_4U'G7>FD'O<;=XQ
M/NYL2)ZXNC1]>''I<9CQ$8M-&96B3$5LRJ@49=J?,CV? 2J#4@:EJ%*1FC(H
MAZ]*Q9EYOJ.RN<0#_[9N&O]]M8KVR_(L-A,/?X?)^2WI_NR8,?:'-T^TZG*'
M=<]K/?EBX[>,V(<(\F!G/G8L=/%L/JTO8D1-G-I%S%K6+MIJ.0NQJ1:GL;JR
MIEG].H7NV@:>;=O:3[HG/DT6IY6%.^RT.HTV^'HY6U1-#,MNE;(]KKJET&HR
M\\L&?L[_F"Y#K+QM3ZOV2G=@7M#5GX^&VW/K-70(>A4;^#;;K>^Z.(OP>=#&
MU<^Z]<X*QO-W>P(CE;_"V1;Z U?A(T$X)NTI_+FZTS;POI.8RWNU5=U4TQIT
M".;*+I:+NKF +_S'<M(,UW.CGR+\YNN3&<Q/Z 8OCWHS#(VOS^;U#&ZNZI0O
MMG'=^^K3:9Q!SR[RNZI/MJWF3>VRM';OA0&=YF[!VVU;S^#WB]SAR5D>_N.5
M[#^])%6;:G<__2'T:VV/484^PM1.9N?P1Y8#&_Z^;!>]&*Q$.T_^Y P:7LTV
MZ #\.;NHPJ3-+YK,EEFB\Y76PCS#71[,M)W,\MQGU:D^_+^_]G)U]66G]CP_
M"7?E78#S",+01M L$+DL$,W$3MLJ].K:-?S^?W[Z'A%3_0K7:GA;79W%".+M
M?9R"RF05#O&L*VC7/V4K?VJGTS@[R7^UR_D<VH"?H&]Q=CYIZEDGI_!GU[-9
M@,]O+HZKOX'.Q=6[3D&*.QL0PU&5,M-EUJV3N@[]1S7VTV5_CT #:E"(<SM=
MQBI^]C&&087@._\>?>[D%7V#KP"%6+:=OJ:ZZ93#GPX?/6G@)?-)TZM^@&:@
MA=RY3\UD 9-8A?K3++^COQ<>G4[^V>E;UX/CZN,MEF_:UJLY;GL-G]9M9YH2
M?,ULF>SJ?OC79#I93&+_N<.DYNY,)[/8??'$GZY>%C;D:7%J%X/.S^I%K_?S
M93.' ;K4]I>F<K^L@ 'DL,GF&^;\F@A#<QF1\A!W<[UAB_.HU^#K3$%?0L:N
MF$4HCW-WY\+^#C)1+SO]:F-S/O%Q)59YDF-&E#0(RRQOU$W7MP40V%Z0JO9T
MN>@$Z]N% 72IEP?XQGCU6U:6OEU]U?DD2SVTV<0T!=7HV@9-6%F:X?/J\Q[!
MH<OM:=W .,)3<%M:3J'5%*^(THT^$3A._PK_!1F'5V:W\B2B61WB:EI $/+E
M00[^V1V)_/P:L3?0K<\H@*YVW_@:)&1Y-GL#EF\^M1>O\]4M[_-83/K)'TZ)
M]C]DPSI)%ZL&NT<1S,8;4(9)]^[.;8%9?>/JSUG$X)VOU]N4G^_HOSY$)6Z.
M?9Y&*8RZ,H>='[N>N=/FFGF8S+*P(7!@FL5K"S[,FZL78%S[G[N)[C<S;8*/
M>VVGG^Q%^^;5OZQ%XJ9(HYNQ#2G8FLW=3MKC;WANM/U5 ;E[>+*A65VZPN -
MV,V#?M%+'E-")-J4604U,CRG+W#&*?.<$BG_E]QV1OF9(D"&Y.8*)(/Y;[)G
M/6DW8;3_&?XYG5BWLKKU;.6/ASAKNS!GUIVO[[##V6D7.8"+DBTG>"Y@2K^/
M/IXYL*&,'%444[;VQ5:W9Q?'Q<YSGX3AJ0Y4\EN/JYL<\V\8AW4RRV"45T7Y
ME$I.:88DSSGC@D1D:)(@*DI8K((T3.\BE^6#!W]M.8WOTQ4_Z.TL_-9'BEU0
M]Q$:^0L$1K^_ ISR=@XO@'N'R@ @U3&\7=RUUYU$/[U<O<U>]&21X[D^ A[0
M_ ;W+_L<G23D$,UF'V0ZK3^UU7?V+,>\;>\2U\L6)*7]\^NUVE\'UTMKL&%+
MO_ I;[.3/ C$#>;BKH.[6@CIUD%NLAR=]1\,<1[H;)=!^_/M") ;'*2>=/1-
M/XX&'^,_K.Z'R9K:>1M?MW%NLTNVLB+=&D__ZE<WI=N .S/I]/3B]>H=MZ3/
M]*TR>LRH_,,F=@R3V8/'OWSA67(L[OG@/1]CQP:SIVWRJ3]1'!/^S#^1'@OZ
M[#^18/J(37Z%%$9]L<3(R\Z[VT:"<6P1C&QG::?#M,N]IF]B"OO"H*K\Y"..
MZEW=K4^]RKIZ&FX=XJO.4^<J/JI8WH4_:QRC/.(]OZ+01:%OC9*&".?7'.I"
MF)/#H*+11:.+1A^J1N<=E7=Y1^4J5O^TB&<%JXMF%\T^6,V^JM _#\O@%T6I
M'S.][/!.$#X#NMIB.5]DBNQ85\3*.!45+"I85/  QJFH8!FR(EEEF(H"CF/(
MRC#MH*S,MT32MY:@N0\'UVCB[@=09UT>H/JC/9N_N>5DV%V$>*=#^U"1/TC2
MO'N-X+>R>>U;.A_$E/?T,O9\Z?&(B9P+*I#%G"(>K4?6<8EH)#HF)16V^)G6
ME7FFBK8G"U1L^/,7K6+#[V?#O^DP0S>!MPSM=U\^5_(X"$&-HQK,>]"<(QZ8
M029:C9QG4<C -6-V%PCQ:W\$OOVQ;JZ Q<YP G-><.);E?G/XU3F AC/2,8*
M8#PKP*".2,V\02JP!( 1P?@G@9$RN529EY9LGU)\<$@!?\3F/'Z(B\4TAK]-
M\E&\14YQH[NJ>$9408\G0H\A8V8?Z''(JZ1%[ J@[&<5R3MIE3(.,<,@1A!@
MR&WP 2F'I91"1T/)=9-OB$D^,8F"!ZS@+'@P^<HC(B)5A&$AR)U,_H[L.Y<E
M.GCP*M(=]FENSX]\0"KD2]FG^>DFXK&QEBQZ+E#Z$A7Y263G^>(A@R@'!\:0
MT$PCGE'.N1"1()S$%# $--LA4*GO7-3EWNJRJS'9)U=QD91B6+]B6 .-RF@7
M$$T,(^Z=0%9[C8PEA%"><(Q;M3GO8UAWNQG1$2>A?\:FSN*A*:%OBFD]&(4I
MIK5(RAA,ZT%O"D01"7="($XE0QQ;AJST$C%,E%?)&*QW[Q$__J; 2W63=[C\
M7Y8FBIDO9O[IENJ#,]QR@3Q/8%2IL<A1\$Y=P(Q'I8F1ZKHA3DE3I0S/.[KP
MC- &:8<5LASSX*R@\/OC+=47[_E1%^3+P8D'Z-C;6ZH0C',#LF1-/6-5+WO;
MCP.8.FK*J5"()0;A2Q ).4,<8E)+0JVG-,;K@.F,"]0(B83(K-R2862P5T@I
MS;5,27EMGO"$A":R[&T?MGX5TUU$JYCN;\U$#412$C78:LX0)U(C;:1%@7+N
MF1+$B:U8YSZF>YR[!47%1J-BQ7H7T7I^UON@-R2T%DDY%9#@ >Q\Y 0Y30**
M"B<EA+ F\9V[]8^^(5%\_7).X:!V,)ZIV!4D&5,<8)V33"J)F+$*[+:FR IB
M$.-<&R*<4Y9=M_52D20#)8CF<VB<Y1-I1C)D623>:&JXX./?\RCJ54XG/-EF
MR(]]I>.+*GZ>++J*F?7B-#;]GW=FD"I!V!XV_[].E7\H2OYXHO1-Y02>+YA*
MZ0S102"1J$$\V(BT=P198J@+6&-/ML[Z2:5,T(HBI@( L-$$&6)%+D+KA/>,
M,OMTC%'D""NR]PR"NQ1-*#I7S'<QWR_,?!_TJEKDEGLM'1+&<XB:K$6:QH0H
MF'GKF+,XI%V PR.310%$R (1SS+UMV!%P8J"%6/ BI 4(RP)9)TDB'/JD*,0
M34A%G7,Z>F:VB 4?'$@\^@X,P04WGB-N/)<-EP(E!4KVL&HDB/<RBH@4D7D+
MQGKD&/PK.HZ55S$I%[:.G8C@HU/B_V?O79L<MY%TX>_OKV#TV=GCB1!J" (@
M@>[=B>CQN&<=QV,[[)Z=W4\;N%9QK1)K2*F[:W[]FP!)74JJ2ZMTH20X'-55
M$B] (O/)"Q*9R)HL1Y01Y8^=$"2997G*X4E*#G\+YOR1/1Y-&>)NS,=J*L?#
MW&D^-_?L(+NLJ[*?765>^$TU4V-[1'5[>@497T+'BU#)V'!'<\Y\< [\+Y=E
M2%H*[I@4W #A<^[6LB*LI5H0(I%0#-1X*BB2N4J]_Y6E*7AB6>H.=[ E&\%+
MAYL7\22GG9R^CBHCJHRH,@:N,DXZ((BS/"MLJA$A18:H\ I)@GYB1EA=9"K/
MR%HOJFT4TIXWC^@(IP/N2#54K13[D43U%-535$^#54^.IT8+@Y%RNFC])<5(
MBIPE:<9 Z?!"[=Q?VG\)LV*4D^UR'8X/$N>JKN+!HJC!H@8;H@;;]ZE4F2K0
M,@IE*?<ND*9(X4(AFZ:9KWO,F5PKDTF,(R9E AGF]9*1 G&98]!+>2Z8S!S/
M>&RD,FQMLMLMM,=/,6WBT-<<;7K-OMG.!'4308^63Q'5\2J9@ ']M__^!@S6
M'9+LB"K@I%@KTBF*8!3!*((G0*<H@I%DD;,BF:( #H-DD4Q?XW_#[U*-[1]#
M[,,_H)S,9!?\,.6G1S^'VP?D'"_>_>3K7DHM/[DP^38>]./LUM:E[O=3&"NX
M=AJI0EA__H<C7N 484ZIXH2F3JREA&^SG_*#;1IK?[KS9=J!17^PLK'-1WCF
MG\:5_NU-8ALM[^#Z:3WK"CG#$EGS?OK20?X/!OK"-!,]EDWS[V^ N+=H7#93
M9,?69QH$ L/[Y]!CRN9N+._?NK']LKS*@?*^L6OI[GNZAHM0,Y7U]%U84N2?
MW[Q5,(UQ.;%KB[]8'7)%"/G=#G*, S-\;A.S534VVS%+-YRE>--OUM[!R,;O
M>H*4$S\E%.CR!!W>_+&XZMG,$[[GZ_ :G*:_>_# HTUY53Y:UIO+1PL+X><<
M ;K%].O4T^MQ4,B?&\?.D\UW0(2/-S;YMKJ%]]XG99/(9!SD,YE-C*WA#T^B
MI'()/&/F9!>B3EQ;6ZBTS0B^=*6V21@:_'DK]0VL<7T_2C3H)EE.^BOL/V;E
MG1? 4(SHD[TI-;SL*GD/]_QO5?M21?"BZ6) X9Q'\:[IAR%KFU0]</0??BZG
M-TEM;^%%\T\34#VW3:+L]+.U\/Z)36YAQC?AQ9@D]U;6\.(/Y41.8&!+CR]O
M;R7<#$HHF58;QP*D"V<\0I,)%Y[@KP9)F 9T@><NT]18/Q8@2).4#MX/;ZGE
MY#I<FOQC!LOO2O_NEO1^['Z,GV_D-)G>WUE/D?;C<AK6!W["D.^\REI]$8";
M]D/R8X:E^$U>AYOO0M ?#(3$?KFSIO0C3.[\D*;^ZG:9_3U3&%93ALV/ZQE,
MSQ/&TQ;6SW\] 4YJ!P(SG1A9FQ&,LM1 4R#M=5=;RE]^#4P (%)]AL?#H(&,
M/8C[WZ76U0RF[JI0B:I97DJ/H096*[SP!KX#IO C;]\;X!RHI>7ZY.6XJ58I
ML&G:82BW"A9CB=2@"%'W G@8L(J_TG\!5]LO>CPS-@G>O*?FS-\$\M%=TMXW
M+J7JI"%,:YDQ8<&!+Z>!GX#H_ADX:YD1Q*H.TI:XNKH-HU9R'.C>W%@[O=J4
M5'$84$B63:SMP!!GIXB&OU:WM@>ACD6N:]O*]3(:),&Z!9&> )> 0 8NZ;^K
M@G0&=K-E5W(-GF\\R_S!L[VLQ_=)"PL &HN7C<*OH32;'T0G7AZ5VC> /$TV
M8M(#4%SAR [&PA! &CVP-#-X;C]*_WS0_DTU 8/Y?@FS 3[]$^T76^L2!/,J
M^6$%<0$1@*OGC_$2OT*B(#]AW@MJ!AD 7/.2"2_K 1H':6(M+GMTZAX[2IIN
M0<KI7 O<R$\ Y[/QM+P;VQ5BA[==)7^_@4?VN.NGX('WP8 ]EKYHUJ.5.7GP
M+XU?^<:"Y^7A!3ZJ;L&*]LJQJ@'[VL7R#U&S*<#+%)8#T-8#4]4^K0$F#T#F
M9;T'^!NP:D#]W-75IX[?X$&SNEX@(GP%I)G>>^"U'=QV<.2G8TJO9H$NGA:U
M!7M+ T<%@!_?^^%X-O>P./-44"!I 4B]!J]!>UOMAY3H&^FO 14(T*P;OPG]
MCQ:Y ^O<2>]NSL:R[E?4?_JYFL'@;^5O04UMH&NX:IF0[1T]E5<X,N+>X2?^
M/@#.GZVVMPKXBN!1 BX<"6()OV2C-8C9I!(_V_IX:V>3?WDZ"_'9)^^^N9^@
M#+N4H%SZAA>:YHC;O$"&"F)49IWE:^VQMTD?676F?_$K\Y/[6V/?^V5Y-(\D
M7\DC8<\5TL#LZO$T^B.(ZNWQWEV.QWZ1O7 ,CN>8 JY*:8C&^ @)9DAB9Q'3
M(E6<IIP5V4.>DTYC9N%RD0J'J#(Y4K:@*"=:%B835).UXLH'X;F,73U^H/ 8
M/->N_ A4G%>8T_*3!2472NL^88$!+-KD>*,>'(L*RRF1:8%(FBN 10&P* Q!
M6F.>8DPS8MAK8+&^MI,'_/G#8CF^^]*99]]Z<Z@:_UA-X;=/]MZ:UK[=%?.2
M["H;$O,>[]6W0P9,Q0#F&  F"TK:4H>D\;UXA>,IDUHZLZ:D7P^8/4/>[XS;
M^!49$K=MA,HV:./WIL("@/7X86R__*FLFOLVH/)7\-HFU2?I'=W6 #7>[1T:
MS[B,.@R(A(00*:*8ID@Y *?"8E"XQF!%U_9*MC'LWH,K]9/[ 2BSPB;-/]QT
MF3N^__'#<UG 9,3)H/BC^<?,1QZ<M<%?K6:=0VEZ-S=$17W0I G.>^,=VQ"9
MD6W\N UJW/F@I5^72?(17,IJYJ,H,+^)[J(I"\6\[K',XVW@:=?MRP<'3SEQ
M'/XW2*6N\$WS@-5"]XO<%B3/<LK96@KZUVS+!67Y?3=_< ##O]]/5M%JET8=
M':1)UP/.R/.;#P3+.@1L@O=[E?Q']=G'>_H W=(.P"8_N&<K8WNV,GT(Q283
M3YRQCYH#C_]3]D#X,!9NVHT6/Z9C!D22E9#(HYO'X-$R5PB-,JXUHL1IQ#%C
M &Z68V,Q4VPG9\4W;1[/5>E?I=^=FMY_]#O_+]U1?LG(PX[R)86#O):^;:E9
MMMM_7QMUEN&NXS'NAE!6[>43L,D'JIOD&Q# 61ME3?PIS@9T2O/[MQL#@ /)
M WF6E;XB#Z3-*O*"LHFMY6Q:]8=S_'A@C?WP_>5H+.^K65>/[UW[.I%>I;_K
MKX?U'<N[QKYM+( H8&1/AH"4[:/?;#HF\ZELRE:0W_;/>.382_O6(KOBU+_V
MBZ>/'V(W92#XEW=O_O#$K>"9;7<CWO)]V95@8NF_8H^O?U5?I>.<2!IBY=)M
MDE*^,KR^UWR_EQ2G/,>2&;M,+?VJ:K%'H^!..35HQ<B8NV7,9R Y6!6/'K@=
M5*^[O1I KW"> 4[IOJI)#X= )]#/XNAL\ZH""^?8S77WV]J9R_T&#I+$A$@F
M1L*FOET$H81J1@I:["+Z^:2SWU>-^_/,_@BO^?C9CC_9OX:\NEV5XLE&C&]7
M.>[$!>J02FZ(#5T'K.185'*7J>2&UDCC3'5;GG+#C$_44LPA:BWHJ<):5.3"
MJ50J7W+ND+KMOZVL/WZN=J72V"BG4:5%OVU(*BV/*BVJM*C2]J;2L**J2*E$
MEBN+J"@PXDY;1$0A!2=49G*M4.K>5=I-;7=5X0Z4&DWSJ-2BGS8@I59$I1:5
M6E1J>U-JU.*"2HH12PM_M(: 4L/4(%O8M%"J$)E<ZU:[;Z7VH9K5N])I9"3H
M=H5;+U)^HJ-V )W&HTZ+.BWJM+WI-&<<SV7!$>,9Z"???%UBDR+PTG3F"EWD
M^.".VH=R9Y7(,SHB_/$345%^HI]V>)TF^K,D0"0W79Q?CRKN!!O9#U"(8R?[
MG:O)0FE!4D>1$J AJ68YDJ GD<R-PM1QCH4^I)I\[W%CQ[JR$"-*CK]1MWV#
M^P&*8O01]ZU/0X_[Q,VFL]HFOO;2[>RV.QMTU\G+\R>"_(00O<KY\GD) 9SW
MW%FA_*J B^ZJMHC=V]J.I3]U_'C3.ORB=F"GO9HGH.U/!D"B0_NUB:)*8T%P
MCG#J)*)$$L0SPI#OS>@<IBDV]I":>E>.;(I'1!1'U\XG(SA'\V3#;,J)\?6*
MPUMV!-[+9R7#<Y=?E#YQ''@HFMI+3%]7=N(A!Q1E$[5AU(91&^Y NC:V0]ZY
M=B4FUSES*?C!C"*:I<XK5H<R;$QF<RH$>94?'"J#_-"6 ^DA8D<:5(R*_/C>
M[=&=JZ]N4WPT%S8JTJ<4:5M*8E&JO7-V?1'>VC9>='P18H]DMMGJ;&W4LC'"
M'"/,)ZNI39$7DN<4<:8,:%UND<R41IP;D14%R37;?[+2WR:F;$+O!6N^^Z+A
MTO:L_XY4.LE&3!Q?IP\T8GT4O1^W@K\V=/U$1:NHM@>GMA_TBS^>XAYL 8*7
MT.OD=?ACIUZPS#*9HXQG"KQC"]I7Y PT*9$D!U5%^$YBSU];UO?KM"IF8I22
MXX>:GV2DT]X*GG>*G ]]V0?-K_*\>*K XVEV@NP9JJOB^<>EIIAKGW9=(_MV
MBG?RVJ))96S__#<K3?_^&2CWY2TB[T*'0%/6-O"L+^HWNYV\6VFV^)#5KEC9
MSJ*S;-H/-K8>M!.S8;-WJ3S>G&>_O) Q7U.K\W65N5ZWNF(U,7O1Q]"OW,W<
M6.Q&W_5T#)T;VVJ,JU\ 7=N/PT*W%F-(C7LKQY_E?=.5&EQ>\Q6D"2NVQ 5K
MJ[G;13O-"IPKDA4TV'(OVJ_HR-HW.WWL&2\N;_M5#5,WE,!]K(=J.M@&JF%)
MQ5>T2Z6T$%A@RG":$U_"<R>M4Y?24%[:.Q66VE75=%)-;;O,/W[\GU1*R;11
MR!2^)4'&?#TF21!.=8XMR0IK]9ODR^WX[5A.KO_]C9V@O_UZ&,JMUQ9^,D5H
MWD]OJ4?9<E]%WU'MWDY]E6ZX7OO^:.ZYNNW/#7;W;7@8RRD!B75IRA%UA""1
M$8X4, \3G&E-U]KP;+<Y\]."2C]6T_^VTV][NNRH8'N67_'=5VS?EGWF!=L]
M1ZPTI9UWH@T-5&5M?55GN]2J-G2?:.Q*'\&V46QH^]>V(GP='[W97!Y=*,H(
M5AR9U (*YPZ$DQB,@ DH5ZG*E5@[V:$,IXQG$J5%80"YK4,*%QP)HP5/4T9L
M)EX4 /0_'G#&1YCU3RXTP 'JX14&0(W5;\VL]KT8CX$/BPI7#XW18W&<YZ>]
ML(6SD@A*4\0X(PA8!%2]5A1AK!07A61,D#6VR)T-Z51<*HQH 3]D3AS"A4HI
M^+N*^N)[Y\<6.!T<7[3=2CUW]*JH[]K@J^6[LFY"A^=ZZON9.E_QF5XM3Z+7
MX2LV>_AFV9#K/U\R#K["(GV$\Z0&"S*5*3*:^>@(!4N?>GW#,YMI"TIKO4O<
M5W<5>:^:P$@_N4>")!_JZO9/;:^,7WW'X]7&#4^V<;BP?@S/1:<7'8*KS1V"
M5WJ6K+29;F)GA'/KC,"*JXQOV6'@JMBRI\*6K1%P<97C0[5&N+3YGF KB*%$
M?7:_\37DO+2]-6'(8Q.&KV_"L-PH)+9BV"U[G@TD[K/WS= 0\<QX,/:I>35$
MQO9)452CJ)Z*J&915 ]JQ<1:!J_.*OOID6#;_:6>ASN!]-"C<]B 4C^'P30[
MWU>WV'(%MA\2+,T1S81#RG#F$SRML-:X5.1[3.O\=E;7=F=G)M@H)_CHN9TG
MD[5Y[L(2$38B[/$15M!"*D8XLMP:1+$$A%4I19)+*YS1F6/B(<)*IS$#_$4B
M]<EGRN1(V8*BG&A9F$Q03>A1$#8?"7;\[/F30=AXSNQH;L4H&5>>(+:^O50H
M.P']%\^-QW/CCZM.:C+J3&&1I0Q4IY4&"0M^AY-4.5<0I>D^SYS]6$WT3K4G
MSO(1*QY/_AV U)W>V;.(XA'%3X&;+A;%<\TYQ40@(C.)J!,<4#PO4.%8#OC,
MF)1\CP[0[E&<X!'A(J+X\3VEN 'S<N'\:W<X[&'6\\-*TE&_#ER_QC(=L4S'
MH\K6@4*UEG*4,9LAFG..)%898L12F@O-'7E5SZ-P$&6SIBUM\]T7?VH"O@AG
MGJKQC]44?OMD[ZT)E^ZJWB4FV2A+AZ:"3[Z,1X3Z"/41ZD\%ZG-+G"@,1KFS
M#%'",Z1R*U"6XIPPAPNY?@CZ:_RJH4 ]'Q%Z_';D9P;UC_E;IY&K?U)G=^+Q
MI9TF_)X!.2()(@FB4$2.>*Z"XN:B@ML5:LA/L4Y#L"03^^7.3GSEH:KVM1@6
M%8?*)JFMKJXG\))0J4$FOD*&M[Z1K^V5*-G -17P4"CBT 8\?4K(*/E<3F^2
M3[(N0V6"!Q6SEIY:MO4?P PN*]_8MEJ^SE=Z*-OM!7/U3$V;;4N+,)NEVJ0I
M4BD1OFZ11=SD%A'E"J<E$QE;*VKS-:5%%D5M@ 3?5LWTR3HA25=*Q9KWTY>.
M+M3#.SSS?&C9I2LK8R>^FL>KB]ML/9KE,\B^= T)/[-0[@9^@0^GH2A)RXD:
MUL&SMZYN[^JR:6NRA2HXH:B(+U'P3/D>#S"O*7&SH?;AB]=Z.X2*%4Z.5^&$
MTBO*Q;8E/]AA*WZPJY23 U<UN8 I9OEYS?% E0G6@>@ 9NW)'*R,-$@>>'LX
M/<2AYU,_Y-P;;_\=C+?O@O$VJ#(N)\Z30R[;,ER^?XTG_!*N;_U=[X0=G;_/
M[(!_K#L12\0,E2U?2[=SI$D4U5@B9H!L&44UBNK.115'43U)YR9&?F+DY]"1
MGU.'NV_>;RJ&'WDHGHP:3@T)O67\Y;0(=@+)\$=GHP$ENI]I$GNA<DF%I*A0
MA4 TDQQQ; 726F&<:9L65NXBNV4UC]U'6'>4GYZE(\%CT;D!G#&*&#H0JD0,
M/2R&RB*5>6H+A"DAB%J:(X%S@DPN%,VPMKQ8JS#GM!2V4!8I!FA+N<F09")%
MPO?/HX3FCN8'PU!<C#@A$4,CAD8,C1AZ% PU6BJ)#4'$%H"AA!K$F6!(N4(Q
M;.#+;*T.LG$LHX5E**,T0U0:AWB>YBB72ADC:%H(>3 ,%0"AQZ\L=C(0&BMS
M[CNJ\I_]V8J'!6=B>&4@:BV6;8MEVQ[7B%E:F%Q1XEL!9#XRHY$$%8- %RJF
M"R>D+Q7PRI;&/4CL32W245JPHZO%LRK5%KV/P3!/A.F+AVGMK"M(ZLMI NY2
MR0P23A*4&9HQIPLI,OR:X,]A8!KC$<'';RP0<3KB=,3IB-/[J&6?$9()#)8T
M!8.8DBQ''. 9%9*EML@XU>M5D+\FP'08G"Y&&!\_RG16,!WS>_8=B?HAAIV&
MJR=CB<M=T.M,E69A"DX<E2AG&!R55(-S(PU&F<@RFN),9CK;:>V;724%L5'*
M8LW*D[%*(U!'H(Y _9I:Q"GA%F 7I5HP1'EAD=" O#E.TURS0@F[YMULDX*T
M<Z 6(\S2"-01J"-01Z"^ *!F#NQC 88QEAB .@<[F:<910Q;S7!N:>'6=G6W
MR7/:^0:![SP<+>H#Q9X&6/KG?)'_DD@0:UY'CH@DB$(1.2*2( I%Y(@M[-25
M[@C+5<K_V/5'>$W5\[7J^U8PH_*<(VTRAZA-#1(YPZA(X2<60G%7O#H+]E=]
M8\UL;']RO\[N[L;6-Q>0XS^7C1Y7S:R&S[^5S<V'<?6Y^<6.Y=2:C]7J%G_S
M9-'^B^H9\7&Y2GY23EJWTGO M87W-*%Q0[-$Y\3,"=VWF/ +&A(*/*UA^/!/
MV_"A<HF&I4B<7PMX8%B,9%H]/.30)-_(385.WBYS^" $\BM$)-;$CP7C+VR*
ML29^K(QV2@;=:=$@5D8;2L7[$^>FTZQFOU^BGX)7>F9U1V,YW%AD?JAL&44U
MBFHL,G\2;!GMBBB8L:3\L 0SGM+:]RFM6(5YH-FE1V>C 66.GGQ6Z#=;=L#^
MNBQ355C*I7:HD)8A*G&!9,H%<L;*/*>YSM1:48K75W7^N6O+OL.JI'EV])33
MP8K?5ET;8OK_!7%(!.C! C1)'<^)05A*CJBV BE<Y(@KDBFF-<OU6MG]UY>,
MWC5 DU'!CE\T:+#B%P$Z G0$Z-,$Z"QS-*.Y1)GV-8-T1L""ICERV$I'C3-.
M[N2<UEX!FH,!?9%E_5^)SX^FNR[24_MDUT&@[3YR"+=,63U*:_?7):S^M6JF
M/K'4)W]TR:.F2B;5-+FKJT^EL4EY>S<N=3E-2@^8%B[W>8]-(B?&WU5;D$(;
M[O^VNH7QWX.0PH7P0KC(?^PS7'TV:K@O4? .DWBH">FINNX38555UVW:K+_N
M*O&IM(]_/T^6[5[ZK_^'9[AXU_23*)O%,,SBI6UTSW\>QJ]G=6TG^M[GR0*%
M]<V"#LE=!T>)A.G=2F.OEAEDIWG>Q%KB4LH0QP"Z5 %LJI19A+FTU&!!>+Y6
M__\5>=Y_[A;D%Z#C^XD)X/L12/(W(-+WDV_E6,_&"UC^H90A<;6T#5S\OFGL
M=#\)W\^+[Q %R+-INR\"'"9!+\AKFP#3RG*R""?/&6ZZZ>I5 9DU;5+W+=PY
M6Y6L.9,_K&H_7JQ1(D.B^)9VP@X(LIPVEOB,BA',N+8Q^?QTDL\+=E60;1.L
MKVAVT+3E++WBE!XO;3GNOKW:"_G[B_#SFWN?G+JWN,)P*!F#"J=0#>BXL83-
MAJ0F:289H8@[JA'-!$:*&0"@C!F5.D:(( \-26(<,2D3R# -AJ21 G&98^1L
MG@LF,\<S_K3CWHOO^U9Z?^F%=VY8XA57'356OS6SVHOS[C"DN"KHG D>>JM1
M.':85Q+[4+U"LZW8^E&515465=G>PMB.$,6XHLADF404<X$4S0O$<6IS)@JG
M\[5]QIUKP^5@R\^V]O1="7#?@8\_CW"C;#G$39]K+W6%8X#[49[XW0X"W(]4
M>8";AX&D.PC7; IAA.BF'LNF\;QR;=&D,K:_Y\U*\/.?J)P8^^4M(N_<V'Y!
MIJQM8$0?:9C=3MZ!PKL;R_NW_MLU_KEB93NRSN)H/_C?63,MW7W_PG KLA/S
M[JYJRO#L4/N@_&27O?=Y7O"7%_+D:^*-K\NC?MV*";'"V2VC]FQY,S?BNM&7
MDW$Y@6%,9=V%B%:_ +JV'X>%;BTYZ6!R;^7XL[QONDC(\IJOP$=8L24N6%O-
MW2[::88%%^L35FN3ZU9PK'16I"BS1(&RLAAQHW+$3%&DA!..UUVW;;(6?[&?
M[&1F/]35[;?P,*\V_EY.;[X%F:M@/(\%]9,.!D&O35\ZW/_!'59T4 +$OD7C
MLIDBVY8_"00'Y3D_9[$"%LNBZKE@(RP$OGX7EACYYS=O_5Z/Y^PU9EBL5K<5
ML:/]@^53$5N)=S><)8?J-VOO8&3C.7IVPAKH\@0=WOR1SW>IE@2V"W:FZ>\>
M//!H4UZ5EXXGDU^LKJXG 2WF&QA+^'9IA83Z_=1K.['MGFO=$<J!](:-H4;Z
M'L<N465U5U?:-HT/FL*O9J:GS2BQ_YB5=U[4P*S\5,+WH[ -U=<.\I6&9K?>
M FK:?:?/  7^P8U=O]5O2ND.)KK*0G[GR<$H=&DGVH9'^Y'<2+!:M9T%"Q*N
M-'!77=KF*OD;J(DZ>?_KMTF>YJ,#[%*UE_HGORVGL*CZ"=#F@)OO?EDF<8^0
M34N8'B2;4;@8OSOB-EO/"J7GBB V__3K=V,GHZ2J$PDK72E@XF"WPNH&POL5
M\['TL$4H Z;[Z84M[@:N;%QIS:C;"J^TGL%"^T>V5U;C/E, &.RV]/S2<YI_
M96/KED]@2/#82>-L7;=[F7.VN7I]DL7S%-N//&^)>2]G0/ 4Y?5U;=LE\Z3N
M>?&;]PW\'BJ!F=_O+0M!FI0S<(R1412#ZUMHQ MI48$MS8TP19KMI-_-ZCQ_
M<MTL8Q&YA^JP3W$)^UZ)#459!K6O[P]A!]#WASZ3SS(D'[3E[YJXWW\Z^_U4
M7&7;[J!?Y0>N4D8.7A<M3O'DIAA+S0W@V'JD01)+S<52<Z=7:B["6H2UP17*
M.77<&T1QN7-@NRAZ4?1.L%C<.;!=%+TH>B=8#N[$V2Y:_0-8A$B#&,S84(_A
M_:9&.Y&'(I@->A$B#?9@S T4RQZ'KD>2"B*C1!J<I;!$GH@TB'(1>>*X%FZL
M%_%JT^7G-NNT3X<^ZH'))_H+[(Q\1Q7;LSP<&&M/[NJ0K<XQUJ202#C,$&7.
M()%RB9S&*G<NS[EC#[.&!<]=FCN%F! &48H=4HXS9"PFBA689<Q^Y;FE[R=Z
M//,D]P7*X'_S47[942')G."1*,0EGK0=\$'UB+O#8I6(NX?%72)3PRVG"!-
M3FJ*# DK.;+8",4EME2HA[B;$T-MIE.XQV%$54Z0S!1%UF#-9$XSG)/AX"Y/
M\0CSBZQP$'$WXF[$W4'BKN1.,*8UXL8![CHED2PH0485#F-"M>-KI^18KIC4
M*49,.N$[$EDD;8&1M<H81JB!L0T'=_,B'1$<[=U81FTP 9]?JGLYGMZ'LX:5
M+SKN*X.#&$1-.%1-N&UFVP#%>W_,]%7=8<])B=+"69%S@1@5!%'OC7!,)5):
MX5SECA8R?:A$:6&$<%8A942&*&8I4H)J1$QN*<ZXQG*MP<CQE"@9@..R?6KD
M14EAA/0(Z1'27POIA<XQ$<*W+]'@%V56@%]D,F0+ &:E<Y:N%]M41% I"PY^
MD2T091E'G.<YLDRQ(LVI5;[/U& @G45(/Q$IC) >(3U"^FLAW:96IC)5*-,R
M1]1D*1*,$I1R132E3(/]_1#2,ZMR3%F.B.5P#UR$%,8$Z9QJFU&:8F&& ^D9
M9A'2CQ\*VT'N4YB-+T([F;X%"NXJ-+9<RLD_=ODUZ8 Z 3Y:1K+RK?-BGM1)
MZ>'L*O,@8*J9+RIV1$T\V+VEE]#K3)6RPTPP'P'C*>>(@G>%)+,.8:8Y)C8S
M,C]$G>B]YEME(Y)G U/,#YCL]%1S1/F(\A'E3P3EL=!$:6U\ZQJ?56L($I0P
M) ILL$P-5<(^1'FGI;"%LD@Q*Q#E)@/-(,!G$^!V44)S1_/AH+S/[F(DCR@?
M43ZB?$3YRT1Y1;1-M4#,4D#LC''$<Y,BJ3E/";.2%6MG)XQC&2TL0QFE&:+2
M.+@GS5$NE3)&T+00 ]H&][EDC-"(\OL+LSW3PFS+)@NOZ(UUO,+Y?_>M*LQ2
M>X')=1_[&H6:LWU'%=_WI 2&\(TYQ_.N%A8^KFY+G3C@TJINX$,Y36[E?2*=
MLWJ:E--Y"Y;F*DG^9+6<-7;EX]!*(_0.66W),N^ $08"U_CK)A6,%AY=^^XI
M\Y8J$SF=U7[ Y:V_T^>\S>#[>BK+R?2^'VPW%=^(!!?OE@< UVO9W"3.E^%O
MQ^+G#/?Y@78=.Q+?_@<F\1_59[BQ'B77)=S?SOCIQ\.X^X8TQ@^YG\$4/JZN
M825O@() ?M]V9#0G93/3-[X[ 'PQ&TOXJ$WF@UONJG'9-HKIK_6]5MIZ.HWM
MGP1+-AO#^V!4>KI[,LW[DAR>:9-E(;\D:5WJ V+-:FNCOC%-UW=GT75(W:]S
M&2SC)%&^7<9L$CCRQVIJ$S+([D*_SFYA+0)W_@K4+QTP/DC.>QUZA'H^_AG$
M09?PEL"R^%WRJ[T.79A^L7=5[2_IFP\=D66EJC[9*#.'G_C'H#M\IY5-Q/^*
M%^S^/!JQ1N::HU3E&%'!")+6&J2(@"_2C*MB;;.XX"83BF0(#%B-:$H$$D(9
MQ(3.M2,YL4KOQ99=6+#?__AAO3D]F+%^Z[&QD\=F"Y.1N=4Y2E,!LV4Z0Y)K
MAH0N"FVMS'*JUUH+6Y@L+WS_8>:M?:>0TCE'C%-!BSS3J<N./=M)M<%4?\1V
M/X+8KRJ)N58(5DMMX56-]PXW=TDZIG!D1EDC6(YLD0&C<\[ :6,9PC871%!A
MN5T[-)2G3N:.,@0"!/<0X"YII$:$9*DFALN\$ _9!7C$^\=UZ*SU2]G\UG6<
MEM<6O[3K=/:,2_=(^E]:8$$*A:0B$E&M?#(WS!4+0UU!,ZNR-8'(K,T(.*^(
M9,(AFF<I4ASN+KBU*;BSNJ!KXG^(&>)TR$+P.]]K[[:J[0,3]__Z!HU+N_TK
M[<.Z[F%K/;SZ[EW95;+2^/!G!V.L$\"7JZ!M_F5H$E4XQYF3Q.<F^>//C@+O
M".IK3Q":&Y46?"W=E&N)0<<(E)IP9)ICI#P4$\4HW&6=H7LM.Y&OA$[8<Z$3
M?O5XOND1L!>N'L,00G?)H7$#I[1@P G^,'R*J*/2J^,,::>MRZ@N %8><@/&
M.A7&YLA9#HA59-[X &7N"D5)(7-JV5JFVM'0YVA@,]H!RN#H*6PS\;TW'/U0
MCCM63KJ*6LWKJ762'3<_;H@4N05UYEUN^\#7G/NG-W4UN[Y9Z<7\_^JJ^3"N
M@FI]_\M'^^M__YA,Y03NG98^RC6N/B\__)LN-/#QPX?.L?]]TMPWOI?Y*/D8
M[ONO+>7G07B\F=W9>HE<^56Q?1_,@AXS .'&8/$W-]9.Y_3[\.N;W_N(7F.G
M4]_G^M<[JZ?U[#;2[@'M_N-#8+\0B[X%H*[EI(N'W@*;CSWM_NM;.QXG[S]^
MZ#GQL:[A5\FOL[LN+I54LWK!N9]M NJN2AK_)( 74)T3^R4NQH/%^.#1X&<Y
M]<'Q!A9C7/:QZ6!A)DT)"%Y-+%*R\:VY_6;"V"*_[1" Y&[3K8!D<(LO2Q^,
M^;]:>%OU28[@;?;+G\H*%FF4P+_^SY&/.-X#'XSF8.6OJ,:SMG'X?X#Z@7<V
MR?=^^>'I/Y2W0 L8RH]__36\[KN_?H1Q>4!,I/['K&S*:1>QO[T;6\\P,&AM
MO260[J+_]ZD&[M8TS"9%,9<W\.]F3;O#XI7+0F&,DA)6I_L5[,P00PZ:I%W[
M)0O5:R-5PORN2]VRABGE]:1J0)CF2NTJ24#U^*;M,H')EB9<:)WS8>C)%"!B
M>E.98.=U?8C[=ZV\O'W5;36VVF-(&Y,I?0#?V/']?"YCJ:HZ[/^,DFY[#&SC
M3W9<W84H=WAN]WDPGQ-Y=S?N7A*VR/R^VHT$ UK;6;MO!'2?^;TC&,[D&A!)
M^O?#>,; "+"6X2D]75L-/H81E<%UL\O2TA&P!S>_7_79PY<,#>W+2;_/5$X:
ML*S:-5BTO>]VSFK[CYEMIKW=W$>IEO8+_<?PL& -]$;#$Z, (DZL)XC?..C-
M[>K.+M8X6!]A@J-VHZV<\Q \5Y43H'W82%E<&"8G.SA)X&'!)_%B6@&0M*W9
M/6<\/VU3)9,*E/%B.P.("YJD=/?>56SG#[+C7][8%842=D*=#V7,@W<P)E,"
M?T[T]+%110A90$AG'R8??EV8/LDWOW[_MU_! (*?R5_D[:V,6O?A_A4PW\^_
M_/3[;A=^FMR JQ4P <PB8^]L..&3>.F:  )-VIHS_BY_PX)ME_((%ES;.PNK
M4>D>/!\3-L#A!V6-6^6][%EL7.UR&=1JJRN0PW_ZQ 8O2W<53"GH$"!-,@.(
M\4@V:1Q,)Z .J(IJO(95T5\?A'2W;+?NB,)ZP0(&J^P9!G8'9>!Y#+F:=&@_
M?]8NN'1:/="H2S2#NS]501\M7S)7ERNJ*ZB>7K'-]5CIOQ@(XV],Y?K_DN3?
MX-]$CT'V?7H<&#>3RMC^(<"V_NMNU/\,QQ2_O$7DG0,S'YD2J.ZG_Q;F,[N=
MO(/UOAO+^[?^V[64N2M6MD/M#FZV'_POD!74>O_"<"L"5GMW5[5&_]O@(I:?
M[#M5??$$@6>^G>?>?7EA@MUK!/AU+;]>MX0X35<6,>3?S9?NIGZ 9N7$YV A
M8,QZ^E;.IM6[U2^ L.W'8:7;$['2P>S>RO%G>=^\>_.'.4]L2ID,2[;$!FO+
MN=M5VVE:Y'-+]"R'O#RM<DFTPNZ"O[B<S.3R9A/'2F=%BC)+%*+88L2-RA$S
M19$23C@6Y']PN\$ MUKS?OKBV[+'CAN?J9Z3H6%>JUM:3!K[?,P:E S@OFD6
MCLHG.?81UE70?RRO;UDGP2T&]-2[A9X;S6VJ)=4#*BD$53IME70C4R7H"9\7
M_/#-7D%H&*D)+YD/\R[LTG@_U'ZYLR;XS#.0N3IY_^NWB4_-QBEB#&$>S:JC
MFE5M/!)&^9L%@V01XNS,BW$(B,(X?**J-Y*LOIFTL9-@M$CSR2^\6;;'C&UM
MASZZ,;MKIH#3MWT(PYLC50\+U:P)ML]M]0FX"MX^&\O:AU>D\CE_?I]]NF0Q
MF1#.:%FPFM5-\ !D C:1#Y2T[Z]GDQ&X"=;Z*V^L'$]O[L.CE]_;/[-_6A\1
M2DP]NPYIP5YEVF9ZM9DH+37N[SHZ--6XBR8L!RF^*:_LU2B9SE1K5$U#<-EO
M%()^\STQ=QQ,^1C(LC3&AZ&;YXS;Q^(/SUNY'\H:1A1,U;M9K6\ 0^IF/L*E
M,2UHUE\'Z[>X8!XB:V[*N[OE$,V"BM]XPOG(_(*4\%$[_1=0\6MB,X\M_M9Q
MFJ4'WCWP;/N=A(Y)'UO$?3@-IXW!S[[[1+>BO[VIX8YIF]E]'[>CUPT<O4JA
MA6/=A;%E,IF%I O@_?F7RSL(IOH\Z;73PUV#?\Q@RM/[Y7A0KR4 =KR>:%K,
MN97_6]5E>[SBP8A69;OI!>^GG__V:^*) U3ZS6\>KM[5.J,KIU*NVGO:;UHD
M-]9#6 L8RGKD =\E&&D.H*/Z'%"P?TA[) "H![=<)=])T.=+#_2@8NP8O!VO
M%_J!@8>UA+\]6"P1W\<6-DZZ*2>]U0!/MF4(M,!(/I4^%4;=KYP[ZL,1"VNV
M]G?-_VQF?K/#FJODVXW+/2?R'I"QV^+M\/WYS8&(9D_UIPL;6.\G<GP_]7MO
M$=#FNWIR3A0'3*EORF9QH&Q^/@NN+F$F\(Z-*3;^]U]AY/_Y\W>!;?TN^G_^
M_%]),Z[NX*J0^5$UNKJ[7R0DK%B'<$]G) 5<6XY4MMO6\\W(ILUOV.ATVB_!
M!+I>V9U]@!#=AN843/2E&8?M-WBD=TK\-KZ=&+^G7P?8O)6_^8@E\F#8W_M@
M8_?6RF96AU&&R.4S X"OQ\B!M=C<K.RGCE:0M1V*QRC0$F/46KC=JL'J D;Z
M]X5]B@<K>0!XBGCS)-X$'HDHLQX7ZDBS/=;TQ'WO3P'[;?O[Q.M 'ZH*)UCK
MZC.8#=W9U:NER^=7^=.^D\2' ]H,P/E>_^KC-YD6X%C?6E/*WZ^8<@\3+SZ5
M]736!BG X;I]K]ILH=9PZ\-;;> C6!R3Y92+U6V412X%$.AV-IZ6=\'*JF^;
MU='VLVM#7>/*1YUM?=N:,#"0Z]IV\!3,JF XPDT.".OS2KQWJL,[2QO"+E68
MW*R>M!EC,.*R?IPX@2@>(JP_]AN \YNG$D/@@M^O3K0+!BW-=G4EVX07SP,O
MG&%W]/BQ.2['/_RCV]AG>$, ?7\V>WZBZ2II[=:>>WM\];;BAJ#&(SYZL.&>
M#F<L^/5$(/PD@Y#?3T(:_,,:!'UZG/_T_:=R"LN:O%]DT+7;M<:[$9XYC'=9
M +_&I:H!K3HK9FRE"8&]/EIY'^+4JTCE.457<'MK#2SG6W6<MVZAM-*RE- 7
M*@0T*U, GQ/F?@?^GF>MP-;S-P?X6G[5J'-5_6B__5?PS][]Y>.HFV.(K+83
MLE_N JYL#/+WHPR!HE5$6#*MO"EC3.U-%/^4V:3\Q^P!:$ZL-0'0/(\'V9%W
M/4G;O7(0;<])USY<YIUC^#::((^;(#\%HD4#Y)$<CK5P39>_YPN45-7MXOL0
M70<&OJF:.T]R4 4_+3]AZ/A\KOS]T9.O.W/V<^V#0>_!6])]%/O#S-L0R<]+
M2O:GQ9[!A8K#+_:VVZ%X9"]E:3MAVFYHS&E\5_<!MZHO!>+52QMH^US5OR4W
M8$CYS0UE[:1_@=_,K<,W[:>R]@:WWX#IO_<YK9L.^[3K]_@XQ\&&6C@*U3-I
M194;R$;#'QZD-,1DHE-))L(QF>B4DXFV.!?]YE4)2-MG$IVD=NG][:ZN67^N
MH#>@EGWI+L+["+AWQR0Z9ZPK/N;39L.19G@\8)TM[Z9M_L5\*S^P=)NC_=!W
M?Q_2A/SNR?VJS^<UDQT#=+96@U=?WC4;5]VID#;EJ0UP-]YS:6",C2O]3M5C
MHV\6NTWK:4<IPC1N>0_2HNS+221_DN/6_0V\U'_<197Z0A,K-N1F='D.QN;%
M$[JTXKZ4$9A*-,]RE#EK$)56(YEE&A4TI928-#7<[**AP*;R&;YJQO3]Q/Q0
M2E7Z'>B/?G_F([SH3V!<__8FL8V6=_"0:3VSEP5OWDI=;&Z'$I^]H'LOLBTA
M$<Q.5<VF+49]6NQN&0N^7OWBNGHR!$..!Q3KA6F^:=,QNZJ8U:P)661O3QK+
M3M.JZ>O,MCRX8=[!KNQ,/#\>;_'!\/WE")P"8$]XQ1=KWK6O*]*K]'?]];!V
M8WG7V+=]H+HG0ZC W#[ZS::.4I_*IFPQXVW_C'>;6T6U;\V+JR+[W;)1VDVY
MM4K_\,2M^"JG6]ZYY6WD*J7ITG_;/N=4YHNO1+['-S[3E8S?;6I*UE:%W@PG
MK^E4]O5-R!9"S0^-)[LOK;_C?@.[HLAAV@T :_EO0Q&H<Z#/-L;T2TR R%@'
M%K;3AYLH6E&T=LU8T6Z(=L.Q>7#GX/95[:S/ OY\/&&O+/>2%LY#(&H4U2BJ
M@Q?5+(KJ0:V89WJR#\F,&6J7]=4=G$>#[-4$1GDH0#UBG[PA0^H09/L5G/;-
M^R;YQ393GW?V^ZB;CV>O1/&Z( I%JNS$I.@C(Z^P'L(<RU#<[BV8;B^J6_D"
M$V-Y-],_=ODUZ:$V=%^A%KK^<<U2&L!1&T2?!Y?OJQGMT8W; 75_'@;3[+PA
MC<IL"J+H>UG)T.N-(LZI1=+@(BN*-,\T6>L/9QPQ*1/(,%T@:N!&+G.,G,US
MP63F>,9?DE3URQP#WOL$7W].X;-W3SY4];>U->7TAZII=M3?&6=TA'-\]/[.
M)].Y^=PE*<)OA-_CPZ_,I' YUT@HH0%*=0;P*RW"4EB.!<NUS1_"KW0:,RLL
M$JGO1JA,CI0M*,J)EH7)!-6$#@Y^<3[*:!'A]S"QT.BX[-IQ^?/#-.5ON@.R
MIBNW6L_@UW&7'MZ=T/XW5?^A6^?EG^U)6Q #/:M#/_KEV[K*&;YZ@H_VAW.;
MCSQ'M='<MKU4LU64[1Q .6KRJ,F/K\DM$Q1NYXCD$IPBIQV2A<9(9QS<(4L,
MINDN'*D>B+H.!KO2S\6(D3RJY^@=14R-F#H43#6L$-P5 BEFP#O*"$9<8XF<
MR0I5<&JM60M.;>,=[0E3Q2@G,>)TH+V:F/[QO)3]LMY;HBO>?V?KLC+^A':H
M<F*['JKA1&<54T'B7G7<JXY4B=(T7 I%JL0 ZJ!M#U\F0EEX6:@ZME;UH8ME
M7JKK%/WMZ&\?W]]VC&GA++C:W'%$"V>0R'QN"&&N8)G+*-U;,LB\LLZNO&\^
M*ECTOF-$,R)L1-C!(&RAL,QRFZ$T<Q)1I5) 6,61P9EEMB@$?+>O?(^=(RP9
M$9%&A-W&(X'??>+-'S<WT+ZHG@.A0V1Y6X9:Q _;W[:-@GRGVS(TD??E]&7C
M.WJ.QVUA7Y]*WLS&TWGFA%Q/,=]<:$[UA^&ZOB-KC>R64S!6<RU.O%+E2?+)
M^_EYQ43Z:HRAQP@XYZ$6ZHU=6<.D+T?J.XML+D@:.MYUI>9#"#RTY;LM?3N:
MZZHR:S7GYP4OV]?[3E/W2W7!87 FL*L<^]+>L\GR!T&Y]*UN0U>4KJE)J/$=
MONU:ILQO:9O<^?*LOE9^TS=D79K^2G_IY!;&F;C0\;6=O&^AT=7TWTR 1:91
M^UC5=F4IPU!@2N5TW%9_O9/WH05'.#3Z-$U"!]Z>JET;1!#>('6+NH]5:'X]
MG[F":7H>6*'95?*]6RM)VW;)6*.L?TW[?+M*X/4ACU;G/.>D#C5\UV3?',33
M>VW@78NT?H>D+P0XOF]?TQ)[]='-5?)^L;ZK0X<%] L4@"_<.KV17=LDN%=>
MM_5U?5^$L@G]A4M/T6Z5^C4))7CE],&T?>O(F8TH=?B)_]TCT=IB=,QI1AX:
MFIF^6;]DA3> I6#]1BU?R47GR[NZ](TYJU7D\G#5A"?W[90?=LQLZRV'U@6V
M:Y"UP)/1,K;TJ8CWW; #_BS)^4J&8[VRE2@7C<I"P?;E)JUM__FN=<CR2,OF
M(5ZLM?KTK<(VF 4 _K"$=2D!&3[9MH_"K9W&WB!/57)N6BWTDVHKDM?)A]G8
M]UP$%NC=A/E:OP8]]CZ5'0#,R59;?FBHMJW90(>"]=*$MNK3>A9ZQ7GQ:COL
M^?K+^J:TGSQ@]-(TA1D&'=4VJ>_O[UH9UX!8P4SJ+P<,\2#6%8^88])*G?FF
MZWSBG]#<A'ZDOA4=,-M$^A%=;&NU][X77\BG"%#HG67?^<]^N;.FM&T3)&]/
MA"YA":$I@O\SANAJ8?XYWC9=7Q?=-E<-W1J]= /85D&Z_;L6%3Z\13,);YO
M4@5[N6SSSTUO2<I;6*[RGZU&:A-">NCNK+M@:2R/)M@MGWVSRL_5;&Q:)%Y2
M"66SU)^@3H!-F[Z-;3M:SR;+B?2^I2(,?-2WC.K[KMWZEK"A<2R\H)M%\/BJ
M6;WJJ(62$VVWP]"4YQ86$6;;^!OA3<"R5TE0TLU->7<7#/^)'_C$C%N*+0VK
M)4^KS):T<$O?YC']MKI@<W>T:ZG=>&IVKP$D=AW^=@_P_D<8D.^X(%_2%_'E
M+70V5]6GA<M-Q@J$L8_Y9YPC831&15Y05D@AK7,[J:H_/U+TH9S )$HY_MZW
M>9_YM7JLD'[2S<::]].7#O9_\)L_+G<, G&^16/@'F3;;LE!I(&:\U2"E9Y
M#^V C=U_0O>:=P%2D']^\]:CK.]?LP8^"SSH@.VXQL+:<):VNG^S]@Y&-IXW
M2>I:\@2Z/$&'-W\4<S9<ZOC0U;U.T]\]>.#1IOS &@H<F7B6M(NN%8OV11>E
MGI8[SGKW_\M=U;3VN&[)- YDVM""N+4^  /G]OU2T_+F:F,7,X_@H;>,?VK;
MSCO@&MCO-Y5INX,&/WQ#+,_[MFVS3M](IO&@?0/27=5!GRX"@^$E=>AN.TKZ
MDU:AQWC;0@VTU 3P5H?/;MN>PW,7K)V$]*9/";3K$+Y_BM<QLU:_]#6S_J]W
M8\S&Z./5HC=*4"QW534.$<7.+FMN9'#C?#=XW_@SJ<OFM[Z[[W(STFO;]A"%
M2T)'OS:"]&=OR+5N4S"XVMZ_K;7EAQC<S:7H2ZN>+$CS;5"8FV@<%+V/;[5]
MZWJJMAI]85!>=T';Q\*N?83UF(&(BXU$K#*=M^":I@MO=2(-T._#3[[][.P.
MC/K0W; 5:ME?TPK J+/J.U.MZ1X7(E!S=M@40Y<3.;YORJ;CDK).7*_]ERVU
M8(\NWMDF'I=MVT3Y29;C5HY6^F);WX,JM$>?!R_:X$;8))@+\F@@0;"-&SVQ
MN>'@FQNN5OF,S0V'WP9HW>E9]HF^PNT)GL0EJ8R@P;O>ZW>5C_+JL,72_#;J
MK*3[?B/"[X/T>Q!@?=S"M=?>2PVV"X"]-^RNDE][DV9AXO7=LKQ2\O4AP9-M
M;EI+LPTWM];$'5B38&NVS6PKWT/)[^9XW357:\%("1$'"1;@===[6O7Q:QB$
ML4[.QM,'BN.VFI3>M$HT>/W7BVCY\@Y5O]WKK9RP!P,&+RBZLFD),=\Z]K/X
M7)=3(""\T"7M'M5]&T"S7A^!V+?;8.W.56N=ALVD-JPP7K59'<P1J+,(:=LO
M-Q*F'!H"?]<9;:VY7?E5\XITU4+WKYYUMOM\""U1^T6X2KZ?KEIR"W7NMP;@
ML;J\"]9AO\9](+[=J5H8W!M-Z^6N;V&5PEZ";*H)4/=^2:,/1#=?DHQ_?-I6
MWR(9HNO)M]X9[[-LCKC _[+IW5_QX)WG?E&MJ,MRBH0SH'(8HT@2EB+.,V,8
M2;-4V5UDU_8U%A?U?7ZTTV];*7TT]2M?2?UBSU=3N\H>S?PZPF+?^@PAGRHT
M 2^^.MY W/#83LJ<9)0J5%B>(DJ40T*;'#&,%16244SP3MANJ7[4GZN9FKK9
M>)T5=\N'V=7C&=['X\*@0WMJ@!7T2HYXLSEPCSD6A84URDP!ZRI<AI3)P:LH
MC'"I4"8KY"X"]^MKN+E2V),=<1\&\E\R^&!^'T=!/MK/5B8U?(6 *3_+>K$]
M-K=NEZ(KG3E63EIEZ,TCWS1B;A 9ZZ.E_7;JT@:<-6%[J+4W R]MBM!5?292
MN-7#7FM9+V*KK=&Y"-T]TZAV+4"QL(]>T\9Y@^_UXL4_6Q=UUYUJQ7$ZU>97
M0I"M6[=NV^1VR]NR*\Y)NOCOX*UJSWB^0^X_-ZB3 X\C3/?\]S5X],-KL'EX
MHNRB6D >.UM]?6>K#VV>2O+?5M9-\MW$9^8<K"]G['JU+^Q<I]H)]>4]C:X[
MYT"#PW8%/'6L'$3#SG-@NRAZ4?1.L 'GB;/=T;IC[:@FTE&*)&S3<',E(KP>
M)!PM54;R.[LA]_Y2:RX<S44^L2($L73'ODIW?+/E%M+7[<LQ*YPN-$&*8(8H
MSPHDM,6(4.V4<YC+]6)+VY0">=F^W*YJ@HQ(SBZQ),C+I#'VZ(C5ER*$GPV$
M9S+/6"8%<DJGB.;8 3 [CC)F":9"4BK%0PCGF< X+3A2QA3()V @7BB%I'&@
M"'*9<Y4>&<(IOLA&7:^$\*,5G+T89ZK+'>K/)K?IN\&;\BFX%E7.-9>*E=%K
MBL4Q!U3G4 F52YVF2*<,(^H*AL Y$8CSW'(MP./QCLH.DM->I!G_[N'A)T"'
M':E(_GCN:Q2="Q.=Z-E$7CD:S.9:YH+D*4JMDHA**I L,H(<YT*(E&.NUYH.
M.BV%+91%BEF!*#<9DDRD2 A*4TIH[F@^#)C%6>Q(&/=R3L#]F*=<K^SJ7"K*
MG:0KLNV&^0"18'_\]57)D*>I9P\3.'2IX8J 4Y023OP)"(.XX0(ID1*GA=/*
MKNGM;=RCG_NCTQOT]LN5= .$AM^><XJ(.+JVWCYG8\B1Q8M4&%$]1/5PJ>H!
MI[H !XXBYH1%E#*+N#\OAPO!%=.\R/!:]&P;M^Z0ZJ&@43O$?:>3=/Q>FL1G
M)R:F[YV!]Y==91X:#"#BV!Y3P0\V/^0E]!H&.PY>UTN1I\;F&#%-.+AUUB%>
M,(:(%=(5+M.,[:3GXD%S2+(1SHZ_1_8DEYZPQK](%1(51E0846'XV*'?V),V
M0\)9B:B/(@K)'"),J8(9I@IA8MYX5!@O<!&/5I-C.&[AT ZR#@,$]^_$[?*P
MZX!I%CDI4N4 5(G2%/EF5]VH-S20>JJQU" 4]IYJ]#W>-:O@@I,BRY 4'(QP
M0R7B!FN$>>%8:C0M^%HMWVTV\/]25>9S.1Z_GYCO)U,YN?:EP]^';FQ_+AL]
MKII9_>*BFR\9=.R>]3+FV67W+)R>8ONLGC5#9=,%<R8M=^ZNG]:1VG3NO8-I
M3[\+;60Z9Y]Y"_6VHZ4IG;.U[]J5*#O];+O&[O,NHW< PFV+Q-4V5DZ6=>);
M H5]NM+XW@BN;-MV=[W)==="V]^\TL>X:0#<S56R8.G^TM+W?U"^RYCODJ2K
M6U5.VE*V_B&K'1[:5A2^KZ:QKIP V7P?!C<;P\N<G;<SZHO\CN"YONMG,[4R
M]-6:VJ;O/U[>WL%TVL8+TV1L9>/[*X#R]9VA_9BT[Y01]B$_E].;Y/VOWR:$
MI:NEIA_I]^@DR7FJD;6Y0[1@&JFBR!"3,B7&%M@4:V=6M]%<O^H;:V9C^Y/K
MJ?KB)H\O&.& :D,_X-^^J4C9\JV6=1W:OLY9\[IGLJXA:.B.VOC-8UC\XQ4O
M7V_?,*]8/9C"T2_FC',V2EN/YJ0+1_/T*B/YMH64!3UL(65VQ;-MJUSOH'AR
M3.#960+/YD8U^/#;84.!J&%MJAZ=J0:T83J,>-/.-R\-5013(A 7ROJB5SE2
M)"V0L)9)!5\*RW91,:6W.7=UX#M/1R0_?D;+R229'^TT8IB-]\ FT[<,7K(C
M';=L8OG'+K\F?<(U'XH&_"NXD+,Z!/#Z\XO2^*!4^ 0E?RJK#V/[)6K"B]6$
M0SM,<O(*\##90%8(G-%"(ZJU[V,K"1)46.2R5&:IR0M:K*6/TM1DNB@H8JDU
MB#ILD"Q OPI:*"-<(2U]5*'^W,7ANDP@6+3W<QS9^9D10B^R ,"I'@B)NG<K
MW?O^4SDMC8VZ-^K>J'M/2?=R9H66X+T6E( >)2E&'(,R9=JP3&0I4VIM*X6I
MS GN4A^S]B%L5R"9:X*LXID4$HLB(X/0O7A4Y#QJWP-IW^CY[J]JS^UL+*?E
M)YM,:SEIQMWV[5QRHMX=AMZ-)19BB87#Z6[&3&Z\TVNR''1WEE/$%:.(<&6*
M/+648K>+$@N][OY0U:  )FT-,7W_<0%%?Y'EQ/?/WMG1RX(,[21-++40=VIW
ML5.[5<.OJ*LOR"R/.[6[4I 9SFU&4H/2U.6@[$B*N! .R=1(2;*,,)+MXICI
MKG=J&1LQ3(ZN $_&5HW^ZK TX'N?>MR401)!!?I=V3^557/?C)+O)_HJ:L"+
MU8!#\T7/5/&Y++<ITPJE- <OSWAUAJE$>99J\!4+RNF:XLN$M8Y1"E?Z'553
M9(CG<(_ 6&A,2$[U6D&>^=&N[JS!GV<U$/CGL$&TJZH*=$1\>F/4A?O4A7'G
M]$"Z\*\6/J\^R>0_JK&?=O+^3U$=1G48U>%> Z4Y=<RZ%&&3@Q^8,X4DI: =
M!:6$:BI%OI:QBR7)<Z$+9(VT7H462!F:@>^8NT+I##._,7IX=8C9J"@N<E,S
M^H;GH _C7N:)J,.XEQGW,A]7J82Z3!F!D:,,/$R1ITAAPQ#&SN:&%2:U>I?%
M0W:Y]_C2Y"&6'E_/#G03\L1\T[CWV)Z'C[IUB+HUEMZ-I7<?5;14<<XS7B A
M!4?4:84X(0HY(M)<9T3I?*V/RC:UU7>\AREX,<)9.C#].:!RN >H>+==):;G
M"WT,L113&VI)K-0W7O--0Y&;63V]2?XQDS6@05"(7@>V63A]91A0C/[:;ZM;
M&/*]KXYT-[:^A%'IJRV%<D4KE8Q\EY0F)*N')\  ]'CFJ]Y,;^1T41?GLVPK
M);6W=D68X/EA:%73%<RYVC)-< ?T2I8Y;$M&>?;=)UK5;*T07/+-^R;YQ393
M7Z7K]Z^GW$D6.UNB2E>,+)3MDDE7*<Q'=$*1,%G;186PI *H]B)6UHM*8I_@
MA;X>V760O69:2[^BR!<&3&XM"(@9S:NC=4]JHT2^2>VD"77(:NO+A\$+_"A
MNGS]*EF#]+=%S3[9<7471/:;?_T_'#S,=[_\J[R]>_?G\!=^]_MP76/'\-+K
M47)M)[:6;1U :8 $I1]5F-/\G9-EI/"/P<4[7T]M$ORQ4, M<$B+#B#I'DQJ
M>P-W^^>4$_C;7B7K=.RF"A2J[3@\9X52GIZU_53:S[[NVUHIM6FUJ.&6E"[
MC#1 =1@S#,Z$K:<&IE&&TFP!ISY7L['') ,Z=&H?*?(%GS;S,=[*^P!HR@;*
MP^.][KE*_@I^>>)J^X^9I_5C2%FW0YF%!L,P1@WJ&]SVM?&-/)4 3_TX9-^=
MN*]"!M2TTX[/?/4N7WYM%*9;>G-O LOGS8\F/ ZH<C>K&YC)!#B[JN<U^:;)
MU.J;"8C,]7U@O:F]+GWG*QEZ8(4&62%"4#H@#ERN9PU(H:U'_BD/OEH9($CM
M;W9Z-P;!6Y['@V)JH?9?DP"=S+QZVD.>NJLK3ZO&O_'![5Z&>P77OO#9IP#+
MN>65Z9:]JMN%Z2J_K>K!.4>!E-^ 1+8R#*8A&%/CP";E S;N9;+C#+@<G/CK
MF^7JAK/IK [/*)MP^,LWFY;-3>+&U>=VE$'@^Z=Y=G,^$. 7<Y7O@+[ADL]U
M.05X H/N\\1?]50YQ<6S?:56 *:.H+/;N<'0#G#C\!;]L>$U0+'9& 975[<M
M69JVFJ.O<5HM]GKG;YS/K1];X++)&@WG2U?;6Q /3^8'U1=;;C#M8BVNF@MO
M6^4.'C\0RV*MKEY?<GFI/.^=O+9H4AG;/^3-2M&]?X;=C2]O$7D7*LX:L*>"
M+^'KM,UN)^]6BO<^= &N6-D.M8LQM1]L+&5K)^9=OWQO Q(#U"S7/IO[$E]>
MZ#"\QI1>^+"'7T*<KD:*%O5O_=+=U ^,GJY(<"@%W%;86_T""-M^'%:Z#=Y)
M![-[*\>?Y7W3%9);7O05%S LV1(;K"WG;E?M-*LJKHC68\4G7U@]>ZNBV]EC
MNY3G:0Y[ -ZD Q>6+^C?QNL,X$<PTWH[.)AR7O]LQ/BKY..*-]HN0]-JP'%I
M_:ZI-^"\=]I7Z$7>3#1K@^D-QX5*AOO6(L)7._ #3S)@\/WD1?1[84'CL&YP
M^0WX_<K7>]ZD?[]BU+L_"B&5LX)F2$A_5I!ABX36&&F>PO]$%&J]1>,V^W7?
MSXGTDWM8[?^[+YU-_&RL,5^)->8KL4;46.WCC7[[!PS7-W^<5(]&&8]@_2QQ
M"1AYU:S>P%B]Q=Y64FEZ$]R:H02$7E/S>*U:M\QREU),D<.^$[C&.>+,.F!"
MHV3N>)ZQ5VT5U^"\+Y7J_A"$^@<OTZ'C1"_FX9.'+/G1 ^-C1;TO#1 ?L.D(
M7.=IB&^TD8-Y6+6O'0XH.*!:WV]?K\E.T_([CWK:++TBVU:WOL+\H.6TQ57&
M>+KX;]MQG\YTB\.^$5]EAYZA./0,\;;%X[>=(B;[G.(SN3W\R33;E[?J7 ?=
MG;9(VQPAX#M2$YMC.D-K$W<.-)@W$\3T]=T$M\V$W2_)MMDN?;$QM5<&VSZG
M\628,*+A !8ATN A&NZ@M>KY@^%?ZJII_DW5?_CCM]VV6OCC/_U&8L3%*))1
M) \NDN^U;H^-61-D\?U24E 4R2B2420/+I(_VFG4D5$@HT .12#_'J[I%:3?
M\[^VX?>_M>D%/Y2N_?N;<M*FGS]:(S1*:O3R3V81(@W68I[IZ_'RU-'PF_>;
M^CU''HIR=%"SXQSH<>$T>%W1@I=K^:VT^DD5+7@Q>']X,B_S[1&X]:0*%GP]
M@-V6QHSM,Q7A^J$/T2YXW QXY.#FEGPS;$)=%O)'48JB%$4IBE(4I6$3ZC1$
MZ<PMO,?),8RZ24-CDK.CRM'JX%Y,[;V/B[H2J*] 8DTLN3>,DGM'YZ4!E=,;
M!KCM_(RK80RG-,T0S0G\8$PBY:1%Q(C",BS2HI /#QK2S&&34HFDI1Q1X_M?
MIT2AC M'K98XS?3#,ZX?'C]/&'('=]4%D^4C1O*CE] [F>)X!Q&8)\SHG9'D
MJ';TB;%*!-G3;F)<8)Z1%&?(95H@2ISOT6@8R@W!U!8T(X3O&;27LDN7$TMW
M!..4CG)RD<T<7]FI.%K(D4,B>.\4;%/",NQ4CI3./'!B@B27#F%L9"8RJ1BU
M>P;;'^UT5_8QQB.17B2R#LT^OF1 ?3SX?C&,\:+]AR/@Z.9Z1,2F%AO+4&$H
M113G$JD\,\@1QADVG&N9[A<$VXQLGY"]7MG*S&J?G+T[38#S^;(_+,89Q6$/
M&5\Q5/X\3_XL_2]-5%07:_D/S8(Y4X-?,"<*43!$G;/P SLD\Y0@K^:<,(*E
M1?%0URE;I#C%$H'*RQ%-0>'QK/ MP;%O?FITD:UU/CU42)P>OZ-,%)88#H^L
M<C&X>I@H>)H:9KASB I2(,HSAI24%,D,JU1GO,#96F!FQSB]WRCXA2)W#(%'
MP(Z /0!#F'##++$$,5TH -C0$E&!74R-)L(808G9,\!N'?D.Q7G1/VU=>;;@
M&<[>72*6#DU2+AE"SR#*=UE!;\:8R!2S*"6<(ZJ80E)(0#628>IR*I3)]HM_
M!PUZ\QCSCNGAPXIY?]OU$6R;//HFA3?E70R!1\M_*/;,F5K^F.=6$RL0%AG8
M^[8@2)%4(TUS:2TO&!5KFL]QP=*<%DA+RWTZN4)"4XU2J:R3,A=*R&.%P',Q
M$E1$!V!0 A/#X)%5SAI;#Q,&IYED7&&"3&84H@(@EXL"(Y%J1:@HN"SHGK%Z
MOV%P3D8BO\B4Q1@)CY@=,7L ]C OM-)Y:A +.> YM4B)0B">LC2SA+@-D: =
M8^SN<L Q9R/!XQG) 8C+)>/H&00 +RL<[HJ,$\ER9 AG8&AJ@93$"A%+5:&Q
MLW*])^UN0?"P.> LQL-C#OBPXN$?:VDLO.ZW& ./-O]0C)@SM?EUGLDTM:"K
M"EOX_=L"":,$<FGJ*+<D4X58:\&N7$$$S4')<16:M2-),^;39A0H29N[O#A2
M#)R/"E9$FW]0XA(CX)%5SAI9#Q,!S_.<\*QPR#&%$77@7ZB"6Z2M4R(C648)
MV3-2[S<"CD<%O\C=RQ@ CY =(7L QC"50AMG'*+:'[@Q6"*I_(&;G%J3N2(E
ME.T98G<7 ,]'(N>7"*=#$Y9+1M$SB/==5O@[RQBCA26(I-P@FH&5*;$!.%.Y
ML%(Q0=U:I=3=0N!AP]\BAK]C.OBPPM\_36]LO=3<*D;!!V+X;]LI>(!2O#_6
M>9Y(9^H\9,Z??;(Y<CDCX$%P@;A@#LF4NT*EAJ3$/=2<J3;<<+B':.8WF],,
M2>M\ H[ E#FJM2%'BJ23$0SAZ.[#]JVB+TKH8K0](GA$\*%%[(N<8I5KB9AA
M%%')<Z0R"1X2I8QRH:QF:_F4.]8(>R[=,F)11\2H?C3NHVHX&]7P2)&87#!K
M4H5,9C6BA:%( BXC0C1AC$NGLGS/4+[#U/@138]?<VN@L#TTD;MDM#Z#<.EE
M[1Z8-)?8)\^#@:N]Q2L0UR8%K.2,$\LYMVM%97<+DP?=/2!Q\^!$<N?#;,J)
M@4&V;]G1;D)'-4^A]KG++^H(/NC-AH_55(X3%^0)C;U +>T\)#)8'E'I#<-%
M.1DQCXE'7^E>.,&84@[4G_&5)U/+D<2I0 8;(C/G-)%KK>Z(<<2D#"YBVF?N
MA[J5.4;.YN"LP%T\XT?:.V!$C(B(9V^')3!Q9R"RREECZV&B^IH75@NG49:&
M*@E$(*%4@:2QC%F=PX^U4-".L7K/>?B$C#")F?@Q9A]!.X+VD8ZE4L8<UCDJ
M"NVC23Q#*M<422)3[21G6;Y6E'W'(+N[>#M-\U$6CZ4.05PN&4?/('YX8=%T
MJ2AWA4'8%0""+F5(2*40+Z3@A;&IXWN."L12-(,6A]?EXF]:F]?$V$\Y%S^\
M[7-+-E6-S:-,^OW$V">CY6^WX=9+TE^P&O[;?W^3O7DA.5Z$VF<?W8I$>8W@
MG"51OEZ4ANY(#IAM(E4N6PM%)HE4B:(3#;AHP)U,UM?%'!F/%5.'MC45CY/$
MXR1/'"?A&2LT9BB5OF(*P07B#BM4,)5;;;0MLK4\Z=Q*CIWC*&/.("J90SQ+
M!6)<$ZL,%:I8*S*^B%9MW.+Z[HL>S_RB_*6JS.=R/-[1AE<1CY><B@B>FZT1
M\3SB^3[Q?-YE?3#L%]$LVJ(1NR)V;7WV(!=4N0(C95R!J)8%DI8(!"8HL39U
MA-FUNM)?8XO6UW;RG"&ZNURK:'J>C,1=,EB?0?+)N>9B#=U(/ /6B35$]QX0
M#L=ZXTG>@8+\JH60767>1##5S*_4$6WREQU_^9?#:X27T.ODM<8CYKDDS+""
M(:-\@ZX"YT@I7Y ;:\69*DRNUQJ?;Y,$O/$\\+X"Q(RFH_1@!X2WY*MHJ\<P
M\>M<OPCLNZ#7R0/[8<XE*XP+I31'6'"):%H42 JL49H1S86Q19K;URB*E\1Q
M7GTPN0'ZPV\G<D)YL.HCGF,>H-:([D!T!UZ-\M0210J!46'A!TTSBP1G'#F!
MJ7-:D4RJ?;@#/]KIOIP!?SQ:'.QX='0&(HB_*(=Y9S'LBW*8(J66@]OPNP3X
M&(B\++T[@W<_^;H73WUC*4QR10CYW1/E+_/GWK^?$[Z+L6PS^>\?AM.]GFW*
M!KR=I'+)],:"HAN/J\_ X8F<)G^VVMXJ6R<$CY(LS;*W&PEW;BS1\WY@_4W<
M(6?3JM>V?CQ +C]\?SD:R_MJ-H57?+'F7?LZD5ZEO^NOAY4>R[O&OFWLG:S!
MT>S)$,RO]M%O-NTM?2J;4I7C<GK_MG_&(YM&[5M9>D6P?^T73Q\_Q&[*0/ O
M[][\X8E;\17F6]ZYW6T";!6>+O[;=MRG,]WBL&_$5]FA9R@./4.<'WB*F.QS
MBL_L,?,=E<98!]T#'!?DIV(+11HD#_P-3%]_WGC;?,[]DFR755;6+*>],MCV
M^7HGPX01#0>P")$&#]%P!\47SA\,0R;&OZGZ#W_\5M;U/<P__/&?<CRS$1>C
M2$:1/+A(+NUS!UE<WNR.(AE%,HKDP47R1SN-.C(*9!3(H0CDW\,UO8($PLAK
M&WYOBPHGOJIP^/N;<I+X2L+-5OE(45*CES^H18@T6(MYIJ_'RU-'PV_ 19A-
MIDT"8#>]J6:-G)@] ]XY\%"DP6[-CG.@QX73X'75%&/1_RW ^\.3[7%CQ?_!
M%8P]NEWPN!G0)+_83V5CS2Z4_[#I=%G /TQ)>IP:+ST@L2OZG$1Y[DB4*#<G
M@*Q1 YV3!CIS8^[U:'M9+2+.CBJQW-.N/-9'RSU9?3.!VZ_O$Y08^\F.JSMK
MXLG 810%.3HO#:C@QS# ;>?'LCF55F7.()(Y@:@Q#G$C,<HS0C!3QA9./SR6
M3;F@::$-<D1EB K?!"!C'&68.9E96C!"OZ)?=4@3W-&1;"R*$4W9T0MLQ,/6
M9W<\]HQ8)8+L:5=,2G.<44HT8BG#B!(ED2(D1TQQG&<4B]2(/8/VJPLF/0GC
M)!T)D5TBBL<"2!&\(W@/R4+6G!.22HV<U0I115,D"DV1SIE4IL@S7&1[!MO=
M=1G >3ZBF%PBL@[-/KYD0#V#4O#GVD6@1\$?9[>V+G5?S+G VG$+()@:ZJNW
M:209)X!J)N><.D=EOE\0;).O?>[U"L2AQNJW9E;[/.S=:0*<SY=]A1H'+^UV
M,N(06^7N.U3^L_2_Q$X(EVOY#\V".5.#7^0%D]1@Q#&UH.MR@:0F"MDB<YA+
MC!5>TW4%3XW4F43.^&8'1 &>94JB5(D\5P6QE)$CA<0S>OS&8E%88C@\LLK%
MX.IAHN"$6)8SR9#,,@&8"XZ)T(PB+22 =B%3QM<:S.P8I_<;!;]0Y(XA\ C8
M$; '8 @K@@LP=PDBMO"-6;1#PDF,+!5*I1+[R/B> 7;KR'>HPXO^:>MJJ:OE
MY6'IT"3EDB'T#*)\EQ7T)D6>2FYSY+0%_#.Y1H)9@0I&K2VRO!#YVL[?;O'O
MH$%O'F/>,3U\6#'O;V<-O,+626W'P;-J;LJ[& */EO]0[)DSM?R-S:SC*D7<
M20V:3V,D"7,H5QISG2NEG'RH^8SE%AN6(FP$0]29 @E%%,(YYO ORQP_5E9X
MQK*1(#0Z (,2F!@&CZQRUMAZH&1P[5A&4X<()1BPFN:(YX5%!C":I-:0(EU+
M!M\Q5N\W#)[G(\:.WS/WZ)9SC(1'S(Z8?9Q(..49=85#A54&T11CI*2Q"/,<
M2YXIJD2Q9XS=80XXST>DB&<D!R NEXRC9Q  O*QP>"8MS;E0"("0(,HQ0=(2
MCF214YT:KK3#^P7!P^: LQ@/CSG@PXJ'?ZS!ZH#7_19CX-'F'XH1<Z8V/Y<J
MXYG3J! L0Q3,?\0)=L@*8C)9F()8_E#=Y<KD.%<,64Q24)'^K*C@''%%J7;6
M42[9D6+@Q2CG%WFB?L#B$B/@D57.&ED/$P''N7"<@']A"E_#*J4:*4T(8L()
M7!16.*KVC-3[C8#C$<$Q !X#X!&R(V0?QQ@NI&76I1H@EH Q3+(<J8(:)!W!
M.+64RF)MDW''$+N[ '@^(GDL@3( 8;ED%#V#>-]EA;]5*I313*,T)0[1G%JD
M7"J0RIC.M5!6\G2_$'C8\+>(X>^8#CZL\/=/TQM;+_6QBE'P@1C^VS8%'J 4
M[X]UGB?2F3H/J54B+2A%!?89BI)G2%B+00OR---*$6G-VCDJHI5,;8:*G"A$
M?1Q>8*F0=DKE/!>88WNL;/(1Q_CH[L/V7:$O2NABM#TB>$3PH47L)<DS12A!
MPG$!Z.Y+;.6B0*G21ABLM25NSQIASZ5;1BD]_GFC@>J(&-6/JB&JAI-3#9NA
M/%.6,*TXRE.7(8J91)QSA;+46 !J9S.Q7BUQMU"^NYV!(B\B:)^&P%TR5I]!
ML/2R]@XP]84*L40LEQXD:89XX5(D*2%YX9PE.=LO2!YT[X#&K8,3R9P/LRDG
M!@;9OF5'>PD=U3R%VN<NOZ@C^*"W&CY64SE.7) G-/8"M;3OD,A@=T2E-PP'
MY63$/*8=?>VYVX)Q*C%#E#&-:&X=XM07.""*.G X4N+UV:K>E$YC9H5%(A4.
M465RI&Q!44ZT+$PFJ#Y:=U*:XU%:Q"S\80E,W!>(K'+6V'J8F#ZE!:;4*>32
M@OC*EPP) &^$E<)%RIC+Q-HN[XZQ>L]9^"D>87;\J'Z,V$>#>'!4B:!]$(.8
M\<(6K'"(6 P&L: 42:T(RG/'18:-QNLEB7<,LKN+MA,F1@+S2P34H8G+)>/H
M&<0/+RN:7BBB,H!!E%$G$<4R0T)E!J7$6E%8D]IL[63^;D$P-B,=M#B\+A-_
MT]J\)L9^RIGXX6V?6[*I:FP>9=+O)\8^&2U_NPVW7I+^@M7PW_[[&S#@7DN.
M85B_!]+PD2J[HLKY1$*C,$5A.@95HAZ*3!*I$D4GBDX4G6%G?EW,H?%8,W5H
MVU/Q0$D\4/+$%I?"SBJA$57$^E)3!5*2,L04=ZG.,\'T6IV50G":8@[X2 1!
M-.<6<4=31&AF<,8-2_%:G95%Q&KC-M=W7_1XYA?E+U5E/I?C\:Z.F*3';^H>
MCYA<;F0DXGG$\SWA^;S/^F#8+Z+9_\_>F^XX<B3K@J]"U+0&?0%:MN]+U9D&
M2B7I0 ,=J2'IW,'YU?#%7$4UD\S+(&OIIQ\/+EE9Q<S*+4@&21.D%)-)QF)A
M]GUF[K:0+TK81=CUY)S6'&Q0EH'*N?Y(+(#G*@$RT0;@T7BY-?+F,;[H[ ^<
MW.>(=EC=3*[GL5C<.8/U"22@G&H^5M^=Q!-0'>HBNO,%X65I+U7S'H5'+BY$
MZR+DZ:)]4@?TR1]6 O.70SOGM\OKZ%GC=O?<1Q^8D1EDTAF4BQ8<BQYD-IY[
MRZP)6VWDGI((?&M-\*X6B-LB8=N#(N&OZA7YZK1,3,!.P/YL8-_3A##A=,HL
M@Q;H0 6-X&))((H66>B"97MVPV.(XB'K.,\N3FZJ_.NK(ZE2[BU]4"TSL0:Q
MQG&SQNTH+]&P*#" UR:"JO$ 1.X*"*.C-8R+5.PNPH&?<;ZK8$ :-C0]*)'N
M+9KW+1@X 1!_0!;S*?1F. #WD:@^6]ZNKT,%D%OJFO/H74_LZ(MS?_5T#Q=(
MO=_V[Z/)(JSAO+WC*I;_J/\?I'%HFE:3_D"83#-NCE6OM_WS^G+_O6RG^>$E
MR%=EC!\@CV:X)(=ZZ/'B<O(JCYJK<?CXLOWKEFY=Z-'JBM?["JLW_EPT\U'Y
MN#GA\JN D_SJ:MJ,EL>>88U@:GA3&>%#*Y=ZS)?7Y/#A@=K)Q7VB?.SRQT-+
MF9_W)#E3GSW&I9I>/[JWUWLUZ\L?3<:C2;V.>9C-7X;%?/KJ\S]4P:[>7C[I
MU89-*/7N7H;Q^_"Q>?7B;]<Z<1NZ+!_9#378>IS=/K6]&MN]&O)P8[MA6DO'
M\:;E;3I*..^D%0*"=P%45@%<Y@FXLT6SG)1U^$]Q4TSKVUTVN)474LIO>M34
MM@-5O[E$,< /5SAIL'55[VF).W@?FL%?;EO3><0U=;_\HU12N6TCBJYMI2TD
M>*XMN.KZLQ*R,5E^&1@@JN2EK,%$K)]4S"L()C(0@@G&>-""E2\#@YM"^Z5\
M&2;<&1*8ST("?5](P"_,G?' _A5E4#\]KI<P[-]CMT8ZFXN!H'.J5AT4Q,@5
M%(621YF*R5L="4L*'FVL<%RC0E N5TS0OAW;JA134IFBS$$>N[ 7=P^=.]QC
M'X1)'ASN,GJG<RQP)V-V$+/BH*(UX+#^*F,PG@634MQ::<Y%"V6Q[6>D!*B0
M"SC##)@08\Y>,>O#871.]%/G6AZ:O\5!VV>I&50WJE+1=YCP,N)L(/EP4#%:
M+G^*I7[6%_QPEST<S+"Y:GWS=SC^>'&KM3SB-"]N;XKE*D.5'"J]^5*!2QM=
MF2M[8"*Q*)TV/&R-F'@*QWVM_>H-G?Q^Y3+\W@9XO]<S?CN>IG^]&&#5PZMZ
MM/ELL6[<73TQS*_G#[V%?_+#N$/-8%H.B'.W:'=K &^FE_52/BX=M%2]K_FT
MZEJJCOWRKV4Z'D_?5U]_$&[SYOY:WUU,ZK=&D_KQZ:*IIM+\KY?7=WE'M[&;
M-__BLX7(&W'*(SSY%W<YY0]6AY.-73;K),MEDMLBCV7TN [DVNMIX[IZ^>W'
MH8;^TT4-X4<?,+]:G<ZS"_;-YO-5<<?AJL&7#5Z%69CC1@S+):#5H5_<EHGX
M;M2,XF@\FG]\N3G&'2F&J[,Z=B&D^>9F[+F^YU7P^;>O?)=?>/7$;S[Q:_K"
M";G#4]Z3W^DZ:DVWK<)[:-;A3B'%Y:QDT&7'DD/(H\L6AM\W\^KVSC&3UCPY
M/9W@B^"+X.L@\'4S^B+%(03K]4,@&1"";3M@JX4)TIF#@U?'8/74)@M=/99=
M-S__8;T>_3_+]>COM]:C=ZK1#ZFH?UB)RM%80>?(^:@&%P>3X'/*+%XW@U^Q
MF;?A[9-2VTD=J8?GX4JV!1/J*5I[7 (Z@FJ,@ZM-CRHM^I&;VWU1M628/5K
MD!@HQCV$8B*TF\'1!LWU]G0EF8O,3'O(.MDVT\:#"X9#06.\#J*X]CO/V4C^
MN9[L]_<X?H?_5<_\MJN)S%(-K=,'+Z\XFL()ZDZR!ZK31'7G2754?;*?#M-"
MH @I 6\S\Y1U!F)Q&F2(+GF).>8#,%R[>/#[^VEWQ";UX=O]'8T140RW!V(S
M1&Q$;$1L.R,V5P.UP(0 I3V"*K: RTY SA*#=:R@W<H!WA.QO9TA=D5M<N@]
MQ6P4L_6)VBQ1&U$;4=O.J,TRZ:U7 JRTLNW@I2JU20D14Y;61E7\5F^7_5#;
M#]/%K#MF<_[PG1^/QHHH:-L#LSEB-F(V8K:=,5LTQO$8+&AG>3LOQ$.T1D/P
MWADN13(B'(C9ZF>[8[:J-,1L%+/UB-G\LCA\_A:KD-JV.T1T/2 Z&LA% [F^
M$@;ZXH*K$6!1)H-2NH!//$!E0!$B=U:CVC]9OF[1HV/&%-(,F3W\,N=)#>PZ
M6,"XO)NV4=MD?9:.>.-F,X#E<6^>B/6H)=E7A_$0\?:.>*G1-C7:OIN%=1&.
M6P$.V_8L3 1PSJ5V,;9@SEQ&O>N0M;NIF(J9H="V9T1[]"VV[VST>TOCVZ\U
MQ.T%4G?0P>FVYC[7+4FWNGE))9(MW(,HG(/R48*7S (Z%S"(''CT773S^FUQ
M=37&RWJ)8?QM&(=)PM_>(LZ_&S5I/&T6,VP>VKWK(9>\;-=TH\5Q%?4EC$?-
M''!U%4MQ7^'LNJ3KLR;&-UL(M\_AUG;%RW:[KY8/&-KC-R]C:+!MN+NE"I^>
MU;J%ZPYJ!I^D.NO+N>%Q_@OQJE[9^+JK\[J'\%(N7Y'#B[]S?K'1NAL-NM8=
MBQC[YHLC'NR>/S>7-]/),LIH"]8&:\T<+%5S\!W.PVC\J4W9IR[,=W0@>V)'
M/>V*5JY4GA(L5'O""-[8MH>HCD*Z;(O 3FPPO<6\&&/;QO%=O?OI[..;Q6Q6
M7WVU>]Y3FQ&;I_?>/H!-K#[:GNKEJ&+4*-VI,1OAC; 9#B8XOTE,^Y"4V41?
MAV[=_*4@6A5M*L8N6QA^UA?PY<GUFC/FPONGMF^[,&*_O>;$A7.2??KGJ<>A
M^]W^&K5YZ4%E-,E@\$6S K./9@4];4[PX'X:O>J=<>3J1SC8@X= ,O@2!_?2
MM.78<;!M]$WX1Z9'IG<(TQ-D>N1ZG(;MDPRZ#<&.'=W^^OJVT1^D0CW,'#JN
M/)=GI!K\&MX/VO;[LU$8-S2XN1])00=7H1XE_)QH,H_B)7HG.>3L$B@5/006
M"XB,Q<7BC7:BBV2>Z\W-:NC_M;'SGW'^2_D5&YR]PZYZNG$AA]J[@R?T'$VJ
M#H'JR2L&@>J>,R0+IJQ-=02S4*"\S^"*J[]:5%Y*SVW<RAT))7&-'L$S7T#%
M;""B56!D"C8+KY)4AP-5Y8=*$JA2!5]O H;_;SK[%]2_7<VF"1L*&<Z7W?KF
M]IPHJ6EDELO*9SP'5PF*I7:RN@)MN4*CO48LG48*K87_./G'RKYWP6IJJ*C?
M2A\LAJ"T)U+IFV*<*)1&J;W*4@ R+2J4!@VQ!@6 ')54F3,1MRJHGA4?[!Q*
MS9 [25!*^PE]"0_:XL'F+>9!C0_R(LTI0.@)JU&'#^KP<3<S%LF#Y$E 3$&!
M$MZ \YJ#2R;YRI;<NDYZ&%\SXP8G_G,ZS3MA1JN&0O*#4^-)-?(@S.Z-\A!F
MGSUF1Y&BMB:!MZ'BKTA8HQFE@0O-;(R%!=]M-+-SS'9B:+0AS#Y\R-/!C@@U
M7[KC>2V;+PU&7RF<)L[M"^=20R9JR'0G :/.UN2V+2)OTPTJ=8(OZ $=*]P&
M(;&;ADS7!-Q=^R7!Q%"*OH5'1]]^B<"Z1^I#8$U@_0FL<PV5F"D!D#D#2NH:
M V5$$#DY+,JAX++3:*E#L)9N*"SURMM39-1%==Q>JN'X\8/_&4F@RTK@6RY]
MA](YCFI)DLEYR(3LB'2FBXZXGSI/?KV/I7A:'TNAHQ<Z%V!%!%#&*' V17!<
ME*"]#WH[;?,I?2R_PX*S&>8WTV;>O E7RWZ-_\;\CQE>A5%^/<F_M+-65OV;
M/S68[;J_Y;UB.M8&EVLY#M9#)YKE])JE2 ?K?J&#E6SWW?FR,Q$^K^_E1CYX
M4S[3I7S26CYA*9]-0\RO]L/\)+F;J_J@+JSRWURCU5*<ZD)_79Q[;5!]K_H_
M%+RH(^AI=\@\M_NE=C0]<()(!E\&#]01E#J"]JF5#>$@X>"1+J*</@Y21U R
M/3*]0YD>=00EU^-$;)]D0!U!J2,H8=F1/P22P0Y\N9YBV=W0U0Q^Q6;>C@HD
MQ")C.7UC(9V@WMZ'SB5_E/R__S^+T54[WW=P&4;MF\MQKNW^?%NU.4I(S3EZ
M4L=P<+WJ48W"B=8?1"V\](&#-;J *BJ#]\R "DSKP'DLF3^G6&SV!TY>KI-Q
M?EN;]^M)_L=L6K!IZG6$\0_88=\IP_3!"Q*.IM1@+];RM6S-KD1R4,_HR%2%
M$';/(Q5\5":( ,P:"<KEZB&:%BU-L='9$'GPSZGPVB_"VB&7A+#];W-Q-M'$
M)M%W-$G32QS,PP>*'\Z8W7KL")T2J47&,"F=P"KK0'&F(>@@02?%:VQ0_TN=
M-.9;6_?OK55W-;R"#;6D/M_]L@T*$DA5SA!&1?$J*U=QTQA=_7S+(58X! S>
MQ9QLTLIUT?UA!S"JN2<,I4V%_H4!S6+6;BA0#$#D1>2UTX4MALJB5Z!]JN1E
MB@"/(8,12@<;HU&8.HP!?MQ8=D<$)H?,';YY$9D'A0&D*F>.I(Q)Q:27(%UQ
MH)CQ$%S*;2<XEZ5FW/&MJ<O/" .Z1E(^K-= 2$I[ GT)!I9]4"@ Z =MT;0(
MFA;QE2!"*Q6,K6% PDI]4ECPR41@%HM.]7>^37U/"2)N=)M:]T?JBOSD4/+#
MQQ$G-1R"(+HWRD,031 =N,Y6,=!"58A.T8#7"@&U+HYC8-GG+J*3W4$T&PJK
M"*(/'\1TL*-!\WON>%ZK^3U7#^U[2-S;1^ZE61%=R.M$B=AC1&\<0LE<@5*1
M@U.5E[,WFD=$+V6725?KUK*?M^KMEIFE'&I%XWZ.Q@<F""<()PA_SDZ/S4%P
M'B$65^,BW\YF<\5#*E*X8ED*/':XT[,'".=^Z&3?UK^.'L*/?PC08;J>KX__
M>C8*X_XU03@JHMQ]7PS2$1)*7X5"AD,ZLB^AW#H+J#]W^+Q!++?<^JU3CFY]
MMPIE.?XHC4/3M!KS!\)DFG%S_!>?34?Z]W*Y]L-+D*_*&#] 'LUPZ8VVPT$6
MEY-7>=1<C</'E^U?MQ3K0H]6=[%>PEZ]\>>BF8_*Q\T)EU\%G.175]-FM#SV
M#,=A/GJ'-X=.7'NC'QZHK,^94_2\?I#/>[J\;;=QX]&N'N7FT;V]]EO7ES^:
MC$>3>AWS,%N/=?G\#U6PJ[>73WKELX92[^YE&+\/'YOU!(^;#_TS%%D^LAMJ
ML/4XNWUJQSG*YW/3VK[)ATT6:T\PFBS"C>!6*I%LX1Y$X;P&MU&"E\P".A<P
MB%QC6_]/_J+CB68:#8]*<3#H)2A>$KBH"A3)K6!9"R--%Q/-_C&;7E6&^OB/
M<9C,:T1]W<:JZYEE^]Y06IYM#P/+5N(;#I8"7.Y+78OP;(>4;61R=2T3O.Z.
M]KC!9*>&4C1P[+0'<)W;_>ZI0W3'BWL/J\TYFN:>1]#@=*\K%'L9-]8''3K9
M\6-]$.[Q]=$GE"24[-E$I#[HT,D-)^N#4/MFF*<H$S+5HQ]FU@>ADB-S6@^!
M')G.P[T^:,B1CSKK@PAI8,H1M3/XJ>HDY7KW(]?[X)K3HSSN$\W1EB8G%UD
M$X0"95P$GQ('K5&'R%%HN57O^I0RF]:L.TK"]IX:&E-Y#$$F0>9A(#-7D'31
M1T"?VME1*4 P)@&K".I4</5_G92U= B9?,B8)-"DIF5]\?*_78S&[1U09?[Y
M\E;?')H3I2NA TO:)\A*2%"22ZA.>JQTI:44G%F[/9+K*1[^M4F_GN0?+Z]F
MTW?89O8U_SF;-IV-,QD:<_CR2[(5 M&^2*5OBG&B(%J$"UQ7!'1H$)2W&9P,
M"4S%PY2S+8:7+GS^_8"H]M3!F);\>Q,,_(2AP;?3<1Z,;J@\D1J1&I':+DF-
M5^?>&HX06,R@7"D0,VJP7*88;0YH.XD,KNU[9XPF3 T,:(&K!Z9"&-H3J?1-
M,4X40XUSPN3<!@8Z@*K^?CO(I(!+$6-F65BV59#[I,V G6,HUT-C:6>5-@EZ
M$Q?<6C%--$8T1C36^2:!B4+ZY$&&C)7&= ;OG ,;>>;*!I<MZR(4^*^0WHXF
M./MXLZ=$MS2FAH89HK'#FPIA:$^DTC?%.%$,58$;@=Q!-*:& L%G"($Q8,)Z
MQFSR&CO9(]@YAOH*H9Q64VB'H#>1P ^+657LQ0R'@U)5MKY8S_HH993P4QLA
M(CDB.2*YG08*P5M;'6Q @97D.#*(T7-()IH479&,=3*6X]KB*\G]L#;Y3CEN
MR"QE$O7 3@A >R*5OBG&B0)HSBGI4A+X:!$4*P(<2@5<Q,AC2=YRU464L&L
M=4/)"$!IMZ W,<*;Z>75HL+$X&V8Y?=AALL(H9F6>?L+$1L1&Q';3BN)J^MO
M-4I0)3%0CG,(O/Z(H40N=3'*=1(9O E7R^[+_\:\,?G?UD;>);])/=3"$<$=
MWEX(2'LBE;XIQHD"J;.9"RX2&%2A!<4*I"ZK^JHBHHE9,=[)"/(] :GP0T>[
M";2;T*=(8=+,9XNUS4T&5[/I'S4ZIHH#HC:BMIU26W".5Z9*4(0QH)(5X$36
M8 63G@7KK+:=Q @W+/S'R3_6]MTEJRD[9([2C'I@*H2A/9%*WQ3C1#$4T:7L
M(@*Z4H."I"-$*2Q(C<%;;123H9/P8.<8*OE0:XH,: ^A-Y'!<G \45@_*.S^
MWO1'8[F[4YU'-? _)1HT7ADAI8;*AP)4^\H5+:!P# Z91LTZJ5BX<Q+F$BLZ
M8D*MU,%I\"%S"\C@"*L)JPFK'QNR>&^== YB*1*4\S5D8<& *I%S*2TS=FO9
MYRDARUZP6@E&6'WXL*:##8_EW;3CTR?KLW04YZREMAS<NSSNS1.Q'@W#ONMY
M_3Z=AW&[+7+WP&8BWGX0[]%8.:WS/9(T/;I2J2_5 ,=6JK2FDJ;R$KACF>=L
MLTMBIP%.ITM]T@PY=6CJ@[D0CO9$*GU3C!/%T1IW))9C 5\!J 826'$TH@')
ML[<*N0UI:Z&HT^"CTV0J)X;>'3X .1ISH3V370<+/V'3#&#P.J7%Y6(<YIBK
M0M=OI5%H59,(KA\$1RMTM$+7'N>O&ZGN=L4O6R:YKK09D@.EA !O603G0PS6
M)>1RJ\KQ*<'+#=3Y[@;HU-=C;%]4'GY].:U/_]_+]^_DZ,X:T;JA%8</<WJZ
M/OBP265/&DA+E$&4091QS)1A+=.!.PXIV1IS&6\@L$H> 5746LM8?.HB3NL9
M97C1BT+ZTV0,VEKJ6[3X@*VEX6""M+_42Q] 7(@6&/)T$<=X2"^@MS-O'R*O
MHW<([LC(4\5Z%Q6TE Q**]9FY%F(.DE9;#(ERIUN6/V,79&R8':HU.&76;^J
M3<>7Z4'@W2/U(? F\+[1=" 4%BL40YM4#0J=:T<=UG#*!B-U\BT:[W27K#OP
MYIX-C>W;(MS1@_?-6*J^#O4V_KZ1\<^+2YR-4OT]C][U!(IOG%O4<W_U= \6
MR*V!F+R04G[3H^#KBRMYRJW?7!H9X(<KG#0XF+?!&^;!7VY;$'K$2;O?;M F
M,Y$J]#B>0#DE(7#! */Q7LB"(F]M-R"JY*4,X&-U4A7S"H*)#(1@@C$>M&#E
M2_2Z*94[T<I\AE;ZOLPH>W&WG[G_YSZHGQ[72QCV[R$+#-HGKR%@B: L(@3+
M')2"F3D6$F-;"X0E!8\V8@U"VIC$90'U( R\K^Z]DLH49?;PD(6\N'OB[N$>
M\G+=I7?/N6@A(V*LSSGI:IA*50<C.V#!B* B\K@]EC+7+U6-T""4$J!"+N#:
M+M4FQ)BS5\SZL(?GS,W%W85<!WS.H\E@_A8'9=3>U> CAEDSP$FN4'ZXB_L.
M$UY&G TD'PXJYLKE3['4R?JBOCG#Y@JK#-_A^./% :5XTP&H_LTM-G*?@W&M
MZFM':9/B*X.M#K,"EU/5VN(*1,X-:(8%O;$"]5:*[U-HZ[?T%O-BC+^4URG-
M%IA_&H4X&H_F(VQ^;QVYW^OQOQU/T[]>#+"JR%7][KQ^[JZ5YWL=GOMEO1N?
MY_UJ73].Q_DQ3W[UT?94+Y<=T=*=NK"6W^"& )_O'IK#".MY5K&1Q/B3)%I-
M;4;-?# M*[B9CL?3]S4J>GFKC$XM.-C$1LO0Z#9%"(OY=!,5MM?32J9>?OMQ
M&(>/T\6\GN(#YE>KTWEVP;[9?+X^U'&X:O!E@U=A%N:X$<-R>6!UZ!>W;76]
M&S6CY0/Z^')SC#OVL%9G->;">]F>]T,KH/8:U_=<)?[AU8N_?>6[_,*()W[S
MB5\3%\Y)]NF?IQZ'[G?[:_=LGKJO9L[>9G2W;ZANF^]#%F:>N3+L.@*<3TN
M!U@:/BL95/UJ_[KTR)\KCZ<F-NU68D]Q<A[B7.]4M9Z>-W(TZD<XV(.'0#+X
M$@<%X>#].-BN*Q#^D>F1Z1W"] 29'KD>IV'[)(-N0[!C1[>_OKZL-C=O5ELK
MTT43)KEY4N52KT5&6'9:#X%DL -?KJ=8=C=T-8-?L9FW%5"$6&0LIV\LI!/[
M9'*:4/5LB/[^\FH\_8A8+>^R3;VD3BH]JJHXN"KUJ&+B1*LAC/4"?2F 6D50
MR0N(6B80'$-Q2B;'8Q>E;!L[_Q67]>@WLHK>+&:S#ON2F*$QAR]G.YI:A[T8
MS.9R=RF2@_I#1Z8J!+)[;G K)-=>QK9>K *F$1:<8ZFB9C">RV)$Z*0QX[Y
M5LJA;K<\"&2I-6,_PHCOL&#5\#R8X3N<+) BB+,EMQ[[0:?$:34TR#5VX.!0
M<5 R!PC>)S J8F$A6HN=]#W<6/:O*\/N.%JP0V8.WY**K(2B!5*5<P=4ZX-4
M459(M D4Y@1!N/JK<%$S+H+R6\6@3PD2=@NH?EBOF0"5-ACZ$AG\.$G32QS,
MPX=Z 5?A8UN#1M$!D1F1V2[)S!8KM!86F*F<I#2OGKX1"+F(+#A:J]C6',0G
M=D5O:W-71OY[:^/=\ID9.G[X@;5D)Q0?D*J<.:0ZIW@- P1(Q3DHJQ&<%@X4
MTR%X$3'DKKJ&[Q12Q5#INUL$D9W0WL&>(X3ER&0*"?K!7S2)@R9Q?"5;J>U]
M9EP&SS&#DDF"<[9 <2DJI4,2 ;L(*Y:0L-U!JO-4)6L/OXO>TWD8?;,Y@FN"
M:X+K1PZD-0JU+!QTXC50\59#S*'&("JC#,Y(S%O)I4\)6?8#UWKHM"&X/GQP
M0U.+=CVU*&RW/"3&[2/CTJ2++N1UHO0;%5I=3 ',EM?(IU2X3($!AAH)<6,4
MCUMIQ\_8A-D9\VH[E/SP204G-N6"@+M'ZD/ 3<!]8ZN'I>(RLY"<,*"4YE##
M(@E,L\ 0=:C_=;C5LS/@MGS(Q>&+\4X,N!\QGJA]MSWL:+((:]&W[]<O]P.A
MOSCW5T_W4%FU-[>\^=OF$*!FO)I/ 68X Z6KC7F&$907)7*M%)>NBSD$U[NG
MWXV:-)XVB]F=DP<&ZP>$^?7\H9?X3_YB-: AC4-3+;&*]A+&HV8..,9VQMA2
MO%<XN^YBD4?-U3A\?%G&^.'F,U[*_<]%,Q^5CQNI+C\$S3S,YJ^6#Q3:XS<O
M8VAP/)K@UJ/_]&S6$P ..^1@ZW)NK!3\"_&J7MGXU48@HTE[2["4RU?D\.+O
M7%Q/YK@Q&F/=99RQ;[XXXL'N^=;TQ^4^_N#V?C@KI%C^['3FAT579'*5AVJL
M 0H]!Q>3!FZTDMZF('!K2NKS9GZL;O9;K*2$GRRP_J\^UO1ZDG^H[U>=W,D@
MD*,<;?'[VU7CC>D$VPYOTS(8K?0E+F6X^6V5/!OJ&Z%9S[IH;I]T\2B1T?"+
MPPV_T/9"6?O481#2^_U.@V 7UIH]3[R@FSS&F]Q3\\6.FRT^++WU:/IF'4'O
ML'VL(EUWD^-L'WVT^Z!$77:>K>[:<KK6_RRG^'V_G.+7JW$??1#X\?6M)>@D
MZ.S9!((^Z-#)#0/I@U#[9IBG*!,RU:,?'M('H9*IDJGVWE0YF2K%'*>)#11S
M=+I<TP<5.?(Q0'T0(4'=:3T$@KK.'<$^:,A1# GJ@Z#Z9DJG*)-3,R[2&9()
MV5'_Y$,RZ4<QZ=ETRMFD4E))43]*B@ZN/3TJ%SKZ4J"_;F36T?'NZ#)MD$N?
M$D3G B@9% 07$I3B,7+F3&9;I45/+X#X:=HT/\RFEV^FRQ*'^LA^N<+9LA2E
M^2)-&YL-NCR\^*BISZ&^NJ_AG!HZYPY>A=1;8WU2T$MP?D8:0G#>64E^P"!R
M$J",EZ"X<1"#:MO]%ZF#CCJ8_"7\EA0\VH@0-7I0+@L(VC/P7BFFI#)%F8/
M[SWM<N10J</WRSF:LDY"VY-7#$+;_:)M"*$$Y1&"+14Y43*(*EFP(A<5C/5H
MMAJ@Y-+VF$0-0JD*TR$7<(89,"'&G+UBUH?^H:WC0^^H43UU5>[-6M&ZUI;8
MKA]L1XTZJ5'G5_HJ!^EU6Z"/RU6A6"QXS@MHQ8Q2B3N[W2EL3ZM":QSICB>U
MUP?GR9-JXDE0WAOE(2@G*!?6**<U:&8RJ!P->(<!=#9)(=<YAZTQ,7M:8>H6
MRHT>&G_XD(>@G*"<H)R@? =07N'7,<$C:*O;!EK&@I/60I!8?V%&2+FU6;"G
MY:MNH=Q6K[P',\%."LI[G0W5*YYX_G#A6[JE$</VD6&IZW(7\CI1NL6B$F)
MX,ATC8)" J=T 56YLU*J\5YN#1?;TR+8]Q_FLU"?S&@29A]_;)NQ_CR=M%<R
MFX[']:L_MD\!F\X:[INA9;9G?'ST?9L)^GND/@3]!/TW&N[GP!4R#D[[#,IK
M!4[P IZ92@$R8W1;6;%[6C3;,_0+[H=<4<]^PG["?L+^<\!^8:SDG"-X9=L5
M,V$@,%? 8#&!::Y+V&I3OZ=5MCUC?YNRJQ4-VMK32EP/FWV<+IF<DPBZK)L^
M 7&0"$@$9!2D$20",@K2B$[F"O;B+K\X]U=/]W"!W':_ZY&"FVE[5^$/A,DT
MX^9(+SZ;G/;OY;SW#R]!OEH.D,NC&2X#J78RT^)R\NJS67Q?JM&%'JVN=[U1
MOWKCULET.,FOKJ;-:'GL&8YK%/D.;X[(N0ZD/CQ0->^?DK6K%I3/>XZ<F<\>
MXJ>1=NVC>WL=<JTO?SWS;SG9;S53Z_,_5,&NWEX^Z56X%4J]NY=A_#Y\;-;S
MAFX^],\P8_G(;JC!UN/L]JD=YQRUSTQKN39S<U+I(^9U_I,_;8:F>-'QP$-I
M9,F<6PA>+WMK%/"Z,. "DW?*EL1$MP,/WUS/[ML,/_P]?/C^PQ5.&OP6)U@?
MP4Z&'>X[_Z8#B-@>==B.%OJ4LC.XFDW;(7I5]6C0X=]IT.&)CL>CFSR5FZ1V
MTCWH.4CMI&G0X=>]%AITV#^K)>CLP4,@Z*213#3H\%0-\Q1E0J9*@PY[J)9D
MJF2J-.BP[VI),4</'@+%'#3HD 8=$M2=P4,@J#O)&5(TZ/!(3>D497)JQD4Z
M0S(A.^J??$@F';;VVK&#/3^%YO5O'I0H^/( OO>Q%!/L$M<.6'W>8V0CJ9#I
MD)*05,ATR'3(=(YD'-3R'MLZL<GZ+!W-A[I9IK$\[LT3L1Y5]MSI@2]FL_J*
M^FGUHY_6P<.W'O7*Z@?Z=3\9O)@H3$)@/F90S!IP,A@(-BJFN&8I=U*]N+;L
M.\H5NVIEY8=>\8-WLCJ:'E6$IR>O&(2G^\53%IC*(3D0-@M0/%OPDE>H+#*'
M*+7GS'714W8O>"K5T+'#=X4E/"4\[8M4"$_WBZ?2)F>YT8"Y%%#6)? J:? N
M%^XPB!2W\/0I?5KW@J>"#;DQA*>]GV9$"S1W/*_OL& UE$P,V \&I%&"-$KP
M;O),D:FDM !OG6J#D0J(W#*(2G!53.519I^SN#/[ R<O_[%)C/AA.MO PXZ7
M>8;U)@[.HB<U-Y!PNS?*0[A]1KC]UXU4=\H#UG&E0JP14*RADY(Q0(@H02KE
MHY4>%?+G+$KMC@>:*O3ZZEY",)P&R3YKQ>))I2'$#,0,Q S[].@%BU%[%R!%
MP4'YX,$76R QGEC(PCFGGK,<=B"/7@^9._RZ6$\!_(B3F\2.UL[$,:Z=_3Z=
MAS'1;!]IED8%=B&O$^5<@[P(;1&R%AD4,@<N! 3/G/?>&G2B=#<A?&=[3WS(
M^>%SHTYLRA_!=H_4AV";8/O&HE=I!W@'"5*H=AJ(1W"2<S!9*90Q*K,]X?7I
MT[UWEH(EA]P1;!-L$VP3;)\#;#.)7.J,P(V-U7/&")[; $X9F26R%HJ[&\R]
M,V];#X46!-M]6-.B%A@/M\G_=S$;-7FTU-8P?N#H+.J(0;7)5)O<0ZF0Z9"2
MD%3(=,ATR'2.9].8"BYN#HG#&L#1MG%?%K(.'LWU:)&J'^C7?<6A"<QC5"!L
M+*!$FRR+'($99K/-O$A,76SWKBW[CG6H-]/E:/,J\E^NZL?:ZVNZ6IL:"GOX
MI:FC670BB#UYQ2"(W7/3(<FRMD6!=SJ *BY"D/6'XLIDXY*6S'2Q-7LPB.5V
M: QA+&$L82QA[&$PUFG.K!(U2->*@Y+:0!3!@[56Q.0*0[]5^_N4?=2#8:P;
M2G'XQ)BC@5CJI=&WI9W?VIE,Q(AGRXA]<Y6.G@CW4TP=BTO6Y0R8;0*5'8(K
MOD#D&(-.V>2DNU@?6L+#ZTG^:9IV1*\/*ZX6AR_,ZZV[2E73!-\$WSN%6Y$E
MEJ(2,,_;ZBL1P,G"0>AHN8RN6-W)6M'NX?:>%A:R!VG^9$:$KWV12M\4XT3Q
MM5AK).<19&ZQDJ$&7[($E@SW3FCF9"?Y]@?'5Z$)7RD1Z&A7BWZ8SJKL)T2(
M_2!$:M-$;9KN)E4?@W**!4 4;0X1M^ Q&[!"9(9*!)%C)SE$*U X )VZH3/Z
MX'QZ4AV;",)[HSP$X03AKKB@0P24O$(X][(%Y@B!!2^\]"JQ3MI'' ["U9!+
M1Q!^''9($$X03A#^R$Q^Q;7VP0&Z=NO ! O.:PTJ6L/16TQL*Y/_22E0!X-P
M/32.)B'T8.6KXSPIZIM*?5./@7&IDQ-U<KJ[RD.5*#(/$ )/-1JJP5,TQ8",
M:#5BT,8@]4T]STY.!-L]4A^";8+M&_FMR<A4E(7"$ZL14)$0*Y0#TTYD'Q!-
M\=0WE6";8)M@FV"[-[!MM7;%: /"6UUA.P6(EA507EE59+2N;$TIH+ZIYP';
M=ZUIW9W!M>->J?WG@9O'?ST;A3$UH^M8*%VVISM) 9%03E@H9#BD(R04,AS2
MD1X+Y:;?7%^'ZO[_?1.;_+RXQ-DHU=_SZ-T=VZWR0DKYS5>V6$W]=;^;K%]<
MRU=/?H?,7L\'WV'"RXBS@>3#@6!"/K'ROH.K&2['$KR97M8S?QR\#7E05AUI
M!A.<#Z:KE(O)'X/QM&D&*<QF'VL ^C[,\G*DP5]NN_!'7%7WY:[<<::00Q+"
M@"I,@>><@9 ^A1!U0+Y5[II$LCFJ!-S+#"HG"T%J!5$RSDP(IECU91C_RT8P
M/U6YO+DIECLC>?-9)*_O6X#E%W<OO^Y?30;UT^-Z"<-ZVC#'XU0.:TT67"=0
MTA50R@;P+&?P+LHH=!"LN"^5PZ6B7/&N*@>6MGZ:@]/<@_3(5$;#N-)[5PYU
M<7?BZ2%U(TQR>^%M-M=Q:DC)D:F8#223-2AO(P3A!!BME#9<J!RVX$/F(C/3
M'K*NR%$_X<$%PZ&@,;XJ57'"'4!#? \UY&+P>R6;!R+(^_J= 7ZX&LUP\$P]
MN7[<:Z]CD^ 88S5N@:"915#6:HBL/GR%L=V.JW9O.YE,^TNEV-F/D]4#JV+X
M1W4(PVA2[_OWZ?5Z,#8'\4;"?/ NS$;313/(];$TU1V831=_O*UNB;IV2[9\
MML-Y*_7(8USZ+!L_Y5&@\S:\PVIAX]%EO<#\V1\']7NC:?U,>\ \'4RF\[7Z
M70RJSW:XFSX*;[$5VLJPXZ(93;!*OAURE6:81_-C@'[.N'&ZHGY4K><H<X#@
M0W4.I*[O.%?]2?8E&(CD=0P8P(CJ+RHF6C!(!= HECU#@VYK ZB:^INE4&["
M_NO+Z6)R]R;0X[!?]]([&(1W831N8\#!?#JH$EBD:L.+^6*&MRC1ISEIV*Q8
MXQ:U^@IA?!765@>\!2O:\]]_GE"/WRSBGYCFJUMY-ZI2:+][50\R:N\PY#\7
MS?RR2F 0/RYMYL=VJ[2="?<KOL/) @>_X>S=J(J@_=YE^#B(.-B@TFBR_$K[
MP7EK*VG%%X/T-DS^J/>R_OOT_01GS=O157VC'AR;Y8?;KF2C,DJA?K=Y6Z_U
M[71<I=M<'% %;BX0U'#_%G,73V-PGU+B7 B0UE6C38%##$R"4-+DQ*7SH1,&
M_RV]K0H[QE_*=UAP5K6BFO'KIL%YT_;D&(4X&H_F(VQ^;Q7\]WJR;\?3]*\7
M ZP6?%4/-)\M\*ZL\GN7.>Z53B_7.5H;^WP 8E[+[C/K7II3:"JDC<?3]\W+
MGJAI?Q;B'F8@#UZAVZS'+9?C;E/'L)A/-SOX[?54=&POO_TXC,/'Z6)>3_$!
M\ZO5Z3R[8-]L/E\?U#A<-?BRP:M0D14W8E@F<:P._>*VK?1V$N;2ACZ^W!SC
MCJWQU5F-N?!>MN?]T JHO<;U/5>)?WCUXF]?^2Z_,.*)WWSBU\2%<Y)]^N>I
MQZ'[W?[:/05'[JN==AZ>I[%MOGM8^G<= <ZG1*T#)/"=E0RN]\C,\_?(GEJ=
MNUN)/92+WZ_L+U;O\T&1[4Y5Z^DEED>C?H2#/7@()(,O<;"#7('3Q\&;BWJ$
M?V1Z9'K[-#U!ID>NQVG8/LF@VQ#LV-'MKZN-I?66P731A$ENGC1UH]<BVQ^6
MW=._9L=U/P]H5W.0$L9'R7^S@[+<8 O+/927!]#(LTV]ON72^XAQ=T-:,_@5
ME[O$>;=(U@=!'8>#0+9TS+;T;M20*1W?> >]FQYW^@A;W/TVGZ9_00Q-F](W
MO6P+ZY>)EFTV4%MD3_TX^M&/X^".:H]Z;9QH'XTL!88<#3CNVF(:(2%@4L!D
M46AUSHSE+C+HM_*PZHO->^O6&F]N(,'K25YWVFA^:Y/BOFVQXN8'WDR;KIIP
MZ"$7A^\J>S3=-0B$3UXQ"(3W"\(ZVV@E3Y!<+FV_;@^A9 &V!"E,YMF:K1YT
MH22NT2-XYMOO9 ,1K0(C4[!9>)7D5A5DKT%8MGNJ!,)'U+:;(IKKI_7+I\($
MK%;2$'F>+7GVS:LZ4<Z,5DF718(2@ZC\%Q!"*FWTPC(/@JN2Q',"E]D?.-DF
MS$^%P$LS[ZI[*QM:88G]#F\LA*(]D4K?%.-$4308D4U%4,C.R;:! F\C#P3+
MC=$Z><OB%HH^)O+8*XKRH3:*4)1V18XSAG@3KD;S>N1_8Q[,L,$P2V]7S0WP
M'8ZG5VUY,C$B,2(QXBX9D16;I4T%DC4*E!(6@C'+63["IHQ1F:TI>EUMB&PW
MFFA^70-!5R/T;.7(PT]!)?,A7.V+5/JF&">*JSXIOL159E0[IB$F<,QG,"JH
M"K4^\[RUT=S5'L?N<=4/.3O\'(>CL1[:ONA7Z/'CI.U=-)U])!XD'B0>W"4/
M%NX3"E%YT#L&*@D.WID DJ5<7)$BRZT66)W$%]<VWE4HP89<'G[D'%D*06A?
MI-(WQ3A1"%6>U\# "E L<E#:( 3M)%BII,U2)2[E3D*)KB%4#[VCI"?:L#C2
MJ.'G>[HW$Q,2$Q(3[I0)N>6ER,IETDM0/"J(D1EP+,K"LS(.=Q-,/&$@PN.H
MT0Z-HGV*'E@.06I/I-(WQ3A12.4Z^\QY #2B!A=*)W#<"$"5758<I69A)\'%
MSB'5#QTC2*4]BB.--KZ];] #<2-Q(W'C3O<N1(T9G#+ HZW<&#P#;U  5]+Q
M(E.V96OA;8>Y49VMPFG:Q^B#U1"<]D0J?5.,$X53Y5EP%4!KV" 1E(X%G$<%
M3(BB- \"M[>"=Y@2U1&<BJ&1=P^S)*NA38U>AQG+X9_$??W@OJ?V,^^AG>].
M=>X7THGR)W.9,:,U,"-K:*%%J.$(9Y45G8T\V13SUE+=CGI7+5&CLZV/>C\'
M)]"G]\$_*^,CW";<)MQ^'&X+KGU.S $/I8UA7 #GK(2$A=OLZ[]YJ\1N1^VN
MNL1M4W'[\.M()X7;M ?3K^#H]^D\C#_-!?XT$8"(MQ_$>S2638N%CR1-:2V3
MUFA(FE<"#,5#,(6!E3DY+KU$NYNZ]/^<39NNU@:='%I'.0@]L!*"SYY(I6^*
M<:+PF66ND%E!4RF9VIC#@3,I@^0HO975B=QNZ]%)S-$E?%HV5(Y:E=/>RI&&
M#S]AT[P<O OCQ6K<1QB/I^_#)-' CY[P'ZW;T;I=>YR_;J2Z4T[V'GGP$2'8
M:$!Q96IXHB)PQC$8QHR+9B<AS?_>(-#K#0!UE?MP>'+NZ?K?PT9*/&FJ&1$!
M$0$1P3$305)>F*Q;^&<M$60-+@8%VJO T3!1_]E)<+8S(N"'SX [32+HQ8X0
MWU%,QX\QJ&N[ -".4&^9G'CZ^%GXC@DH14GD(D)4S+:LR<!GA\"%"-$*972Q
M.PF?JL5WN!]$[8C[8",$GCV12M\4XT3!D^FLBD4#7@D&2H4 ,10+/%E1DI4^
MI"WP["3DZ X\V]V@'B2<'8V-/&\WZ#:5>TX\\?A(H?^AP'<WPX#Q*,31>#0?
M8?/R*3K99P7LFKJJS-N__C\OQ(MGBZ,?@+TG<B>ID.F0Z9#I4%;Y$:>%_##Z
M4'T&6C:DR)<BW^/;O!,^"<5LA&S:94@7:WR,+D.P(B3!+4/%.QO$_.,D32^Q
M!M,_?8HNEO"Q"JX?'EDW5>#UU?WCTBPWYQAB4[X&P37!]0G"=936%6,<E")%
MA5YC(!@1@9?"A6,RZ,@ZF_B\;[AV0V\TP?6>LBHH47Y7$='K]'\6HW8A=329
MA\D?HSA&BH^(<(EPCY!P+5H1E6,0=0USE->ZAD;,0 HE)YL*,U%UG*9Q@VW_
M<SK-[T?C\>M))>,-EFRF&7W^>U?M5-U0&4LD3#$303A!^$E .!:KC @6M(H.
M%$\(P;$6S*.62HHV..HX6>2@$*[TD-O#ES(='X33SE*_XJA?/DVGP]#@8 D_
M@VD9+!H*J(B-B8V/D8T+9FTKAX*67(,2K+*Q3P5**3(FS6/A6]5B3]YP^IR*
M/\UH:N'DUU9\OY3_;A[-O@];SA1F*.WA.\$>'PT3=I^\AA!V'R5V6Y494RQ"
M+"F#DE9 2$Y",#++Q+B..7>V^W10['9#Y2AS@+:BCCV$^@[C?)!'3:KBGA/A
M]H-PJ3T'M>?8'VDSA48YZ0&UCI6 E8,82X& UAA5O$U2[RC@:M'GNS7X=-::
M8\C8X9GY--MS$!'T1HN(",Z(".YH>NN42#IS4 G;#A&^@G#R ;+BTF/(A7'<
M4;3U?. N;9X@_!MGTU9SG.#B%8'VX>NAJ9727L=KW*BB)LXESB7.[0_G[FFW
MR\@0I;/@LI.@G"G@5/1@7589N<7RO/*J+W-/;DO9[RKR$GRHC2 6I]"+:(!H
M@&C@,56V3!@OLP"&E0&4- *\"!HR9TJAJX$9WUJ#>TX*X@YIP(NA$8?O6W6:
M+'"P[;..8KAC"=(F7W:]I4"MYPPM+D1KXGFZ:*OI#LC1#[/POQR:K&^7%]'U
M@^C:(4LB:PMZN?+JVRZ]W&60IL3(4T#O=UCTU1%12SNT7O6,J+]0RR.F:J*#
M'ND1T0'1P>[H(#CI#3(++"H$I2V"$S%#<2PPSX+G,NRN@*RKX59B6,V6Z& /
MD5M]'>K]_'TC[)\7ES@;I?I['KV[:\?KPAC[S5=VN;BHO^\WAOKB8KYZ\KO"
MK;>X#+;2VS#Y P>CR6!>WYDO@[!;)DFV*KS\Q$<,LP%.<@W/OL.$EQ%G \F'
M \&$'(1);E^()QI_![<U>!^:>AGU?M)L69HV+8-P=36;?JC&-L?QQ\%?;KNX
M1YRY<Q#3DD4,+()*P8!BND 4U@'3)BCKI11BJV4ZHDKU+P%\K,ZP8EY!,)&!
MJ-)GC <M6/D2Q+:',GW91/W-4A=^G+R^[#(O;%CE=">Z'4!#6B4-[1T<BX+P
MP(1"W@Y59I6Q,DL0E580@^7(4"N,6RQ74O!H(T*L7 ?*90%!>P8U/E),266*
M,CM3$/.9@NA[%(1=W-W5X@#J43\]KI<P',RPN<)Z.>^J4EP<\((^([8JI_9/
MH\GJ2:V9J]+;?]3_#](X-$WK%OR!,)EFW!RF:E;[Y_5U_WN9N_'A)<A798P?
M((]FN!1[/?1X<3EYE4?-U3A\?-G^=<M5N-"CU<6NESY7;_RY:.:C\G%SPN57
MH=+$JZMI,UH>>X;CT JS.AH?6I'48[Z\]CD^/-"Q> [7?G*D]_\0.;.?/<:E
MNW']Z-[.OG \1I/Q:%*O8QYF\Y=A,9^^^OP/5;"KMY=/>K6F'$J]NY=A_#Y\
M;%Z]^-NU3MSF*BX?V0TUV'J<W3ZUW4?$-\Y]KX8\/'B^85I+:+YI>9L6%IIQ
M';  ,YS5"*3&(IYA;)>F2N1:*2[=/]=EL_6KF%_/'_PU^;G9/N(>KYED[>!>
M#V=Q+C)A0.J@0 F1(-1S@PPII^Q+T2%UX6G\EMYB7HSQE_)]*2L(O=[W^K62
M[*]8SY%J%+64Y.^M2_Y[/>.WXVGZUXL!5A:YJD>;SQ9X9QK:Z3KEL\^$T[HG
MK=M=L)I<=<TK),RKX<\^#F95D-5?7_X5-V)N_=XJY^7.R?(#-]WV9NVW'X[+
MMB*&Y4^QB1OX8%2=]Z9>=.N ?#[>Y&1A9A.:+B/3VW1]"?1KS&VOIX7@>OGM
MQZ&R]'2QSNE]M3J=%Q?LF\WGZV,=AZL&7S9X%5J%V(AAN=ZS.O2+V_8UWXV:
MT7*=X^/+S3'NV+!<G57*"Z^^N<D2ZUM>T<3?OO)5?L&>^LVG?<U>Z/V><+]?
M<Q=JS[='#Y >(#W O3W >W)1?$?SUK8)<@\SDGQ'E'Y[L->W$4"G((-/@Z(Z
MF!3UU.3/W8KLH<[Q^Y4!QNDXWSV49^V0_\_2(?]^:R%]I_KV]-R\H]%) L<>
M/ 22P9?@: @;[\?&=D6 \(],CTSO$*8GR/3(],CT#F%ZG$R/O/[3L'V20;>S
MLT\?_U;)1(2 9'QD?'LWOF_([LCNR.Z(](Y7\<CXR/B(],CNR.[Z;G=$>F1\
M9'Q$>L>I<[3&W(.'0#+8 K\.T._8L>VO*\^B696Q3Q=-F.1F., /"2L.7>&L
MO83P!S9/:AK3:S$2P)W60R 9[,"[ZRF^W0UGS>!7;$O],!-BD;&0L9"QD+&0
ML9!.D S(+D@G2 9D%Z03) .RBU[)X\QE\*3EPP[&'G8^(:,KB7<\(&/50FL0
ML4QG-QL]'6(PQD/[4W<EREO;4Q]=;_3];RL?<6/T_@ZU^OPQ==_4G$GK4"4(
MLFA0L5AP]1TP'H,549H88A==^E9X\M.T:7Z832_?3)<-"NLC^>4*9\O><\VW
M2ZBY;MV'S?<?YK-0G])H$F8??YSC9?/S=-)>R6PZ'M>O_M@^$VRZ:AVLS="R
MNYO#]L"(]Y3;< PCZ4Z2$A[@XI+42+](4GV0%#EGY)SMVCG327!E@H3,! <E
ME8; BX&@T#(?8T[*==&+O__.F>!^R%7?YM:0=W9&G$#>&>D72>I()$7>&7EG
MN_;.LG J9\T@&%D]+:T-1,40O-+"J^!"L5L#+G+10EG4()02H$(NX PS8$+U
MYK)7S/IP?-X9UW*HE23OC+PS\LZ.26HDJ5U7JM!6\[W2__Y#._D.\W*.4*B(
M_=G4(=+?OOK,Q*1GX>9*Y!%34A TJVZNT0X\,@W*.6U1.NZPDXFQGX:V?3:3
M[/KM%B8F#7Z+$ZR7_7K^PVI(V6\;M/ALZ%M7CBT?>G[X54>R-,)DTA3"Y&M,
M9J:"LN 24*B*R3DHB$P$X"$JP[.R/)DN,/DA$S4?@\17BQE>0S&(FUA\_P[0
MQ3D"\<,6 9_4;H40^315AA#Y (AL+2\R9E:]9'2@=.#@DD90Z&V,JC@5MKSD
MIV_5]\M+5F98*>0,P?E8+8TPF33E###9:<G0^P@%=8!VS#UX%304%U0).A87
M91>83%[RH<V+O&1"9$+D_B.REL;E@@&X4!611>80"C,0I-":":X5VT+DIZ=,
M],M+EF)8[^,,P?E8+8TPF33E##!9H9-1VNH;,QTKOKH,7L@,D5OK;>8VRZT*
MT*=@,GG)AS:O9WK)SVJY\/".K4_JT'H*>3"O\Y^+9GZ);6OAO,#!?/IRIQU
M3I('NVP3<Y("(J&04,B42&M(*&1*_1$0"86$0J9$6D-"(5/JCX!(*"04,B72
MFAT(Y5!%A<M;'$URO<:7NIZDHR+#M23;%='E86^>9OT,^KST^MVH%)SA)+4=
M;^?O$2>#_[[X[6(0)KG=2:C/9-)6)_9W!^I8U/YT-E-HK_(0>Y7)8U%M1I_2
M#A3C";QS!K+*F<D0,K=ZA[6(/ZR@X+,]R0UTS$=AW%75X9!9=X;[D\=J4@2^
MI"EG +XQ\Z29%)"U"Z!,T1 D2BC6I^2<+E;NK>CP44C\C$P1?N'/$(@IG9H0
MF1"Y_XB,1A05<P7C8A%4T@6<4Q*2\%8%D=&'O,.BP_VYPT*=(0H?JTD1^)*F
MG 'X6A$%RNK0.F>P[8N4(::D@0DGLJGH*]H<Z/U4%^[+'687^@R!F-QA0F1"
MY/XCLK%!<LFJ_VL#!Q54!58,#BI0!V\RDX;C#JL+]^0.:WF.M2O':E $O:0I
M9P"]RLN@E->@5)&@L)CJ#.<$-J60HF9"Z+T5$>[/&3Y\Q_NC<X8/-;>9\EYN
M>TQMF2U-=R8F)2;M#9.RS(1DRH/FNH"24D 04@(+40<79!1Y:TV_PQ27)2*\
MGN2?IO6)W)@HT]E:OJ"U_",R)0)=TI0S %T7C<A166C1%90U"GP;F03AZMO,
MQQK ["NUY4$(_)SF)Q?B# &8UO )B0F)^X_$RNMHBF\]WXJERE;/URV'*HHD
M%4]2:K6UAM]A2LN.W5\YU.P<$PJ/U90(=$E3S@!TA>1&VB# :8>@.+,0(M/
M?4$>LL:2]Y;*LFOWEU^8,P1@<G\)B0F)^X_$7 H>5"F0,%14%=41]H%;B!)M
MEKF$"KD[3&'9^>JO,N>X^'"LID2@2YIR!J#K=>+:.@::QPA*Z@3MZBV8G$WD
MJ*HK[/>5O+)[]_<<LP</D;1"S5IVE+3R[:(93;!IEO/BTPSS:$YI*\2AQ*%?
M594'&-P7C^<.,?YU(\$],K3,3)MB(MA<3 V+5 #'>/U5.J[J'USF6V%1ATDQ
M]8TW*YSI:F+F4(MS#(0>QL/_J[\V2FA.:$YH_MPI<$(G6[$0HLH5S;/V$)TU
MD#.R5..I'&W:5[;-'=#^C C+481U=X1%T$[03M!^NM#N#!?(A "F X+RI0)V
MT 9DYC([(TV(N^Q(T[FCKH=<GF/"#CGJA.:$YN>.YJQXKC D$%PH4*@UA,(M
M!%]8;CLMB++5\7%7>4'=.^J"ZG?)42=H)V@_1VBW7A3& @.&0;;[UPYB3 %$
M#BR@CJ&TZRD[2S3JW%$70T&..CGJA.:$YF>(YCI+[JQ3((LMH*Q""%P+8,9X
M8Y,7/&S-Q=A5!E/WCCJGKI-/<-2ITTZ?DI9^FT_3OR"&!MMA<9=7.&F6UC+
M#^UK["_L$D$301-!/Y.@4T#T4C#0CE>"UEZ!]\9!+E+H5+S7J9/9*7>$6S]/
M*U#F1;VB.,;O5XCSV]LPPV];0'IS X_>3)OYPT.RICZM^NK>V$P93@Q.L1E!
M/T'_V4&_0(9:A #*N[:CA?<0B]%@O<S5V?;6Z[V-S7H&#WP]?GL8$2C:<:$=
M%^(!XH%SY(%L'"9E!=C,,RC''53L9V!YLM&J4O^ZR\Y&APT!]-#(<QQI2R$
M03]!_[E#O[..A6(<($H!*H;JSA<M@'O&$=$PD^R^\J@.' ((:K]$(0#Q /'
M.?) L=Y([R($;PU4',\0N?20HQ%.)JN8<3M,NCIL"."'3%&&%H4 !/T$_><'
M_9G;PBMB5\??)%"9<7",14"=VE3;;%39"@%VE:%UX!! 7Q -["F=BWI0[2B=
MZ[\O?KMH^T^M<KBFI=7X=NC@ ,-L4F^;&E(1G1.='[*I8PVQDI;*0K!M)UVT
M#!RJ"(Y+Y0M71>VT9=2O>!7FL]7K7\IZ).GW:W#H;!+T.1+IL5H3X2YIRAG@
M;O+H-:OQ"LL5<A67%EST 5C01L68C&5L7^E.#P=AZJB[WXZZAS<R@F."XS.
MXU+QTXN*Q%(J RJ67!UB%J#X&++FTABM=IAUM \WV)UC4NFQ&A/!+FG*&< N
MR[YX4SB$DB6HXCSX8A"\$;Y8IGBVG?3!ZXT7S,@+)B^8X)C@N)=P')T33"8$
MF5@"A4Z *QZ!B\",X/5?NS7?O</$FWUXP?(<\?=8C8E@ES3E'&#7:N>XY%!X
M8* $J_XP*QIB$99GR5G K9*G726]D!?<5R^8&A7U*;-E;1E5IV?5H/)@-)F'
MR1]MIEA]V5I7?[&26)58]0Q8%7VJ_*@U>"DM**T"1%$R2!,$+R%Q)[?&E>YJ
MA_6'/!J]OJS _(AR@9L,6D8?,,._<39ME<8)+EZ=(8$>JQD1X)*FG '@BL!S
M+"J#,(*OQR!P(Z &(UD6S$G@UA[J+@'W'SAKA4U!"RW=$_@2^%)9UC/28Y0Q
M-E@)WK;I,8PGB+S]P5AD)J1R2[;BKO9IG^M+W])TARF:,DP5MP3M!.WG!^T\
M"Q,5SQ"3K]".0H.3K("(6;!DD;G<2;^U WGM-+V,&ND0MA.VGR6V.Y_,*H&'
M*P<J5=\]<N'!H40;O I6;"V![VICN7.W70RULH3MY+83M!.TGQVT)\9EBBB
MQ0KH%:HK3$LE 5-6B=F,SG72(^U ;CN_(&BGYC?'G2+T_0=,B]9T/IMDUE^T
M)5XF7NX#+^^8.2VS3!AK($B,[5X&@\@4!V$DCT9GIL16B[G';%//_L#)8UJ+
M7L/$S8YR754[#)E39TBDQVI8!,&D*6< P9ZI8KRTD)>SOG31$$JP8(1%C)DY
MCUMEOX^&X*>V^+P?CY\1U^B+<X1C2B(B7"9<[C\N*QV%C]R"T,:!\DHL:]"
MZ^B%=3G*')ZS%]PGUU@/E3K':;O':E@$P:0I9P#!W!1CA0@@L7K%*B4.P5D%
M6B7'G*G0FLNS(;B7KK&XT&<(Q^0:$RX3+O<?EZUT(G$N0 M;<=DG"\$P!HYG
M&U..WK*MXJ;'[+?VR3660^G/<?OU6 V+()@TY0P@N&(@5[I8,(JW;J[,X'2.
M$%-1/"2=693/AN">NL94GT3]<HXZ&>9-?57OKO[26F@SRCBC=!AB56+5TTY3
MY:($A5F"5*C:CJ(&/-<*;(Z.<1W0;5<@[&VG]Q,FO;D)28^M4GC8.$<S5)Q8
MG,H5B >(!\Z0!P+Z)+(#9F( %5V!4$$>BD_29)]=]EM5QH?F@<>7-#R,"3BG
MFF2J228F("8X1R9 EJ55(@$70H-2WE=\#PI2$ J1!5[4X3:X]QP1,$E$0!$!
M\0#QP/GQ0'(^B^@<I,(+*&]T17>F0=K*#YPG(?A6&=:A>6!7$8&X<,0#%! 0
M$1 1]''CW416, 0.QLL$RE:4]DX5,,&%ZK;+4N*6R[ZWC?>.7/:OK]@,A3S'
MM?MCM3;"9=*4,\!EYDO"P"JR9I>K"YTY>)$#"!&BY8C%N&>-:^R'"WU/4W[R
MG/>3&45M@G:4&?73M&D&U:;K">I-+D;-V\LV2VI:JAG$>7^ADTB62/8,2%9;
M6YS3E2:5<Z",R1"$3N L]Y$%8SS&O>Q<MSCQR^2[B@G??TAO0Z76SAJI&GF.
M72F.U9P(>$E3S@!XG4(=M?(016HWBB.VJTX10BJY),X]+\\:)_8,X.TXB%$7
MY@SAERJ?"8<)A_N/P\+*9'0RP#%%4#(J<,@U.('92.>+S<^:_;5W!YB&Z1ZS
M+1'JDJ:< >I:$YT-FK7^*P=E90''! */6I>BEN[L@5"7YNJ2]TLX3#A\%CCL
M9,[657=7N@JLRL4$SG%?(58X6P3ZHK:6?W>RQTK>+]D2H2YIREF@;G#&B:PS
M1,':=5R1((3B(&NO&1-:B#UE')+WVT?OEUK[]"F!I;6.01XUJ<VX[2\@$G42
M=9X!=?J@<C'90+2F3=9/'+S)"H35(K:#(;G=3\>=%A:^6Z-"5WGX9FCT.?+E
ML5H282YIRAE@+BO9"&\KR$JFVW!%U,#%M.U)B\\>-2+?2L3?.>:N Y7PQ4+1
M<]J0>II>14OUA,*$PKU$8<^\1:X=<.-\6Z;J(?B<P$JM.$=;#[TU57 G6Z;/
M]WQID?Z8K8CPEC3E'/!6)>,2+Y!-JMC)175XE7$@<D5ACNURJ]X[WG;O]=(*
M/3F]!,($POT$X5)A5JKDP)F"H$0JX*1)D!.7Q4FOE=]/#P!R>L_;B@AO25/.
M 6^E-\5+!8&7BIUM-W/OK(/H4RC:,*YUVCO>DM/;"Z>7^JKT*2WEA^FLRKWM
MJ[)*W!J,ITW37U0D_B3^[ -_'G5385549><@(6K)07&9(/*<0#G/3?+1:^GV
MLA&[!I]-TFB;1MI9MQ;AJ.<9=8TG@"> /S^ =PFC-,8"FG;_@"</7A8/(CIA
MHY#1XGZR&V\!^%UUAU<4BU%W> )\ OQ^KHC%&&3RPD)14H/*24-@J?K<B?NL
M1:DX9O:R#=R9STT;$<=L3 2[I"EG +M")R.=14!D%4*%U>!"-E /'U&:=C]B
M/PUB.O&$:3.",G (B F(CQ"(8U;)("_@$E;_URH/SFD'2C/-BH[(]K0C3/XO
M&1/!+FG*><"NYL[*4A*@\Q*4D1*BX0J2$MZ[9+P56UM]^X)=\G\/[_]2CY@^
M)>/\]R356PZCR6 >/@RN9M-WHZ:J,>7C$(T2C1Z21KD4/J<0P&9=0$E4$(-C
MH),N6(RQD3]K0W71P!\A7+W\1*"?D6=]XWI08!IA5TDRW.@S9,QC-2""6M*4
M,X!:P06+1B($*UV%VFPA6FG %H4V>A<MW]HH?0K4/B1H^2KN/BM4D6<(O+14
M3PA,"-Q_!#;62:X$@Q1C=7;;\1JN9 8,52S%!,/#5K'L8_9,#^/L"IK>>40&
M1%!+FG(&4.L*,U8%!L%E#8KS=G"GU1 E1H'!&9NWUA6> K6'=7;Y&0(O.;N$
MP(3 YUZ(PY)6,?@",>5V*FAB$'G]U<I2?6O'HXOR.=NO.W.E'UASHV@=@VHL
M"=H)VL\/VKW1VGD=('/F0)7JNCO5NNY*8,[H@P];?72? NT[=MT?!O2T8/V4
MXDKJ=-.GY)HWJ_XVH\G@71@OEG8S"./Q]'V8).PO!!-9$UGW@:QWW9/&B5"*
MR_5RBP5E4(!G+%=^%*(=9EC_N-4FN<,,FQ4X_#CY#@O.9ICK!UXW#<Z;_[W!
MBM<;J*!J@?,S+0)ATI0S &'4/HD<,F3/$)2U'GRR"F3R.KED=757]Y5[\U1$
MI@H"VJD@<"9PIN6L1T&_%-HF+CQ8+0JH(B2XD"J6R_INQ7(3^+/&0AW"_W[8
MVI:A1I&TB4&H3ZA_AJ@?D6';C1^X3PR4Y B^HCTH[H01&3/;'LFZJ_RCW3C\
MM+^QN_V-PYLVD0"1 )' <W>R/9>"AP0Z<@5*5?_?1^:AL)1"3M%[\ZS6//UU
M_15Y_N3Y$^@3Z)\?Z!LK;-!)0 7^ZOFGUI]GOKK_7!A6&..X76:[J_0E6NKO
M%?1WG-!$W8)VE-#T*\X7L\E@/OW4*6@0\I^+9GY9/T!-@XC B<!/E\ C:N\D
M!H@^UJ@MZ?K*L/I*RZ**T^C\\V>\W!&RK9#G]^D_-KCS^A/L=!VC\:'0Y]BF
MB,(T0GE"^7-'><,=FC9"*R4Z4.@YQ+;4Q(:V<#RE'-*S,K(>W+_UP9#?Q7:,
MN!"$^+0=0Y!/D']^D-_NN6>A"V")%;Z30/ ^RHK[4FH?V@WW^.R1-3UP[)6G
MW1=RZPGC">//#^.383EF8R&YZIBKD"4$YUWUV+T0GJ/FZ5G9MOUTZQFY]>36
M$^03Y)\CY&?C-=<L@LBN@(K>0L@Q '<A,:$YS[A5X/SH23P]<.LU;:R35T\0
M3Q!_?A ?3#"YL%1=<I%!U9_@F?-@O6LKJX/6"O<R;*TCKYXRJ/J1044MH7:4
M0?7+_"W.^@NUYT[*L>HWSJ[?N:@:-FBFXU$>;)XVT?;],NH'L>^8>KETA<=H
MP#L1016G('(G "7RPG/PR80=MH]: LGU6Y,_?ISC95>#*VP/IK1]1<M6Y,0D
MV2+A.N$ZX7K7;0%MY(D;D+I=-7-*0Y#60U+%2%O:8A6^KXY42Y#?023%>[ M
MTD^ I]94A/2$]#U!^J->FC,F)1^%AFB,@)95*H\H"1A#L3)8Y=4NVUL],SYX
MV,Z+)QJAW1FB$:(1HI%=T8AVPLO8)FJ)K$#E@."M4R!<BEQI@3&[??7+VE4X
MTH>-G6/F$<KD(B(A(CGZE2>NF8H*+;@8)"B5&439#FD5OD*XE5RQK=:('7;%
MVNF.@B2$/PY;)%PG7"=<[Q37A<K.9AM!QE0Q&EGUQ&UUQ^O[)@F;#8M;.\6[
M:GRU.Q>>MHQWLJ-PJ 98':5K]3XA:V4K@WGX\*FG%;'N<;"NN!"MC>?I(H[Q
M@+S[,!/_RZ$)^'9QG0<%)YMRD!P\N@2J1 FAQ Q!1<>,PLPRZS19Z_L/5SAI
M\%N<8+V^CJ(HP8><\Y[Q[!=:1:$4@?I)@'K?M(FP?(/E46O/.(<0I&S;$$KP
MSA4(J;B )3'+[.X2M-Y,VZGGB_IP?KG"V3*FZBR(DK9W>5G]07?*S"*8)]_]
M#/'>:YUR$@FJEVY >6LA>MY66X24A/0FXA;>/RN1:B>^NY1#[LAW/Q9OBT#]
MF$&];]I$6+[&<LM1!&8"&*XJ+EOIP95HH"(\JI"DBFJK)4EWV4R[]-VYOB!T
M)]^=8+YW:D6^^^'P'H4*/%:PSBIR4+$(<%E&T(K[F)-VVG6;TK2;=7<]%)I6
M9H[%VR)0/V90[YLV$99O.LAR8;PT#GB*N6(YY^"S\\"D#R)[Y.BWNH1WE\:T
M4]_=7"A"]]WG+]77H=[.WS>R_GEQB;-1JK_GT;N__T?]<8O)B'IO7[N=:W5=
M'VU3QB^S-#(Z,*7MC&:,A"@%KY&FEKEJ<@I!=K%+]-OBL@KTXR_EA@M2+W2R
MTM#?Z\&_'4_3OUX,L*KF5?WB?+; NQI:R0LIY3>O[@:,>Z71?>+4%Q?SU9/?
MH1R_O\7!F^EE/>_'__O_<H+;5\TRX6JV;!K7#,(,!\TB_EG-OITMB)\$.(@?
M!P6K783QL%YSQ8%!F.36FK'>TO(@83%_.YV-YB-L+@:WGNG]=' 9_IS.EA__
M<S$;-7FTM/&OGKFT7ZB'*]-V$F@UUD'%G=$T-R]OJP+;CR '-ZULE_QRFZ[<
M=U/WJN9#B7V#%DNP^/_9>]?F-I(C7?C[^14=<SQ[QA$L3%5U7:E=1\@S(Z\V
MUB.](]D;^\E15[)M$*"[ 4KTKW^SJAL@0 #B#02:4CL<&@+H2U56YI.7RLK<
M)B:PY-,%7J;QP.*DX:?+T=A<3^<S>,7GX%^UK]-XA+]?7 \+-3:733AMPJ4!
M/1(69,@JM7WT=]L2+E-JH*W&U>SZ=/&,':F4[5NE&FF57OLYT2<-L9LR$/SS
MJ^]^_,*M=(3%X^XD\-)[W7I'6JGZ8E7 ;8RP/==TDZ7NHT:?/0E?[4E,;HR]
MQV#!IY;6=CKV.X7COU;@ZC$6R0&2IY^7F ?RHP:66Q+Q396,Z.)_@ZF;XL.-
M<ERQ:QZ9K)[5T^YL]?O#RJ-@Y$'9ZL^J29_@FOT%')[@BP_)%&H*M#".LE64
M[:-G9?XCT*IO\K]EN,])DG5Q7R<-:H)#U6=T7GD?)J=O_F9+:Z*R$H74L)%%
M99 J943,>>*E)E88N4=>I)AH!*Y1N23X^G_V @X/MSF^77#X\ G0X'G-A $!
M>HT S&L+LLX0-B0U;TUIL4Q8A!DEV#-KC+;[10#U2 0X9"S(:>=+ 9 HF 4T
MY%HA*UB)G 1J"46DV$_&\ =W'OQ\'-[%OTSJX*9G$QBU_V@^=]M1S6_@.+Z9
MUI],#=_"[(?PT"(\=!-EJ9K"%, ;\[&IBWKM\&HQC3DD,YO.DLES 7IBUJ0O
MYRODSE$>VQ'\=&O Y$$T_8IB*/</F1#\Y9C)7B(D@H^H>&R@8R0Q>>2MC[RM
M' G!\<W_#OSZKWO"7T<\:@B0?!TT /Y*O_['=^*[(6!T=\"HVREI(T:_3#PH
MX9^#"Q<VU$5)3H:XY=-8<L#&'BS"0(/;V$@';+P;&]><XP'_!M$;1.^ HD<'
MT1M,CZ]#]@<:[-<M>^GH]L/K+OQ93<#YFLX;,_'-H^I ]YIDA\.R.Y(3^E1*
MKZ_[CW\T8S-Q(47D@8A-LSLN?P)_P: F*> /5[>9E8?/[?]Z=S/WW^/X@$S7
MHY-\_3C9L?^:&I9I8[!#,OJ(F,4&&>,-DD9*ZB.AI=C8$371$1YT0!KK=(\7
MR ;)D"B=D9YJYDIV>T=TQS[HOL[EG6@MCGYPXPCBTK<S4@..]H0J XX>%D>5
MUI)XRQ$I.4<L52DRSGE4>A]+97@9Y49=444U(5@J9+V7"'"8(R6M1<9'6Q)A
MA++XT#@JU8"CS^Q(+*(B@R-QM[#]*7L/*PD^U<0!L9J0W=V=7D5A4NY0'9KY
M>%;\NZU_[!9RU[\IG2C5_9XV57L<;&;^$2:M1QT*-Z]K&,[@G'SK2K5OUM97
MJDLY)TS%J!$F3B FA4#*4 )JJA31:(RI=?O(TMRA2]\N(.:WC!] \S?U].*G
M%@3>9PR J]\OL&)/JI=(-2C>XXO4@+4]H4K?&.,KQ5JK-7.1&Q1"BO\8DA"4
M121D, 9K%0W9\%L>4X>O7UC+!B=GV"T9G)Q5)^<29*T>7)Q![0YJ]Q#A0NN5
MY,(B+PFX*RRY*P1C1)0GQ,=2*+S1"7"/+L[/89O:?9\@X-F4+B\'G7M\>1J
MMB=4Z1MC?*5 *ZGAP6J"C-8.,1M2)01% ')%65K&HM'^&?V;8P"M.'X)PQ<C
M3\,.SL&=&[\0B<+/TPEN\&#&Z?.@"_NA"Q]['J"'TCTT-'^"X/[PR.J6#XP_
M$F5=-"5,.&EE$RU2SC@D:'142LPM4T]QA.JS,-FEG%L-G %J14]G,-J3*E;'
MW]-Y_-F4'N0G/2J-?5 *@U(8E,(AG2PL4RPK%=96E@.(*S"+K12(&^^,<0#3
M3#_%R3HHB.?J-^A?H9XF3E*4T%<#B!_?YQHVE)[G^$V8^.'@3;_5[4,:LO3
M:!O:;!U2]QH3*+;!(D,8.%  DTA)7B*J-8\L@I]$-MI;E#Z6'G.-/'?@0'FC
MD3*"H!B$T-S0J*@Z;.)Y>4)*W3,U^[#.*SU4M -J]XA]!M0>4'LE[&5U&;65
MB#L5P/O1$EEJ4GLBZDNEB.4E&8Y=?I.HO<L].EI%]/ZK@=7GOZXK,^Y??947
MI1OW65ZJ+^08>&0@RB X X_TBR@/:(30@Z+UA^D"\';BQO-4.KC+3+<WT<PO
MYL+#[ZO%AHO5BIN'G\5);BGYNVT#>,#3]^YXE-1J%15%0I8I](,U4CYR)(*P
M/&(LF1;/&"[Z>&YF_S.=C_W;"YC%;-GAM^OMN],O$6M^";\KFC0B.[V2PW-"
M 5>/%TTK5GEV!L0X*:I8W)#JI/B4J%.83)C,_F%!H[93*E!IK;MIX<:F::I8
MY=,BX""'9I:;@%V&B1FG9J@IP<JD7F&S:3I9,KW(3PI99N#3Y702%N=.<A6Y
MQ17%93U-G1RFDU'Q=I+%"9BZF(19$3[#TYLLDN82+OL,=)^%\77_^#V65/D0
M%;+<@Z,-W(^T%0QI+5U9<BKA_\][EKCM!?Q^L1JO)_YMMTR_M%3<UZ$V?@(T
MZQ'? R^;)O-V[5ON2^R\C;_6.70K#\,@Q^GFQ(;TY;&A(X%PX1ER94I#%L0C
M'<L2Q3):KDC4@FS$>_9[S/)0;$A9S]APC0M;Z&RS4=N3=CL0LV/:S@0QSK5H
MF\H4PJ/SWGOFV(5QTIR' .B9WM5S5K38:ZZ41-'*$K&2 EM9ZY#Q5)>4&V;C
M!BONT0+X(BN^=JZ>![^O1'C9-U9,7-8_ABA=R0S'")L(V,1 66IK?"JW04KB
M,9,B/&,L^H ,P6GO&"+;7<<;P(;#E%ETM6#Z,>P&6/G+UN8=7V?;,V'P!+BO
MF'T*8["$+^#B\P9LYUGJ$I>2OJ83\)VOT^'FIDJ!_]F*A?P)[&^XR,\!IY.)
M>W=.S.?D@2:L7^H'>UW,+Y-]TCOQC9BJJ+5'A)J0/#J,#&8*":^II,2&Z)_3
MPMU^PNGA%1P>YN&1?GIXW8D6L$NK.K%/:L0\3_V90<C'U44UR]T+F]$1A[H6
MB0(*II^JR=QT)$RAIO]3%+GM9O8L4[#N+*#)%-RG[C'?K77E_!>J)CY\/D7E
MJS@.GY&OZI 7)/7^FU],7OFJN1R;Z]/TZT9,;\2K=K!=]E_[Q=_GS:R*UXL7
MYEM1F/A7B^(%I]EC (!8[2BWW C\?,\XX5.Z9#ZML/O3%I%@M;:,.3ZX7+KS
M^E:DL)J,JPF,8V;JV:F9SZ:OUG\ PK9?YY5NMPM-A-F=FO$G<]UT[?E6%WTM
M@)N7;(4--I9SOZOV,OMPKHO6P_5&"_^KTMKA?^"8<!,BPH)@Q#B68)0%BYBF
MT1+.&"G5W\KO'AM ?IF=9-MX%=@TR0YX5Y\94%O+SK&_P'73B\J!@8"FEZ%N
M?TB&S\\!3([IY46J]F@F$_ 2'1@',/@<DVY2$ [4S47X-*W_4< ]?P3%5_P"
MYL3B >_K*0RD^'!N,OY_JF;G>0AG4S/.80IW7H6KA1<);O<<_,6\J5\T<PL2
M"LL+5[IS,SF#B2[B(9,\1/BA+> RKAR8R2<IEM+9*3FR<G$Y#FGHRXD:4$R3
MZF)^49R-I^"I;HDE[C(_CVG1<*VCI#8B[A7P<6DBLJ7A2!!GK:5!V,WD&,D)
MU8X9Q*/5B!%1(JTX10(\6F*,TMSIM>,$8)HD" ?$>Q<[:^5- " R8S!7NI!(
M9^.LV2R7\SHLC19$5ZT6>F>$KD<VR_>CXG]"T>%):[5<F?$\L43'3##$;+B
M6^92J&,<SJIF?",L0*+,>ZO?=_&2Q%U_G]=5XRO7UAJ"'V F[KSX!"R792[
M ')0[PID93I/L>CY9%:G\,NYN5IAYV2>PS/77I\']E\&D+"^+EK7A9VD9_MI
M,9FVD4$W6Y9'2L-,\9CZ1KC2C*?S>GL\,G:-+--CBUBEU2ZN@ZG[8KA]2U#^
MNG\[>ZO.Y7F*^#DWOYBW(6R \JH!-K;S] EX)K4V 9\3H*1N(X;7V0D%%@,3
M:9)AO_*5R8S?_T!VR0'. B,HL!*PF0:*C-,4 <8&;KG13L;]1 ]7R/A+1\5W
M\4U+M0\K1-N31TD)'>TNG'$\GW)4_#$X,V]ZN)=,I0_8* 4J6@,O$".0%5*C
MTANJ8,4#)D\J8I7U=+?B"Q: E?\[(/O'Z;M)2!/\6)M)ZUR VMX3*_"1["$C
M)'!HYJ!!EYB2U22\ZBJI3P +&T+&D[_GK>-VNVT*_MVL2@IN2:BLZUHEEQ%H
M^;PZ_',.SGN&J'0O4+3X:9Z2*T#;_]?4-L5K>/#"' "-O@1EBHD\*1(<)K_P
MQE;MBGQD,[@+ZJ6!K4^CT[7ALPM-AL#9S19-4L2QFIB)2YJ[#I?3.BOSZ56H
MEY:&-4V5;TSZ?#&K:G(5FME%WMIN]]1;"!YG0K71F';'<7%'FF4*V'3;XZ/B
M]:Q/D=D^*;QD8F5K*>V196,IKW5B4N 7^+9;$U^!PP&FM0O+_(*M>@\>V89R
MVP<GF7,I%RJOR>V79_:PU;B:7>??JSS.UE?R8*\#!"35":_)+)"OWZ&5OS"F
MD\6[ZY S>29@6(;@\\6W&+@S>O\RR1SU(;%0F]S1,5ZB9&V2*9S?=CF&!=PU
MVM']XW,+5.[RQ!;A8(8EBP)\(,T F2DE2!NID):$QTBPI'I#03\F'/QA-G7_
M.)^.P65J?@'<F%W_.IV%G\%6'D\;\)$^PN/_.(9KOBL"H/ EW#JKY]U&4G(Y
M_.O9?<?[-]*%'+N())#L HUA05%H783,ZN!5++,NUV*.JR9PDH&MT<4<'7N5
MC5V4GM^< @N'%!_;,(MOY*0SN?=D)Z]V>WR4V';#6<G]_T<(ES"R\3((VX7\
M,EV^0 =P5LLE*ZX$K-KW$(R_O_7$H\UY':I6N3(?WI>OBI8[;_RGFVCI(_TH
M<1PWZI&D:B]-KSJM9C *MYMXYPGH?@N7\QI\Y"8T3W<YCT2J)P</5RR;E/66
MX/V/4U/[PLQGY],Z[QDF_9"]M:OT 88(K)=,E(YZ.5^UGUN&R@OOB2'(DU2O
MPZ>BB,$&0'YLL)',.&)OZPAFG11E@'M*S! SU"*C!.",8=(XXY3!RP!;4\]:
M_7##2^_KZ5EM+EXOR==VK27[\M[XJ%?[^JLIGS?FR__+"9<7TTG'+'##HK?0
M,E)<-<U\D>[<.\;QWO$HC$?26@H>7SJVJ )#BH#S)[2VRFP4>GD(XRR,BY^#
MG;V=@,$V3]K]#8RX99<]<8O N)_L8L[.ZG"67)#+N@*?YQ*<GI5D-3 ><XY&
MLK3 /_D00OZS(/RD2-J.WNPX/=\D[J]/?II.\L&.9,A_")-47SZ/_"2/E;PZ
MHG>5C/@+L/K!"&\Y)0OK9$T"U].LYTWH8>X6B<J57)5(<RH0LP#GEKL282FM
M+RF5)=_(W2J%#5X(C(22.K7\P""0'B/PN+P546-F-ZQ]@&^7O)^4V_&VH\^[
M^%,&LXST^\KK8+T,PBUP_+(C0Q&!#AMPW>T8=/+9EC9=6@-]XQPA2) I[U.F
MY#WPNSA*>V2H5+9DE&CLU0:4/X9S;MD!_N=YVAEM$X.RP;D>P&VZKVYXYNVO
M;^Y@&DU/L.X5GK>S*$S:@0(D[ZDVM]Y@S )'7KG4LY2#U^UI.A#D*4DLH,U&
M[Y_':/.\S.\3&=91(L=+VG#)N_@Z!S',S]/QV-1-OF6)(?AANZQBE-(7>\,-
M:_OT*0K;+8*;-BG9,.U#QMB$V<J^:ZZ37(WG^;JM6+.",\D/":V/F[+4 [P@
MWW?9FMPYNO8IC,?IOQF3EHF0*5@W,^TN;F;9=@]V7?&ED%L8!]=%2^LPJ^IV
MC[CC\AN0RQ?XO+7[6[[,+ZZQ(>^R7IIZML32Z;1-B;CQJ.Q\EA@$IKF\LQW+
M$D67PI2>4*^_HYJLQ)#A347:SPYW4+]:2?;/_706Y:G35%:"V9>F\@C>X,QE
MLGH6,;]5PW[WJ8 =AQ-'+W=+]_EC$=E!>G>YS#9X.TGI&BEUY3W0]EL-3;R>
MK;)=%^%*7@%1Q>O)9 Z<^6=@N;Q%$HO5:%AQ'L8^F;A_-M<%$2?YGI.M3\OR
MM+AM&>%HK1MXSQU+4_R0KNS<D7Q#^K8S^7\_*OXR\:&^>5J^)>=WS[-PI%VN
M5I[7?>?EZ-8\Z!QE3\ %-X3Z:A&5N3+5..\?)#M_"9OP7$!!VS];+'+!<N?O
M* ,&MSJ"7>5 O08C/%,L!",W$IX4XR7!*2LJI%,;7%JD@\,(6_ ' H]$1'E;
M$:_8ZS^U.-9:8+]UQ'LSK=_,9_,Z+$S\)YMF]$1*U;=#%Y?C>;.3Y=;8:P<C
MS9<L?)LYP8J9^(X+@:JSK V S^E#I8;>DIJ/-_KV]B#S:,;Y:%K>@?UD:M^L
MC/%&S-JS'=VS;V0'YA9#LL5.0+W!J,8P9ICN-&U^?:J2*@PU$#//Y8?\;;IW
MDK:)P^=0.[CD]S?"!4HS:\ DG=-5.R&1^7Y478ZX;WNP)[V##AQ)H%HPY&UR
MR031R!+%D=0R*N^(UW0C ("]\X9(AA3F!+%22F0]-2AX8W1@W(> M]KP*=W5
M_[1B8[ZNZY1+EX)T?[R^N>2]N4Y?O4Z<^&N6L7>Q19K7BZ4'J/D3W#M[,L*0
M$R')"<.[*^T?S__[E#>/U[@]9GPMSM+<MPKI8!3>912^;?V#1,V4%01.3-$Q
MW#=J%+YMC;J;K:J%Z]9Y4GW#+!D8Q2XW/U0LY8T!9FF&$2EI&8THF5,;YH[%
MECD9)"+&E8AIDT)/5J+(.+<Q6*^U^X*YTZ)/RSEW0 Z^ W 8/1&T5Z?/;O1K
M<NK7[>.<WG0!(-,$-Z^KV?7"KH>K7U^!=^NSIYO@O(EMVE>;H'&6=J624UOY
MQ0F)J05&;_],I@U\ O_6KX#8Z[,ZA.[PA&^-#'C-GT-]!A>T)M%T]2S&JLVS
M&,SR&0O;I\L;7^7K?/0JIZ E)[U9"RLLG^/^.:_:A+>5G9)^;I2LC+4Y_MZ(
ML>#O97A=B7]LV2?90NEEOM8N'EHS9.MPF=RVR783[ZC;*M0$KXU G(A4-09[
M<,@L19I161JJK>8;D=&'(%3.;.V4UT^K]$G?W4*H)QPXX7URN[Y?2&CHE/8Z
MN(0\\T5<[4U5-[.E>O]?^+'X 00])\S=7+6!&;\_P &-^XOUQEG;C:)NPTG;
MWI^TU<-)VY=\TG;7J=E[IIT^*EN5OKC#MH?QW% .#A2K 81OU&-;W5];;C]E
MBQW93*.UC;R5,F>]VT/V)D1A4_619/HP'QTRG%ADL.1:2AXPWTOUD>WQI_UE
M#^XN8W^\K).3_BVWH[8L<5IIZRW\ R:R5M0@5V(-:QHQ8.,^ZM@][W++4=G#
MY>YG=3"B@W&RY"G))VD\I9'QVB)!>$DEZ#O*^>T5]Y%3)@-'E#&*F/$1*8$%
M$L9:[S7H4&T.O>)].GN_7/'%.?-TMKPIVJVC+9L.J1[7HC 7Z4MAKI/V)%1:
MMDYI=3M/.;:]%A?*._:C-2]_^^$ER@/H$R.!Q4 ?L$@Y4I*!#\VM<#*U1G$;
MD<%':1-W'OQ\'-[%7RXNQ]/K$#Z$^JIR8<<VQW@\=?FO=_&W91&L-H?MIY1'
M<M_#3O>97S[L=!R3)$YAHI]RIDS>L.C",\W=ILEZ.LS*7OU*4DS>#;U8U!I.
MCZG#.=R=MD#;*@RG-Q[S;6]YD^>_6VLTL[VHSEWF],ZB.O=>J!Y493^88[6H
M4]\RQY9Y9]>V\S+3>)+3"<-/EZ.QN9[.N^ZJK]K7:3S"WR^N=RGQ[[()ITVX
M-*E2PH(,N2%3^^COMO7%224[VM.@IXMG[.AST[Z5RQ$KY?>KCG$WY]8S_O$+
M]Q)86/W(6Q]Y&QXI(@[[RJ-,LOP6)JF?<Y)W]-556]OJ/KR'U"8:':##A]H3
M?FZ/)1ZHM^ W18-E*QR"G]X+Y['MYY^79(^)KNVBZ)O.$_C?[ G\LN$)/"N_
M/;Z]^(OAR0$<>[ ( PUN@^,>^H1]_=BX6OUFP+]!] ;1.Z3HT4'T!M$;1.\8
MHD<&T1NL_J]#]@<:[#DD\M+A[8>VHD]7/7$Z;\S$-[\?>.C18);WF#;1S &.
M1[<#N.X'5'F2*>=PTKUEZZ1N+0/<?-<:K&X=Y>>NO@@?:OOL"1D3:>\W%QNH
MIW[N9D4=KL)D'A[#Q/<AZ6[.WLJ&SYG@F3?ECJ0S5E\SF3Z,4$?(>UWGKUWD
M^-VWRC3/<';#2N:E0D&[F,YA.&15&9%T)&#*C<=D,R-14J=X&5 I2H*8%"EA
M*7#$L)*1<!S$EL)&#TM8>F SWQ-=[LY1^XJEY7GAXJ4*R8"L [(>'UD%"SI$
M)Q!+U0)8I!C96 JD+6'<65S:U,=C'5F%-$Y[8Q$A*6N8IQICT4:$@\5,!\NB
MNV>M@7WUIS[A='<NZ%<L+0.R#L@Z(&L_D56;%&VE"AE%2\1(\,BD0\>2*U>Z
MDBC&-LX;1U>:X(1&M'0.,:HMTIIZQ*/TU#-BK'KJL8J'(BO^0EV$KUA:#AG.
M602GAW#._L,YJ0R:J=UY/FKA;UJ!?JLP-^C&P8XZFDK$)8M>88=H$ 0Q'04R
M1DAD H?_X&BMV3AW9L&UP(0[Q$O*$$L5T6QT!@7%9!D(D9$\]=S90U6BXH.S
M,0C) *@#KQP;4$MNM/2$(HIU0"Q@C51"2!5,()@);PB]#:C&"RIE"7X)SUVU
M.4]'MPD*@7! 5.6Q/FQ</-5>VUW;?1"2;TQ(!D =>.5H@.HE\R%$AHS&&(&%
M29'%1J/@G0_<!57*C: -T8"A'GND1+)0/8O("!Z1-HH:+;!GFA[<0MU=^V00
MDB$'I^=!FP]A/(;YG2S:.[<- #Q<GAK^YAIHWRKBO0#M^-@T[AY"P_-QT]U$
MZ@>_[;\OA@K1*JV0*K% 3%F SQ39\8;2TGD32=SH4ZJ(T19^0B+*B%@I'+@Y
MEB+%5(PQE:C2!]X6P2=2R:.KV,=G^W]3LM8/21J0^^O@IF\6N0UAQGD/L.MP
M2-V) F"X!F='*D=@+1A ^$:JD."N]%H@XX1!+ B&M#!PH_3@)S&IN%:'16YZ
M0H0>D/MER%H_)&E [J^#F[Y9Y*8EQ5(*@CAS:=_5.60IP#=EAI5.Z%"&#>36
MUNEHN4)<IWL,(\@H21$A5(/5+:)G!]YW3?L$Q\^?_ZJ0NQ_Y2OR90E_\!8:^
M/DY3)]I=M3D'#?Q"-# =T00,?CI/936/J(-[F_5['WKU@_GVKHX#=UJ6)*!@
MM$(LEA9I&Q3RI:8V"E_&TARAOOX#U3$_X?+X>5!?9*.7IY '(!^ ? #REP+D
M7)=6V.A1M(RG?-: %(\&<<,%)AH+%\HC=,YX()#+DY(</UU@ /(!R <@'X#\
M.*>@,?>ZQ XQQTO$0A!(DY(@')2C6G)/XX9%?H"&. \&<HYW=P?MA=B]/"!?
M#9'!WZGOQ1\RC5<[C/RAZR(Y= C<TMO]W65N@CRT!2SF#=R2*L+_<6S</] '
M=SX=IR;?F4#%95VE[BK%Q=2'<6K@#=+FYF,S"_F>:*JZN#+C>6X:V+8"[^[L
MFC1U/9QSKZ8B]><YR8ES%\$T\]2;>6?''Y?Z'=U^:E.8V:WG%>V]W7M",P/@
M25V UH>6?LLC:AM#K_9$S$V6FIOFA\NA?ZIFYT73]FOJ1GB5G@_DF%YU':="
MU]9IV8FH#FV3ZK"XL[C,[9OR<XN4*9CX&Z4NK6GD5;-S0'?V0DIML19DF9T#
M80#'B_FX)<#X.E_G$BE@V=+ 6\H;E]I PB129ZUF[LZW/_S<-(4- 0;M4^O>
M1%!XW0IYIW4,U2RMX0%Z(>]L<+;6^O@IO9DV6H0Y5PK&L4'8I@)-C'JDC<'(
MEB1JJK7ST>VW1=B-(GYOKM-YX->)#S->=7#U5V#GME%8T\POVN\^)O3?U1?L
MI:'_'EJ+W8E(B[9Q?EXG4;[=%N]XS'Q70[[B4P !7P*P!^A>3."FH=J-A)H;
M'CD]HH0^7<4.3<R.V,2,C.BC>Y@]M@D5&PE6#B\=>F[UK##N0(/B5H%I/A38
M?[Z66X/,]X7?!QH\:Q>(KT3.A_91 ZL=CM6&=DD#JQV[/=#33JG?WT1YE$ER
MC\S<_J?>_K*,X8;ZHOBAFK2QJN?M7]*/#=6^B?J617Y.FJQ+]O88M;%:BH 9
M$E9[Q)@UR-A D.#6T" LDY3=CE%+S)F+.J# 4JDE92U2WBK$B7="<LZ=L5NW
MB.WM+>+7=6TF9R%%JO]X?7/):O#ZC:GJ%+0.*P'K!4M_!(XF:]O'J GNU,_K
MQ.+[$R$^(FS)&&M4_,,CPZ*[WH16G[=]Q63IRL#2,1=!)&+.*&0)82A83AT7
MD;#4 .+6BFE/A;4EHI&95!.]1-8HC:QD5 K/C!+;TVQ?ZHJ)$;]CP0;8^Y9A
MCTMJB(X>A"BE.'(OD+*B1(()+[W#!N#OMA Y%R(-S*/2:XR8256L">7(TA C
M(YIX$[XJ(>)W"M$!44]HZX.DJ8T#+)@-&"GE+*(Z*BT(CX)LY*3*Z*+ PB.L
M4D,'I37<0P@HN A+3+!7CG]5"S:@WH!Z7S3VL%(8,Y:2ZQ@@& ;4,X*B$N!.
MRH"]YF*CKJ82):8LHNC!SF-.2D ]'I&38.NI4I98RJ]*B/J$>H3YDK$R(&)E
MF1HG1&25<XA*1Y1U)%!%-C)(M%*^5!1%7CK$L%#I&!9!6L28>C0$QX]MG7MS
M?4S0>]KQX"'F\("8P]5T#*R4D@6*'S(S#6&';TP3/5MR>\E]]-AY1$BJN,9)
M0%H1BY1FL61:.$LW+,+]'3?=Q,:-M+LO8>-?EW+QFYF%/U>3ZF)^L98P?SFO
MPS)C'M'5E'EV1\8\8R.I=B;,/X?V>KX3#"76KJ0I,N5AP4)4X*<1@6"UO#&&
M2&XV+):^+K+YO-=%!KWW[(O\_8#6 UKOIP(UYY0&+I!W'BQ9%@TRTFFD=;2N
MM,0)MF')[N],::_1FHP8^SK0.@8O</0:!<IU"DU+I)2 C\($Y81V2C_CP>%>
MHW4YTKL/(P]H/:!UK]!::XJ9C@Y%' EBGJ>.5I@CX92T8%X3'C?Z!>SOX&BO
MT9J-^.X*R2\*K5/=4T=AD:EU&#&!,;)2$>0H#SY:;OEF-+"OB[QGM.8C^NR+
MO!.MAY28YPY/_58U_T"Q#J&H$IR&9E:D$S"#^AS4YUZ0U:I2"<(4\B: ^HRI
M(:07"BEN%;:TI((^8R6T1R)K$HHW(!-O.Y%X!N59CK[0P.=%Z4[IA9?<@45$
M=9D2:AQ2-&42Q.A-B:DVL7_!QZTKO&?-.9*[^VH/;LZ T[W"Z:"LITQ19"@%
MG X$+&"+&9)<.NV),#1N-.X]>KSB #A-1NHKP6D3J&4,,-=RA5.C!HE49!J%
MR%TLN0UT,VVHGRN\;YS&QW-P!IP></IANX#6>RRY0C;:C-,F64X4$>R,L@9'
M*3<V#XX>J3@ 3N.1_$IB4;":LF0*_"0)"\6<T^ QZ8 <HY)HAVW0SUBIKK\X
M38Z)TT.>U,'RI'QU5?DP\<5U%<9^4)R#XMR/^6L,<U09,'I3%5#" S*E=4AH
MC44 F]B'C;-"1P]3+(3BYTXF$JS>%T_I71IS,'H'V7T9LJLUL;J4&/F2@>P&
MI9$*HD0AZ.A9*95ENG>NZR"[@^P.LOLW+Y5R,@04F5.(E25!ELB O#3&V1"C
M*S=.51_=G?DZ97=GH>NU@R*YS/5^B[^F&NM..D2(\>#1$@(&E<?P%".8,,0P
ML1%;WE?QUU5F6"W^^AI(?U7-KH>"KTN^>3MI^3;);AW.3*YKO"SWVM$K%RY>
M5'GM8Y%7<+^[:M+OQV;2%%53@%@#P>%%OK!A//UTNBH@0Q75%U=%%8\(>62)
MT(/>ID="T,,.=$0/^T(UTNS 4QR6<-]3).HYWS@4WOQ:RK-]#318%MNE0['=
MN\O593NZ>5:F&FHC#L(W"-\V@OY/OB;X?[?UCW\P0!AS%O+?X7.H7=6T'U)/
MH>=-UQXD=)#004*_)*$H2^+K%1']+5R8:@($R9]^@CM2L&]NQOES*@>3_T@E
M2/_W^4N0#A(\2/ @P=L(^OKL+(4Z9ZW4O@4QK29-Y?*GO"FP%-./Y]-Y8R9^
M$-6GLNG3#O4](6WJ/LUSOXI<JFZ/HYC.9\T,>#;%\<VLN!TM?U31^Z&U]4%Z
M[!Z!X88VZ(?I1$V8$T1C5 KJ4IEQA[23Z;@-T:XL.1;2;U2>C([PH /26$?$
MK!?(!LF0*)V1GFJ6-]'WM"'>H<>[&_#X=9Y@8VT#O,F1H=5][[>_OKECYUM@
M?:(%/WK_ZD&V>B); P[?K?AWD>-WWRK3[!V06<3$:<P AE,];4HT4C3W)E:8
M,Q)5"+1G@+P(/'0AAU^Z@.#[% M<@^F_P)_!?YB!A].\BZ]S5H[Y.>VRUTU^
MV3*)":_G,/U!DI'<78OK*Q:_ :H/ =7W"%,,9!LX;"#5((R])=M JN<+]RT2
M@)X0[LMSK"8>!GG*X25["O^MYDNFQZZ^!A\J9?0)1O"?P-Y,N\H#9P\^YV#T
M'M;5C-IH(R-XF28=;)&"(>6U0=0+HGTD6.&-PS '/83:N9H9(YJWD_?@+T[]
MDP-_&I^4>(C[#7(U8/ 0]^L-&"N/91#2(:Z#1XQ+@0SGJ?*OE-SYP+G=.%7\
M+&#</ B-#Q#[(T*-TN[P@-<#7@_QAMZ0;2#50*I!&'M"MH%4O<[U&X)_.ZJL
MM=;B$/X;7,_!['T^C_.'PY0*-:54)ECD&6>(1<&1P=0@RR+W-!)*\'Y*[Z?"
M*6^;9A[\S_,:UJKU1-O3H:M559;P\N20(<,GE.RNG_\5R^+]PD"/.H7P-0CE
M .!#[/#XL<-06JN,*Q$)#%!4JHA,ZKA<*D4=Q<9;*7L1.UP@\B'#AU2,Y.ZF
M"5^Q% YFU!"PZ"W9!E(-I!J$L2=D&T@UI Z^O.CAFVD=0[(*?PR?+ZL:_NO,
MQ(7Q>(@G]M@=?6P5AV_*5+Z;2/W@M][')*VF7)::()^J[3.'2?)R ^+,^T"$
M)MJ$/J0X=E@VKT/S>N)_27B6G["_K$>"3S351_>#'U]1I <1JR',V5^]TENF
M&<*<^P)S'PD ,.8H.JU3BB18U,%9I#0.U$C.HW<O LP/D32I](@-8<\>V'+]
M$,8ATM(+L@VD&D@U"&-/R#:0JM=)DT.!Q%OMA 9F[JWWN1[6H".:XAI^.D^=
MC8:XYH/(U ^>V[OSZM))ZY)21+VRB#%FD=8Q>;#<16(TV=+QM_2Q])AKY+D#
MY]4;C901!,4@A.:&1D75"RBTR/0)*7<W&NR%C!XS^-@W*>V'!+X U#^ZF3'$
M')\;MCGS0J8>[919A9A6$ED.?V&"!>.,IY:Q/8/M T07%1]I>71 'Z"Z)U(W
MQ#-Z0;:!5 .I!F'L"=D&4O4ZI_*;"RYV;?IRK^TAN/BBW,PAN#@$%^\H'D8\
M]MQR))@BB$4?D(DJ(L*B,(001X+I@Y?ZRPT([2FX6 IVPEAY=%]T""X.J/_B
MHQM#</&PL&U]\"%P@K N%6+$E<A8(Q"-Q)/2Z.@)Z1EL'R"X*/B('Q_0!ZCN
MB=0-\8Q>D&T@U4"J01A[0K:!5$/F8A^"BW\-#1AYA9GX(GR^#"Y]F$V+*_CZ
MBT'&W:]/LT-L))1>_=_.4^\W)!(C"1==3ILJF8NG=1B#D7L5=I\_)<-IOOXZ
MOT/(<PAYWN$["XNYQPH1@R/XSM(CY9A#@5%&>*#2E;W(IVPALCT'F 'RXS1]
M]0QIEB4_4>7QFZ0.D=!!&;SX4,P0"3TPFLLR,B,L$@G#&8=_;-01E9$H;EPL
M)=EH1=8C-#]H@/3+:D#Q$3M^F8\!WGLBJ0.\#[QR%Z\L,!D,T01"BVH;FE@I
M-$7:&P.07"JD.,,H!$(%I<11ZO=6;</>#<GVT0;V+4C^+5R8:@+?_P1C3P Y
M-^./H;X@:\B*FN!._;R^#J;>G_;C(ZZ7[+5&]0&BOS6Q&R!ZL,#[8X%3$[1+
MN0A@.RN >Q&1$EHC84MM')->8]QC"WP%[E^?G=7A#,SJMP#OU:2IW%_->'[+
M^/[P\]*\+E?-:U3>%68A)TJIP<!^S"8,_)U<I!TU:,5("/G]H0K/WK&=0"B\
M^XNONS<U?'55N+%I@+O@E1=H7#4S%,:9V?-K+U/T;S=!?-5<CLWU:1R'S^OD
M^/N\F57Q>O'V? 4",:AGK_+$47I?<YHLIW$U"1LDNIE#.2K+\OL][!3=6KW[
M4; <<4FP8D11QDJ.]?>KVV__".$2!C5>$J*:I-F@3(\OD&!MCR<MPF+E\SL)
MQM_?>F*'C7$ZG4VFL] "XZ\?_T8C-K:D!!GI 1JQ(TCI0!"W1)8 ?=PI]EWQ
M^6)\.@80^X_OP@3]Y<.!2+?.?+\%>%H#?S?%[#P4DQQ9+J8Q[\@%7TR[PP"F
M25]N;,\5E^/Y[3OGDUOW;F[T;7_829$M]@(T3'KBS7-6JIPLQS,K'ED.=@]$
M>\0NY7,-I3 ^,310"710 ?0"G=-]ZBH*%G6*%R6";QOE X:P=P,B>B$)]Q9%
M32)B47ND<%2HC(XR*Y6-;..DM"]]R91T*#I;(F8P13::@+#GA&&0+1+-PH"H
MS\+D]'VHD]$%7MR[V#7\FMN_ S]^G-Y475S3])?SE4@:H@\*I>W4\H?GC.\S
M1YAD"#7%66K!W4H@C Z%S\'-TV9W,0Y785R$B\OQ]#K <]/&?-_XQ$EE3/08
M.9;0E&J!K!9@.0H'9B8EAF!^FT\86)32@%W*F77 )R$B@UV)L+"2V=*EGNG'
MXY/=R:K]X9.=/#):#4<L5-]1L&\Y$-#5RW]OQTCRMUO-Q\Z$V6T^WFW2[3UO
M9@]D^0BZTRP\FJ):N#3%5?)IX'-6KK/V6)^=POK6ZS; ;#HSXR*-:&8^;]S_
M0[K$5S&&.DQ<*&R8?0JA?:@;3YNDI"_3UD72./G+Z<7%-)%@ZOZ15/M2>5*]
M4/OI,C!W9X6=P_VA:0IOKM/][<_PQ^]ZATD\>.JP0LYHBIB-&&F1_B%1>D.%
M,$+?QJ08@M-4,H1UBG7**)$*2B%#M97">1\TWNK\/FHK:#T3X ]$ZI':75+I
M"-(+3DR1TQ:RTDD\T)TX#3<,%(P[+Y(TG@<$7!2N.P/P]W ]F("?IO.Q+\[-
M5>)#8,(:> L0RQ?V.C^PO;@XGXY]J!NXT!?@%MS^>O':/(BJ7MJ8T\D1J;/F
M'<.BI9^JR=QTJY90#7SD55?Q$G07FDQ]6#SFNS4GYE^Y4\OG4U2^RBZ/KX!:
M.?,-9C2_F*Q[C;<#""->M8/M4B';+[;Z4F'BMV35V>GG1!)XYNDRW^/S/8,2
M3\'AFXC;X1>1$+RVC#=J*BW=>7U+*75>:O9%3\U\-GVU_@,0MOTZKW2;8VHB
MS.[4C#^9Z^;5=S\N>6); "DOV0H;;"SG?E?MA09?5D4K@_^JY"T\%X8EBV""
M,LV210J>OC92(0W^3(P$2ZKCW^AWWY;=L>$5CXHOFR* [YU5L%YQ (#8YS;-
M&</3=AK\!$SKMX4,X%^:%0C\08I/INF?K6"<$%11@Q1A##&%!=+<@)_+P5T-
M92"FW+ 5CM&%8*/7ZL=D"=XS)B[68N+\#@>(C_KD*A=P]1B&<-(_WB$J8C#=
M++*BC, [6B)= A?IDE+MF);6;MJ98),&:4%%\  0I3Q%)C4STIHQS$HF(A,O
MF'<(&^UNK'X\YLD@U#O^T0 =O'0A=4!QX'.0 "B$ ^*X]*6-/!I9;L38(J=,
M!HXH8^#;&)\V]@"TA+'6>WBBU.8%\P_%HS[%7V[ !YSP%"@'NVM\/>J)Z_$M
M&3#)6OG49?X4IDW]:2-BA4_V2S3@'"Y-EX71L@B9?54FBW32&<\Y@(4" U=@
MB6R(8'Y$Z[0W7D:^$7(]ALGRIT3\75V2\H\_P\J]@87;@B"/+V;*1N7N8J:'
M9]P>VBW8&Z:<%HA9:Q!SP$H:EPP%;QUH$:555'VP6X[$0'+$>A6+ZZ7MXK )
MBAB-9%0\)0L1I*3P"'.NM&<D<+-1H^H8MLN1>$B-<)_LX%OV2_;]VZV$=;VY
M[O+G,&ZWS_]5:=!(4D4>3!#@%CC]SGJDRD"1\$*4WBN)78^2H1?,NV12LB=C
MFXWZI"A[[.@;9DHF&0&]QP#L1"0(G'N.2F=+C8547&U87(]6F/WEEW+P[>_-
M,J6Q6/A 4.0"=)T7L/)6,52*0 %[RL#)AHWU:/W89Y;IE2DUN/-[<^=;9_S4
M3L?^(91H+TVO.JW _JC<3MI\R+9(LL&:IU-)O-28QS;[+$EF4U1- 1+IYN.<
M4SAO%N;9UD2/! YF<OUO_U=1(E\U&XD?.7$DQ5'@^APT:6W$[K:T=S\]F\!D
MVH3121/235U>TJ=J=EXTH;Z"]Z$V2S09C3DC%.SL-GN@2U#Z?PT\ZY_SJ@&*
M+>Y)R0: /?F),*+:),9":5<UY9Q6S7V& H_(.#19#J$;W'($BR%U+UO+9KVL
MI];8:ES-KENC-W]Y\\CB(LR FFFJXW%A0V'<>16N@A\]-1_ON^VG]13#0449
MD8[4(T:\0%9QC$SPQN 8G:8;QS<>9:"Z\^#GXT5:W8:?]1L0#4:5O2#@E"R,
M67N\3M@)Y/J84I4^PB#^.(;?ORL":(E+>,&L3KY4MSL+_M;LOK/Z&SF*J+V=
MM&HL*?"T(UKGA.8;<2M,-^&3 H:0\U[<>.Y34F;W0\[4JY?T6A/59*&LLM/*
M;R?YOH5;U7E5/<J>AE'Z3H+>C\TDPTXSOP"\A/> &(7Q]-/I/<Y KN0]/" S
MX+M=F_SW9J7'J8N7F1ZQ.)?3Y@]NF7=.4.ER1=)X4NH(##]=CL;F>CJ?P2L^
M!_^J?9W&(_S]XGJ7XAZ733AMPJ5):>L+,N0#;>VCO]M6G^T*P+[%UM/%,W84
M7FO?*OA(T^]7LUNZ*;?I+3]^X58R(H^]\Y&WE0=_XT@<]GUT)%@?9WA'.4#U
MQ58CVR1R>XG 3=F^SUG )Q[\4WM"H^WY=0<ZH?Q-T> >E4\?67(+CU+%K68Z
MKOP=M?*>EV*/\0MWNG;Y#,>S,M47B'A'U;*7Q7B#\ W"]S#A6^R!%=TFV+_;
M^L<_Y)VP(FV%Y8\I#ECD0. @I(.0#I6;#^(G/F$/XB^+X]A;RC33;[6HRE")
M9ZC:=+0"/*PLF53$(B(B0\P&B2R-%G%BE;;$82HV\F-,=(0''9#&.L(]*:@5
M)$.B=$9ZJIDKV=[R8W[YY[R:7;^=-+-ZGKYLWLW.0_WQW$RZG<%?IQVH[*FB
M,0<\PCVH:#S(7$]D;L#GH5+:\8&Z++$S5BM$G2"(&54B0VV)O+1$E)+(7+3D
M10#U@;(;[SH!1$=\=U[95RRY \KWL@/0'MJ+YSFFH]F3V>G.YC4/]RM7M^;2
M8U=?@P^U._D$0,WP%/S V8/],J#@@<T6H[V@/FB43EH@QDJ%3!DC,D'QR%/W
M\,T>X0<]!':GV;)^,N/)[B4E]*0LAU*N@\@-\#RXE[W!:0DXK:44B+ ([B4%
MB%:E#T@R9S@/%!-B7Q).]\/'E'B$AZ;B ]3WQ<?<PU[EX&-^H2?MP-B##3.
MX+.9+C\\\L#! [=$O1(Q2H:\9^"R*D>1IE8C"680=Y*57)%^FT+KAR6?[+(2
MS4^$I-^B'7,_-V3HZ3W@_N"['J^)%!,NE"0@$2A%+ 8 W\ %8B7QBEGB3-AH
MX]IGP.Z'[TK9B ]ARL%LZXOO.NR//I?OVO4F"?Y'EX[]CL>#(]MC@^:Q)S^^
M*<R\FTC]X+?>.\.EECQB7")%C4\ER 12UD6$I7:"86XUVZ@/U"_;:HEN>_.'
M97E2?J$-2@^ X(Y323WP?@:7N;\:IK=,,[C,>X/U&(AFUB+/-$^PKI&)AJ'(
MC11<.FUD>!&P/@?T[H>_+.5([:X[^!7+;M]LOWZ([-']Y>%<ZG[.I98#!_?6
M4EDW@>F()AO83^>IKM3@#3^(3/W@N?WWKC'&N#(*1&0,B'$!8(BM0H%'9AFE
MY9:\MM+'TF.ND>=.IIKQ&BDC"(I!",T-C8JJEWN^E4EV4M*^N:^WF/*8#FS?
MI+<?DOD"M,'1;8[!;WWVK5XLF7?@=(*WF:#9"P3X+E#T4M.@N2";[3QZ"N?]
M\%HY'W%]=%TPH'Q/!/;H7NL>=GF_&:_UKYW/.O&YQ'@NYSR;Y@KB7W1D=[\^
MS0ZQD5!Z]7\[M\IO2"1&$B[:[/V\<_.*#!L _36D!K=Z<*OO.-;KF111 4;;
M4J?C8A8IZ0URT02M#6>^W&@)^Y#]@_HL3)X]W^[UQ/_2X>;':?IJ7QXV*4\H
M.[Y5-7C8@V)X\7;ZX&$?%MD)P\1;7R)PFPUBO%2 [+)$CC )N$V()?(I'O9Q
MD/W=?-;,P%"&->R)WTU'<J@Q.&#_\_K=\'=JFK(C5UF,A)!?7WN9W,/'C4T#
M<@BOO$#CJIFA,,[ DE][F8R\+03I^NWXJKD<F^O3. Z?U\GQ]WDSJ^+UXNWY
M"@3 4L]>Y8FC]+[F-#7M2GW!-DAT,X?N54?JWU:.&).::,(XP:+4P 4K$9=_
MA' )@QHO"5%-TFQ0IL<72+#FUJ\T4NKZI6#\_:TG=DHH3J>SR7066@WTZ\>_
MF9+&@*U&FH B8J77R'I7(DW+J+0S'EOP+CY?C$_'H##^X[LP07_Y<"#2K3/?
M;P&>UB1%E%M/3;(#D9K3=?D$:]VUFO1#CWIFG127X_GM@<\G6X:^&5[*<]GR
MQ+5^=<MG36_4[SI)'A6E>KX.YCYQ-XPW]3I+??@N3/>I2S4K4D.IG<OX@"'L
MW6P+F#+'8T!*!(' T6;($LZ1T$8HZ0@0=J/UK[+"EH$H5%KADT.ND D1_@)H
MXD9@'X)9,]O>ASKI2+":ND9\S8>Y_3MPQL?I33K>FOET.5^QD!!]B(FT^^S9
MX3GC^\P17:O&W'>RE048'0J?@YNG8&<Q#E=AO&PAV;;3ZQN?X-)AYWB)5"S!
M5"?2(8,#1EH$9W5).-%;\OF!2PC'"$?"$6,B !P#VV#!(]/!,DGM\?AD=WV=
M_O#)3AY9]O3]<44/'K?#+RCNY;^WFAHNOG]9'8"?WMS6G)VE9IO)0IG,ZFK2
M5&Y[K]M.W?EY775=;E.WS*9KE[E%7::^%QDGX ]2? *UVKL.X29J10VW2#"*
M$>.1@(ZQ##E"F"1E!'-,;R"&L(Y0P5"$00!B6((,QP(IC9DASCE%W-XZA-\9
M$WB]6+ZWB]7+?GX;*MA7 W$^VEU,^@CBO.P@WCM^*LO(!<$1,:7!UH@E\!/V
M"DD-!@?1CH+QO]%QGBK*-%7(:PD.@1(&&0$LR;B/95!>L;"]D/F+Y2=6CG9O
M(!R/GS)6]8ZEN#)6Q@CLX3E#3 N,C"Y+5((-6P)#664VC%_FK(DBIG*T- !+
M48YLZ0T80LH$JXTTSGYE+"5&O(<L=9*Z42?W$LRC\77;1'TVG9GQ%WK*Y^;G
M7Z.RE8[%4!*;P!$49]0"66EQ:A\=(Y4EF.]N;\KV *5,/J:%W!%9?S0C4S':
M78QJT+4K[&23C2:9!X;P%+&@&. ;@)RW5I8Q& )NW-YT[8ME)]I+TZV?JE91
MZDA@ 3FA"6*E9,A&'1 6&G-9BJC-AO7V:%7[4CF*]--XNZ5I5[=,OB6/_O6N
MV'5BE-!3NZ#DS@;,$<6<(U#Q FDJ2J0"QII9I3G>$+O'Y+W_T@6F/H3ZJG)A
MNQ0N4]BSP#59A%9__VG:S'Z=SOXWP$C<]&P")-N7#2O*49_BPDNL!H9J;=;Y
MI%[.&=;CABCPH9D5.3&VC0G>;+0D(J-VXZ0-'28CN&K:.ZKUW1<;BI473*^
M@4WQ:=$JV;0Y#7#)A:DFR2RN ^!A [,OFG9)B\N,>WO8PUCRZJ_SG!:Q\.\-
MT803CS )*NTJ!&0\>/K:4!E9T"3P#6?L,:4%GHU56\7P9EIW7Z7KR!I?HB:X
M4_ [DK]Q% BC(\56(\<WBW!,8<CN5^O )1J;R77'NLU36>T!"+H^UYT1@Y*6
MI6(8>:P<8D9;9**7*+BR#$*1:#9K_#XNR^DQX8)%4&#RX-.AB_V6I[>I.2&*
MGRC9I]V5E?WD=O+91%Z+"W3;TQD7\[XV+-\SX9PVA-J@TMDS >Q /4&JY.!@
M,8>#LLY[O'&R6#L5E:46A;2=QDC2X$Q'P$9KP4(VU+*P-TLX_Y.L7= #+:9M
M1[&4^=&$R5& +*8]L8P;O8.ST1$9?2VW:_LFW/\IBG_/FW';>#,&1TK+#+)8
M@9=&C$#*45#)9;3<L6@DW8L.!HZ\J&89F "L?LJC!.1S56A^KAHWGC;S.GR$
M=_QQ#$+Z71' Z+N$^P'-NO)","M0SK/[#OIOY+L'YG?M2N;*B]/7?*[6H#NU
MT[%_;()7'LY>DKH(6XK"?9.ZCC+G=1E:8<VL)M:8<^MN]^-\8'$<%_B1U&HO
M3:\ZK< 4KMQ.^OTWV-23)A2OS^J0)>OIX8(CD>II?/1N4GP(E[,V5D!TNXN0
M8P4W1FY*&P:KI)J _6$*PE'2:&#[NO&\20IN@Y;%#^G^?_N_"L#UU<_F>IP6
M\^;G_ -Y]?OB4S4[+W[^[4.QO.;#=#S/ML])\7;B1L4/MQZRN/6D.*NN%OLB
M-];X8D3C;D1),L!+!=WA*J#TOUI7-:<H9VMJ#M>X4,_ FRQFP9U/@.9GU_DV
MF&TJ%>QF<W![+^LI@.[LNFC:1)]T+]#05ZV=UH19LCQ@,E6;&;@YYW6_P:2O
ML\-[::YOKOZA^CV\&QX"SS7CDV(* #:#A3S)F5AUB/.)3PG/[6<'BU+E!.AB
M?AEK6-+"F>8\/3(O0IK%#Q4\<C'#?\X!\4(]OB[JZ;49PW2Z2YMO-ECV?EXW
M<S/)"[I]X=9E86H3)=NDTB6[M<LQ XNUB0$,U[Q"F<GR&BR8L>.W%**L8DK>
MAX7H^"5689QC%K:: J^YT#3 W"?K0]K.D>DYP$H_S<>78?I(F^[6:8)F#H_>
M./W\R.1UR5X=T=+\_W[Z;_3V-T H<#1]\7IBQM?_ J!;P$I+M1M0@7&X\Q23
M,CFX!2[A24?VZBR)5 XOU].+,,L.F)FE%6VYX7+ZJ<TP_F?BI_E%DD5G/& 1
M6%=U1AO3OKZ%EU0^'6R2PIV'BT3[9E3\9>([O^XN-@3C<)XHD +> $"5K<;@
M1^?LO'39)N1E3]*,\TYS.^DTL2*=%\F_=^QOV@?UR#58\Y56'(.%A7QIS@*:
M3'U8/.2[-3/N7[E0_>=35+[*1I^OZI#]?/ YQO.+R?IAB-OG9T:\:H?:%75H
MO]AJ38:)WU(?P$X_)X+ ,T^7IU4_W_,$SE, ]>:HS^&7D!"RMH@W)FA:NO/Z
MEG;I[/1LC9^:^6SZ:OT'(&S[=5[IMEJ&B3"[4S/^9*Z;5]_]N.2);2>H\I*M
ML,'&<NYWU5[HF:(UT=J<Y%TO:F-(JV[\ SSU[/1^2T8'@&TU<=/Z<IK.6V3@
MW:[;L\6=@H$7>3L$OO?S%&Y>QO] #"[RYLP.FW/YW:=J/%X&)!+:@\<_;O76
MXJ&=*=*9)^E<2#)*\F;BZU!/,QFR'ODYQ&3/'#. 5+Q<>_79/=N?TNE=FU@K
MB>&2&9JG+->S#WH/"_HBW>]5I[#S$YI-C[0*74Z@J<&S "/O KQ&&TY68:3S
MS_,VP8TG.\\F91/2QNFX=3MO8D9@=$Z+<].L>_B+BQVHWV28)B,3_'VPBU=N
MSZ/)FZ]U6+-,X0')2UW.87DSX$SRG,',_5.8I!>,KUN;=NFKWSQ]QX.3KVPF
MDP21:?\72)CZ^11Q<1BI]6H3L8#Q.US+5F_Z(H'7\LLT:1O"))V" W>M:LYA
M]O-F$5!8)?RH^.W?S,7EJY_S9E]>'S \IV!<)YKG",:6&7Q*J1;513I@5U>)
M\A?3>?I^8:$_))7SFW7.WTZ*_YI/ A"!J'7_IPEN7N?:8#=$;]?B5W-5G4V+
M]_5T%I*C_J<+^Y]+=Z_]<1E^6BS&3=S(39%/)YBFE_F)H/HNYL!1E^ XF1A3
M7":)Z1FL3+N4K;_X6[C,_F%Q/DT*<U? :3T$!$XFS'T>P<=L,WRSBS:_O!Q?
M+]@P5G4SZ]1[$Q8O/BE^_1,XM=D['?S]]?>?W*SE.$/&^WD]!8\V)-=^FFA^
M::KZ5MPP\0.1KYKB')8) 2GR)F("C);B+6,MGK2\VIP9L(I"\?<P2Y'W?#08
M0,7X-?QM,JRFUU5U\5]P*7Q^S?&"08O7"2&K)5S="A,F@&Y@B1*K%^-I\FF2
MQ=>RR6W67XPP<^8-CV3&FJ9]]>)RFNB4\:AS_-.?MQD[8WO2,,9?M0!;3R^V
M$JP3-K=J<8R*MZLAY;2[=BMV </I;FSF+H6ZXCR%PE+ 91QF.:_HMA0F.5\?
M9@'^XEF8+9;RP^O?/J"?IG]%% S8ZA_9K$WT/>F2BN:S:IQMZ,[*O0292S&X
M69?==&6< V_S!J!_>O?7MS\CHH%A *0O*I>5[7B>SW@#T1-<GL%M@.X)USL;
M?&48H)B!O%=5/;\E^$GWY!A?\ L%DG+%TN/FEYDZZ[@P2[E2W:3SQ.%9J^1)
MWUW!_7XYF73%(A-K239W#JMH9M,S$+7SZY;K5@)>H #^D8EOKU=7:W,UR1Y6
MLYA,TS'1C27-)H[W,+:L9KM#(]F;;)KY%LU[^9^@"B;)?[]*OLFLLE-?==;
M&X<B($%K"F1E\$  7I)]0-PON&+_65W^Y\DJU+94[G@BT72)2ZOF)YA'B=;3
M.B]=Q[2W\:69)<OV[+IU6)/*;^T\6$R04Q>VWK18[<(F@PY8:0^.ZF,#+4<L
MA['&ZQ<I$'U[TR=1M5LFH'_O<H(ULTXX0U' /+7FHQXI[@.R5I2*&*+,9I)'
M])["]PX%$5)UKRB0"4XBZ5)VIM)4\XTDC]]:LOS26O?[.B_;RSS>'A[AT5)'
M;$E$U!F-F&$861<YLL0&R76T-HB-3$7BE->4((;A<J8=0P:[$ME0QJ@E,8YL
M'.%YEE6F(]'#5>[GR1H=B:(EITA;"PM-HD9*&HR\H8S@@$NK-@KO,6LX\2X@
M3].!:B(M,L8"<PA:&N5IJ10^T$+W*E%TL="=,;L:3.A5_:6U,,;Z\9R\_0@W
M3]KMN-:<RS87Z&^P42\6MFFR%-*1@-JW"1,WT2AX[JIAN0S/=%2Y;1? RW+[
M4--6?X+_M%H0=%\R5NMPGBS)JY"#:A?A!4==GCU:"Q:=.T_N[KNT.]:<%!]:
MA_3U>GPQ)W/GS+0D,REL]\XFBSHGS0SAZ'Y&W'):><+"M%\TKYMLG"],Z77?
M;R-T?+G@B[QKVJQ$'E9#HTG2;SROS#^^ E._LO/9=/4N<-A6"IL6TQOFZ5ME
MM3[:SZ6E1 FC$*72@964C[(JAYP , YE &.8[N-,W8I\WXCWS_/P=O(K//CC
MIS"^"G^&:\Z;?=G6K)_:.&FJ6V?9;J(@B>M!,4TGK;H>M,L74G/#&8#/^S9$
M!H+??*-@_":'7>'BG)V5TT"K'?B<=OU2SH#I<F=GZW&NE:S5<37K1!0P>#9;
MH+0;F^JB::.&.?HU719QZ[[,SUWH 3#2DMRY+M1V:=*0870Q!=*ZW(/_OGF3
M ]+9T%EH;:C.)\ROYY<Y_)-+#>8I+5]P,YM1\>=I'5+*PTD7V6SFXQN[;1P^
M%^/,,9<W')-ET5<Q5@ZNS7N'*5DVI?,M0JBWS<.K"A9DN=>RH$T*@X-*@TDM
M4S7GN5*F:;K-R^4D<Y^:JV[_LCL&FTY<Y[.P$:1E\^A@-E?;P;>;F,EX=?,:
MQKI^<6L -^T.YE65HYHI4MUF=.34Q/$T!TT_@14+[)!6';@Y;[O:G"+<!E=A
MP%V.W\T>Z.*52]*TFY6+H%QZ\&(%ZV":Z02>=WU3/W14O)ZD&9JK:4Y]3=50
MDP'=9CQ>=_-K"0H<'(O%INA)8N"QAX%DCDC;#2'Q<X@Q,>MTNQE_PQAI(SPQ
M?JS2/G#5[E0GUAC=3B+<?;YH2"/L;QHA'=((7W(:X?:C>Y@SX@4'6Y2GD Y-
M)Y,Q#\B4.E+A92F-W\?1O?^>3LX^AOKBYV!G]SVA=Y^Q#2?TCG!"C[_,$WJ3
MO.N75.*',*G2IOQTMN-PWE/2;C=DS-/ "2L#^&[!(\:808I3AY17BDC,26GP
M?H['+F>8Q2QI_UVR]DU9[LET<Z:NK]L<@:["WXZ@Y)))FI9))IE)JFP-@MDX
MGGYJ3I_N ;U,A;+H\]&><MLR[ZS2.^V:QI.4+0P_78X $< 4A5=\#OY5^SJ-
M1P 7W?4Y;>6R":=-N#1IHWE!AIRNU3[ZNVTM/I,!WAK1IXMGO-K>N[-]JY C
MK+Y?M0>Z*;<&P8]?N)6,!'WDG8^\+=5>.>P;O[8I[NH,N[L;[#9QVMXB=E,P
M[]-"Z(D-D]2>H&2[.W&@OG#?% V O]*ON;O 0(^!)P8:#'(Q\,1#>[BG>0Q*
M>V#$%PA.Z[V1\2BU1L[9+W<T.']>BCTF$G.?=*-_M_6/?UA- 7@6'OL"3>_H
M-OVR^'"0Q4$6GRZ+=)#%P3CY.L!@H,$*((J7Z3GM$^Y^>-V=YLXI(=-YDXY-
M_GY@H4=C6=ZLV 0S!S >W4/ [%'@!5_WI'G\/ID4CTK)OR]V[D+Z>3I83]GI
M$?CV\)M3/3$%M\K<<Q(H;V7U73\.5!E$9V"2@2J/MQ06;L\3C((\QY3>-YF=
M@C=YKV/\][ <5I,5TF-77X,/E:_QA+,E[^MJXJK+90FCQW#S?4CY5>/@/>@R
MF?:>*NM<M(L<OSL\A_0#!/=^@"M0SK07Z7![ZD]94HTTEPX1$1FA6%D>-IKX
M>"^)"5RC2*)ONU-9S0PJ2RX%9U&$Z&^G\:7<O9L6/#]U>6NMC[OSR%:Y=F2K
MO*NOF3Z1&.\\M/45"\WSHL: IB^6,08T/2R:4AV$%Z5#.!"-F!<$*:\)TL0Z
MC:/D49J-X["1.!FE0L90!FAJ/-)62D2X5DP:1Q7?*#1R #2E2IXP.<#I@<*/
M@U.Q;Z?B+R RJ?)7*LCG05YR>;=<:C#U!&T&K=@/K?C8C>L>(L#SL<[=1'KQ
M"O6'1Q97>)B"=ASPU@</K@L6X.ZD\TN.E @;HJ@1T5F[H: ?Y^ZD)CW!O\G'
MAD-JD=O\&O:FF]GNPF\]D-L[DB-Z8/$^:A]U0/\!_0?T?\GH;TNKP0\3R#ME
M$#.1(JW+$HG('"=*>Z_T?MRS9T7_$\7Y@/_/@O]'VQG:D]/6?[=L$:Q8%(!!
M=V>/G!23,.P)]5)CTQ%-@N^G\[1Z1]39O8UTWH=>+UY];U>W2FII@G-(I)H/
M+!"*+-,,.6%(R:32)JI].%LK )*!X[VY3F?S?TH%I_:YN\0X[9G:O<5.QU2\
M?3.:!_0>T'M [Z>@=V!<<E\B*<%%8C009!U1@,31$\>BMV(OSM)!T)LJ=B)(
MW[RF%P_?0\K]P5/NR0CCNS/NU9!Q/Z0-#VG#/:3*(#H#DWQ[5!DR[OL5A1TR
M[OOIGQ_=..V1[]T/$-R[7RVHY2HXCY1W!C$7 K)4>Q1,#+8,UF"UT3*%62=%
M"1ZX+S'XU89:9)0 4#3)JS9.&:R/D7&/\0D>4NZ'<.< IP.<'@E.?:FP#E@A
MYJ5 +#*#-,48*<,X=033B,N-#JY:2)%;@=HR=:"2 ,'&"T1+KVQI&19QHP[Y
M_N$TUXQ&_PKU-(F'HH2^&I!TR+9_F0[%1K:]KQHW>!;?M"KLFXWTXC7@8;(D
M!6&F%"XB":H35*2,R&#+46G*Z()F'IR._3LH*P#R<P<=>_)2%#EA7'Z+JG5(
MAA\@>H#H'C@I7.G<$!>!E^$08THA):E'1!N.+=8VJHUC1T]W4O8&J8.G<G!/
M9=CZ&,X%?]/*<#@9-IP,.YS/4QJE&?<&6>TP8E)K9"23R&*B*9<:.[.1JOXX
MG^<Y3X:I$]:#W9BO\V38@/^]X:(!_[\A_-]QDE>':(GCR.FTB4X51K;D' 5>
M"J\QM4&+_3A4>\3K/KI1/07K%[8I-)S>W9V)/IS>[:U6'<Y_#>>_=JM8K$O'
M"$>8* ?J,@AP;S2%?[BF/G FXT;,\B$N47T6)JN'OUKPR-BQ)W>($WQ"6-DS
M'?OB#WT-F-TC]ADP>\#L&\S6S!@<.2!U]!$QSBVRWI3(4ZY+JK4+VC[%+=H[
M9O??)7KQ<+WJ%,'?Z6SU'Q8T_G5^$>K*P6=?7>W8XRE'95E^_X6-'4+A\Y%/
MR]X:W9=&TUZ:7G5:S6 4[JE';5<)_S@*BN,0\'[TVD6==Y-BV9*3L)-$BO*D
MF)T'H-@%C.8Z;ZP%7_QN6P3_ 0/8?\^#@#W5O$0R4H^8EF"E4F<1M33E/H%=
MJ_%ME!0\1FM28P0%5[)4U%M1[)'&W$<JC,?FC@2G-S#B.]*%Q1I4\KM/7XQV
M1_L/SQ %7#U.5#9G9W4X,[-07-XZ9E9,8U'-FLPKG13E]H:A^.6S.S>3LU"8
MB2\^S&WCZNHRK]EK>%A(!&R*3]7LO##%N+J &?@"*)*8#YYY#A@0ZF;Q^.E\
MULS@02E003'1W:O2HQV(LH%W3N&E=?'/.4A1K.!9%:Q3-9NG-\)H[?PZ/>YR
M7J>MX5DQFQ:_S4'^"6.O8?'@77G0'X*;U]6L@F>_=K-1\7[E^OM.:EUD0G='
M#Z6&4Z>H%P9YDWP[@0DR$ER]4"K#/0O!L(V0JR-1LV -4F4  X.G[B*E-HA0
M!:YD),'SL&9;K(O,@GY^KW)#B1SM3@<\HMPLA6/!L2<%O-.=%Y]"'0J7 M#C
M,;#&_!(N7G#*29IL_[B%\<"\$Q1%3@G@I2^158D'&)>6TE)'MG'*+41CE -S
ME01NP!SU$EE+)0J,\D!]*'VZY[[<\M."7GMBFQ+KD>XCVWP9;A.ZK,#M#^ES
MLK0I?K6$IX^UF33MA/)/Y-7O,V3U58%;9:GCW*-@O4),:8:,L0IQ7PJJ2J48
MVPA-:5UZH25'PJF &/$!&<$$4M*Y$I<B*A(.K,"IQB/RXCD*E*E)UUWEZ\<P
MJ$2LI *-<W7P655O5:^KO+BF'5?XL5DR9"]A3I*2"A<X<@2#\RS -M11E<A@
M&:P $!3*;P1)*=4D*HI<!%^;N6# _)0,14 8J7U)K2)?@+FW62C?3.N?3'/^
MM7,B,)>#:8Z..)2GNW?'<I"?-O&/JV;IE1G/31+D-;-V14ZSOO!A%FIX'EQG
M+B_KZ6?@KED87_=/;KG7*F(?$64E!Q=0>V0"ETBP(!VVC)<R/L6876B0/X&O
MT?SWM&E"\V[RR^<9>"3SJCE/<OPN)KG>FP"/1!_EMU,7O5M_YW$0UGD4J:.(
M!861X=HB;"1U@DC%R<:IX<&9><C*WU@.'0_<N+8K+GES/IV/?6%#,A826>#G
MI.A- ]>O2DOV[7.Z=@*:GJ.+,JQT 5P>8QUH>& O9*/GJ%0V\1LW,6R4SK2>
M2LV51F6@/!T1B<@*&Y# 2FK-K8IDW2KX\]17L7(FO7>O6$*4ZJ<Q\ 5FN5@A
MQH)31L7K!DS3.C3S\0Q<Z0!_NNG9)&?^F_YQC;6&4,X CDH%'" I( T7'%DN
MA2BE-]1OZ"3EM:4Z>=A<IX*K/G&-%\CI( -GOO1XHUSVH702H?U$IC%,O<@1
ME-6I+_$E!0?G=:)SSH/+5D\S@_\L8<B!552'\S!IJJL U\/GD!DQP=QU,'41
M)A[N6H;'2[((C\/%XWF^#9[3.P[TA$6&HT:V)(!;&@."D8B1!P^,D!"!M3:T
MHK1$@08T"+QH8$,9%3),><2HE(&*DF-+GII5^3"^ZZDK PL^__+1HU'QEQQ:
M7@.S#NJ 4]M(L;N5@==IU_:>=>7Z"8 1J#P'5538'JI)'JR2H.00=:D9&S8.
MJ6@=PLQ2;@GW6&T GHF @\I;I#*3";#$++82626(H]8Y$C8J3'^83=T_6K?Y
MYSF8)6?O0UU-_5_!IPGM[EZ3=>C:QO8BLK\O.VVTNV7;\9CR9+&EXJ8@C\WE
MM-TS 92J@VE"#N)X7W5AFTM3>90]\LNT<WK2Q7@R&R[@;WEKMZ\33547R7L,
M2SL0(-$G>'1+TA?3'/<Y 6Z%638ALSN,:JV0R!<X?50D9_4F:K5Q7^]8GQ'"
MB27@01B;]#9FR&@90?7'H)P0G..PD:BA"'@F1B!%HT2I1@.RDL)?#N-82HUY
M.J.TKP/!#V-O17L)NB>MKJX:8)<^LH%TA!C,!2(Q@/+$DB$M>0 /TR@;<"A+
M1O;/!GL/9$L]VIUE>=3HX0T8;?BCVS1F]BW[QR8A.@K&ET:86%"4!@PMK2A#
MW(+Q#RQB'-G83(LB$DK F\!@B"%0E@PIJ\&6 Y>" =])RC82%@9%>2]6>KA>
MJYKDI()"J\ %G;5&65[?6$\OULVZM6>ZE=RCK-2F6YP3:\;9AFS.0YAE79A>
MUUJ'GV#XG<-<AW8C!I1VE3(>0S,#%^@2O)CEI![J\X G R/.DX\1)M;^U#W[
M(LS.IP"[5UVR1 H-;VX?#9']PT_\?3UU(?CFAOMV[KZUJ0>] T0O*/%!&\0I
MLXAQ*0 028F4D\Z" C5DLXTS#3S2,L5X&6/I'@R>@U8HAA*^)U*!U74;$!>4
M>@.$6@&]?0;NI>BIY30)*S&1-3^UEZ84V-#<VQR'D!0Q(CS2A&!4@D.H@O6>
ME!M5RQ[%$N8Z@V(;*GO;$2:',/85-V.]3.MKG:RM>W]MB#5KE_XQAM-"&(XY
M\IAP<+!81$91@R2&K[6T3F.W$=0J!>,&KL064(6EME=:@^DEI64*N$HRL1%6
M?7[&$*/=_0>/O\>W#2CJ,&YWC:>[3.ZU%+?.'/')6 (3(W4 RSR5@@RUS\_-
M\8J= ;)DO_>. ;UEA *>(&\D3TY>0-J#UR:"C^#G15!8&TX>-L18YQPL/ACN
MC 'O66L-(I@$B;4MHY&'C:K*?MKE64.U\[X/!]X8GFN,ES:&:M\RWM)*]TLK
MO;MYNXV^D@HUG:PF\^;S+/)5<Y>U?I-FD:WU18BFGQOGA&H64Z4%[U+@RD:+
MM,0826!(&:/"!&^<,'H(FN:MS=<M"5:V-E?A]!M@Z*TFUT;>70J_KE!JUZW5
M/;CR'L[>TI&KPX6I)MGSV^[299Z^6UAZ:$0"E(#'AQERQH!?H3E#E@:*'-:!
M!<]+1S?"LBQHXJG%B%BG4BF2E+4,1F0P_W][W]8CMY&E^3Z_(K& ,=U 174$
MXTJY,8!LJ[$:N,>&I,8^#N*JRG569DU>+-7^^CTG@F22R:R;*EU%6?72+6<E
MF63$B7/]SG=<S3BOHY3V4%7_O%I^_ "+=\) 0K*)UKWFFU+U#,66+U;8IH>"
MTR8T>L+Y[[<J2]3.(#6CLNKYXP/YK[(#JV\Z=N@V/=]N3^XD,QXBE9H18<I8
MB!IL3E437@<3*LG [Q_5%A^;(6B-%"9(+R]7RYQ./5U0**9XNAN]?O6 E!*8
MK76\VJTAD-S@T;;KV'5N^;QP\"ZP<N5>;<-6>\'ZB"T\G[V/,?]SQOC9$QR#
M^_>0MO!V?*&F2ZVQP+,W_[.;;Z]G9/8>EV#VKEN3%O/^C.<YPZKVE=_YL@AG
M"?9['O5\T]O+8\[L8K-"W80M NBI')$8N$\J$4LNT]CUM@ =-G&[791>@MSP
MU$^KK_L2U-QP[Y;T"SI;_/+5&KMVX8?@%;!:<5V>M%P12@OAX)G:M'G6JK@6
MGU;KW_#63>E[(DGKHUW<_S:;_1W^?^87=K/!SOB/D2Q7(;8W 8V)?VZ>^O]E
MZM[/KPC_/BWB9U)B'UCD5_ ^N\OE]V&^N5K8ZU?XUU&W_+F<ET=M&+;*!_]W
MM]G.TW7[@_E2$I?A^ZO5)DO4JRQ#X%M^[U:?<4'@GJ^ZMOO/]^RM?TSR?4_Z
M\/1;R!@?;&)NO>^V[F)]X,#,EXOY$IYC"R?CE=UM5]\/_P +6S[..UVHRVR"
MMWME%Y_L]>;[__6W3B:.L27D+>N)P6@[3[MK?SQ[2^^W[Y20^S,J](Y6=CGP
MR_/ESO9\#BH%"PIC!DD31 +@25@J([&\3I4*FFL;_KM)]<"E,;S>WONRZB8*
M[C^G:XN)O(]Q&==@?/QJ#;8C=Y?MX%\;S-V4B"+'H& ^=O!M^,,FUTFM![M:
M)!9=A3,T ',P'9MMB6_G#2JDV!:[OIXYK&/&3;XQF #,^L"_P-7X?>X;4, V
M^HLEO/G'>:]D^:W5#3\, WAT6C:9$.,,?-P- @$09N/@*6V[^OW@KJ1G'>)C
MNR(QV&<[RWL+WYU:#!$YDY6#&,(&5T$\0#6IK3#(IL.%=<Z):L03\?A!.&^;
MM7D'J_(>TS+AU[A&>P7J?1!,P&F(731!JGXX(>Z*)LYOX8E^>L'Z;G8%3A@B
MI\\?*P3=7C9.40NT"K5VTB=2TQJV4B7XETR>4%DSV).Z<F:4V*EYTA #"L)C
MJ(G@7A#K52+*R%A%HX.C=P"M^EN)Z9[-LQS;]BDP$W-EKY$ ",[MY9S8)=BO
MQ>(ZEUC6X#BL"R[>^HO9?^Z6$$S)?&3W-"\RJTYX-8^J%[[;?"WG842G%P_=
MTN>2J^+F]U16]NMS$!#QZ?\86:M$'1S#Q+CAR$U<,^)$E"12[IE,P51RI#8>
M+VO_;$*;GT#6AJ<?4VD$HNKM!5Y/@KTF>-3 <7P6<1Q(TX _:2IB@^9L ?X
MG(3U8AXQV S(UA+.>F%G0+^BP6?%4"0-PL_M/'LL7:B:;5L+CNYG[S>3,W<N
M517CU(+!<B"#FDN"/;*$<Z5IQ7QB;$3P\GBY[<%J]A##=^A L)NMW8!3CMUA
M[,1Y78E)=2+M<UZ'N>]>]@M-XN32JL$%P91PA'D!NHW6FIA@$W$I<JZUT]Z,
M4#;@1(7$//A TCDBF&?$4&M)3,9+&I@V7CT:L/PP9EAVZ]CR9Y"(8SP;XUHU
M*(T(P<WO\,8-P\;RF,Z!F_EI-I@QZ^OD(R4)_&$B$K;=6R/!#:MHB#)43)YH
MS,J=*N977*2ABOG7$KE*LL^]^26]SF;(_K1:+, QRCG:3MIH7]JJNR!^E)_3
M277GHVK).BB[=UW3#6(?IB8Q28'68)4G#/TH833H&C J)&H=DC(T6C6F^CFI
MX]Y'PM\W_KI+)/B4E ]$7VL(!W:7^Q+_PFX0I8XI>P0'P!M.6*E8$VA*H0*-
M@'W3"8GI0"D0;G6*T2=C[8B#QU+C3%53XG-W1*"<F"J ,7-<>4WA?Q$4>- =
M@2<FJXVGT!I,JO-J2F+2TQJK'O6GZC-_AIS)63;FZL#ES4BK+$;@+O_:EF0R
ML&JQ*G6<-A/7P@*Z_X:@93:'P#/,"^4#O!C<!H/0]_%J.XPGSD8_W%1S^MT4
M=IN_51HT.E>LQR,Y@'7!+^8:5*Y+@6^Z28T$PA<W5[!E&=7HL7VRW"^SX63%
ML2]@9@W2X':0U ANV2S ?#UR $JRK/ONV?U\1JS:X2=NOBR):62YC)@$;=YW
M?UU<E#K/61>=]#R(@MFQ#A1"4Q@[?+IY@@<L=;1US.6&&8(P%[?OYR;B&L%Y
MN(AAAU2&V[7-NWCS_F;<:!/;9OEZ^/;>OKN8@EQ>S[9P#&;8/[H..?8KUVQB
M;U>']<U+>.02&.85++MDX5'R)AQ4._N^'/Q@)BEM>H-*/;,LX3XV-EF659:"
MJ_Y9J1BHYD<M8)-TA4>_+,O3J?:I:78=:J&KH(C2R*-BO81 0RCBDTN^LA4W
M=,2C$K6ST4%XX4)"NLGH2!V")])IJFE=FZ".(&?[QO]=MS)9V3\\^WJG:I]4
M[/'=OOI])]<?R*"+O73(U6*WR;UE2!.)HKI;8I/X/K^_79V!$L!&LZY><Q'[
MLE=.-&B35DWVE2C8B\NX/4" -^>@3)S%1-Y'=%N6[;UOX+KL??RVO;*E%OQF
M"SIO!\:D$!M_7*%.;)<-2VLVU\D@PLR-'RTVY2]V@\CK3/;6($R/K?%?SPY5
M[\$WBQJ%J'8=!P\S1 FU&K95L @3:6X&QO- FW=8H4:S1:1YQAM.3;\%&8W7
MX+1Z7X/GRI(G=:21J*BBE5SJ:JS?'A_<O.BW._5;E^2]6\6UKM!9<><.U%V1
M_O$IZLLVJL!S.#$=X&J@#YN#>&E_@R6!8W3L;IL;#N71 SE;>;];SQJGKSUN
ML,^+S3W<EWP2]_I[R%Z.GMA9YNQLE?E\[7>7R,7NFZI]PRLR=#>[)#G>I/=;
M77I]5@S#LKBLI0EHLX,0X]9EF1VYH\T,VL.7@,=!M;&.O1]LG/=BK0K@K>\Q
M95_^V[4;A_WC/6*UU<@6M(+XR3Z?$MA,+VU!C:E%Q $4B6):/!ABA&1$BQ@K
M"PXO_/$4RK_=K#=EK] 6O&G54[_1YF3L6Y-L4IQD9R!C4G-!/;'2)63\T\19
MV%.G1(@!PIB:CC)77R("PWZJTA\(NW_*WE0Z3?[97FYCBX^URY62G,O98Y"0
M]"7S8QQVL[844ECWQ30/@A\7U^>SU_?HNNI:"EOU=V,G8N9IFYQL1B:$MU$1
M(1,''64J8FH52915A/^@+KE1I>\AL??3-?JIZ9$3/=_/%]*W4DTL75F;:3::
M2EK)9 ,G7"A*A*\=SEK2!.1(2<$IJ,Z3H!&^Y;;]6_76[C8NRAFN&7R$,5'.
M$D_3OM:A"K5B)-9.$^&4 1EB(!05CT96P5+^*"36T^FPB?9VWJ?]^,#N-1TT
M.58XB#(;$M0/Q_FDUDUM:?I *E,Y+5QEP:VKP'1JX4'L7"0^U4Q(I56B(QK=
MT^*&W[3+=WKHL#CG4YJ"]-W9,QZ#@1T-35JZ$=>QI&8_\^# C%S-;NY2GQ;X
M]?&^YP-"X)L:[<&]?,8UFIQ1B)8'5TO$(-4*Y]U*4@N:2.V$\8R*2E8C!HN7
M'O_;FQ&?_J?[<?UQ/L9]NG>2\95CG%D=0?B8-(BDA*C)<HH3:*A7T@8G1[14
MCQ7#?\ B93+/4\ECK29,5386B8.8NS>NR!5$][*AJ<KH)Y]!EFL;L*<,C"G6
MS\<W^N,X*;[.W/"'&PJ!691Q\L3,[S;PO-AXA\M?[&+\?3_C)=G=8GL^>XME
ME?*'WN>SOY3)K=L+NR\S[*]V=OG;>G>U]==8;=BL%O 7?UT:QE?KCW;9VM[Y
M\G?X8YOB;PH836UDTQCAME&SJ^/TJIAV.UM$1,E-3:]P$7'$9DVDQ_BE]C4Q
MH$^(%C6GUD8CV AB:[520B10*<I2[(Z2X'QJB+692=)6 ?9SI%>>N*98R0GI
MF>\R).'.(8G#,<2#BC>\UP(+3E.3GEH:IBLE2,3N.&%5W> B?252I>LZC G)
M#<-H@WN,;P(1D6'6KTH094MG##76R!&6\J4B/711,D0/XX/E]:UX&LS>Y2+M
M#:5KG$F?(6.ES^]\]J\6MI@UVSHN"]+KU)KS..G*LY;76.TK'P,Q-4Y&"B#)
M5LJ**&>IT+SV-)VDMO(BR8>2W!54[D1,H/]^5)@;2&?FG3L0Z1ER72 5#9;R
MK\]G> 7B 3I-FZ.!%:CF56>W>W>^6J]^GX>82_YG;4X*)"#[>CTH0X;'%D<
M:T@%JLN51*!E,[-]@ZB#-0+AKAOPPMA;*909A::@/7/@ERYVB.5UUX>(I\Q+
M<%WP#>W7"PP_(XE7<'N[W!:2M/FFP9EL<E6JH\%!YHZ"GO(1$V@#&I^;DA-#
M:"NX/LO5=F8_9;!WWJRQAU90$Y_R2#;8BM6GSCV"'V_MV]-HN0E$P%^?F_^I
M<+PXV+0_AOJ*GG,MOYOUNJ]F[S-=1+.7N(N#MO%OC+WO^:1V<-2G.>+=A*1]
M5(;82,$199(18RM-(D^U=]PK'4;H&)UD"-10' N/O6(UF/SH XDZU,HQ:<'J
M/_6(=Z//IQ2Y/&C$>\>BEHD>P,2P^JQ\G&>^;WL,\$<RX;E^^&D-[[&GO(N?
MP2&:EX$C:;=HO(6V30.4>P>*M,N^X9J<> :7@O(0(BN(B7#XIB,F>D,DA#L4
MY-#Z<1+Y(>*9*XN_Y&7YL/JU6937W8*49-Z)995/5%2?[Q%N/R2] ]+O-"B?
M_ (Q,2)(NQZ#[&#A3(V.9+ Y9\/OGS6=0 WY.'A]W3G*;3Y-F2A[IA-Q>_YV
MP(;VPD/XM? 0#ERO%Q[";XJ'L/HR'D+^;?$08G<MN,BY'>T9[1#$NJ7LT8)I
M5HVY:!'X>V:O85+AK'1=VRNP.I_!S.?>T,EY4XJZR,'A)T$@^(7%BEAI!-&6
M<I6,83:,<%HX/[6NG256))!647%BC(E$4<SO&>F,&@%FGF*<EYFD$W6<5^^)
MND5Z;<EIA9FB-DV'?>*92*YX0D=G2QT #<^F)[U)2N]YK0FG'D)5SSD"^&M2
M1>9C,%JF,46)U+:&( $D'B=3B<I7Q+CH"'R_\@8>AAK^Q*&JJL\G19*UG[SY
ML&"UL'KWBV_?>"U^3X;^9R=LI;ZR0O&:&%51(CACX,%$2UR,A@KCE=.CD_CX
MI-$I"%OOQO]R/26[\L<SMII@N%6@4+5GF  4@M0&? +)0-^ZJ, A'658I @X
MA:HFLL*L#(^&.(\X7!X,J%21*#)^_?D86__3PL?KZY:OM>3J))[0S.6*VW0&
MYQ@4U++E;>VNR' E.CD.SOZ$AH.9#D]"XFJ%$-HJ#BXIEH)];LUSGCB:J$G!
MVMJ/X'F/%[^OAL2U$;&)\OX>(7 ]3MMZ;+ADH93(T+3[LKIVHCG!9@1I*A%Q
MYJ1,X)B*VG-B33(D"BE#BAK">G&*V.H$K*[T(7T(YEQI,:5.A.,,7;UQ>U/G
M=JVL=)[3&IL]'1$148"A$J0*4B@(T 5UXY);%9+TK"9!API4'K+P.09A33*5
M9H9#C//X..9/R>VZKQU\&;?KQ%,Z0H24&"H.;0S83Q&)J2S#_W%:5[5*U0A^
M]7A7_(1,KWN)>_M?_[A+Y)@\KR8U3;3C:OSK":D67X/P+3JK?W9H_+Z,AZ]7
M9#XAR^+S$1/>[+(^G(&R/\;LWAR%W7;_TX++,Q-YMZJSP?RT4=+$9QC7A?T=
M!"'&93-\K?#NW$P_>=RXW9>$LKNZI:(\G_VR/'SJ 28OAT4-*R;^X7W9M?>[
MJW::SZ+7<##VS[K.=PB=?E]YB*L:H%]I3RTO?4A.-%ZL74Y:#M\1,;69GZSI
M1[IMA<[*+[5"=&5';2I[AW*YOVU>@L\>-WY@$ IW+WRS[%$[]&*0]D$X7Z'M
M.U(D.#(?[UO-F/WOH\?O?AQU+1?=7DZ.8Z_M,:JJT1:T+)U?"Y<=%4IS%VNB
M+(2\X##6Q#C!"/=*<JYJJL*H[^3Q<<:C\=;W,.Z3\B9O9K/KM.S#23G[Y,UI
M,-#S[9AW;4_4V8YE*]#@8U1PA4/B2]G@CMO"3Q>KHK0+8#H;U/'9NXDP[O"I
MOUE-]].>X"ZM=FM8'] LZVT9AHJ(Z^=,W_2+@UW$<Z?C@<8QAAOF8#]KKV]E
MM;"<D3HQ2D3E$K&:4J*4JJ/B./UBI!ME8$%6$OOX-$3C2D TGB0C,E2JYIK7
M@HZ&4=\8#'VX@(./QVFO('])>29Q5IL?UO./'^/Z9#TJ$QMOT-&+C*/H W<+
MM<[E*EMY^^C,\NE;.SWSNN*&:*4T$<D98J7FI%8ZIBI)<80N[H\1HP\E.OK)
M7@])DLH'#[&NTQIQT(OZNEAG,<4N7VIHU")Q8JT#C2)5)$Y%3RSUQM2122%'
M[&Q_C"C 9UA)1CQ>3RK8(\5B4AHDMULU[WA41!K+F8E:T&??[!;;47JDQR][
MK]3(P>4]0MHT7X-(#LUUDXYI/YS?B+EIO_'I(AXC6S]#0H--KF*WM-ZE2W_T
M1#G.'.0>>OD#I&W/M<?VY\"4^^+I;2_FZW#P]/1@Z6SW>ZU3FD?-IWD.FD<S
M$>X''.J[ITUS7,AA742:JIXS.;ED:A!4&0OJ7BJ<NE8;2FK-(Z&5\DHYJJ,9
M<>&%H)F-<-H32P'Y14!#U' UYU(K*9**V/_:ZS:X\:B_76Y7;R#XW5[_R2EB
M'X(RR@D93.KM)B@O5$6AF7+$>>.)"%[#WE-P/RL0^]I[%_1X;D84ON;<DMI)
MC?(BB 71(A4>3\HL^*CIH?+ROF01_]P<>&W?;:M(QDG4FRAB#B .?;J([FZI
M*U<7$'+.)#>)RD8_'S4'Y>;]*XMNW:OUCF0LIZ26*WA1$'A8=5?N\H",;Z.&
MEW R6@MV/OLA>KMKHOM!+BTG9S$B1Y3>,F9XRGX5L=FYET[O^.FQBP0+ )M;
M2<_VU80)#BJ+V@?)*_#:*0X&#LH2&Y@GF@5-ZY#H(]5X1_DTMPXLY186Z\><
M=SPA1'1*(+2]YD92H?RBL\7^W=O:3G]6%A);S$/V;IQ=9/'?7,2XS266YWN3
MF^FCGKFWZUO*B WJI#;L'?/7[_^5G51"U5 I-7RXS4")0P\!'=I6'*\+RU6V
MBIGE 10?2.LGS-G>HM#VE_>N@1OG+_58RRSXU_"N=MTPL'9FN<P5V=/VML_9
M5_Z'-;+^&V[BE5T7^M;#PA0LU.UOUU2B'O9FH);\KO2XV$V3Z,[#2?>7X_"T
M7!1+$-;LJW$=@^94T<D"*614Q0G3$J?]R$1LM()X$WWM-"9P1K2P#X$4%J^L
M685W&4%XOWS>78@:,2FM_]U>[%%T4#PQ+N^'UKW.].)!M:<C7["<QUM%<W1*
MNP&Y7=]*KSI<M,0AG>!UKX%W>Y2+\-@!2.O5Y9TEX:Q7\LB;ABJYE(3O&')T
M[.?RN-=RF@;KT,YX7,<4U^M2&V\.X\%8!'SMAM*V?*VK,;6387")=NNAY<WI
MA<N63@:?9QTOX-N%[CF3_G23:!-\F)&N.0UQ0Q;BB&*UFZ;F32ZCW>1&!_AH
ML4)5 =IKNV]^S$57< ':G6V3&2@W[7T;Y[/0H-_PDZ/Y#KV.E(92W?;(L:=)
M2JJEY0D44]"@:40,$#-&X4A@5%M+F?=U/(6'NF<R^-7.P]OECX44_,<<5.2Z
MQ*D82JM)!HTM$ 6%H#\HI$=Y@25;DN$?>6D>Y,R^>(_/T;-QS,_J<Z0<I<._
MKR.&#%N^<\2VJPP=R3<$C;EKM?10TQ]URF[$,Q74W26:D%5#S+]IU7X'1+TC
M[#X?9&"/OO!1QP^]X.DI0\-HB#80+TQ%A,,Y34$J4G.C7=(N,C-"SC_87^OE
MS?(*]M8OSR#Y);71_/6/[7J=2#?J<S%!U5@RJ^MXAU^QE]DCHR(NX_9B%1[D
M1(S$UFZWZ[G;;3->KN4)'+D9DQ1<2A6$&C7"#72%:'Y&G*XY$5ZFRE,7K'R4
M%;^GX)8<\*FEEMTR:.R%C>9K9J.1+VPT7S,;S1?W7GXI@\V74]%\G1[F% C1
M&MN\C%MTZ=I^R;%A/(IDS\6BIC[T[^TUP_K2'7'-;!\X+JY'%?TFR,XL:Z'+
M7=C//9]SBF6AI+FI3.T)KQB.?@+OT0JM")<)W$:>J/(G";I_:I;D@_W<JQ"=
MRBRS27J3WRR\MYL MF_U/]92D\L<<$IZ)0XX9+EKJJV #"]8KCZU<>[F:(=-
MVZG2S\=V8^'@ES(M-U[YR:[#6<EFHB^_Z(>&^YS=MA<'H&.>@4)'54XFK<X9
MOMSPG;LU0D,8#<[:?%MJ%K:K:>ROO563V(">VV7.S[;5DR8<GIPJJ71M>6(2
MG'X%_\-K2XQGCF@EK*<ZV!0?%;+N\W?MFFP^K&Y(YAVX_[^D/X9Q2]))*IY9
M84='\=YG;E:W)?@F.4%36)$<HDMEA2VY-0<[@V2WWM#(A5+<CMMXOTB@1D,T
MVT+6KZ6_[53\;-7YI#@#>B"BQ3Q%,#@D(QY'^8Z]4MH<G[K9%F6.^4BW.$3=
M?8]4L$MV&BM=,92BQ]W5I7%-J?GF_,Y*T?VS->\[,.DAOK9%"87CAN6L=$DU
MMF(X>/' 9.P?M@SPKKY95P+T]HVST_?B>5/Q:Y)U+B5T%90 918Y!6.I.0$7
M'"><,YM4<D+H= JUUA(YO2G+A'KM3=MTUU=Y)\N-30HVWV/PRR,\GC=N/>KB
M34XR.5)'FLH3&S5(IDZ*U!Z1O)62T0H/BFC<V/%H@_N/^1+";!#*4\X]9^>3
MHL1 :7R^GV],]8WS?V\?FCV$?WR*B\4]QV1/F9G*2!T9MY;X)!41-H"H1YO)
MUJ0+@O&*C_(>$-QXG;0AUE:""&H#J9W6A,G:X*#LRD@QB3'9H(JGU.3PW=G]
MAE4/^QON)ZSM?.H)P6=OGXP];=\D&.JT31K4-[-P&%@D=1T9,;**,3'':RU/
M@A(__7SJR>+#O]8AT8'7,JG@B;8UR +---$B$?C,VMH$JMDHG_-863CUD&A&
MZ^DY O/;AD0/],-CAD3WC?;+D.@#8NIY1]3T$4/_98OG&+!2O8R,?A*+8[VC
MO"*1@;$1-(+%,=03;IF!4$2IVHV2? ]I%WP9&?V%(Z,'!%13'1GM-:4UY888
MCLVFD7N0GBJ0&#@-PK@Z^!%MZ..9DE\&[7[Q,-5.JEY&1A_V9SHA M<D1G"T
M2B$^N4A -7)55\8E=Y*LX(LD'TKREX^,/J38/-W(Z.[.CQP93?]D(Z/W99B'
MSXP^Z_ITVS^MP;:M?XO;?N?-DPR6OE,/3J2'X@X\Z\D&'G"K*I:P.U&&A&D'
M30P5D7#CJCK%R (==2=^B1.(\A*7F_PNKY?A#4COZCK&'^(RPBK\NK#+S0?X
MA1\6N0DH@L:[@JM!5\;1P+K[//)_LP;9VP!_8<<NR0(. HF%,C;OVA62GS5+
M.8#V]B,M7-BC(-X,0OT^QU0$[[]YA9$BPE!'T==^RYO([GF'>8\>Y]-J'0I:
M]M5O,5[!DRTZK'.#K,WK<LLZ@,%1W>'IB6CY'3!&WQW<\=G>^0 QU4CBK!'%
M69;%_5G< Y*_I0&(;XO:+X3IL\*87FS9NW@%SQ:78 $*I28Z4H*RO_SVU]E[
MB]Y>L87OXG:^SD<MK^A@5F[S=?R\'92;@0+(9K(H=7RP'#GY@H^4&S(R?]_"
M+H_-[GC?\'TV]VWL6T[YHS%[AU9GAS8K@)_[&@S!O\[?G\]BL_.;/08!W*\3
MM)#?H&J#$(XY+8F4UN+0A !J$\+O8$(2WM4^F5&-3U,I?*HCB<*!GVF<(R8@
M(Q0+7FDII;?N@)XGK]N/O67#96ZE_ WLW;R (EY_',Z:(9OH7X7=&B$8SR)S
M%9O<1)F,+HEYS4H[T*7]+5,3$(33]&5STSA^MD=9?]7Y](U(SDLK>FL'(>;*
M1+DH>;TC,80E7MKK0MO;>%K-W+:F@=EN_07\9M.XU[6RMY+=#F __J3M&;NT
MG^>7N\N2&2VWG \H&3+5!,8@RV#+^"],BLZ;+NS]DVZ11W]ZZ?1HHF3<X8 )
M;&^6G!%7&0'^BL,_1%Z'$2]6):VK$S>D\AX.*ZL-J8.AA&86+2:5]/H(TAK7
ML^?3](_AYH?KYA2N3S6Y?9*XCPF.ZE34VB!8(+6L Y:<$?(3%:F5$M3HBM,Q
M!4?0O/:U4"1P*XD0@H*765&BM1<J2145.T)2_K0"4$US=.<D(:UP:B686"3'
M4R #P2F0@2H2'YUQ7A@1ZM%D-ZM\4#53)'+JB4@Q$<>=)BE$$9-+IDI'J%.?
M5@8F"+=IP%]HB:[SK$*P&V 7CI3K$6"9Q07^P9!Y!(WG-F<IIA2(#WR1-@R?
M1N'N%&UW]PZHGR4.>?\IAGC@%'7^3$GCV*:6F -[N%UI(L,\]I5M8?=(--.&
M$#G3=-^ HT0,^V!AWC[2T#DL0&J<W-G[I:&#=(7<P<W@EN:Y,RLNN8( ^OKX
M\V9OTF+F(D] L %6"OXCI\4P%W;X8WEB2/,+^'Q=\?IWNYZO=IL9#E=:K3<-
M(BC/DD?"WO;].J9'\%K/9AN[L&OP/\M?<S 'KPC7%Y:)33M%QQ5MMVF/_?"Q
M_@]R#F/.LPVU2VG=9L)&K!I@I%C"R_WCXVH5LB"?IT64]85]Z^YRB.Z\R.0_
MLX13#4#+-,] 6DQ=?^#QZ&;#C=J+UP0-&8L!@H54D:K&N>-<.V*KZ(F1BG(M
M3)#5R)M5-745Y8DHRBKP@+4@=61XPIF,6.U5M7E^0_;BS=ZO<=1*KD)MB;2*
M$E$G1FJ-_@E+5E?4)9]&]:I@:^>XA2!&: B!E )/1GMPAD#/>ZX4#15]?@&8
M(F=3\6;9U(1 !%,)D0*AAM5$0&0+0@#>;70A:)N\2'X$WO",L^BD)+1*B@BJ
M40@@&-;2!V9TBF#ZGUL()JH$^IYI6PN\.479-E7UO=])P60'?O<S3OON)_P.
MJEU3</Y/7FV+3%15I2K"P>,F H?G6IT\45I0B$"3XM4(^_XEU;9WQ>?Y%?W*
M'D//!KLK%ROLL;ZIV/92-7OJJIG^&JMFC8#-LH3U:;2^^<K9CQUVP[>$Y C_
M+.RP[]&(K"&X^7F>XGL_1Y#59O;SSS_._M*4QMIO='6QC*OXU+#+Y@+<ZGKV
M)@0XD/!J/\\SONK#&D1L4&++G[0W:5LU1I;@N8>]E><NK_<1#M*VQ>M.S=VB
MD=J:4P=*6(#KI"@EM0+7*5+.!?5,,#52W-8$3WF +WEE"?K9Q#$#T1H7E4R5
M$C4=N5O_G"]7. :T;5?Z!99FO;F87^WQ83]<_]=JF7V.U0+GXI2OG&[PY;3@
MLR.>H#Y4MC?Y=AT1R37*$FWFH4V5%%EKNKR[3KN<>FDP3?F<-LC<329J:%V]
M<NU@^-#5SBW KJ]2BGE"4^8$7,:/J^V\G:+D#R91Y@JS_Y_=O%"(X;NUQWV8
M?^BX/0MFZFBS]:9YWDUA!<5'F%RD:BCX.PS"#!ET@$C5@;GT3D# H8W2$'+8
M>I2J<-QXB247&9#0Q,"_K-$5H;56UDD(8<QH&ORO3:KH'ZOUN]-1#MY02P(?
MS>,[48Y]-M)P8F(=B09'+J3(+!L/O)5"Z<I:2B X-UA[ !?.18$K$B$6A[@M
M5,_Y3CI8:Z4(H,X<UD9P(&^2E&@G%66*)<U&]3$6;:@L-435\/;"5^#*IDH0
M4^D@3-1>8!OG4[P3/5H%N_N#YXXJ7\+$!X>)M]5C7F@^)TWSJ9Z>YO/O?W.K
M</T?__;WOUUL+Q?_\?\!4$L#!!0    ( +Q@<EF%F&N9++@" /C=*P 1
M<F=E;BTR,#(S,3(S,2YX<V3LO7ESY,:5+_K__11X>A%WI'A-]2+98_F.YP97
MB3-L%DVRI6L[7CC 0A8)"P64L;!9_O0W3RY  L@%2P()MFIBK&9599[<,\_Z
M.__QOU^VD?>,TBQ,XC]]]?[;=U]Y*%XG01@__NFK3W='QW>GEY=?_>___!__
M\?\<'7EG%Y?7WC7Z[!VO\_ 9G879.DJR(D7>UW<?O_'^S\GME7>W?D);WSM+
MUL46Q;EWY#WE^>Z/;]]^_OSYVV 3QED2%3EN+OMVG6S?>D='C/AIBGSXWCOS
M<^3]\<.[#]\?O7]_]/X/]^_?__&['_[X[OMO?_CPNQ_^OW?O_OCNG5 MV>W3
M\/$I][Y>?^-!+=QV'*,H0GOO(HS]>!WZD7?'6WWC7<;K;[WC*/)NH5KFW:(,
MI<\H^)82?<F"/V9T$+F?/J+\VM^B;.>OT9^^$H:2HET4/L)DI3LR$MST=^_Q
M_W_E^7F>A@]%CBZ2='N&-GX1Y7_ZJHC_6?A1N E1@"<Y0C [M0+"SWA5XNR/
MZZ2(\W1?-OORD$;?9FC][6/R_);]",U^SRL$>7J4[W<HJ_645$O2Q[?XY[?P
M,]3Y</3NNR/H+*V)UL%15CS(FV(_UIK"WRD+UPKBZ:SUYO-WI"\?WKU[__;_
M?+RBVX47CL+X5WG?<?GOWL+/#WZ&RO&B4-X)_$.]$_C'(*^7951_]Y;^R(OB
M%8^[+G1%/-3T&F_Y'._"LM<H+K8?9'WY\.XM>LE1G(4/$3J"8B@E1R([^@ G
MDU;/TFH@&S][()7QE[4!%]G1H^_OV@79#_79:4T[6Z3W/_SPPUORZU?_^3\\
MCQR-<+M+TMRC)^0J69,.:D8/GX[X%!S!5T?O/^"=]RTF]I472\^68O[>CNL$
MWSV#.E%NO:&=X/L,6O^=JEWIQNS48J:['_B'(_B@;5MZNPSK +\(^/71O?':
M?=.Y\<:$ZP]3AP4PG,9^D](ZJ&]1E&?P23LM[?,];"WX?0A_=%^'\A8=.%;Q
MKJ'C9=]T&W/MJAJV#20O'OF<=3KXLO?2PEGH<PY&GH'OWJ[]:%U$I-C1^V_E
M%U[6V/BM6D('_#A.<O(#?,6_W.W">)/0;_!W<%G^,4TB=(]GSX,_/MU>=GM4
MW^;^2Q(GV_U;J/;V-,',Z8W_B!_/$/,1U4?>%F\M0)BU#$F_WK^#_\.,I\"#
MDHH>U/R/M\WR#4I%AH)5_)_D[UV*><.8CO<*?\$JLR*:BL($]JI7=4M9C7W)
MIW>220<F/0PP'QZ<^!&\O7=/".497P35SX9%>0^+<H=G$_%565W?K:XNSX[O
MS\^\D^.KX^O3<^_NI_/S^[O#,AF7J1*_?DR2X',81<=Q<(FG(7Z$)^LXR_":
M '\=%!%:;9J_G*'<#Z,/=$TMT3)L@ _D5%92XY''6_/\./ JJAXE"]N%M>DE
M&\GO7].&L=QWV"\]]LL5PIQL=E=LMWZZ7VT^^GF1XMZA;+59[0B7$S^2,E>A
M_Q!&Y"?%=AE#RK!;OFOM%MH8[ K:'FR*JD7X5+9)RWI"JX?-,FRSE&M[%S[&
MX29<^W%^O"8" I[G&_P2K/'LWJ)U$J_Q5)/QKC8G?A:N\1UR%D8%?B?NGGP\
MC<=;J*7:2M,U9-AHW[<VFK"_A,YX56\\WAU<N-XCJ$/Z1*XTUBN/=LMC_3IL
M12OLR V>TSA_0CE>G<C F]3+&C;$[WHP*M[7-=+?'!:TUX*6LXP?C--DBR?D
M"43N9W2)R6Q1>U5-%0Q+^WOMTM[=XW\^GE_C95U=X)\^WMR>_W1^?7?Y\[EW
M>8T_GQ^6=_#RWN7)^M>G) I0FIW_LPCSO7YU)>4-B_OO/1;W[GYU^M\_K:[.
MSF_O_LT[__.GR_N_'!;7XN(:;N<^E0W+_H>1RWZXPNU=X7[V=!$EGR6J GDQ
MP]+^T.>Z/K[[R;NX6OUR4![TX>]O4<;G=[6Y2=%SF!19M+_,L@(%I0&U7(,F
MU]ZWNF;!?_CA=]__[G=-7EQH 'CKJ@F/MB$:>7G!PP8P;H!5^NC'X;]([['X
M= UB-,+B5)&%,<K8^345,BSF[UN+*1(D A(E280F1O2P=L:UZR8ITR7L6-:P
MDO_>6LGN(O)A07O<QA=^F/[L1P7ZB'SX3![,YITK+V18PC^TEA#(>(2.)Q(Z
MK)=QO8[7F$O-2"_8XM2^,:S$#ZV5$&L?IK\G\Y(6:U !X\LL\F,9>U(OH%^<
MW[V3,B E"0]H');(N$1454]7@_UMF/CWK8FG]0Z3;9SL6_2,X@*!(OJ1=H9.
MO.1[PR)\D.Q^0L,3B!Q6Q"P?IR@(\ZLD*P]![1O#*GS76@5:VZ/5#_-OG'^-
M%9LNAZZ 876^;ZV.WHI]6*[!)AYJ)M.;=E@9PZ*U]0HB/8\1] A%CY(\K)MQ
MW:C-Y=Y_X;><^(5A1=K* 5K9([4/DV_6 BCL*?WL)K 4$NE>H/%O'J5R6)(.
M]]AV&^9$BL8/"[YA0!&"JY7:&%T!PR*UY7>!&'EY:N0.J]7EU7E&:0Y/]1V*
MPR2]3O)JH:2_&=:H+=D+=#Q*R".4#LO30<FR+K;0>]QL_H12B;4?^&&N?^E6
M6+^ OV]+_P)ACU#V:J3YH_4U4#]8#LVK>K[=1<D>H1,4X^[DH$YA2RC]Q;!>
M;:4!I^(Q,D1A<SAN790(9)/?^&F^OT_QG/EK0;^I_-6P0#*% CU,A)0GTCHL
MDIGG0Q%:X]G[<X%G#Z71OC1^GOFY_RGVBR#,(8*4,((="QN6L*V-X(2]DK)@
MA 7:WM<E]<.=:,N>-\2NU]&^]_NV3J.'"^S7_*_#6D_H>''O8QZR90H<1L2P
M&^PX87A?T]8.N\+6#2!N@5XU#.O=5L7T.?V'5;9DYI>?<%U1P[JV]3H*D_]A
M$8?9_L45DWQO6)ZV1D>D<5@3*PX!ZF=35LRP8FW]3MLYX+!N?;T$Q"6J?:-?
MC7]O*VM8@.!A!4:X#HBKH?S5L#)MM8S$C>"P3,/\"<0%DGQO6)JV0J;F6W!8
M%"M.!N(:F8L9EJRM@#&$S1_6T)+G0>VH=2EI6,FVFL7HA7!8S$'N".+*M;\V
M+%-;_R&Z)AQ69(R/0DV'H?K5L#X2?87$7^&P3F--X8WK3UW"L%YM/83*+'Y8
M,^OV\;J.HD\5PZK*U!<];.6'I;9N]JO=K;VJ&):ZK??H90(\+/4,]J'L#&7K
M--Q!_U<;H?)Q\(\B8SYG04#&YT>7\29)MV2.1"=;9ZWK-^ ?Y%$Y?2U2@-8C
M]!/JI0(9O^HJ7&9E;SVANR5TSV$K3[B5*Z2YOC4Q8Q'@UP8%#7%M[/:>H$>&
M+2_3H0W;\B*&WE :Y2@T$FMV.!RO\W"\7][I>&\Z'C+'LL4?CSK.S.&X+/ZX
M2-%KG)X6>8\,AZ6M079\6*HC(OR":<CEQ<,Q>8W'I 7PN80N&0Y*6T&_T(,B
M5W@>#LIK/"ANV2]%EPP'Q8Z+Z!POBI\]>8 U=S@=0TZ' 0&LAT)I!"7#7AP$
M,W;0\#A ">^Q7<83-.R:,9!FA\WC8/.<9WFXA1O^4X8V1705;O#U(>:?&+:%
MS&0-&ZEM!^NUD<KV/=H!#WH 51LY+@X[:@%)"^;*66#:<Q*#W$PI"P[;T.DV
MK&D0Y]J3LD;U&_2'ML%N\@VZ.RA79]JP9:F;- F*=<Z<N[.3/?L"CP6-V9Q]
M&C!LQ+89K==&% JSIKDK>^8][,OOH#^''3?=CKM!Z1IFZ9'H.,C\G^Q_1,EC
MZN^>\+V5(G_,?NM.WK#;VE:I7KNMZ@?5AM"8";S/JKYXT)G#5IMNJ]TGN1]1
MWMOF%C.3-6PM"0Q#GZU%VN<RQ6%'S;FCKI+X\2I\1H']7=6-M&%GC0)_./*@
M#Q[IQ&%[S1 E7FX,L)7Z\3X##3?\#XQ SWZ$*+;<1S_]%4\Y<==>LPR)/Z$H
MN$]8QL2]?-_-TJ9A0[:-"ZJX]=I699W[MXPH_=]0U;_00R(]5'WTJDYZT$LO
M3W@VR8,IS>)^+8U36%)+\_!?X.N3Y7B[E,7K>Z1:EI,]0!JF_CHO_&C(MIVF
M:</N;9LC-+M7,'Z5??2@DV2S"A5;.U38O?B^%7I[V,13;N+2 DG?.MA+_!LA
MV2RK&QSG);E5?'P+2P9  :#,4&@4YV[>L)F[0XC4-W-EJ&4\ =G.Y9=B7E[>
M6<_/1>)@N?/*+A/]ST$+:6]']S#%]:YOV%.=,]$<S&QSWFQ-C?#]$SI]\N-'
M=!GC/ZN+9%/B#.?@=Q$&).5V$I_[:9P4^:!KS6[;AOW7-IYTN]/:2NG\"7FT
MGUX8DT_B!;:I$)ESK]9=,/O1'A]V\@0[6;])SE]V:)W?)R?H%F'A +\\]\D=
MRO,((B"C(D""R/LI3AXRE#Z#O' 9[PJ5'=!]A[1[_O?OVO:8;GM>N8/Y_J6=
M!\[T =!=:/_A(QT!/A=D"#4]0B$,PJ.C.)R#80ADQF>\:V'#_FF;46I898>'
MVN;U)DYM[=01M.0-2O$1D]]#/6H:%KQMR6@L>/TZ$.@?UGSLF@O\SC7*F:2W
MIE>K>=T[U#:L?=O4T%C[.I>#6^%2'F_GL ?&[@&)6YJHMS)O@VX$##NA;1IH
M[ 2Y]UI#=W78#",W0PFE<%?L=A%AU/SH)DTNX)TURN\C*!FV1UM1W]@>97.>
MV!ZX37BDQ0.O8!WPM"?&0^>ZAJW0UGI+H%$/;.*D2U^:Z6J_'*_S\)D9-:!U
M$$<SA9K&!DG#1FEKE*4;1;#KU7^OV@:[!YE.(J=F!UV*Y5W$9GK/,K;<)ZVB
M?3=19XJ&/=36()OV$&^Y3#^3)U+LYL,.ZH?=;'QMS,4,:]W6UC*4Y\-C8O,:
MH)-:GE1F0\:W[&JSVA$I/WXD9033G?SXCZ"DWPKOE8#?M:->-0B?RB9IV9KE
M\;!19MHH':(6;)$U;"%5EOG!6^@0=6!]2\G76^'XTZNN87.T=9ZRS:':#@=_
M&_N+KY94NE8S+'E;U=EER0_2QLC5+BVCHEI(P K8@.\FH#9DI:A07V$][V&-
MO&'WM-6CU>X1C*@UW9=07(2GR$3)I+'?#IR*E;WV"PH?G_ ,'S_CV7U$4!#<
MV6_QK!_' 2E]C]+M)]SAR_B4ST%/MG>JU@P[L:V)E>Y$WBF/]<KCW?*@7T1O
M3V\XZ!JH] -P;!%Z=^"B;6E=FIEURJ<,%_(?'U/TR'RA6%&5KF4@'<-^DJES
MVQE\:H]DO3TQ@.VP0ZSLD%Z:_3Z5#7M!IK&5[86#.F:6^P%_AT+B.P7NWV>(
M>EVP"A=ILN6Q -DO8?YT6F1YLD6IXM6:K!W#GI)I< WWB] ?B@/ >E36W. ^
ME8$0F?<9]\HKNW78AD.VH9A?K,?UT[6:89.T5;_U7&6'*V>JM:XL-A&630##
M^"))Q0+X(XL&S81S:=X-XPCK]\N'MGZXN5_X=;+:>&4'P!.A41"^X;VHW3N'
MC35@8VD2X%'G^0P$H#3=8_F".:[Q*O(--9Z@82.UM<2&C'M'+ P@H^(2;;KR
MD"MK'_:/W?U3B=O-7WKO'",IPYYI*X^->T:4S"59' ][Q>I>H=-9LQGUV!ZR
MVH8=T3]O)UOQ9J* PPX8DXO5R+<.K&M8_;9NV'@?'+C962X"%FA/0[!>=I"W
M [A.'GX_^B491M^PG=H*7O-V$OKAL8YX&V!M2Z2!PZMC1W32Y@86.8MG/$U)
MJC0B#"=DV#YM?:XY\W"302F;/&P2^YOD!A/TPX =4]"XT0R=10J<@.XFLD;7
ML(6D65R-6XBUS^\?JKICR4%I'PXWSX2;*MFA--^#;RO W@ 8T@[LT,-VDIZ8
M8?NT-;[=M@]M] WQSZ6H.&7#ARUC?\OTT?(.)F38*A*];X>M<N">YV=HCM?K
MM$"!T3EB-#W]COE.HOGMR=ZPE@^>#6.W#DW:=N^_@!86_CQ!^#"*7\NW2.=Z
MAJW0UMVR-'*$1O61DJ__>%CP<0O..#INF65,0K[OL_C=:1@V0ELAV]@(K*4W
ME269<Q?Y_K O;.X+S,4]AQGNV$62"E^?[/^K2,,L"-=J)F,@%</>:*MF&WNC
M;(LH3&H_/NP]L<'#YNB^.815,_*9'<L:%KJMA6TL](%KG.8E$-@O?KWB'ZBH
M;V07AQ,R;(>V%K7Y)HAL8_DNX%]++870YB'<9^PV:>+^72! %"()*HL\2??@
ME7R?G&\V".)WJYKPO7'K6"!NV$YMK6IC.[4A UDGO+(7U/,Z3[RR(P(1^N-A
MEXW;9:73$2PNRHLTAHP?81+@7Q[^0;#WSE_\;1B309_LA8U",'.PG! ^QG#K
M%/E3DG:[N"9LU+ KVXK:QJX4G"K)'J.]\UCW/-8_LB>K'@+?P_KXAN98I3 _
MM)_TBJQZ>MBSEF_&3W%*'6/_1=Z_$Q3CKJM, H/I&'966X=KO._$]L@FX2T>
M=DCW'2)F^Z;RJ9%][E?%L.Z2=(.R_.,';MIJ<IG6"I)O'OP,TAALP9PFNAC(
M;X)A1/3;X7M)<C_Y=B!?'YU 8Y[86NF-<-@85C9&B<+7"#K$,DNQW4''5?E+
M1Y R;!))XCWY)JD@!%O1B4*CAZUBZ0ZI(N:AEQP7J?/MH:UNV!*2['B*>T,,
MO2<71HG?=-@&4VZ#+NEEQ] R;!!)CKO^&^3F@,@RY88AJ&GA&B!$H= GW.O!
MEXB9EF'#2%+7&3=,U2@M[$&SAPO&P7X9=]OT)&S826W-\/B==+B)ANXL+"QL
MPWS+\@J622@@XZ11\AU8U[ _9 ZT93M$$U9KZ2 +V_9'PB)!'I+4DG&8I-=)
MCK)&C)^\D-(A:21!PWZ1>LMR:AXEYQ%Z\%,K8E!9^+!]>EPBLN7K<'_TK6;8
M"E+/5]56.-P:-B'TU\6V(*A:U.D]V>(I>4)Q5IK[(."[C!GN6%Y^HTS;F&&+
MM16T GGN;B\VP!7W7T,;W]3CE_M5/>S,SCOS?+N+DCU"S 0"'NWFZZAO)?U.
M^5U;=\L;X)89XFE_N(IL+#B#],-R0+XG&9)\XC)F7O0A%0T+W];'<L!!THHG
M-O-;7WSX#YA(R%I$\:^MN?73-=2\11N/_2END9>'-/HV21_?AG'^-@BW;UF9
MMWZ$U_>%4'A*T::VI\I*']Z]^QTA$>1'\/>W+UGP_PHU<]S=/WV5A?C8HJ_>
M6NH9_AMN]R0^PG/G%U$^L)]*.E/W.MGZ83R^TS4RT_29-'&T1=L'E [ML(S&
M)+U]PD33=?& CLI)&MAG#:4Q/8>&4;;UOT5%FNS@']+R6WSC;,I1?(9$=4<Q
MEK*2SUTF/4K3LBX0/V(?\&C>_^'H_?NC#^_)F.1T!P\G$U<"GI2R$QDHG> ^
M.PISM&T/(&LO :XM7)]'[[^E7993TG>9]W>D,":- ,KJ@TDQJ2-.@G386''Z
MOEO!C_E@&JC=5N:<E>$9'WI,BH5&YIR3LJ-"XEL&*0:I;O".!C5ATSL+LMRO
M 6TQC I0;#_YF'4ZWA(@LMXS-GD7YKTUB,\A4;>"9JXE+/>Y1SJ2<C@^CD\^
M>%1- G/N?;"+L*ZL-C<I>@Z3(HOVEUE6H. BC/$='C)/UU8>^'XU\? #<"0*
M&J]$]T.RG+Y^L2LDW: +72%M7W];*_3^-2W1^R_IC7?_Q+N8S3(U\4?,Q>'/
M=*?P <(S[<?[#!XV^!_8XY_]B%EY/_KIK[CCQ&2S9GSA3R@*[A/&)^[[SNR<
MO9ESEOODEN\Z5_UINAIQE\SJ0T;=G>[KD,OF$,L6,"/J9%,#AV\B^$IT%;.H
M*A8V)P-1(2U,U*B6YYR]$3"'7:=I=!/+F8\^B'YVIJ=_BTN:+0-4G:TIZM3,
M<N:E"]:6[<-E:FG.V>D.)]5U%OI2=#3:'EA* T;>F[JC6>B%'#1@'@;0=[4?
M>B*J#-D4@YIP-!\VH$,&S)&]9H?/FVAH_X%.40QI]_"5[3^@#BXF8-\6JX&5
M_H>C]Q^.WO^>C%Q&;8KNWB>Y']GM<YNDY8[G_?N;M_N:3SZW%,WC/+:\)^1D
MIQL /ECI@"DW#Z%-> YSWS-*;_S'#L;*1D&'#AJ-C"D#O36D5-P96-MQ94,M
MK6I*2QK=X$4<0';8N,DISM#ZV\?D^2U:!QPQD&B3[U,_"./'XS0%+W72';D3
M5(L*'MCW\ >,\'LR.C/)!=OY)K/)S3?V5?KHQTS=A>6.:] 88Z'SI,C"&&5&
MCX>.U:<?1S?;FVDX_:@XM\>--*#--P[1.F/JM*SLW'= 6JS!<H*7'#^:_4ZY
MM.KT_:>F#U-7ZZ6F[U4[H;&IA^H:,SS@0N93XZLL*3M]#S5V"U.'.U1UQ]9V
M4P%TJSW]* 0%A*G+DJ(SO(6]V6FW;+,2(<"\(8Q59]G3D@CE#GM94VN.%[E3
MP*OYL>Y%9OIQR0(T38/0U9GCC91'%YI?2GV]&>X9%"' 6_ES@?N TFA?"C)G
M?NY_BOT"/Y$H,%X^_<@L19:P*U.XE"UZ"J?W)/OZ9+)OG?Q25KO;H(?0<BY%
M]EW/#D3FE2B[#4!=PZET.>0T:0C,)6EVZ[:LK NILUMO3?7FE4"[]5E=PZDT
MVJWSG0FXEDP[KD4/&K-*J=VZKZS@0F+M^-X:ZKF2_CKO%V/=Q4B"71_9 <06
M(ZETW'1#B"V8G\_.4+9.PQUUH1$J'P?_*#*F7M%AY$P5F&:G7TN>>?OQJTN-
M$]1W]HM=(ZGEO@=JP((Z.^<:&<S*5FZC\6TL+[K5RL18:VIY\U-FM_B4H4T1
M784;<+ ?%/QAN<'ES56?.&4I=KC=F;34G>7-<UGJ)DV"8ITS+41VLF=?7.'[
M:)HY'=#T\N;O!J5KP#-\)(\>&<#)_D>4/*;^[@EOD13YT\Q>[X:7-W?$/YM>
M1_/,6><&ES=75TG\>(6EV&#.^>K5J'-+@A"TQN-E(>H:$FCRXG7DA0J1X60/
MYOO47^>%']F%B9BT4PN:\Y*I9X',<<7F"^%"K&YPG%<P"?'Q+8P9+ KPK/;F
MA1QUS/G<6V&WAU)V/GI1UJSS9O=/B"*87\;X3P&.HW31R6O().=^&B=%[^!B
M%[U:T*SKNPUQYY#6^ 1WB$*?W"=W*,\C4,-&18"$=^=3G#QD*'T&C>5EO"OZ
M2T.+Z>J\EN<1%T!/,JXP>B0"K/ARCH'IZ47:U?A+=?Y=L<--P[[V ;?@ I9I
MQ*T_O@VG7@O6[ %]J3H==3W;&?^%I1@C_"*@U\-UUQ^[R&)CRY@CGGF-^2G>
M)ZVB]J:H;UMS><F,.":="2P=PVR4;M!R@XM!-^/=[2WB#J'J8-0EYR<^:8+M
MI8)$+H]L?2A#H>]L-^QR[AI)OZ$@J(< O (S2J3T/4JWF'T*+N-3GE[ &HK@
MQ/V8]Y5J>O:5)P@7\A\?4P C8'X&I&C_MVE<"VYGPQ([-X#L0G8!_@Z%1*@$
M]12'VV$5+M)DRQ6!V2]A_G1:9'FR16GODS5U#V9%2A,\3ZWLGYX$78VU8CHC
M_(R DR>6T\0" !=)%?F9L*AC9L-*DPM!]BQ3+C;2N_(J%J$\^S6UD/EAR(A]
M$$+&TG7J*3[BZAA'=3FHDG9NS[%-S.J1/F+(_:@XPL,K;VP FT-8:(TS"G2%
M?WGX!]%VG[_XVS F73[9"\!U1 F:I)CGC@'NK\B?DG0LEN#TW5D([N"G.*6\
MU;\(6"*+Z!TS=8-:<!$Q,>)(#2(VJX=&JX/D&\@*&D"( 8HS$;"[MR_&&/)N
MYZ$THC2$=/P,%EOB.M_?LW%\(X[W1J4=(U(H4PY;V!5=""]R[.,<-"VTLI!9
M(7:!<$U\W'&A3U@(GV![=&YE^;,RU<89UJ13-)H1#^PXJC-+*I*8Q(8 +2\T
M0&*QTY2K*,]1&V(@P7G](#H%<Y9JEH[E^[M*S- --\A$(W;00'+N\(Q&C'4$
M2;OPMP%^H(+"C[)5'#5 U7IAWDKI#.OJQL\>"-YVD1T]^OZ.=A6A8/OV_"6'
M38_OF/.XV#*?NZLPT\+UMNC1_D=Y!M\ \:P:"333K?L18'M?X;]8:2"DA![_
MC@X""I;4PQPJE&3JK2(8:8""KZIFRX:3=:TH_NSG26K:<O#-WW].P) )!G6P
M=2K=&#DMTCE*K'/5MP-[W&/-X)MJR=@7?R]C//%LHDO\9]88AJ:@NTY#E-=)
M4RP74*-/]E61&W]/HL4_^VE Y13APJB>E^SX(2.&-=7X)VW3V53RG%U[EGR&
MP!4HID!>UEG7E2JX=4H\%[!L441PVHC9E':9JCMQZ9ND@2W<&*LEXLXFYPP]
MY)<Q>+_!1KR,<X2W&_'5.*/.<*2OBL%WK+R0P1V_A*I5E!0<VFG%VU!OX?QE
M3=A/&H J>Q"TY1W> G1;\^U-N.>&'5EY*72HZFQ@P ]?^UMTEFS]L/E"*PI9
MWB'RM$-U>P*SK/#M '()"RN5[:&1%%WN,M;=6E?+KYE>G=VUQWDSC5-MN.KM
M:+$-9U,E8-N4#HJX4^#S XHT>'>25,Z2*"9F#$4KT\"%H0"%= ;P']7 \8>_
MGV/>F-B<\&N3X3<T]Z._AKO3)&@NMJ&PLU7CH"%X\AZ8$?6VY"(N SSWX2;T
M*^\$EHP:O"<K]TAB34'!-=Z]E*T0?B.*#,4"S]2XY=OQ(\(B6_+L_T3WX/'#
M1[1]:(U16]39<C?,8-<%=*<&1+$J<KPQ8]+=\OPIUF\H-6?#+T.TRGA>21CO
M*BY#=P%=)P&V6HCDU8D;]NC/>G]=$M580@5[(C6? CN$I2;=1::OM:0;30A9
M8P\)A!ZI./ >!)P-LA8E=(J/VB-2#4=:U%G'=7KM:Y03/Y\; #O DY[G:?A0
MY' >[A-J6S-H/&Q1M_QB-'W\5(HK0V%GBT8V.^3VY1G!]:N@+.[PN%!X($/'
M6\4<RAU4@7'CAP'>N$K)H5[*\K:UR9XU\P!7[)KL#,S4LGNQDLK%&7C'KTFZ
M9#R,=1[M[Q/FOT2A@25),E1"Y "*SJ;A*@'3'PO$$I0OY#-#6F&(0GO%N'N1
M<#90RAD+08]WZ+&6R*XQ*G7Y);%5E57@'KWD)[C=7[NS5++*EN^O&HY/F",*
M1P4N]P':5-]( =Q5([)(V)T4I.XB YH2?4;_@OST(BE4,OQ 8LX&WT43B;^D
M,4JJ\]F3R*NU.IZ_H'0=9K!O&[(^^P7=I.%:)0W/U;KE:X-'*+)+.$9J_8ZJ
MJ-L%%[4NNJ6IE7,K$0)3YF=/]#BQNT(GXTG+.S3NU5G,K#0[*XU\R@KN=6,G
M^PI>,,3'+5T_[:^P9!1IK)8=*\]BR0RH:?(4 LFB"#4MQGUJNCO'-2RXNMS#
M(36U4H^6B9FJ%>?,J:"G$S%N?TZ A^;2<CDD [/:DY@[X4+0(%=*=LUAU528
M2>U\#*AA20H6;(EZ6?QU,I& /ATG:),(07,RW7[W>J^/S5,I(BT27L*C+%Y<
M>@V@H9+EW7A[1F(JMEO@9OV(B4KB9&9JWK-[9<N]O@BCG!I]&-:ZII/*LBYO
MRS7LY1P=/Z8(J2>Y0P7KAN42@90 A'(85P&U2&=J[EIYWBM5:^OH7-<Y9R%H
MKFINT$212N^,]P9^HA,)=V(8OM[QE(."1B5X"25L[R$_ N4MM;X . 98Z]1[
M75?<=L^*AS*5EZ TU_1-6\&=VBM-D_0T2<$80'R[X^ F#9.4^L76/*VRKO[U
MXVA.9*P2N/9?DO17L'G[NQ!R-U3]T9F<.M6?5(Z]\-?,N_86@7=G6XO3L9([
MNPZ>1X0:Z(0F8=10R:'Q6QD!V]T TI/((O0.(G9O'(A^+SH7J#X4W&U0W)$L
M9X^9EON3E72OHM-[E1$WLA;<?,,Z8=BPDS1E=^*R-!<F#7^J)@Q_^#L3.%;I
M'>Y:B&_'MD)$6<RAT)J&SSY8EC)JLS:MDZ:"=2>F$EE(R]-+R]D605FH )9Q
M\":LH*!6,;H/<>/ =[$TZ"]2L;1/?8<O3QEJ3X+LL5@/1^Q4ZC?3L9)M]A@@
M,!B4"MB_04N*]R*$IVA89&,EAXXY6@O^^0MD]<!;A@/X*;UQ>I)9HB_ R?ZC
M_P_,X$<^YHHUII\>%&SS_&&RB= +>%'G6X%Q5V\]0PWW#F$]'1',]1R&:>-3
M?HMV1;I^ J6D&(=)S<\J#M)<<0'\,3^ZW7CA>ND)-7 2CR.3XDU6Q:&GKA0P
MPZ2*,%9S^8C#^T95?;=A]NO)_@0+?D];/_U5<ZL:J[F+3TW1S@\#PN I.E\K
MXMR'FKF'7"=QPI4+!G]J60VW]V@-B@SXNNZJA^[U9Q7/[@$6!:X?CBBCD,_D
MY2S?H%<T#)PQHE*QIEG$=2R#"*POXNJ;MD/GZNXVO$^RH,"V!1> U4:XT+5!
M\1TJN@W8(JB!D,8%=(#X'SB.S[C3<9[)O]6JID:1=(_> MKU2S +KQ$+SL(#
M0FG[^/6IN1!\#PX%* 75Z%3%MJ>!/@>]PBNB5]4%BK!5>L;>LJM0U?U1Z:8*
M5!:WO)>.TQQE^QB+TEF"MP!8_EA\>W:98CX<' 6WD!12+8;W)3%K-/0IX;LC
MT.&\_#=JNO"JRRT("J>THG';I=[KJ0<!A_ B1*V9X3[I_<,E!2T? .8-NMJ<
MOT 0 A9S5C%^AAIZ"RD7V;7J<L15G7Y#4=BIJ1:@"/!D4D7199852C]?5>D%
M*)<X1"JS22G<,&F(9T@SLW'_;:HGZV&FM=F6VR"2IBI+RSWK:EB^+Z0P*5A0
M(9N.L%&8 :$A99"E _.Q.9E; @P+V7 XSKCT2K%(W:%."?/R*,B85,H-6, A
M*U5,ZAJOSP];Q(WA>2G@/KU($1*Q##]B?G5;;%5G>J[F+9^/^\_)7U$*QM?K
M,*962S7KJ"[LCC7I!MO-C,[4$KNF:NJ(+E'I6L9!2E2\S00M+8AM97IC[H3/
MV#<L:Y+!TBNZ,PO;B=@"WOH_%SZ6AM)HS] *:I#@/<.X^M!R;.LLP9G-LHFT
M] 0NF'?@U40\G7Y"47"?L)S=^Q]3?*8 71>B+%#P8UL#.8B$"XA",H^K%+^>
MSV'<"MPV%G>\9\C=QA3785Q@"8_)J?B]:H0.H.S\!6^4) WP24CWQ A((CFP
MN))$D1#!I]UWT[0XJZ%%<+Y6F%B:)=PYJ9.]]TL8(.':$@P6D!8@C?V(&RNN
M3 [J@^G95ID)2!BK#5'\8DX+N&\0GJ0:,GT-]XXJ0M9%TS+HZRQ%95\)$?>X
M@0PLIF+8+Q&3"-[$?1H^/BKERK%4%Z3YP8UI[6VZ&G-&^INC(YH5IG*-;:/
MJ,Y&]WJ3SB06*-*"!/=_BH%;5CR*?6I.RIAQ?@I,UF&,A4!PRV=W)0TM,'-F
M'6C,^D!3'TGV!,D\+16%W-T4K!NM\Z]5N)EJ+2TI1WDX;Q!F$4@8>!PT/(04
M0QU#<8%F5!60%[QH_2VK>FJVL9SNT?HI3J+D,=0IE63%W!TO:G(C*EG]B6H7
M=*?!99 #;5Y5Z22HJ>%.E5=CNTO\2-TXM%5FDO%/$\QE*A0I[=_="P]U7@=+
MR0&"("R2\(W>"')=MN2!MTO;G>C+0I&P<,"[%ZY58JVT[/3@OW=HY^-G&T7[
MR@0H LG>H3R/B!IAM;G!ESEF4BA4TG."!1QMU+7%5IPM(5A02F/I9[C,FC!O
M--'G9:QU"^M-QK:N@CS2^-RPD+$R6.DLW.!^"*!U4KU%]]IN/:JIL;\=6R($
M!6D#5#K57Q)LR6  [1)PD:ZHU@PS?;ON6 -^'"^2]"PI'O)-$;7SAOV")4NT
MVFR4W$)/*I8/]S6$NF&>,0K7=]SS3LT6:TK/Q-B<)6NJ;8CCPH]NT0[S6A+^
M1EK,]KU8V5[QA1RN0PU C;+LTE@O"!04P2CZ,5>MVM9U/S4T-HY"H)IU7?$E
M^"T2D:";+Z^IEL,XAKHW.+V5P9C"(.KO$P"WPMT-2,(VC0O:(%(.<Q7$C_<H
MW6I\DFI%)HOQK&DJ\<-9.N_H[,]],.UM-+ $U$?&BB*3AX&VRJ3:=\$Z=!GG
M+$$'E6\ZH!9K:SN\('(?LX !%U+;3Z'R.C!6=*?=8NE6-0&[M2+N=-EW]RE!
MZ=F?A%$DV#QT>D1#)7=R&GT&*#M'TB?JTYVKBK\^?U"6 $' YZ=NO;8=/Y7M
MV+[VF!LR%9&9,W),]%9-998N%&T(&7>+7^QV5$_E1Q"#>8$%OW/ZA0F%N%-5
M=QPM>229?L<P$GG9)02(,.,)W4HL?C3 0OE%@1D:Q,T1YM"1CG2LRLMKFF>3
MCIA]J ;+OL#7>J/WP@^6SS=1U=!,8TF:K=+5!C_8*-7(:H8:3F,NJ8,T.+-H
MWGM)P24PO8(:S<SNBH6==Y[(N>PTD> BZK]==]CN#GLQFJP[A'*4PZ5/G&X#
M%)SL/V5@1"]#,H\A\Y1NA7L0>'VL$15S*BF(YOB^?_)CQLS@NW>#0KA\LT9H
MU(^8>'Z&!8I2HK7-3]GMW!(,)"I0\UJ1UV;FX&A<\D3RRG2K4[4V5](5O",#
MV)5GJ$0HE^C2I<7<J1.2O1_E>[V_5:.0"YA9<.5B$;29U&E67W;IL6MVXM+<
MQYS5-6A7!L=U5>G7=M]);QZ\&3%#D.]!<05J7GB[=ELUL.P\;2_'_=VT.305
MG V"^):"+X+6;[]9RF7.$0;VCR\' H"T25+@HU1SKJFP@$% W"G+FF?:/(9*
M+@/QY0=3S15IJRPJ!06_A_;<]?2L,&4W[DWF%4B-!I7= $*VT=TC]/(0)MD>
M/.8UN<4DQ:SKK:OL67*%M/"[NUL?TVZDV]#?_\KR[C-;"&G,LC++A-9ZU:FJ
M6]S'=A*4SJ>Q>_T%0!F(."*(B#D=LH?TA#BPT<82[ \W?KI*27Q]0(;##5=F
MBX.RIK-A-7,/&B-'-15<"@ M--SRJ5?+ )HZ7X28V(S>*C6:AA08\_;!^52+
MR:+3Y + !IHF:0:8:IBO'H1<7F--]0Y7[1B>LRXU':J]&0K&:L.M[D9+O:[*
MK'K(4^!#4;J## @*5R5EL25H'Z4@55K&KV-EV\*)OR:W^_E+F',C(OQ-[(P:
M8:5#M47XMIIL8_*R,Z(QG6=YN(5%5_5T" 7+_?\41Q2_6-1149V;>HN8*RT(
MJJT1G&-V.^A%PJ'+(4%J^A'%*/7!8G<<;,,XS(B:]YD'D.K=*?O1F!4%3,J4
MMWY>AK"LB[F6%+0/Z4*V:="&Q"9*P%LPWJ\VGS+*DLK.<U\2UD>@S4'75NAV
MK>6>/Z-N%L!+)C'QB52[:>GK.-36?@9?C]6&1JQQ.>9RN\-/$G$J4R/3=:OK
M EV0_0-VC*;?B+ZLN[#[%SB.6.!ZHDP\L W:Z&Q-A04HX*3( %6NCIZJMG[4
MW*TA S!GJE&!C]!G2C77<SZD.P3.8?$::1D.5>D%;$A%7K[L9%_[I6,^\>ZT
MOD"_1N(@F%W&5"*8W7.QT?P"]I8&8JK;AC(2>"587)VN]5$DG:]VMMK4_&WP
M;4!R8A*4>A]B"+H^:WTHN8>2(;ADX3\+722"HO!$ I$D1Q"19HQBD+[B\CQ>
MK@PN/!TJV@:S\[.G1C8_W.Y'/_T5Y7!>AP=_6Z)L>[R-5/;"HT]D_M6FM+65
M<IUT=$/H.(P;?,@0/L189'TVAR&I2KN3;(6DN=3 H_?=5I=WCF5XGS"K9'W3
M5X=!=3-TKC^ORD<PF(A/_@ UD(J2Y?'<;,)_H52M,:_]_@6R_-<)2]<T3?1W
M[_9GU2G]G$0%WG;I_B*,4-H\:^IRKX1I)Y"WGQ,KW#JG-7<@T47D-U.IMW]W
MZJ7 3P.;J!*-$-[]U094IU4LSET2:5(%]B=E&W_LYOA4@SA6_3H9\I (2U!%
MS J>#TP/<Y_4.7R]B]]$C3A$1R?*0R'I!=DO# 1<M<'TE99D^)7[PG>W^BKJ
M+R1^H^Q099CN%,(AJV>;&TJ3!]8('),U9#^7<D6R<@N)N!-$L7K"\]7F_@DU
M;'2*B1]#T=TTX'.=Y>'ZE&)P:/7Y\K+6=Q/!0>#>"-PGZ50$6Y6I47M6=A<4
MP5\"@P=?NYRS+O^(DL?4WSW!RO?)K&&NYQ1.A>2D!X8V>Z+!\#0.F&'EZ/!5
M3#47<JF!'Z76W5U9W"$J:4!<C/WHAN3N80 I0I2!RNG27-$^""S  A)7^_"!
M@!"#RI4;/<^C$ M'Y+4[?E2X O8AX#* KXJ45[I^B&4<!U=>4<:N!(G0&=UT
M-98 <]+&<2<_,CW(^0M*UV&F]-T?0.CU::OJ0X"5FQ23L-V.Y7N%P@>680C2
M+&RR["&X8VN"0BB.2W;OV&W I5,F\M/U$SC^H&<4)3N:48_T5<N7=*GI[@[S
M8]5Q)C\M*:(HXY% +'=I]Q"B5LU98U* TUEM:JGKE-@XZK(+X?)XHC8XQ!
MT0TTIEW+G5-971;6<JSRLK-NGEMX**3W2_/7F7-18('D+M_FYVF*MVJ2 H0E
M/FD*77B'2HM J#WQ(_ <O'M"**_4KIG1JZ8/"8?2#H\) YNL7()I['CB)<05
M2QK,?RNDG;\U0I!NF= #-&M9&+!LY]WUHN-HNE,#LVBD7LX+ADKNE%^I'Z"M
MG_ZJCU1J%;/OP"-;]]4#%KFI+8U'XBG<=KK6GL+12FRS-/:1P*-P38+TLB>E
M*U67NNYR!,0!!*.!*J3*MK#:8#81A8\Q.!2%0>BG:O^6'@06P[M1\Q-+6JW(
M<MVOKKNA8:GX\3%%C]Q_E;+V.O6+MLIT29L@) D0^NE[EP'#@\ )2J6F,]=S
MCE+-9DX?6:(H[-#'E76(Z**H6HJJJY2^K<H*"['3<A^[3L;9LK!++^,U0@'-
M;M5#LVBN-VF"(KKF^&)7O7:ZX@NY^S_%/D]HQ>':.MW[LGHN]\]S2"["=MI(
M]=915UFFSKVZ[U<;DM5\B+Z]3<2E(S&\L& ?)]R#'YGP9'0U%H6,5>4J/=Y@
MADA,:WJ*WXTPUUBQAM-[M5:3:8/W[(;HJ82B)_P&X=+$U6#/H<S5'HG:\BY9
M(<%SI9X%1,_4=:GY:O?GS\3-&Z*8\/#6Q+T2OA*,<(UT%9P!N<$2K?4T&G8Z
M]?H60\2V++9T$DA<8HJ0:$CXZ+^$VV)K>]K[-N_N08K\+%MM"!N@-6-("EJ'
M V-SMMJ<XYLM"(BC"6= R!SJ0,&Z5EXBU)_&5UY58PG JY1+%%(>JL>AKF+;
MQW[D37G,E#MP3#$_G(5K>HXUN12G;G*)83C4N@QW@M%EKR^5U_?8M'-_WB91
M=$%AYR9ZT16-+0IVG*9:[Y:FO7M]I\*;Q(IRLC<$%IOK.0>% $,JA_-:;12Q
M,STQC_I3= B>2B&3-5=5@S_^E*%-$5V%&Q7'/HKD0M3;/8'5.U:V_.!3ET;P
M=XJ+C<^ #._PG$LC>C2E%Z'19I'M(<J(D$R5[5AN._6C")^CXV<_C.#0X/O^
MSA?1)#IHO8?3=G<_X7YDS/:#65\]6*BTK,MX/]F51Q^# N\Z9EC!3T+EU5KS
M:#4H."TVX.Y);1M#:C\MX&&4,VJ5!P*Y[(AVG+!G+)V('BEFJE;<N0!7B']&
MKR9YV5D!$8@*QB<>Y6=^[LNUE<;B[M@5Y4T-=K?JF@>K0!BO8II3RX!&/I*H
M=7^G[:[ L_X3WNQXPX.2^"[9Y/ GO=@UVO*.55V^]Z# USYF]3*3X1# )4LX
M@"9@5=W#J@_JP#"2#H4ZP)P@O(-V0=KEG+N:"L$)''^&:I:9@\DJA7^KL!_V
MRNC]52P1M^U+ 3BY^/JM+B4:$K2*"9)N$UY7\ J^0W&8I 2L3.IU886PPXBB
M/&2ZDLB/#7H(1>&%.)?<H@!12PFQ.>$9A_AKOQ6(VK>V.\_A/>0&/ X2M>E"
M6]1=\#R#0;\RP#:VR[E4S8EA )V8;WV=UZ>%-F*042,P=VIH:)^(QP. X9OX
MQ.7TSZG4VN!OZLQ-B]L12FK$W>$T'3Y <B3Q*FK)= S[4'#'<@D!65?0 FQY
M]4NK+#Y_V)\B>5GUVV2R19><!WI1HA,%R_VWF6Q1C6LEUS@XZ, 2;<L*6,8+
M7+:_B5E';,'V)GS5AT'A1UJ-34\JCF5L@CI4 3MF6I!(986%!$U #SL%3)""
MMI5C!)X^B9)'?-2UB=T5)2WWYU.<EC?4O?_"#!$9Y>-^3),LXZ"% #D)_\KZ
M.H"*NP-,[I:2%:UX%=51599WB2Z^QESD*@7.BWT0E#YMG&IZV32S48TFMPC6
M5>O )"EH^0"5T</JD]PL8KD'1!8S>Z++BCG$SM)?Q./OWTD#3$V"4;>Z"V9_
MA3!4,^;!W*T[1GQ3<.:=\HR,H;0P["M!;30 _ZI=>XGB#&%=^@LNM-IR,G?P
MLXDH<N@I?]]3=<1M'Q*O3]]:MWN)YG.BJ[2M/C4UYU WEH79:G.#>P4F%S(<
M++2%^-;>A&O(Z$1#92&X%%QY0S,6TBB2KV\G]<P8N#S-?=_^N0-N*_-[TN02
MTADI<[60P>/KBZ+REK\#2WF=Y'\!_0IG3NC(\6%D7T$YE:@T<R?<O8D(7-VC
M'GZ*JE>R/R&7Z"8 D<SZ!H9V$2TY.]FSU5<BUG>N/ZLM8?4Y1FGV%.Z4J)/-
M$@MQ*Q"LO/>X@>PIB2 R,&/ L"!6XYUSYN\SU7$=3L^Q[W&9L+V#Q4I7PZF=
M5>)*IHFT45=PK"K4Z@4=LRP/9I;@H4N <QE;CM*MZC!-V*!+T19?#BR6!-YE
M:JJ'Q I:;RQ]K45%\H'3[Z<X>8#N@=1Q&>\*<% 0HPENP84.!D.X]U(1<8?R
MG.*:*I_WZ1ITY_SEOU!N3+,#ZF46\EYJL>\D);] ::O"GA6P=PW!.*YZXYC%
M "@A""V3\> G:).D%6(_RABJI98#&430.91AV2=!#:WF[]55OL##5'?J<^Q3
MN"B?_2N#>ZVVBL/<.I\%Y5N:Q/C/-7UM^X3[]R8S:WP8OG-3,$-!WK_T/OG<
MO+-T)>=U\</;FXEL%7RZ&NE?4]JE'T+*&;FJ5UJ#O+:*0Z>N,I,W3>'71N_1
MVKBZUW><]\+ "C4*N=,>E&"'%V'L8[$!-(@E\VH*#NA6V=U*=,B(1%'UJJP*
MJO4:0FJFZ_BXP*N0I%P=);F&FR7<Q_O79X[QJ+6Y/0OQE(,7 MY56FZX/[6%
M;4@9&R_=8*8[Q1)UR]XR?T5I<I.$^$; Q= =..B 8W$5?2:/%SPKT/UG7&!/
M_WN1%)IP9NMM?(%"!CX6&Q2ZE#/:/7#NN4'L@(*.T>"ET2INW4F8VC/9A*DW
MO+S@0M1C%_X:T:38G71D0G'+TUD#, *Y\/QEY\>9?FK-E9:H1#<)RIVJNA0+
MF)A[!WA]8,S_M OP$X5+OGOW>Y-(T*&NPZ.!!91U*&/-I$7<OCQ&?.77BG7<
M4PE&7$F6$N7;Z(PKY8G2JZ%=9B+X.NK61R(<U8"Z76HLY*$4N%+JRP(BM"E[
MT2A2L^Z=\R)-=NJ<FK6?+>^8FQ3S]R')1VN(UE"47*9&IIO>N!<)APA/X3.^
M-6XB?VWV;5<47I@D;TZV+7\R-/$Y$S1D_Z@],*\"[M3*?)*9OX+FY'6HN.@E
MOD4[/T^9^H]G).01^2-65$]W5@7-Y-J9UZ.:T:6!DI\W%>,X@-(RA$XF,E+W
MH0 <D)(B!U?"#UWD3DWMA82L-]SR>28V.*%LNRK&V9N,LP$K0LC+V^@&Q7Y$
M8@3C,OLH2T:J&/L8BDNV1 ('9=*K]";C;J-7^:.TK%:[G'LOR^X^9MHJUCD?
M,457QG-T,=@8.H6J_3. @.U40C1@!&+&0'K7I V2%IPNL1%+?[,1,N)4F3[E
M:2* -<)/B722+5&>U;?FIGC 4MI%E/AJP&6QC.7%Z,*B<J;T9?T$ZBY)_L51
MI)P[H0GA]5A0P5W<^I?Q!OZA##K!&5AM6&PNN@OC-1*\T""6[QBS/4KCM?UV
M7I]2MFX7)%<UR;X7EI#\TF#).9(!CNN3\]TK[!#)KC*&%O>D8EO=BS[G28S_
M^U\HS=!>_3+)"SKW=,:7''V[KY$I97NMZ!(R$W#>0\]E:2I,!I7() :A:2UO
MU:VB:XMG5B4B[F+D;!=WIZ<F;_5E+,NN3+:T #AC\H8<1LO=>U=A+/">JT1@
MO&!^EL1XP?8WF*TA$;&:X"$;E-T[]Z'L!DLUZLM/4G!AX;/Z+ >Z*C.)"6?)
MFGK98HH2":'VL[L[KO*%Q;R#)II!$__7C\82_,G$;&)$G+\DOEK@AD\3$FD2
MD?6DXAS]_G*[\PFZ*KZ/29:T,,4;#\SL:_S*(A+F?Y_04ENU\G0P.=MR+Y-
M@_O/"1@M5C&ZQJP",4BHN= .M5RFT=FA--\#1@:\HG!A$5@PLJ>4QE9M);<H
M =7JXQ<2S[\6-:!=>*;[F:5*V;__\' ?YJWW7EID86_@<7[JI^D>'SF=#U2W
MNHO"I->&36DJN(N3Y["F<">2#Y )6L^DZ.LL$]B1/W]GA0G+O#<9]_BK'=$J
MY:47XJ\F)! RX39TJ.C0D,^\%5<;8@, >"*49IT"][K5=2B#/>.^)>E>I1O1
M%)Q9=+D(L[4?<3BV=='LJ;[LJU5V<T5Q5O/NO03XLC@+UY/X&_=I>CG:4_P'
M]60DO,0F20G('T>Y[:I8-5!9&-8O,P6KG6DT=9P+OPP#_C[!<PXJ/+@;\>L,
MN5+[>$<-)N?N3BAUS5R2[9[4N%UC2<:CTGP+=D9FA<RTP)T]B;AS[_33*$3
M:;T EZAEIN5E'3[R 0!@JD"Q3_8?_7\DZ6GD9SK-6E\J"S*5'$=1\AG$-/#;
M*)W=.W'8 XDM+3F"@4LUU7+OT<4=S B87;!JX-2U4.WJ#B,G>U*=[$VM-#]9
M<\M3Z.D0] V5+&M1CV^.3XFF4*TR;1:9/D%'S:D+KKXM-;21]RE;I\EG63^'
M$7+'AQ1X&_^S )[PF5E_M,=#77X!K)1<E"%"-X^2Q">;BD 5W&FG1\!R(PN(
M%3,9V-L%;?MO%FE,W*4NPA?N-;7:X(.!RLN&GG6-GVE/$K;S2U'F[L.[[[_3
M9)AJ%;+M^X1O$09]?Q:FF&W&TDZU&S6N4%WJ6>[K:9(FL?\<ID5V' 987 O1
M!EX7_'8FVW#-#1P711S(U!K#:"S@9I+%M)SLX?8$U^+,B)LUA-("AGV>IN F
MG<+N(J"K<7"3ADG*5+JEH5X(!]?ZNHPG;'T_;[<A]34 DQ9W"">94U2)>(UU
MW+OCU)E9HL &?RK<:"1XXIA\=3I2<3?<TM2[VC1EV?.7=52 [H@K6U2#[47#
MN;Z-H!$IG2J:I:P?%EG8IOR(2$NZUB< #@[QVR .WLTK2,]/]2+A7)^GDEY(
M)GFJ+N>()#0X+Z-1,1"NA__0W.$V6W!J,Z,/#+W(=(Z+[9+VH^F?PXP&Q;1@
ML.LY?61GK4]URST_\_<1A$3<)5'!(B4T29<UI9V*SV$0^NG^SB?"(3#0&@VJ
MNKQ#Y&D23TVV08""D_VG##: Q'G0<,,-(+2  PR<\RGF3!Z3E*6SU^KU.U1<
MQB._*]+UDY^A6NABEW=?7M&VPF^]1A'<^)!0MH(RTZC_M!7<^>HD\2.DR;EA
MDU;Q]B=[MCGVF#'$$@@OH?. &4K-]H.21'@_;.^.-4 LC2(.]WQN]+ZOEW'W
M5J!'*I+NDI3<AR DE#)2_ CK>F7PP>E'P_9SK8(/PRQ:0IDUZ;O=H=K2,1UT
M6HE>)-S+]A7*@4GII*VR-#"2,[1.P142_'2*",X&Q$$(2B% %4FH#X'J=%DA
MO02U6X<(^IY6CP$D+=\^ A@CBYK _Q!X*$.P1;>*L\(<EDD])<Q ^W?;=A>9
M!T?7&-GNE9V=@Y_14[B.#,[NC4(.F8((WNT?\55# 5..@RV>8I"/X+3IG?LZ
M5EZ2-@DZ2<)S*X\N@UC9DXA#+U_,D@'W#OP."(<Z-8"TK-MHD9[AY?HZ;A'W
M*B&V!I:G=90VUG/NY:SPX 8_UTO\NCV'0>%'F _)4Y2'--TGYV"X@5!*2A>1
M,7W+MHWA/UZ!26:=:X375AEWOFUJ9TJU2ME0R;:F!E1V =)J9EMEW-YD'4/=
M%A'=)BJSX%G;@ES_KZ[0_\T:RWG\]$YDBM(+B5F[2(F'VWJ_VM '(%PS#:ER
M23I67X!LJ+D]&& 8YJUN_#1?;22<5W>!T58[CL$O6T! #+Q(,7Y#)9?:'Z+"
MX*J,RYBS;GAK:G1;YGJ6GQO!,43I0-,JX]*UNH3<$(PH9!<P(/TN&!X]J=A.
M>81OJ$W8$\'"7&D)T&0$@+1GN&[GZ@NXS%F0!@^\8?A7F.DN#03,8-#7R7DP
MX9DC@ND#>QX'$"?6&)6ZW-)L[=VOBAX$['L9KW'+91"X.@&JL;AMO+]BN_7!
M,"I H0F03Y"\Q(C\UY/$3+O\<KU)62+6XSPGKJS@IQ/YS01&AL(+2X@ARR^J
MV.\]""Q$>!#LFV!CR.#M '$3=_;,WW?#OC#1<&<MQ?,>A.!^!2D9B)\]/A?4
MSQ4%P+^ ?J?(60PA3S^";U\2-:/-\&B']O1A8<=!0#3.?@0W,>;3B,>B3SPX
M3Y*X!4HQG,ZB\G<H5DU:= GP@?=)-<$ &7D9G_J[,/<CLEL>FD@ MXB:$O#6
M2Y_#-:(,PRTU!T,!G?)X\F:=WFU52CAV+P''P:\J>NQ4D?V=JT]_;&]+R_YE
M@!O&C[S?5DC$HM!.HO? $4#4770\W+9:L^[!TX ZJ>-A24=GK./2=Z>7<F:!
M>IFNJ&3'FQREEA#.ZK2<F[68J&DP0?%2MIU*I+-5\ATD\7&<ITETG="+;(_W
MC_*HC*#F'EX!BY9GB.1,Q-N"G/1R\PP$0= YS4W>K'M'.VWHA:FTL^XWDE34
ML^(2;B]<XY]U[N2]2#@;Z$=__82?[73?%1)#4\%!,AUP*5W%P&!Q,&%YMCD+
M!*=GSC(0@<[0#IPH@3VDJ!A, ].1Y=+3L+U"F$N+$<*7TT<*,7:/UD]Q$B6/
M^ZM(8RGO5&\F[1+3*-SMMP]),[RU_?N2G,A,D4C:*FY=DVJF!)TO4KV@;>"*
M)-[_UT^%(H.RM(C#]0_)22&I(+>[-'FFZ/VZJUI?Y_4!@?)(6"XV9\0V>(]O
M:08Y<YV0N#3,)R=1=$$1*Y7.%[-V8KH8<F)L%)1F@'Z1K3:TFS"V)%8\A_V)
M6+=R;R*F)R!)N/'\K_/5AOBE)T7FQP'/9)RH3VA_(LYEO5*'H#N\BL++PT^C
MOHT:_\DN-=WZMP@R*ECLS+XM\@H+NU'I?412!P,#"XG#\0IDQ(ZG?'0'4%J>
MR:E2MI*L@CJ];+?Z#H?(E0(")GR8Z8+KM56<1V7?)TSQR[E3I+T%C=7<8N&W
M@'SJ^HL>)M[!Y-R:QRH5QJ<XS+/;NT]:CV-]'8=#(7&KX(>Y%[@@DX!EK.9
M(0)W&@2J@KC/-!?^H]1_< 2U!?A\*9F*;LAIANK.!FC V1H-H:4R ,3H)@GC
M')P8X7]LK>4 5&<%XBPU_/<<U)R:N%-+I-UY[S!T2&:;EG-(I=!'9,2,Y(<0
M?P>!"H_P+Q2F@-I$5<X^D[7G#F[51JK365*<SF!)5Y@FY4;;N5M?P,W>:?\#
M]ORZQ&CG<T']1HCRHD=,O^7VW+G5^@#^N]H8>4U)07?V)VK=I-!PN\(4,JPL
M[ERIT\_@.17$W" <AC(UUX\H>4S]W5.(91 %)H.ZK$/O$? =,,4SU LMX)ZK
M^0SBNYI)$SUOKVY4W#DGI<A?;:[\6,7M" 7<<7AUE'057]8HY0[Z!U#ISK,\
MW/IMX%A%(=O\4)AL(O2BYOKK!=QM/QH/;M+IMHJYY)1!.J+/,FCM*JE;I<74
M5G%KYJ58M2T0B4J]"NB*@AS(W=UU%N'!-*>*!**XO/0AU\8 U0K:COXI'X2V
M>Z<R@M1<R3E7-0)SX\H (FBUB<7PS\1@\7,")E'J/*AYT;K570"K)$F-EYWL
MA4_=E'X=R2S,C-?!)T',UL53[8!  8KV:CU!O?LQC,-ML;7M%-&_ Y/=?RV[
M>5T-TN$R[$3AR]HD9W#-(2P]M..'YVMWV>K)3J'C0R@Y=/U-?T6Y7^.2M,X!
MF@HS.6ORK$;<-Q? BR0^F])BLZI4*@RUX\<4(>I?4  +N -K(71(B@W4KZYS
M]LR0++JK:Y.BMG-G6Q%9D2K5]8A.YGJV04S]-;5[Q!1T^?P%O 0R!1)XIRK+
M<S S FEUJ>G63X2<8<B"VB$WAK+\$M#!1=@U_'>$)/AKRN50:5]LD9_I$;I"
MCWYT'N=PB-KK*"OA/JRMPBXWZI;U==P-A2>YQ$O.\USJ/,?4Y1<?Y@I1J029
M6VG+Z$OG]4DKS)G^1UPPSRYCJNEKA-21'P'*J-RRMF67@;UPQ]*'<9(*V<)*
M!/5*)WRR!X4D#<"-P)60%%%Q_(/IS<IM?_1?0*D@97K:OR\#4*2RU55H5=V3
M4@PBM5@L.M4]9ZKF,+JYCN5)'I;.R3*[5;:-;]A0]C(H@9^3J-@B[N-)-'1J
MM,.>)-QY46*./X-(7I2MXO,7>"2Q//9$\Y."3ZO*O=)8SUV<2NVUOX47:+7Y
ME-$MI I5T=:9>']A-OV!L218B"G6:\RT=-]:FMJV-<>3!0+^3!TTL83"M)WW
M"7PE)&+IR\^\@@Z[XS2+'98785P,2BQ*/E_&FR3=^AW2:W2M[9!WX,9'D'OO
M=GBYDO2*^21JM2-=:CI4O0M;&-@8WM>*?S'Z!7>GX,[#J '3=P8(?VH/<$5I
MVS!8#&:0!H*L8HI,PMTG:/0;VH8M:V'/RF[] H%A%&/?M09Q70W;L3S,-"'$
M#6GP,I2%G:O(;?BD"]\8%.NV6UN"1&06?FSO/7PR=WX8,(=WD*TPN[7!TTOP
M&B^0'-:K0RWW>DZ!C\S*+W\*,;>2KI_VVG>R'XU%8!U)[XIAE!R[:!H@"VME
MEH9;+DGMK0J\Z$Y@DNP&/()%(@*K2KGS<I9G(56Y.RM*NXYWOTA2&K7]2&,>
M,[SNU%.W5-CWR) QBN;"X,_K-](IN84NXY9K %R^90369SPHE8[?=BNOSV1"
M_O,SO4FHI4+E,FZUB47OJXL@#.6(@$.IO)K(4KV.<.;&9S+-4YO[11BA]!2O
MXF.2-FT+JE+.(_X)ND[=,-#='-23R/)\? Q*'G.]UZX5IO"PB]#WLJXL!-;I
M%@6(>@W3!T<KPW6J:GFK_.RGY(ZL7X#@4B=;34WIZ5#NA=M:>TV;D.^[TUF:
MV(!W??Y+4A#-'KXNRD>?/??]I H3,>L+^9!7#M<_H0B?TX\0PD^].$&B9/_
MB7_V(SCK//0ST-J2;)&V??OJ _UDH@_HS),BEV<HM434\B@%+^&:#8THT37=
MD9[2X<06S;^#9SCO_UHM&0\B-1-/RM16%Y@/\R-PR5/GZ5,6=:]8E45"23(3
MX +7"=R:0J*"*T,@IMTVEF01J1TX8KRA3ZDPODL:<ZXR!8XDNCQ&G\8+F>29
MSM7=:FE:B:S:7/F#PJ64\M[<I;0\ EJ-S13-+=,9^E,<,'<RA(43</[1)LT;
M1LNE]R#UIHT%I )@Q:X1(%?[+VK'04.]A2DM>ZD?EP?_"7E^JU\T,3L]"#C?
M= QHBAG_J,^I&%YCV'O&ZA/Y28 #</&0K=.08E'SR$B-3V'7JNYS)-495:*F
M*;^*'W6\4R\2SG6<%TF*PL>8LKEK>E0H>#]XWEZI@WEZ$%@8_Z<UT^FMWB,(
MSJINOT6/(6AAXUP1CBTMYFR=ZEJ.2ONA7PQ3K46$8K.0WC[I##I7MYU[)RW0
MIQT)/#Y#:W(1XT+O-)EXM!4<WN$!VH1QF&.&\QFUK"\?_7\D*8GD58;\CZ%D
M/2%+.T^]+O.*LO12_(DYMBO3W)*L%68,CQXDG WTSP5F*5$:<5</2!I0NJN;
MAMBQLNVD1>!7$468&V;P%JL4/V \7E6VPPPUEO34P^G=QJ7W%#VSM\!^KC:K
M(@<N+6..A(]/W1_\?F07 -5EM%9F*G-E-PROL?078M7DC(1$$=RAPJSLW?D6
MI8\0F)@FG_,GF'4_5GM5R$N[=-FD(A+(!L?/?A@1\*4$=VR;Q&)(*:B1UP8W
MA*'4W,6#)S':4]BFBR(.]-$/BL*N72BKW#]-EDCO)JFIYVQ(VIS 0IP=V3Z*
MX?6C,8M3@9@FIKL+0:V6VP1P OMS@](<L]:0E#8IM2M*PV/7VK9-QX+&;;4I
M&?&['.T^[:3F86V%)3%2"A6'^,)S-UZJQU=:N$NMB,JH,E?K"]/*V\7SI- :
MMAV-^W? I<C)'W]Z!Q\7^5.2:C+\Z&JXXY0@_Q)UCU&=EUH1MYLZN_'#X"))
M\>T*6)M/-(TX_J*_(:HOJ>79U#]E:%-$5^%&)4ITJ>G.^I;L_<B 5%TOXW(%
MU@@%V46:;.$<@'H"'H#R.*OGWU!O.0D'C.E\=37<^RD1])#L"CVCZ+UV2^EJ
MO#ZO$J.O]_'C8XH>\7N)A:$TQ'S*F@R>^H78=CH9V1NG.IK.P!.*PNX<:A(L
M=*!T"_TR*8#E96=2*YTE:[HK0$!*=TD*'A+@*H&%1(3O%E7G^]5=+M.MU%!V
M01L\?T'I.LP0R=4PE.NVV -W<>,-B;:3:LA0:1%&7(Z(S;]C'C?D"NU@Q-56
M7PP 3C<W4%,MVV$'(%_B%PO?+6JK9[N0\QN?6\> H0R)'9:'->(]GJ/R=WWL
MU%!J2U(>#8Y>96X<M"1#.F$GA[M%:"\6-WUQZ#%)D!_9$(GBL].!-M=S=P67
MK!R1S,IG4TRHV.)V35DG1Q)=9/:V?AJ6_H2<^HZDZ EWI PD HU7%W\1;35W
MJQ@^4M<!?(4SI;4BHO$RNT5^EL3XAMK?)%D&/-&5(6S'%G7G[X>8#NPF32[
MEE.S]!KN?'-]AY<:1>FK_!6-%Y:R@G/O8<YX'*^)R1 <SRO',X/CL+ZN;3ZR
MV&Y]8)>$(U(U3%X\;2:R'M4M]YQH^-6\K_BS\^T P==A"@O8P7&\47B1#ZMX
MCPQX3FO5%^ ))J1U(3RKY)V$M>B45VTL5=O.R_X+1.=^>/>]7,>L*.0R@4_C
M]C \ YH*"]A9<L:1G VN7Z:P9]V2]ED@[  -\CJ) ]SM-0D"9.*APA5!#H U
M94L3>1V5G12$YHOP!<O11O024U5W4H<48\/$?)MJN8]IZVQ'T=58&HP,[FL*
MP<58H,F*"$X F'29PH:^Q;@TEG&TK[@EX@[7F+F/W?J?/^+K(@W]*",QR+CG
M*'U6>LMUJ.B6,ZNEES&E#%!76(B[<YZGX4.14Q_E&S\EH/@ZX/G.U1UCQJPV
M/+877JM5#-=@XRHD"9)"<!=C5V7]"Z$D'C$-8\;WSR[)_.C'-"EVN ;Q385G
MKBC1#=5G>@$=6]@3UAIHXW=MJN%1)!W>(2QWIS:6I5[(76?1(P7)VX%-E''Z
M^VYZ_&YUE^<I-QAW9C)6GS_Z9XC^>QG+84S:V%>]JR] <N-VKPMUG.O)OHIT
M[:,6&$AX6?@W\)_K)/\+RL'Z"@XM 9ADJ9,YL!8JU]RAU%Z?I]O07%6W:$L#
M,_C@"S^"V9@6<<E*!^U?.3+,$)F8?_Z"UL0>H#'UV:%I.]]!&$4A?IS07?BX
M]35YYV3E%@SQS:1!\8?U.BUT.73<]&&Y[G<&WS?U :TYOMTF4;1)4JAH._9E
M>$<L;US:$2S["1Y!3!VJ/E'F2I9["2[H !KY";]O)/B.(B"2<&3\%]_Y>L9V
M#"6';"Y3;O8)/C)4<NU21%1>[ &$<)S3(LOQRY*6PC!<4/C_ S5,WA!*L^<G
MD.*]2XM8-_'&:RPUKU+ I&,?!--ADVL67H(RJ4P9VBBW$5ND[U2E,5AQ0W6U
M;=&,[3M114351AHER(R=6(QSL$'QJBSN+OI(+76*'N?<B7.3HQ1,PQ>X@BHZ
M:03%)7NQ-\"5N.E#SBM)<BA,VM2BD=")VA#X<=R#R Q,,(JD>\M2#^NANH;E
ME[/!A8L)[V4/H:ZX>PWU:E-B?W&+HM'>U:&J.Q@/KOHRNFW*2KHWE]=/YBW:
M^?A99W%*#/64OWLF.WH?4BY=DD!E(-PZAA2@RO*VA5X27]$%_U!1TF4H=P /
M7R!#]5MMJ 67(7*MXFC?/;V8#<JS2EAW3RB*3%!EM4*V 7K8A;C:*%#I03H]
M\2-  L#]0'G=H4SKMS9! ^[C]D?D_BB3=]ZC]5,<_K- W9Q*YVE[(8"#'+^]
MDO<P;\C<]?Q6)NEA-!QX09J0QWK3F/6:PMWANG>*[VG0"JG*NWO%Z<DQ.!/7
M"RW #'V>II!#&?,/-$\#R64?)BG5F0A/>G<#] "2+O4MT1[XPCUEY^]0C'LJ
M20K>H8)+;@?NI355*MZDR2.^FK(?4S7CKZOA7@ X?_&WS#*G\QY2EY_UYF+,
M=^D !,)AT9QX8W&[LYZEN3#C^%/5<?P!GU44^_@PWJ3H.4R*C.QHW!T42%G\
M3E4<O'BW*"]2L*^ER7.8@>RM#(*S0]/R&#G,@"*"0#8$4Q7G$:0VK.JSP0M,
M$O!@.GO47_!'A.]<?_>$N9=(BD6A+SLS/E&5AO$"?R.[W%0E[8>_X-4/B#$3
M/++QZG__[OU_@Y.B6CMAKO1%')M2_SO#R:G:6HC)7Y;75U?RU3KE7"3I!H7X
MD4(9]:@+F=,[QZB:R ?'W*[EHWY3I G><TA]KALE%FGSK&)T.V26&T#(V:#O
M4Z(6VE=GBE\88$#\B/(GY5;L5'4!LK$B. W<S"ZHFUG/H-K>!!=MAKT(PE";
MB[0G$>>/L.";HP%]595V=Q+]EU-\=L+\U$_3/7. U"Z,KL9,G.4I! GB>^ T
M":3IO\6?72I6N/OYZB$*'ZF.%'!RK_$1O?^,HF?T$9=YTNA9NA*PGF&*^$1U
MRGK2H8*[V)"*]=1;124%'=H;TO#9IX[]= , ++06<E!;Q39G5=HI>*Z4N^+A
M'_BJOD\J+D_*<'6J:#M^ <\'PA=5E-R%A /"1T@3Q: N[8ZCX"A&,HVE6;'>
ML;9[3Z5K9'1-@B*+9FJ.\PL$VK2(Z&6AR[7"(S@=$^6E 3'1 T[3JV?$N4%(
MM5Z!HBE=I$81=0ZIA9_"I@C6+1ZX!P&'JI,0[\L=9DH^QRC5Y@:0%IT^*DQ(
M'0\R(>0E$;=1Q[@N$Q7;8'>EH,>#IV4)1IX-/AFC2"TG0]U=LLFQ6*'4R2G+
MSR2 $$_?FR?,[BH]#5I%%J+K;.6WZQ'?)-9R&/#M9PCP8BZWNS1YID#\.GNU
MIH)M;[5G_  %Z"K2X)ZWRCB,%!,YC-6&OC/@[\9,1Y"0,\[PNQ. YM",23V0
MG'/5C1V;!G^NY[ ]BJTYW#\Y[B"L+!C#[G:PN"E<>P8=F+F>[5 ]E/^2I+\"
M)("_"W,_.G]AT5M,;Z$R?O6M/:&HS=023 H@<AR)SF%J8)/ ;:J^ +CX\D+H
MC 7?KN'>_8B% &.62WT %(47<I"-VB9E<?>SWTW*4A:?AAV D-P(O3R$2;;7
MZ% UI1=@SJ)S=H(V25KI*?"ZHRP/U]!G&A#3TZ8UC*K+S 8LE0N8L4LW*L#U
M[1QHUX^&=0^8A[Q2E/R$HN ^^>CG!;F#8@4:'#,9LS0;<A^9\63=ATZ<[,4X
M#P(2"/FG-4ZDG:JZ"^6#N*H;/+EI>6%7$*E!^!P&A1]Q@T$&]_AJPV-_13</
M[6-@N1'G,=<T,@N1/:E62:M*+\!H1,"8Q0@3H\VH76,![TTK,+TN!_5\9_I1
M<Q]\6P]!T]LN#94<;LEG%"4[D/373W$2)8_[6XCDEK- 76M99]'\,(+5ASS5
MOFA%.,<LR!84%>4E+V?:>M2WW/=/\9HFE(-'5,%U: JZ?9<4^288PT<W+V;-
M*QT\/K'D$[7*5H[U!/9:#6(T46/N19U2=M0^S\KB"PRG), (P8A8RA8!VR$7
M<,%6KCA9 Q-4&G)AJ.)2YO?!KYTC&.C3QLL++X!-H&%1OV"Y68BD%X#+SE_P
M]H@Q!\I R[*3_4V: )(FL !W*'T.UZA/>*+E]A:#%051V.N>@%'U.LNQ'BK1
MI[N:$]4$;&MXTV0-WJ!XQ^SS<)WQO:)Q6]?7^")L*;7$K9@*PH+*3(859=,S
MQTP1[B-DN#-)VMRYVJ+S1J2!=1@WS%!*232POZV ,*EC<!,<ND]-EZQ6$Q,>
MF,E2WM)&&G:LO"S8="X[\@OQK$ 0C'?_.5&:UOM1<?=&)%F.MKLHV8L:*L-[
M9ZADVP&HE0<'TD0*UBYEGLM.%9U-?1O:12NQ*(N[2P9$_'<@MQ*+NO\4A\IS
MKRB\:+=5)@?72IR%N"(\A:$?C8G0,9&V?8CPXY'W#(LWUEENN&=FB+OD".=E
MG*4. 5TE_,S;"9?Q.J WH&L.$.8TR@G^4@?H*&LX-V14FA_":9AM&9(*,S&]
MQP6>M22]"-/M95.+TOY]5O;V8QB'VV*K1#:I__[E*$1T>;<F:<NI35^7C$%=
MSMV;3GA2A-@,*B[H*&(N=<",<'&87L#$7GEE2(UJNY7EOJ*&]\N<@>CX\3%%
MCYBUN020$,PZK'6($N[Z,UG(@D0%4V.AB(Z"FV"[AR\,)_MEZ,&HWXS@,S.'
M!JS=Z.L[N50,KJQ$&5&^W#_Y,3M#UQ X!L>HP8O^B$GG9_CDJ*R^B^J:.[S*
M(" :1S^"L*C+F'E&:Q]0?9TOX\#*,GJ!%C/#.T##4LW;AUD!#G]!4?3?<?(Y
MOD-^EL1X.!#6J89F595WOC\$Q [,Q%X NRNUAQF6N#,9=_Z02J^(K.X6T3&F
M=3@]A]=;!3.;<(46JF7UOD_@H21 CP$*3O:?,I"@*_4^*,;HZ3. ^D[1E#LU
M.[C8X)T=X45EP'E,;:Z/$S95<^QN4Z;LN&+"3@>?&U6=Q5M\.J+3#";GUN^,
M*;?P,=,[54K+VG8^;*7[[)!<T5S)NDI]7 )?)DQTXWFY^83&&\NU]>ZZ8Q^/
ME'LEBP!$%;X%Z<TJ%E NP+*G",$82&L!.LLR@)+QKKV#B+35'6!+R](U*XQ+
M4JBU"1NR/1N8=TV*>DOPG=P;4E-Z":^"P<^^77")0#.= ]'ZT9@7%;_2M9O@
M*CI66HB[LW#[5E?S+9R#IH=4__HN0[A]IG!F=@!B 3+9%XS5W)\NIF?1@ =U
MJN(0^47AQ\HQ@#;H#&7K-*3,P0:<(,!HAZ]G>$]BO.>D;A/VZ4\#8-F,.!T
M:=F9A.T1R%]Q]L9+.ZROL4B ZW8*WH[2YTBBL_H0W(<Y95-Y."QD4;]%3.GU
M%.[N$_J"*5,Y]*7@SIC.+/UBW_2A);H:R]#_*>P6 D8A_+<, ^ZBY^M+<C*[
MK2$N5O6$#Z7B6(U'8O[2A/GY%?BR9.HKO.T:&!0HXR@46B7?,(I+LF7 !EMM
M.-M";Y$&\F$/+/-.U);@ZJ,S[;:*S?I:G+^@=0%B_VJS"=<*@$U-P:4AP9(I
M%#%;==[3_6@L0'55N<!5,O,JKG(N 0Q]!GFW"*M";\?+N'K(N7$,=#,IOBM/
M]O1/HU5MUBY,]O[((PKCX"R,BAR4W)W>G\Y47$)P[LA+CQ<'GG6E/-4HMH =
M+@-K$;3MP(E6>TD.!-/-F]1:0Y9WZRU^M-,0_.S([00)25%*W%T![P>^(K>1
M6I+L1V#6Q^8:BTI/QYC]#M>^\J&1%'*KK;U.XH3;'2E_Q>0\@\:S8V6'69&P
MB("O8[:=\<7&7'#U(I2QFE7=[9H^#G0\[$,U%/;%W^_.&YT5?G":D46B(3$"
M'IKK+0TQ2'4 %*4MWY@:@Y4RB-%89PGX<"R9/4E5F:)_%N#/I,'Y[%+3M9N7
M,OFENMP"F)*V$T1/F[&1@//XK5*94AW:),O$G%M*PTH/"DN$TM2(Y:H:4X1B
M:_*/2/7LU+;-/9^D$HL%LLX6K.&-SCUCF(S5-:M 7RKN[AI\YX4;S/'&.?.?
MAO4"3ZNP UY0M\HN&2%N1@;[LM$;3EW>W1"HRISBQVYW>/>D/ F(+A>$L9H[
MFP/STJ] 9ZY1KO=(T59Y?4$[G</;I#E79F]^\8Z\(QUWEP2\PUW\U-R!OL[2
M7LW60V?07/0F,S,VC5Y1V[GR<K ?3C!C^;3UTU]-B@%]-=?2G9#U44SW(3-7
MZL6_/H1LZU^QP/;^W<GOWN,[_&,28+X*!1>1W^0P]65G=5^\V_I1Q*VC2G_%
M>BG+DX97"C"W/KS[_IU:,=TNM 2I5Y#)-2ZJS<]F67@@W6D6YOYS<O^4%!F^
MMN^?PA3O!O!^-"Z5MII#+%GBN:G.]\1^M@V>27F5^^2&00@"PY?$^"N2^!#<
MXEG3LAGM4=NY(ZI60=<H-(\?HL9O4EO!'8@;EHPD490T@4.?@,T!A%ZM*"9P
MEE, AUEJW3;*=Y)EJQCT')7'B6RC2\NY4Q\(7J]@2W_(@<$&]<!-BK9AL57I
M$(SUEF!X(6_Q:>1G63=S2Z.\0TFVSDW@RZ/,'LCO;:5 VZ&J0V<O/X=495>8
M>O1?11IF0;A6/@Q=:[GC8.!Z66WP54XF>_5 \>XO8SSE3W!=83&HGZEU#$7;
MPGOQ4,9@B.@+ZC?<4,,ZBZ$T[&CU"IWJN;^]9*9?K5:A2TWK/DZ$T\73^',2
M%5O$WP!)_BAS^8G[)K(+6J\K<[4EB+OT=B]1CP%0[[/&1;!+S>G"!81EAFL<
MKBV(Z:(L\*D?K8NH?:$!*QPSQ],^Z&_66UMDQB.>4N@&^#"\BGF>A@]%3GJ>
MW/BF@.015-U?C9?Q#O/X5Y#RZSN]$XJFQD)\KQHBRBV">YK_"-M6%>';FXRS
M ?^Y\-,<I=&>";M^)."^=HX[[TO%\FU&A<M*[5/%8H'P<^&OD1J2H7-=]^G!
MZBYTIX3EO(R'OSL6"$_F95CKT2W*BQ36"!0T(),+D7=ZQ\/N9)P["3 HOV[N
M 8W"MD&,\&'.]O%)F&28SS((%NK"#DU_&9$?F&%+[7W6*.;._%\Q.N6S6%V;
M*J._OI+#B,0P HV&]O5O%')W^OA5AF7WLZ1XR#=%U/;!,1S*7C1L TZ!FQWF
M$X4LI01D:!63D*EF'%6/'!J6*#M4 &6_PO'^A%<F!55-!TN OHYMN^'GY*\H
M38@!,$44NTMC+E277I!73]L)N[-SCZ2JY0F_!O0(%F&KGFA)J85?3Z/N)>G@
M@)#WLHWP7_'CG[["L_GI[JO:>%.4)9AEEJJ2?DY B >])\CYJXWB:OA[]%!J
MRM,D0G2^\'1]_OSY6S)E,%L?WKW[[BW\_!9+&!FZ@G:^^L^JB?]X6[7_6D82
ML#Q_](84!N-A>LA+-MZZ; C^K%KZ]C4.-VJN63G,J@&OUL)4HZQ9+0B2*]<J
M#QQ32<C[&Y#R"*W_?_G=%\^2HS&,-"4+@GK)])9/]=#5A :/2(N>V"M/Z);W
ML/?$<JQK'NG;&X_U[HU7]<\3.NC]C7?QMS7!XG[C^K CIA#S2HT8N0^ ?(%G
M#31CWM=A[.V1GV;?3#U=4LC1@?NHI/7&8]2\OQ%ZDR^ZE5&(B^5N*)_BM$R8
M<.^_<$  SC!B%B8K(G@]"%H/[1N-OB)*<HI>,^IB%'O@Y?Z+]\#ZX 6\$U[*
M>^%M<#<\%D3C[4A'2*4=[\J7.6&19*XP/8\W_\;C'?!NZW/%]Q/M ZET,]=<
MU3$X+V.\["@C9BDQC&_,YF&^-EZ"+SDO\R/D[<"UZ74.C"TR$/<JZF\\3M^#
M!CS: EO/>0<*/D%V!H5?:$QK\MMM?/?%S3;O&!@ZN3@ [@)#C246AL)'P@E[
ME/*K&9)B<[W6X30D5D?#TBJ/&GJ-P:P;>ZR^YL2_\3 /RNE[50.O:I _T$'&
M)(5@P(Y:.:ATMD$!YL2UOV4@*P/7"(AX0,7[&Z4S[4W7(RDV/P?@KX&?08@D
M&W,7,JH>XL<+2V&3L48.QLK6LVS4HZT25I!P%/6&WWA\0LK[!AI_X['FOZ"9
M:=RW2Y\A@TN!(M3P.+] H/&+0 -5@)!9F]N)=Y/GYQYKWRL[T*SS9KX7S=W$
MB5<.#Y$GHBN>H:R<&=#93CT-@D<&08^&4'T\*  *A&ACD%V35*[8LJ#R*U5Y
ME8Y,D%XW24JVA= 9;_40A8^S:*SGF!DIDP!#_BP,&1\<2*1$_MR ^H,!(>*=
MDJQ_G6H:JAC;XR# 93) B_2COX:[TR08?%,0@AZC^,:C-#U,U .J4R^IS12A
M%7Z+\!OQ)AUS&1 "7E11_&U."=LNO'.>T+LW7M4_3^R@1WOH\2YZ?AQX0D<\
MULLW7M5/\?<W'NGJ;VS"I3<0VX5)_'B4@TU@AOU(.+Z/*$=Q\NS_1&^^XP?J
M#3#F0'&2'J/I'9^\AB%$RMY[?Z,4IY7 + VCP51+AC.9>9V?-RGJBPHJK7KS
M!RX8;\WCEC;:'CS<M#%/: VS.K0?8+OD#7\A\Y$G^&'G"D;FU^;MDASN-_SB
MKTEZ "\C#7XA0\;4'Y)*J_K;&'1-D>QXR*53KBR!"HL##%;PW.)'$T8=PPN:
M\H_@9)F-,4)#^Q[I &%2*%7"AHC-3&W-K1AW$%'374(=?(C/"4M*,)Z#KY%^
M0Z1YY&%QC37@BIL7LJ@PF8VXG%ME/X4V/-:(1UIYO>,5#_'"!DUP_XMU3@R=
MI_@:>42CAE>CYZTIP=<PB$C6_]/7TW^1(9 .XHUW#T6F'LO(@,^1_FY4LJHU
MSQ6@7T,/OL'2*<J!7<3= /U(2KWAA)YX>>+1OLSHVN9HUMJJD75MZD(V=6"E
M^>:/DTI$32B1JZ&.H V9J*++%1AS^(3:'5)IR7W]0ZE[XKD8CRI8;N3-0\@1
M9I03G/'ZL#66NHA5#:E,1N,AUL)DET'U)E) OI'+PLG,N!AC>UYGIPBMR6>;
MN[U!JD_\W@R_H*CS')!YXY504)Z :%YZV(%G.=]5%1[=P@?:N+[H:"$=VJ2W
MKTV==C,(OM)QCYD+2-WG$5UVP.A3<RNT\!N<&HV V]F\<BPWKWB\E\1T2RH)
M!I??X%PW^+URSM?"G N>W*$XYSZ=<U\T:0G&&/B=S'E[4WMQV>')5>R5SP1Q
M!,D@#'(-*H(SW.EU'NWO$PI93O\K@J$-]QGD/B.L3:]LU..M@J!$6WS#_O7$
MIK^@6:FYDQ!J4P_N*L&]Y7A2@GLD^5S"N))L+?M1]S9Q!*GRO[SF<47\*<)-
M4.,T#6BI6GE#O_+*AD # $UY?V/_ @Z71X"X)F<3>7Z$D@NZ0X_$&V;,>E;F
ML(IESQC=5S.@J#F6BE&\FVDLDJ>NBADLP=ILL@45>>]O,^[":08J;DE!M3VM
M=T,%RH?/=Y@CFDH:T//Q\UU]TU1EU/'WQDG,O NP:5O:C2]O\ W6JQS]:N/1
M7GBD4<+*5AUA7TJT/Z0W<]S![J8L:FR4Q4]5:?Q5SX@(S\TT4) 'X@*3&W-Q
M?'CWX=^_C%&Q1:>-'<G7](U7.BJ++;_QH%$/6IUZ+KK$ ^ O3[$<% [@4@3[
M5'?G?_B!-EAZ_,]DQYIV-B(+$_%*9T#J$5FR1"!@KRG%I<-)L 0/<!'K4C^,
MLLG1ECQ4-04A#&=8HB&\\7?OWWB "O4;G2K^F%H$.1%Z^L9K>1ORWGHW4T:^
M4^#X(LOQJ4N95!4C*QZBG*H7,^$J1MZ6$)X6A\G2:+BMC8^"B8B8WCQNNY:&
M(1YQR5AF.<VB>^*8<P=^_16EQ7>=PIB<Q^7#XT< *$=@>:@7Y>2X/);&<)?[
M:>YN%,1=!+3V?O9$&03&)(]A#*D/"J-:.NXPPM_,Z<%D8V11ET$M?S3J$);I
M(44:@-TE=M-@\(JF[2P#R!=&]/4,1XIG-9O[]\F^_/.G$#-&Z?II3[(=C,"L
MJ7R[O9(F=>T^_MD=^$M 8Z5/X7*-(C0*/HD@C(0EP,B:TWR%PXJ$$4DP4P(6
M8NZ=ON(QRO!APFJLJ!RK3\<Z^7J6[$.IMFP;WU'0P?1N5X&9;&0>#; 'NH6+
M.E!E.I[!&E*IK6F<RTXD6'.8&@K+Q:O-SPF8Y[A'5#E[8PUD0FNEV@OD<#Q;
MM,72FZR:H2]C)J0A([XX'<]T D+NA>;/-'XQUJJ*:QOQ]->"MRJ*$[_Z$,9U
M7 0AYIP >&F4A9.2\2["=$M0G!;:YZC>W2E[VC"P4<'C!&V2M-(F#PH%5)D<
MB<&52%:T%5&A/G% X&1CE3RU7]P858^AJX&.UGA?C<5?'ZO,?AV8YX.GJ;9A
MR!P\=)RK!\=S)8C_(DLY+KZAIM&HH:W\F";9G&$/=H=7EYP%[UO!/7?:@+3;
M,Y*P=[L%DP_$+I"M)<G0.BJ^PSLC+A^M=KS:R9[6=VBRD38>Z]O_Z6]W_^N,
MB#"MYMCQW+$&IS5'339B=BJ[C)0W-(_EZB*,<HHF<),F0;&VM*0568_3?5WC
MX>I'!^,0!"J(ND4Y.GY,$1J_^RJ"7D7Q%0ZG[EN)Z1[Q8?DEY=<SFIJ;=CD6
M"ODP_7@8ZE29JYWD*(:,=TF1BSFLQX^-$?4X5>+/]#J'U8+7*MOQ2$.>=*S3
M/EV3#99='AT'.<\M;Y X!PL1@[0(,X@*DPZZESKAM0^VOUYA1DE0$G112Q9'
M8M6HS//>*K92K15/:.8UCUBJ*E^+PZXE'/3R+V38@M\,L9X_$^LYWN,QRIN1
MK9-[F>P0^ *#K_I0+QE,@1Q$H+'@[M:9T@O\)OH12>CF9<7#/] ZA[!8].)O
MV7I/>WOZ$4114KR)'Y,D + @*[P.H>R5Z!F$-D G3<O<6!P/?^T4XYB)?[$W
M'O&6(VYP?%#3#J!XR-9IN"LO*QI!/7X((F$Q;/SUC";2#V2F#69S1,TKP-7(
MR@"4-$W2TR2%<'Z2OS,.;M(P26DZMEK^@,Q6^EO2IB<T2G1XI%F>UD]HV!-:
MGH]GEG@@_)*DOP)V(,79$7HX*JTI)>JM*57/GQQ$>?+A-;EC$7>3#Y>U(J[S
MJQVO"AQ%\"3Q/BN7>6(M?-UQ[\)?LU1N9?9<RSY[&]P"=]=+>1NO:X2EU:_N
M>0F4N=/E[>L<62U+F+!0)"4+SZ:,!3G,?^<D:C; /9@<K@2?%81*^ D**#+6
M=9(2%>'/&%#)G+@/=D=6%XHHL>DQ#[?;D%Y3Q)A'\&M0O Y19@^J0VB$&?.$
M9EQA=DP[\EIPFF[X<[KI"GC&>,@B%O<8SZH&3C(F-Y=[T17N?Y8S%<0H^8-2
M*C4GLS'G%D90 Z*J#V.V6!9]!@.2LN!3G#QD*"4(4L0BT@B!G\(/7$CJA[_)
MGQ"@>$/RPS FGX1P&?Q[>2SSAH;WB!MO?@OS&0FZ4)8E0G24Y]WQ* 8C\S<F
M/7KCB7UB9J_&,LP7II"E^=^9$\(JO<.="C%S-=R]FI$B]S>C-EM&\#1\]@%!
M(J/P:F.75B#H$KG-WKCJ;VW%VU:<];2B9VEG0Q;QUKE)#<V*3SY^(&R3O=X!
MU*-"78R"IPO&CPZ^7+,[:A&Y3U8QN@_Q\$")&#+<F+&>9SPM,&O+8XUY]PG!
M@X#VO*I!F(E7.W3^LOV&ABQ-&L['+5C: , DAW'GU;CSZ<9=B6#E97V=8,[U
MQM\#>W Z#,*X+CY3ZXZHZLA0#/KG&%IZ72-3/7!W=$2D!2_ 7.R'=Q^^?P.6
MZ]<UOJ@]-#HF1O:-=SH#,/<=)"JF$$8$OQ""$3%W<H.)V;$$ 7V&D43XR+()
M#]J8R=1E>Y#<@"<.[OA+&5P=2/']'\A8IH?DUB)GEOD@P!+^.8RBL> ]57M'
MD0(H\^LJ"05O]9LWWCG!W?$8;,Z7,2TB'M#@B3E!CV$<?T%S(WI)#9Z566"'
MIIZ)J#4)*G!9V22\]M'762P:&W?JI^D>1DFT10ZA9D_V'_U_).EIY&?9& P=
M_;(^[#W2C$?:F4D'-.&H:R+"@H9.C?IALHG0"Z3 S;>"97_\:XXI7V#*A%6Y
MOO\HNC"\HA%%QL',PWC9'56#;YY[1*W4*,L!;Z;> ;,]I9;''XT?^NL9\W(
MFD$HND4[7.0)0F;/B)V6>N%1$,UQJ?4X83"A\43J1!B<$PS4^AAK8JU V:.D
MF1?C&PJ*,*,1GW-N8PSVG,9L*"!V>J^R],XUG%:DE22CA=40.GFZBE<UOJB]
M7%_$N-2!<3,/KDJ72IQY;ORTEJ3M:J09CY'U"-VZ^_K5?)%^M@=7?\"6,,+3
MA"@KJ</);9C]>K(_0?'Z:>NGOXZ096MD/:#KE61G$EUMCZQA"W$]O)L40>):
M8B$>,Q1&A^>*SX'>DOL>U;M]/T=_.1PD@]Z^3N(R/=\XA2;#?F1TWW@BY=F$
M+6MCB[H,ZS6,1RI"E<-B.=1G$2V>DBC AY5F+073I#W?:);S=4[/Y\F&5..*
MA$;^S9LVWROX^MV'.>7N@O Y# I_#(PZH45#UA*N=)KT-;$V@%I\*QD%84HY
MR3ETMB1NH;2]CG6$HZEFPY+<M+%4(_O.M@_M<T5FR5VNIS'.,B]J3/@B.R]]
M&6;M?B6:D/#QBS39@O\X@#3^$N9//!_1V->!D?<VF+['&_ ^XQ:\,N71G$_'
M5,.M&Q;YJ!F6^Y1&F?)-].'R)8\6(#JO-H(D>)9 Y-P(Z 2XA*DF\6^4U@SK
ME.5I"'DP3_WL">*;\#_P"#_C[L1Y)O]V7#HQR,M#PIO@#X'J;(,N<[A X.\E
M0!JN\95PC7(2^X32X3=Z2?D-B6^&^!%&_0V!P2#Q)K2%5SC(9K3Z41@?[2C=
MZ8, Q !8[DI ;3U#7]\D?CRZ1^G6 ^(,P?<UC:.N%L!/6;B#>/))[5\4S[5F
M\UIM(*IGC6^)LS J(-?D0!#B)GYM*S#K =HA5T= 6YH8MG::898O=G-X)^7P
M6 LSPDFK'4<^96A31%?A9JA.WY"'F=+WH('7.,@Z0])*82J,CM@Y ;IJ>C/G
M% .M@8[RW-D%'5XTP^*5[YF=X#;AI787VF9K3+($=1.&C)/;\3C-4;:/3\(D
M2_!M!> ]/R41. UFERG")(.K<(MW86 #C?@CRE&<//L>:\([/GG-@VN\=,>W
M]^CN+]>>V!P?:>:Q!CW6XK1OWL0#9X>OUX#G\4R;>."U!$9]1C]E<J/S. _S
M_2FQC$7@$OSRWVAHKD]*RV/$/$+-P^1F<,1*095SANB_EW&)LL+QG,;Q:;P!
M[VO>Q#<@UE5P,AS :CYF;;HQUXRF! (A@\&6)ID2Z!1OT$A,?X)*'_9PNP/5
M$^9G!=2KZ9*'\#DY#DA(6(:[,"Y_L$"(6\0FO7A8-KO5YOP%<MW?^R^K&$OI
M#4^UL>IQU@HL"R+M$,]"+'< >BUUPTNKQJ9]8R8:,5L_/M+5QJ/TB7?H*B;Z
MEZ:;WK0LTD0#K<G]O=9U=A^.,;Y@$J>-F7RD[ RCSL&Z' WXVI)-1YU0+[.L
M&) B4_"$H"3I:>*NK6\\2G<F/PA+HXK, WHE(VD"B7'WZC?,M]H+9QE-Y3]Y
MOMU%R1XAAH*CR%T787F7Z=>JC+S4:7HTX)@T:5^5J^X-?]\#9HX@K!.TSZ,(
MYG=\=CAI*E=5WJ42SDB5!Q#/6MFQ1H9EAN5+.C?7I*[R)Y0VG7A'B:V$HLQU
M=Z9 (XLC$A>;#BLLZ4[+%'$5*=.07A?0_=6&7GU$\1T^(QKZL]I\BI]1EI.]
MO4G2+81(DXOR4SP\K*BEHZ5=(+97>E/R7GBT&_ +[X@G](1QDZ0O7^B4-:2(
M<NI\-G5Q.77LD0GXU*%RZ@H^=3MAZBAK6D"?IA4VW,U=+:=F_VF9WJDW62,4
M9,Q%@P.J@(%RG"&2DJ6>*,!SD('A 7]X]^$[3X5*\XI&&\D&*H[K; :H9(OC
MJ<LIZO5CL$@B4A*!2"(X0E"@++R&9WYRGFEH+N02/!._G\66@,!D((]=I AQ
MIV&2URV,PVVQM<![#DHL_49$'16Z^H8*C]!;K_1QAOZ^\5B/?ZLS7XO6P62/
M-C!'(9^CE,S1=MHY(F_._>?DKR@%8+;K,*:X5U9@A7Z8]JZTVW=V#C ]#P@2
MR#P@R1"[9C'J6!M,@P^"0?T+!@5X>#$,BMR$DW$RI9)[C;M1D#@TPK3#^4O1
M$SZ"F+>@(>E7298Q!#^*A;:FD7 1/:1EL@GB"#8 *; )"B5TR:."1*U3/'3_
M:^C7-_A.8^""O&^>T#DA!4CI+8=[.#=^U&(F6828FF.:9T>C6L!,1W--[V]@
M+FLQ)<*$3)_(2&T897&'9XBF?60*O^.83A+5H(R+"91:AWFX(VN/Z!?IOJ)-
MSH?,,L-\Z WEIJEXY7,@C3#A8V:AA]1>GI!!^[,,NE(H_[G CPA*H_U%&.,[
M/01'#Z)NH' U6(H;ZTE7MN"537A"&S-"^<\Z^D9\>99$84#>CSN>HBZ#JY]Y
M9H"+CS@I^"_OW%\_01&\6Y[#I,B\<U!5>:S/<QP,_"B4O1WO)@,OY%V5GV]R
M=Y@R,]8=Y)<@CB@_H2BX3S[ZD&,FWQ./_D\Q/O;$JO/C@. <<94_^NFO*/<I
M1#1OD<4->%4S'K0SK9 V\:#9DI*T9U4S'K0#(."\)?G(7_/ 91GMJJ7VGM@$
M;/D$/)()**H)>,2-3B8%5BY[QT& RV3DL*W2FS1YAD#&<9Y[C.8;>H0]2,#)
MZ,YS$1'NE(4+AG&!Q9#JZFRDJ4?9^0N^6I(4BX5^NB?(*]<)_C7.\<!P$X]<
MFS3N,J/L?A532;LE7ND/S<3V<"'4NU(JZ7Y#T]C@D&%NV$S-"5NRH FIZ]CG
MGQ+ #;BMDN>.@#RXQ;Q*Q@S\M3R]\\#HT,OJES!  C<E!!OC!41I[$<\T/AJ
M-*Z5$%?-B0LAU5<SI7HYWB9I'OZ+.7V0*$)F;0&?BG'2BD@;EC4@B5QG,>;8
M')LBML(XN(D#*JP.+I*LV&KCT02U?%! ^!6-J18:X6XKMI!=SU_\+7X';*#C
M"?BU M59@>.L#DN>^LK9V!I!U96!^OX)UP1L(>8F[3]R[ ;\=*W1?1H^/@ZV
M;#6R0K\1?0#>>&737M5V!>] FO=8^U_8](B;@]KZ\G(N=K6YH-XN.S(7^3QS
MT7;MQK5&X79('+N!YFQ@%A9'9(!,G&58DG3GYR]K$HH4C(=):.:H1YST'+ )
M5D<EOX2\DNK$..CV!R33O;@:6(7NCMGD.E##X#=3F;A3!FGO(!.FQ:&VN9XO
M;H@*#LCI..O'\7B]3@M\&./@4PS&J,&Z')$]IS2).:N(&0[MM-JM"4>FXN/$
M4=(6)M?A33A*V;T:"J/UU6LZK61<U^5S+3Z@Q(7Q*D:0EYZ)@R@8*U<V-?FE
M!O\S:8[X<0$T"[ !M$4B;+[J\2NL.*7UAK9$_/*@+:]L;'H%PM1#-]AQ.J[^
M9-L?M+$T&1?3(XY)0U;I(B='GAW?YYJ$,4_'2SF)-=>2E\:!&?)!R.)[9PH+
MLSPRZ1JUAS?UJ,"2R^,',6MU@F*T"?.L9.9N4.Q'<)Q)!M<:B/@8<Y78+&'I
M>,-OQ"Q49>,L/V\307T6[ZX99RBR-SE?T*S4A0 V3!CSKIR!E&4-R9-939^:
M/)"BBIV-&]Y;T 6.FH /[S[\_@L9%MOM!N#"$@1/;/H-Y:5(LY.R4*?W:/T4
M)U'R&%H*:CCU1)(>I;GT,?!GN-[W68)++/2^]M36AK#TGC? 36I])X_!Y+$P
M#*Z!A.9:F'T&XC5I,+>]KD>27L_';X[N?F/WL%$0R]/D@;,T'C%KVZW'^GRS
MX$TW5FL;PY)%<W\I@XIJXR&>V6VGB<D'5'><8#[I\>/H99*Z301AMB8@-L"1
MSKMP-L<9R8<XX^J!W^UI@N^LD2[RA,:\,)&R',7721R@H%@3%P#&*LM#ND=H
M';OG;JYUIY*@C=A-3O,\3SN'K?18#&QI+>((S)36[-Q/(20TNT$I'V"X'J-@
MX03!+X:N\AN*?#^3UL3*@"+#6%[%(,1M-FFOB=#!4YKCP_' G,3NT,X'5(;H
M_[+W;<V-XTBZ?P4O>[8J0NZMKM[;[#ZI?.GQA,ORL5W=,:<?)F@2LCA-D5I>
M;&MB?_Q!)NXD9:L$ A+ECMB=KHLK$U^2!!)Y^7*MJ<*,<3K5':WK##_WV?R&
M7:A?TJK&(NRG(HV=*5'5C/58KXA42B4<,BNME*1"J]^DV/ZM)%YM91UC)40O
MQ21W,Q=#]&J@,-58#Y$+.G+[65]5GQ'??L6.W$+V[>]NHSD,@FG?^RFPTBAJ
MQ6=P*65W,#OZ,=['V; O<Z=J+:6&*#T3(C6ABR1BBSV]U*$\'M^F,+\/;8](
M*H,PN8">2.A^B]DQ?,P<.LZ) &5LG,G\+&4^K ';];RY7U!190@O.KI$)"_R
MDYCKE=3JFDD]D2\&4#KSO_7<J^#-%/(2QR$R#42B5CJ(5**_ \]M)][06K,R
M"P:-IQ#"\!W@A8%3")\U)8/#^[,XX>'4H.3?E=@,B[:Y L(UB!8P39QLJADM
M7BN[9_#@Q4BN7,GJ]::$OZHAPU?#%ZXU3G#B$R?&]#[RJ>=8UX?Y90)33N=I
MI--EL,P2R\NN]#&+O&R"0 8:'_F'X?X1S )27QR<(5YQJ">F&VVN33(+R]41
M/A%&K8^(!4X$E8I>8Z!=1CD'%T5Y5C0/];S)IC'&&RN&B:9/ ./7,JWI;#[?
M^;P0$HD6.=&N$Y)HG#+KI#6!+M\)07W%?#YR]'8%#G^LG!*,\")X1/X,XD\8
M6K_')'NUOE+FJV1I?">G%;GGV\ %D&*)DCL2("W'C@D^64HL>J*33,?Y]=F&
M0Y6]]F3"I-2' V/?,:^_WOE,#IR)]V&:YTV4W=)54>Y<K2M$$2Z+<&%^_6#-
M',=N>FF<U@.,.#/X](300&/<!@*3'0F.=C>\@2?A<KT7:FQ(H; _X)0<#&Z<
M[A!G,W,*6V>;X"^TVK4,JH3CX_-ABN_.N6VPPDCAVWO]-^:6E77$;EX0-ED!
MAU'EW;<P0F3@I7,G?9 OUHH.:MDARO,&!"5/-S.BE6DPH2J7C-E^6#$PX-A=
M<VQ@F%J28;%D_3#V,16Y/7>=WVB!W>>./L*G<5^8A(LN$Z*Z0]C%Q1OY?H0Z
M".U8#(^!!AB%L(/%F7_(QH XZCTMEPX3.T#$"<@(,J'#9<$="HT)B:.R7,-7
M^00#% YZ\89CAEZ5-3)$3!')0PQ]<4%A.Q7[P8&GL":SM5HBI[D>I_$:*Z8;
MR6T[A14]L,M#B:6%65$U)0;$(>P]AUDE^&IV63*-SLN'-4$VO2BNX78K?\1O
MB&2O%I19$SE0;S9O-=IB:-<8]?(FZVHX/N7]6V_33,+73=@QV9WU!IX:;Z#\
M$?\<3'8.O;JFKHS+W;J!B@\<"%=A.B0JNUV_D_GV-D"\AWK!H,BZS.OB_'\:
M]H;P.A6GL:QM]B'S/('[:D$HJA(E0MYFM7J&G!EH#08?<T0:Z"!<B:@8&RO8
MU^DU]O:(]1T"0B$TD06CW;BBZP @J8&H8M@//5'3CZ&G^/@";@[EV1IZ\,DZ
MPZ,WO?JM<0<)J@Z/-?LNF./#MRE30X6&\2%J-11R:?:\U8CGY^$CY$ET_^UK
M[!]>1TOJ0.X"(@C("$22\NWN'DHNFW+])<TR@Z+')>K[[8Y(J03$FNYXJ,CO
ML,#,#^C;#W<_D%KB>V#2_9>\\5 <SPVS%]KQ(B$C>TI>P!O$SK-$9WQ\Z*RI
MJSI"SX*/=G9U9X1<4FC!)*K99A_CFT)^^G'")QG_KZCL>R<6,OV>+6WT^?W8
M2'Y)[D-_9W+*K[&FB1A1?_1F[#0^DD*:PWC7_-X4Q:1V7C\L!L/GV![7;KK;
M==MM7QF%1OZI2*%C!RF# '+P?25*P\^%0Y;S1DG2;:$,-CG,OQ',]_E<>:*)
M;1-OD2WU63>K%>^PBK+3J%I<9,7S.?^#RM5U,$03D$U .)'20SH2'D"V&M5,
MK'8&!-MX 'V:L^\872@(2<\E\0&!1KHG=#B]/VT>B!5EPXZ/5T:591%RN,<Y
M"(J^.FK/T63-R@]-(GB&"7H;OLW<THJ63S2Y*,J+IF:OC^PLV9E3 O1PZASV
MG"23#NHB4AF6BW-UBC)C] 9H7?FY'7A/#M]726G"]XT;@POEFETT=[TE7U_>
MGY^1N_OI_;FW:N7=5VE=>8$73PPZ]9O\QNZ6L[1D)V=15K-R-I^G,5O)(*5U
MO'4FD=)AY&$AY/M-2 ^+2KP_'(V22F8ED7+#E"P/BZK;/M;[H/R7K,*!CL56
M[,<=(GE:D)BC$B2>URKA%-UC+K'_3CVJD(FIYT 1_V%095L .G D-A'=?:?P
M*J>UW44>D%)AH%>OKRJ@]:1"(<$R6^',0.V)F/)N#XX_4Q<#UY(A!1?U*N<.
M-$^(T#W!>P;?'T6QIE[ 'B:OAS:5[00*+9)$K#*,<QJT.Y;M'' 'Q0'*"4V^
MK+]5P%@L!L_FCU-U'=RU28]]V'C=EBH@JO@!M+ KZ$>B%!&M:;R8>PI* ?K*
M@%XHP%$PP#M'2WF]B2Y'J? 5O5]$N8BCLKO1G*9P.:I^I>GC@NWM4_:F1X_T
M9R:\/F.;O:J]VU^D6I3O&#C$MU8S)#J.;8"9$ F'"#P$ 1% 9!3P_?'DWCH*
MVW949J;)OYS"-3<+4%MD,&_\Z+9Q7^CJ81@+R:_OBFI#W.I33CD"E_EH/_PB
MWXU2?FP&9<J!TE_\7!3)<YIEO308;&MWV;/MIPL^J: ZBH3R=V(3\38X$8%,
MB%S59#,G2("+RX&8U-P3]_:: 07 E!T'"1P)9[2*RQ1/@YV9CH4H8LCR7I)5
MK*.L7KN-AQ%"0DUZ<5NSU?DF%KX2]. ^AV@Q!QF(@V'\S!TMGX! T6G^L)"'
MNX$0&&SVL%&XAYX0N%,E7;#'D3Y1WNT-Q#SLPY[-V:7=Y1 QZQ3%E<Y4)EO>
M/X"^C[P/@NT"3&F@F)1G4V2.5A@Y_$T5JP7:(+9LD#$]_N,<9C_!E>.@W':G
M1(B)L0,CZ;2Y[ G.D.QO;&==T;)>0Q$N]+O![6\%B%SV,4\T<'*M[%>P6NX<
MJ@4'V@,/TOA#>-V[VOU=&MR:'R.$HEEH*+-T!F&Z;M!]PST#;FK#X6D73>P5
M%@YCA-IB)_^73YQ$<L10;J_CPLT/9 ^K5Q%Y<,A.@59B7I00W70*S.N4 X@E
MEMQ Q\]PP+*W,8T'C$4F A<"A0H\94XL0L+# F;WA)]+KMNS\9Q0JCR^0VYF
M&X_/':):[9Z4EI/1]NVP\")L=^WP:,W^DFWP!F^I'1)RMBW.,8'J\_LF9*60
M48TL'QFR3@)ZM7=\5\SMI]3>3J53OY9C#L\:'()\P02Y>8J?/WW^C[$C$A\=
M5S,AK4-CHNYW[*'6!7F@Y 8+;'">,^@[G (*QZK^'8I' E;^^S>#/?>7V6&>
M%<^"Y:ZOD,0O]<Q%1E\>TJ):PXAZ]UI9$/<%Q?D=PSS4VK/^98<I61Y@_:V:
M\K&9OU6'H5;ON?..3Z8%;F+GYDDQY!;FE_FUMLNJ9:!?KA9D'.QB[7?"LK#W
MR K[H=G\ED+N(*YQG(];< A*[8LYL20&B[2H4J^OR [!FQ%O@7L"EC' 7J\J
MYC"2S<6.$53V"IY@%"'6.\)N#+<4<XR#N5WV.P@W!J%A/WZ6YG543U1D":SL
M@'C*R2Q73P1:I"L_O([F&R""..W4BUP0M)#KEP37=-0FRX:VUA[: XRFT)NH
MG)7809@@ MEJ/T@?+!,.36)<O" %5?P"(P1IW5B,FM@)645E&$9H8[>_S%<-
MML,Y'<V&0((215]<H+-9DL#^FM:+TX99<TE+%0%P"1!)P>292292M!5>")(-
M&11@MB6V48&R\G +2AY42%GUS)7TB>9L\W@($V,>,I]_R>Y(^6.J?EBU*L@:
MW.%J;66!+1!>I#4E&8X[3=4"1CCY<7CK^:\!TFM6=-!&0XZN&Q]=+=#@#R,[
M@.?PKA^ '6)0SR$VG\/>]@]C:/!-65P4Y3)J$T(A=]3.S-@*[]0<%LQT$536
MPXDU(4+C^&U@58J& =53C"P+D1WO]%O7H$_KNDP?FAIWDKJ &TI80B6\A8"S
M/9M+>BQG\B\I$E J\J\0,0SHHSB%H"0MV06H7CNR[)JB0K+M&I7L]V645QGO
M0TW^WG"FD,%&5[+OEZ:/N>B"C]=$Z]CX9H8:R>;%!JVT1AN^H<DPA=]<313C
M)>7\):TE#0+\&ID2A@@%<_&$,IGHFO#6"/QM[',>G2]T60O8N03&?2G\+8H/
ME"H<'F$[=?CF(_0^JM4<F.7*,&!/6YL$;.\?!,7FV^XA3#/;&=9K??<PQPN0
M>)_$LFE6U'E5ITLX"09Y:E^C\G?*CS4]@6Q"E)( ;V0 Q#*S_-;4L".#W3=V
MQY@SUYE!1Q5\/:G.;[G MSQ+ET#(819O\U+_ 88.2.%64;KH)!@7K&P+1&&.
M^,&AM5Y2#3$V(?+ZYQ!CV&%(!3VC_+^7.?HPUT4><VXL=RH]J8)\D$H^PM K
M[K!I12&YVWRB-C](]'9J\'8"4NS=T8S]\>//-*=E!)P:TV29YFF%'5U/5-*@
M.7V70L>$""WHF-IZ--]:J$NC5^!6;8)$_VB@CRQE/EE%SO.:'5Y.:58NPGM:
MU76U%E-^F"7WUOW@=<Z)2L2J\@DR"=X=0#;BM=N#Z3H /*>[T'&0ATRB#QFK
MB^$6R-IF\V\53Y^XGJ[R+,.SU>YB(*@*A@PS93S[-&;D[?'3"\ L?8Q$^1@)
M?]YP?RW5#"ON5H&-C(9'_)<EVHA=>)M*I);\W@1\&<EF_Q6?P.Q-L"3BPY,C
MG[Q2 GA">4G %50$M+.(.W1BM5X(K8"@AF[JU6<3G2>,ZG,_0FQV^(DW(K&K
M$+RN89@_9<J*,WE"^J[(<43,[MDCP8.J907*'@V*Q?*_]@3HFCX#0>IL/LWS
M)LID;<'E<A6E)5+PL^/=!9B6A#MA5>$ODP!]#5Z@9?(K>N8$NFR3Y^)5C0DQ
M$(,&_][_-$E**!_@_[E*<[HK::JX!0A)$_D+ C+)+/?^R,Y?X!1MTFK!L^80
M8IPN(5/L]&TIJ6Q'__SIQS^1ZQ"Y@^' 9&T<L@" 9WFXT'"%^.VB%!S?-LT3
M45DR>,E]7VD.'V0'D0&A=0^5]8$L8M]TXR*'E"7/HS/C= TA!E'QM\+_6[Y<
M9<6:4M%78X3V!/V_R]U2"C\I1=>.-2M$* A47#DXT.P[,(X.G+7_"N'(&2F9
MWT,ANJ/ UI['=(C I!!%_D^T7/TWH>TGY[7F8V!@K;>/:'#! LIJ^Q1OW0W4
M@F&9$/  %'GU96W]#>RB.T?9^!-"0<30(8Z-XP#;V^$WFQ,;?2C$W@8^X%B'
MZC+G:<*#'\;!EPM!,;^IXD,WO/5V"A\%U 88FJ%[2#='5ERVEW:8:$*XHA,>
M10J^QPP-<V/KL(FR&RL+A/L5M%,C["HRE(-<3]X ;JJ5F=H]7%!"&J8UM]EX
M27J- 1-EQ%_T63#4IU+-YA8A*SN>T^IW=A2S_[V(8/+E4!=9G*UCD[\"1P;3
M,X%C!HE@N<8]WF0]FL-BJJ,EZ(!95 SZS[1X+*/5@EUCIR6-L(D\?<S3>1H#
MS9ML.?7^3D P'%'?TWB1I__3N+0W*&%DNEJ5110O\(ZN1'L.[UHYL+,-.;"=
MTH-6;%?F!1,C.]K._$7!$J*#XMR8 +[L)H##Y7P'A=A)[&W[-+W7S6TDDKQR
M9*U]E?WS,+AK=X;8SP6Z+YSXVD*#&OP_J'Z*,DR4Y8DN$M]4J^SFBK0K&**'
M)HM@EK4:TBH*[V.=;8,> [;0"1]S2?5Z^72!95]=>Z?BV6])PWZ,*3Z<4S0.
M-AP:^M$V1LW_:\7PX;R:/5K+NB@U2_;:K&6CII/U_)I*-]=@8LR(2F$YUVRN
MZ#Y4?MKQFS14\D8>4ALQ.8RC@MUD7>]:?ZJ>O[$ II!?E&$"U&6%)7F7W6RN
M:5YT;<#H+6#?%>\[3SYJM<?VO ;>;T3-0\5. :CT>()2 ?9O'&X#6AI!<8)V
M*4S)RC!([)UM?W"NBUSYI+SW?]=9A.8@#0S;IH)*@(I2]H]!2,4' R3>-5.>
M8D<0(C]Z]VH%9?A](;A-[,-5GW"[^N]"/NP*0@.>E2=U<:(\#:UE?'![ZTMO
MV!(6</MB1^)VGN@^2Q0-=@$S].=F I-987H@M;2N0'>NKSUB8ZBPRWLVPJ;)
MF\%@WLS3?]!R"!H0+LD_+;O+BJW "<HYV*6V]@IAW27*.EP#9]:[$*R^Q%L>
M_!KN2!7[(J^;7<S1'C7%D^$3\DU(9?<?"#>CE<A//T[(YT^??WKGUC)'56UC
MK\_OUEZ98:0@]2UJO>R7N.)W:_I.3VH:P^N)M-&D85X#LU;1U!5S&A*/4P-T
M9\ O1=:PPZ)<7Z096YM;5X 21KBTPZI>@)%1]\^%RR-CV\:_'04H\=Q>+5*9
M8"E&W'8KQ>PMIM3GVSEE7U\"7^!%%CWNRK4G91 0$H+.4NXTXN&<O\19DX@6
MZMD<^G^F>7)'RZ<TIG=%MFMEHK5;"UWPM(0V# U#)  48@I!J"2@TZL/.+V9
MG@[BMT[)#9F24\*%'>B:Y7O&!(3APME]J=:%D4GQNDQ=9GC7K%89GKA1=J:R
MJP;9J2@\OB_L:@7'J1Q;Y7<K8VWF7T'A&<_]YE61I4G$3VC1UJD2P6(^G:SL
MKXMV)81?;L>]VUAZD485N;D2HI<"?V40T<I:\_NB7283<OC)81AQ<TWD)EL6
MO;:LN[;T?M[QMA^>/[B/7L0Y](7F=)XZ]70)R3(U </895'H!R'^8ZAQ'8."
MS+;'-RY@UB2<,/UH;]6[N0Y5V<2:UBKL"S9CQ1M>\]FU:4JR4.@V8-&$<%Y0
M34@F">)&![#%V:%I_-KUF.-]AEG[\75'0FOA?D/;9?$@=(*K$,>T<BV^E/+X
M68\2#QY".[=@HZBX4,])A@%@9/MX"/(K 4(&'5\T:JDDY0[ORI_-[Q>T12'C
M0D*L54Z(H72BF7ZX7F13:#'-')%)[%U3 %4E8P:/./.I$[8L[]"9]U75:8RS
M+LJU4QA"RD*'\B]-F59)*CJ8 ^73!D%C3:(Q(4V;>E%X+UVY*>DJ2A-)5BJ'
M"@BOUJ%#LK-YHA[-TCI50Q3D_2!,CZ1?U&JO?1=H[3/^0""K*=XR2.$X8$@'
M9P(.2M(M@%;[(;0=.FV:1FNAW7J)[9:A-L[+'(ID"\C"Y4A"!9'["J=AW=**
MED\.Y-]",F\X1X(K%*X&84D%(\1H30.1Z%9ED32Q_P9AVVN!^51.C- =+XU/
MO K$MCP4&.OPWBNB:9+@G+PHNV&[\&5^&JW2.LJ,,="N13E: P$5$!T22L#%
M-@=?GV,RGWP),Z[6%W*SP&9[[%_4^-[1PL^^#_/X %K)08T2W)<3AC+F"CS/
MI9FG.93KY+RQ!R9<,D&2?.H\2Q]3?E>?/KJ/I4%=Q%2&7;!$<5T9^@A3.%[H
MZG1Y/Y#M,XCCCDW<*Z9J0B@J@3&VCYA5DUQMWAT'YO+PM L,)'7)DX$#QSN2
M#G/)JDVC#K[@*\JN5O2*)TRJN$RQ>L_E!LLE3F0,VI :C+P)MO;+JFIH<H;4
M^IQDB]>ZXE^*&L7S%UK&:;7S(.0!"D-5Z:=<2TAV,^]VLJF#A1"28T4H1L)1
MU8AQ]C98::3_&PKAKF6\-G#X.MW+=85,0K70WC+\]V,=?]M%A*D)O[7BZ(B<
MS^<TKM7\\?OHY9:]\3:'\G61)Q1""N MJ,I.&C?P[TS CFZI6HM9& ++(?9Z
M,.NI5V06@(I%68_A>.TGWK]M[=9OMG=GM58*3*$/2;T, ;^HC!= @$Z?:%8@
MZY! Z13/E9(YW[F6K3D6 X5T/4!L-8]HG(E6X-VQ9OIV]:#9/SW$Y5D#(P.L
M\4M3L3MI52$A0(7!ENJF+"Z*<AG=LB>9[SQN6$HFAN@)8;()"B="^@@!FL\(
M"S])Z1=+5=9_@WCU;/XU^GM12HI)IQ"_%.(]!C[HXNW:SD (^O,2ESE;#*UJ
M."UAYOJN2;%.9D(*YFX#BAX9,IMT4Z"!##3WL^L0D%JU.6X#4ELU2,'>N$%
MO#:W*\C7?PL7+[<)PW M@=H;MM=^I1'T'BQ'L'K+1P(Q06;LGHF;W$6:W]7+
M^KPLV:Y;E"7%^JM=6ACM*B@N'3+X$;LAL">BILP1U$6T,O(;J!L9VNSP@&IR
M--V'(S*8=PM*:]V24SFW4)FM/D('025&XP^4"06D^_:(VKZ GII==BWPM(Y2
M[RT^T^3OS*N1)%W]N=76H8 <Z+)(%0[RG3/*2C72E;V28.Z<(IPK7O%#G@4H
M5MV'I7I.4JM<]],//_W'O_T3J6B>LMTA;I.&(C\?DOE&+\=HGN[DUDBM0C6R
M0I-_ZK]73E[[&+H'MG]S/M <&C=X57>5)I07UPW<WV,TO\1*(;;O*HU'A;U]
MVS>48G&_M("E-W#;C&H*@H+7X1@YS7Q,/R/GN #9WR^')*&,"TF7+/55FM%
M_;O#8LRVAN>]EKN,$@I$GY7[-4G+.O159^T%AV'=V+"3SQZR])'3O;![\A(<
M6*?8VH:CBQ1*#Z%2T4CQ9AVHE@:B59#SD4/MTMD?"F08>V N0?$&:4(R^!E7
MP$!28;_(5!$4E9KZ#*A4 DS%\ !8OLP U'ZFFHG)X'B#GQLE3FN3ZCQ5WV?&
MMSQ)*UZ[21,Y17LVORA*FC[FP#.?)FE4[DX8;BG0D\1A=B'704PEXX5KNYHV
M:FJ@G@O454#4[60(I[B8QG'9( L>IC.&2_9P\1,B%*CTSRAAVL]50DI#04JK
MZ/&QI(]R&B!/R[I4VMHB>8L:"@W2&WI&YY3=C)/[Z.5RN8KB>I;S&$T%L6T*
M[/FN%>DH'R)2)$4-!,>:2!UDSI6,#F76 @AE6%PXF>5$BR<7(P78;2/9[DEZ
M'X8G5R*^D],=0VK&#5YA$R(GLF<YT+U]&$3M-[(-9APH>G</S^4O>@:A4(CU
MY+RTG)><N[Q=2JIL$A3#OKGD0*_8<-"R;5"-!TZ+Q$!@JC@F7MI.TB"8;$8I
M.4IG*!HI*>_ 4?3V8K0IS6 JFO\WK(@I3:J+LE@.V6XDY9(Y$\R_'=D0H-J'
M GP^ X-KT7T9"$4#">>@1;0%U^79(;+N'OC]LENE:T" SR6$3&/L.[XQ((+^
MJZ'8J>'>[S]:,R":CE_Z &V6"A7?J]4S"N"-FLB^Y1$GCZ<)%(\ ,Y13>[JX
M&5*DYT+:9A Y/DR6L]V*4!CRB500S/$>&.BF*$P?QO& ZSV434A!WTYVOCRE
M>+$MRK.B>:CG33:-4?6NWI+\Y]!#1=,GWI!WRAS!M";0!*X9B^%R4U91YG]R
MY( H>PB+"6<Y(?$"RT9ANZ1R_D7,@6<,^)[[>G408S;_!O-B=B[O!<=#''A<
MC6C/EO>6B1FR8:X*:ALW=CM4"FJPVA!9'Y&_A;MC\.CQ^S5".1_27-Q]0DQ(
MA<\-:.DPFAMEE2-CFY2(S6)29D#R-N3Y8(I^3>N%;"'1^\ITSK[&:985S_ T
MP ?"KVTG=@Q[+"+?P4JEZ6APBN<J]9%GII!(C1-KSXY *U%J\>4V]O&C,8DU
M0,#=+H'<+=<>_I_9#];59<ZW21>;\>[\ARV[^!]>[>+GJ]*,'XIKD#WA.4TA
M)OX^#)R9MAV&(6$;VQZW4<U-'B4%8"3A!1:+LEA&-2<,7=\(GLE!QEW9HHF4
M':B^;4!<\F3:$QXC&FXP_$J"7\ZWZY9,:M'ZHDO%"T*Y]&#))0\0^^B+934R
M BT0J"RVCU#7&'$:YQ[O)E\="EK7K?47'$[*K"1G-]X7\$<&K\ZO-'U<P,^P
MJTWT2&6 ^Z9,XUU3_D.>;[^(@;UYHL=/U@7^<8L>2 (A HE*%A#$\L>3VO1I
M&R:FAHEAKNVX!DM?1&GY2Y0U,!ZU67*S F_W14FIV5'_-7I)E\UR?V\W+)3@
M2HFQU DG&8?5V@P$$R)6_%XM;W5Q,[$G<[!1JG@-T$;+,#8ZS=C./YMC9,J-
M_@,$X:09C#+Y[DM'UTX]I]G\G'W328*DJS**AL_-O8$$W^XG?+N11Y7K,:-G
M/,$Y3J29 ?(7"5*J,&.DLU6082M^T;;N)=L^6N])1=B?2KI@6Y2B3</1 ??1
MBUO3C2$V$#?M@%"R/A2R%PW"6!]5>(!)GY!IS4N^D;R2'?DW48B;RI#/SHKR
M[>7929)UGI.8-7551\CO[SI/P.;-ETD80T'H00+#@S5'"&P!-_CL@"$19UO"
M'!.FUM:I4F:J+K#PCXL/;G:\?*DRDDO@A6<[2,R]V1WS;*U3<\A8NBYX44L5
M;HC__-TAFMJZE/UA8A\F[J^W:MG&][8%\YQJ>L6.=NB,8D* (H5'_3BI(=RF
MG*<N<2TGJ(9H/2J6BZH(O[D%'5_D&7Y[<M9!VL#ULS .NMLBRRZ*$O[R &*<
MQL+(;[ T(M;V3DS:1ZL?T"-2EV>#U_"FR-)XS?_7E<_-"!48&B:$2R>_B?\&
MI'/SAK@3!NK #E%@TL/@\&5]S_[U]"5UJ:WI)6Q@WSB(9KX!$QZD=&I0>!LH
M1_:)\2Y>T*3)*+"A"6*T:C97W/@B\_>%YG2>UM@"[,RX*#1R%CVI$WYGC!!0
M%:Y"\T?1?QSRPPUH&IM!6%E!5=UJ.W@GT@/>\)(FK_A K=38MXK.F^PJG>^:
MP90JR5O.4"?IR%43T'U,=K%+95]#C:6Q:QJ5 2ICK1['FZB<E<@/F^"I<T-+
M]%V&:M]D\@ES?+D&<; Q'=S#&R?45UL[5Y$(]7N]Z_*A/L!,GS=S=CG%*N\[
M]CY_]TG6"KI<J_%;2U,TJ4"V7X:AX3")=U%CL402E#D2*%:7X&O/)F1KYU<@
M9$CKE%8WBAP?"NU/HRQC!^OT*4HS.$79Q>8NRN@=C<6/N\UJ22C/D7,+E+]3
MGH&IE/BCM(':6,WN5ZT=)I,H_5B-@BL &V&WF%8\(6I1)_.B/(%E>?>\F(Y*
M$#=<T]IQ*!'GKV$.5+R YQ^L#G(0%.:[C )##9+9X.?R:TO#-A#1!L_N+GJ2
MEC5%RS'*_-IM8$*V']@V74(K2L".F_U9SIXEK?G-DP8RSO_E_;X\ ,'=(:XQ
M"[<\?>?LCQ9J-D'T3;$3#V.$4_@8TGH]S!6]+XZJXY03DUJ1%U3!0H#3C2]B
MKY?UO1C.VJ:;)3MGUIP\K<=.RDS>![()TG%VBCN0O7?JM7--^9YI#:, (]YO
M0U8(/G:8VW+.-O]ZC>69$9Y;9U$=N75#<)'$D$E :*@>B,V^*GB0VM6$[L,T
MG^7TKS0J53#<A<K@=>?4K/B=2)=W/<%VPSB2Q==W[!QF.Y3\:[ <^VE8(F%+
M/2[;F9N3 LQVIR*G&#R"2 OS+&$$L&1!-FSHF0-ZN6K8^O[,=F*V&T.+R5TQ
MK^&7W%\>IL-+:"%2#9G"*R 4$:Y#_&>,<%7:Y%682PXS7!L8]IVY7WN$H% 7
M'Z=U9_:21V%K.]PLVP7]%MWHU ISJC'^42U@/L\3VPQY1.36XLUV\\[:)6)&
M!@I8F?! P%]0O03\PS(D5WI@H[33<;,Y$F_AGH&_,%3C'QK.+/Y]."=_'^:Q
MOPHK:<ED3[HFBKHF\I^@KFIVX8&PD./!46&=.@\PA=JTG%=OI],YA)78>0-Q
MM/:,6^9CQF0CEN !G97(>,->2!GD'X#TM'_DM)C4IIK:!,\0\_'D$MB=1^4$
M[KRV[N_73-:EW.1.1<*1!VF]2"_J..W0VLI$M7B+>,FP3 "#<!K&-&O@VJIO
M/SRJ.\N_1%4:RPD,,N%JC.N[PY&#R'_I2M@HUF#D@PC%50"?^ .L0T]H6+%O
M!HOMK6&'8OXASCSTZR'LQ6#RYBT-I96+(#PPS*-^/<!#I>JM.9E\$017<7QV
MZHQ6#8I;[C"WM$Y%C2$3X5B'IX41D!:R+FT8''8F>&]@;.Y+G9)&-@'V%L:P
M'STZQ<1,>D\CYXT:)D3K&"G4+NUQJ4&N0E!.P.LRFT^3PKV=6;#C85$)E%U'
M95*1;RL8PQRLOG\(.-8@0_B:F$\A)08#\G-1),]IEETQQ^JRILM=]SHIA_P&
MD@B*.OS%6WQ<^T#0FJ$\2$BB/5M[#^G$06'9.>ZR7,.7K^@,]N4I[-R.(F\L
M<I.OD!3J?A'E%KN.I)AKE<4B:QQD6UQ300,T!:FKLH(BZ,1J!J9#BV30_G5J
M<A$5)I$"9$Y&_P3-#Z)M2FGN$(4@K0BB'3[LQ!.-GQR@ W]3W'E"'E3G/<2S
M\%\>E3$R;8%N&'72CJ%.^@*KYK\X*MMTJRUBM$'W+>E)3QR5)3H,'9L_& I\
M@:$^E5N:08+\AGW*ZWNV$U90>L&V3!ACD!70>>?J_@@-!%404P?12IA/%,X;
M\HC9OJ%O NX]+LLI3NX6E-974"4"Y^CN<1/L%D%' [B!TYS)3MFG?%/PH"J1
M*B:26\5S'*(JZ[_=@E/@B"FMZC1F0(P6TT->N?5N@1#/BVVE*=MA1HP]LBT2
MHY,P'7.',:U62L/(W/9$7GE(%A*W0F&0$:Y^X6]*Y+\?"V0'_.QE=HO=1A[8
MIL?+;N/B,8>I/)<)>V[I/(U4OZ1LJ63+- HRD=22)O;@/OGWZ^LB_]ZBR:UF
M^,E"UO6$9$7^>,*^,V_DE@=LJ_[/3.69C<42O5IB+E<TZQ+5U LNF[%D(M9,
M6B,AU<^LH2!7UK#Z3:<=]#-HY_B#V_[]FM[.Y.USJ]B"D6C*QYZA"47#$18+
MLY]U<2X^?_K\G\>!2GQ(KY(+3#3?N:E9%(2#UOWS"[";=9HT4>82,]V.:@%C
M,*@K3!S3,_;6Y+$6V,!8>=$;I&J@8/&.ED]I3*N[(G,:("2KWU N[V\0D@F(
M#C3O9SALV5:PQH/G "H5[5,2%C'4+._3 /.OW5=O\YZ%F^#-^S[N:;S(BZQX
M9&[+91X/T]5"3*G0!QVDA640*/(#[T((,W5I$!#65]U!XA7 M[Q4[O)]]"):
MS"N>K_NY+*KJC,8EO-S5+<67W/%E,Q5BK[U4.1%)48):B5)+A-Z1FT&\J.\.
M?F_4A&.,EGRV)SO#$B%>, RPL\PK:.4PXAU!I9]U&L*),$&PC,W5V(71P,AL
M! 89I)8Y&C"F7_LJHD!>+?2'1]5B5D):2OS&J-_OW%S%9>;'7>FGN ;HUP"%
M1/[>ZO'HD..IF,^Q6,.>)JSDPZ:3:O!AYL*%PFQ?5-]"C?>AU)BC/>>)1O!J
M98@J9&+8B0M<IGX!$[-P:62"P9T*54SJCF=S/CO(S*G[,DHHL%PYN>5*2AAO
MW''1+4_U%NK)> \31+KJ15DTCPOFFCRFP*HDOZ>(U HE\UP>V:.!/9?=RFOH
M::$O<=;@<)NFPJ]+M8OET9(=/=5Z^5!D\"_XI,J$0G  ?E_5ZXSZ35PX&LRJ
MVY:BO"X8ZPL''=K+ZS1706?U#H!"QE#"KEYQZ#B&?@(&?':/\QCNXY7WZ(YJ
M>TFK2$SK@"%P<\%5,4@YO"V;TTIQ3L/P=?%><-I^ST:XHTE(G@ER7W8E-[.1
MNQ)P&;OU5<&\.T@XLO-&$ C7T8M_?^_ 3;1%O<+$-6D^(7+-&/^Q4N:>^<,.
MW/IBF_K#ZF&LWAN9.^O=#@)6*%PQ(U&ZH11#DHX-<AQR39-V$<M$OQP3<.@?
M*+MWI8EF@-O#:1G *!N()S6%'/QN4[U/ -K&6UK1J(RA->",'>-9L<(N)-VC
MY$CNS*7C]F'(MWK 0GG7KY2S8.#<Q9-]:S0&*@@4$!T:9_8=$,>&S>K/Q>R)
MW0#JG1A.4+S?%^)HD@<:K7 ,\*D,998[T.L8[Z?4 SNOD$>T*C4(^51%LDL:
MJBK%IPFRW=&/&?:&X#Q#FG.DG%5OS$A[O:S]8]VYY=?FD3+Y9[&==W\]V&TJ
M,LWHBUQ4N+KW8M76&#"X73Q14L@^]"=:H1,7IM$1>DBJV?R&_9B\6D,57,KN
M/O,T9N@TC0D.,F3.I*MKCRKA53"5"KIFI988]"E2<=!NR)"&,=\(99V5H?E@
M/XTW.0;P"ZF.AR6"XWE/+!&>GV O2T0D3/F(ID3*)%VP Q^'T1//B0T;&/7
M?_Z S^=]&_OUF8,3_BWXM]_Y<I45:TI%L76_.:^!,0<X0G!1%=XBS+^'M-%U
M4?\5^@9DK(Z;C1W,XH_@YW8MT7ES/(I:H-Q"L.:;+8FLL>% +DH5#X*G8RSL
M?5O9_.ZMNLO8W+\AJS<AS^U]H:109 &^04FYLPX$G0@SD-]T06&4;_8=4Z"<
M D-<VZNS<^']DUJ)5ALJ7.3='IFS*<9O VL8.-?FG^IQSJ[9B0 !G)H I$P?
M&D3P92VVF5V#NT(^$0J0M7/"N3ME3-!2"&Z<5#E:[.9SE :(#=%DA5: K3#*
MU]9?^>3@F#WG;&&+=.54Y:>D!"OHL^E(#:J]^P7[EXLB2V#X.HV1+AAJH=A'
M>!:MJUU=@PX7JZ&2[;=2*3&T$J&6@-ZCL4>7L+56X&,#?"W )P' \^U7D?,,
M3?0CSIW0Y#X>T/6,H]=(I>! L#8,^]C]F2DBL<X$CS" ^-GEU.)QF$OL-M,<
MZ#H[''MAV@CPFO7P=FS@H1T;4)=Z+"3AX0#)5W!/R^40]]@=8V-&8XZQ.(-.
MX3Y [<GA&-;\!)0)L%[O0YKCK+WJ8X"*"W:\BRGO<$GGK(SL#NPV"L"0&I([
M7STC@W0.QB)^RXL'  7YELM\U0 7I3E#^19F/\!B,6RNJF[N:%UG*&3G:Z8Y
M7=(@PGMFBR+FJ@A?5F<@M5H9TG155N&2L;SW8]A-O5X]T=T8K\J/8&_P(M-$
MW)=Q1DO1^+<:N[SS()?#MP21"1'X"_,-.2W:ZA8)O7+[OC((8QY[BZ",^@0V
M>-*ZKU6^>?(&Q-5+!2G!U?L$YR\),DT2W!JB3+<!5],'Z.N*]UC#L&6&4*_>
MZ&*&:X< \,>#V9SX.Y$YU%L5X,>(&Q,/W$WW87TL?BF^*JKJHBR6??';+W1>
ME%0%?&EUP7Z;/NX:.1.W\ ^@\B.9,Z7]@6SR@'J-&#C4GPG=QV,5*]H=!IRL
ML%>+-XJH76Z@O?T-.-H\9$WOD.BRK8"- I%=!7C?"1ST=F$%J*H/-?GCX(_4
M]FB6=V?XWCI57HX8:I)*SU#3*\=A7'V3;8..M1H2DU7#MV]@U_39*$\L"W9I
MSF-^;<=BQ37_7]=*3J;&JM.T%$UXW>::_";^&[!XTS=^F_\CIG:]:GO<G[>#
M(J'IW\Z9SGK-//,2&AC9+V?E??&\JP?*I1$A;D) (-!=@$BOTQ_8'B923]/D
M[TU5#] T]L2^/-Y:?E/"O#59L*D5>&\:&QB:_=IQ=@ M,P1#4BG#@EJM4ZV
M*=)Z,($J!]A7VRP;)/#!HQK.^Y(NV)&?/HD;C-L0T-GI)9G6O'H#P\5U 4Q!
M(3L6O6&T([I*B7#A+#7$NMIZKWQ$-\PQ8B1\TW!QFU-VQ4AKO%C+84)&\-!U
MVB8*)U=XV=3#BK2"H,T5?J!:3*T:K_^+&I\[KKXF=@V]91^"G5#!C\+8K'=]
M*Z4JLP 2M'424/PK-#2J =''8 Z+Z!ED^?2QI@U[EXI2UL0X[9-<%/L$RZ4J
MLCG@M6?VLGVOV XRPIMCO34B"FB]5V<I>]W@0&6;B/>/2BR@\W/F(B8P7:+Q
M_YD%LI%5JRKDQ)0\T/J9TIQ\^^'N!RRTF@O3U-'+?C:8OE!T[][CZAAL_;:(
M_3:@#[$GRU@[G-[4!6'T?WDE[_E_M"QNBI3Y#8L2FEW8M0A&N0C;1X_4J'_E
MD[>Q4O6LH??/[ ?6_'\OF/Q!* MA.037@X7 ,.V;K0BGRQ"]IHWSP E;%^%+
MDO^!I87@_-^W(<7GY<F 0;@C]VU"N[_OTP\__<>__=-F2\'7^?G3YW\=;SB=
MG75SFHXIE:%6? S9C-W-_VI"0XG]EQ@JZ[,L'+L(-C4:-9"N5#&\Y=,0>/!
M^BE1Q# (X%KS/.N"=Z.*%\P]+B4%RB_P\%>?]2\\S $V"(+.4)G 2/K+[RZB
MF/+WV,F[%:2UE*S89Q6G*V@L"'+=&PJ->+\Z/6P@,=#-=2@HMKMS$^B!X(?R
M-<J;>20VUZLTI^<OJRBOAMFT+.$$I!,M?ERPLBT0A=G:!H?6VN9LB!E I$J#
MMTD!6_2#7#F6:=A-(4AR ?$>(3UH78-.LJL<.T^QLVO,IT__[I:JVYS AUO2
MIY-/_QXR93<\SE:Z[BVP_@^!54GC=+>(NE5:J>4$JZ/<?>E9=]5!+H#L=(P=
M^8)0#D%!A[OD;$1KM1*665$A[5^9QJ():KDL<DYO-=X0@5WPB%_G>,C>VG6G
MDZ,@=!ORD5AM8U@L_;V4;4]>JU=;!5B.T\OZ*\K"S/RR24BA*S.>-74%A_<.
M<:J6[ZKI62M.S_H \DFA%?@==34L./&\!*B9XIQ%N<00/"),&YC[)"&:>&Q-
MQ;<K( YJT+L#^N*4IRE7S!CX<^2$/]^]T=!P0B6H^N%_"%_5!85A!KN>":\S
M\FA]1"LD0N,Q6,'<AF_*(J:4N?-1ED&U!O2M%.Q@@Q%9"OO<+W;8=L^;LEBY
M54]R$4&J=%U6:_%!H!RO&\L-#"],\VK027M"*+D).FMO&"B9>O%16#@,6Y4S
M#M-JL47]9O@V"Y^XK6@%V\F>D60+\FDQ-T46I+23.7I/; ^]R:+889"-O3^C
M1*)$C@-"MF'UP3ZR;:I*KXL\H?#MP_DJZ#?[+U(.\S&WK_^REB-I2B?]%U.3
M6?B ZG3]6M1BMX!+X0FR-]D<P)1K]7T0/0B*&^E;"^9_09[C_M4K!9HQ7JCP
M&U#PAR_K0#OIAQ;,F1@>8]=-4E@5*[68U,!#'=XS/=M\M;=T%=6EJ+2?BXK@
M\Z@$1@W_G0>F=H@IR*)IN8"#VN &-95]2\?2Z#IZ48:0)=)4B-]C+>+!%<6.
MKR+V8,IAQU@+Z]EXYM%[,&6PX.!<5E5#DS/,I?/P,8\/]OM4+GE1$?3D"H73
M64GG\V&S\QG-F?%D#693TD YU0#6R;8PS"M>>=LP1V 1F\F4?9EIA;D:GJ 1
M(\FPVD-.)5-_R;,W0,;%8\]A&4]%\0FGHTR T+)H:J!Z_NQ6Z,JN.R?(&&T7
MO6!UR]@ OE;%(\1+*M($>4V9!J3+]@W4'I7<&G($S')0F@*>FC@K=IU#T!X=
MW9G4)76A&QO,*_4-_XU442)!LT5XW\/,R3[,_1:3-"KEC]_0/,IP>GH.HW@I
M)(FG<5PV;H-JK8%"<$^1BB?FY44IQQU.JB="?Z!S+Z"%LN&,<T16L<<@")B
M>:4M$ ;T%D0=$&N_<JSG_"ZJCM#EG5X-L#-A25 K<&H$'%;@=',4!! H*%B4
M7E42#4?=:TP?"$NH*Z**=!6EB0A]PW[#7\VFA'YZ;MV=7\A.=!%UR4Q!19@V
M^7)R?>IQ!G@?_<-7 >3W!=O."QP<=C%8#J8=0]W<( % .;4/ISR#U# QJ$&@
MR&UHQ!!ZY@9J''Z7+\\#60@WFY]B8;,1W;@HRE,U\>'4'/AP+N8]..&UJE!%
MH5RKOIJDN!!>7K"OX1-[M%?WI"U4U23[%5\!P26(N!F:2J^"6,L@Y\=KJO;&
M-O3;Y2U_J,E";YJ'+(TOLB+:N02"TX1R000E>7W4VR3R9.KN)5Y S!;\]@$(
MYPD5\K#>Z!A ?G<Z5Z5OI26NCL02K4]96T043 /=.P3)2-FRR+SOW?!;(>_;
M)+W1\*#?0)N4F^WE#VF.P&[*@BUE&5WF<_@/3]LC_>ULCA3;D&!D#XT:?-MG
M#,<4QX:XLI,;"YE ;2G!M1!C,5#RP-EXV<XO%T0J6)%% 7Z&86:^JJ,W8R\A
M>J0E3]AGA<H/MI/*9KG!2$8.5\)44*C)%JI6"%\FTIQ; C4/#@6E(?EP1F4S
M,Z_KUA?8IFG"0!-<E P$9CM@)Z.DDJA!.D][YA?T?..NI>=]TPPV;(1B]EC(
M&G3/-K"YA"*@066/^ZY9K?@81':1[K6$W]8R^EP7.?O?O\#JUDYA#2YK0F"6
M Q<7)JXQ"(9V&V,7"Y?KN7MQ""C6*/7[KZ$&)S%'DL<7K^GN3$+&""@N#!X!
M3DN'^[G8A&4/QQB0F;ED0&)-@ HS1]H89"6CSFYI%&LXEXPMAV.F'0Z/Q9H@
M<!A3N?RRS<H9G. Q8U+8P+5S0J"UC9ES/H46<[1:N$R %[#26SMJD)O&MNX+
M:8M8"(8]TQ2'/P_!F833KX6\T!Q)SE!Z:)%,/-Y[*#&R<IG+.:=0ZG?:5'6Q
M%$4 [/ZDQF_ONF7:)6$R6&&4 26\+'"%]YI*=K2PORAIQFOH/-)X!S6%>'.Y
M+KC+26U\M+O4-^&>#%[^E,Z00WQ3]F3F*;OPU](LFVJBV!<0547.7M;U35%5
M4.#N,D);6V93H1B$NZ1&(E4&&SL=WC#69J[5D[<M59&TVJ>QC!F\0-WKZ F;
MXX:1"AC=_$!UDNY0LM=0'/[R[3I%F:!@&%8>29G5UAQ5"[;[PG^ 7^HIRH!9
MRLEWP#)[V%[Q%X;4<+0- X*R+B4260R_H%JTS]3NF;A#W+,?W/4B+T00D.'=
M?=-C0BZ*\I6!G=.7U*'2=2/+Y6\@U[^3ZA/EIJDK4&?PZFC60. -+GI)2@0C
MX[&Z[3(7'453R&JZ3""WN/8_*/:C.=/T4532*65$:QLY^,[\,^:&2)#1Z$'V
M9J/W!_/GHDB>TRR[7+*SMJ3)!5,->:W3M&0[)E"ZQ;2ZHA$0N]T7_*>6NS<N
M2743(A4B.WO-4U&64B*T L67UGLL]K#GW8(7S6NHE-^=*M$8E:TJ_&7BNZA1
M5E@D]\\%M#G/<GJ=LO^'=N(!*,2D=/+YTX]_XDW*(X.3M9$PR00[V9EL L)%
M[W605-/P^-J50PIGS7#^ W 6#&(..'/0XIT4Y 98Y\IZ?<,$0)@$_-D5K! W
MS=V)75#HA*!8G@B7@L6 T0GYN0Q0%#0L/CL<YG5\J'($(9JD=\+31<1>3:=3
M7PN##1&DC0.#],TQO&: .!T3"#,LL@F)Y\ (7/KN8'9Z6J]__/QPG]8[A_SP
MWT)ZXL?/'QX^$BEU/_?O:7T:E>6:N0X[,5+S$/9Y+KW&C6&&"8F@W9VKXE7O
M$W*.Y+SD2Y2%2%5[- "[[Y;U3B;X0A_3/!^[%<P/]/OP!XEF>L'\5F"M!^XH
M<>XUUN85F>V8[ V;^/#O%I36<N*W$W7^G23@1SHXQ5Y[4XC":*ED(O<<[YSZ
M$NI]&25T&96_P_T5?W,=+1VO/5HF/CW\+4&QP4+;@\*RWTHE&L'5\+N<R?9>
M/\1N]Y3:W"DJ,2OC4&<-_2N-2N 9<P/Y^=/G_QP[(O$V<C50V]RBPU&Z)A ]
M>J B&0;JD%[./WZV#&"-Q5RH:Y6R (7CR<)7(0^$Q7X)#4@C6;^5*6^6;)=8
MPX[?>O6"(++'+MQ2MF=A<3\OW7=(*G5&36C9$S41)DA^97B(YO,[')S*>YC-
ML;5W460)6R@?=.18!V1Y)J;T?Y9#HL+5_$#&)*^+<GWE6%NI! 6M+71?OEWB
M$!*#F4&_2*LXRO@;?L'^;.>-0J;3N4#YS:#(0^_?DGU,E34F[#*ORS2OTGC/
MX]M4FY9:IMF4I59YX(/:/)JZ?V)UJ@RC"0LLHD\JEN*]G*C3H\%^P8>)X/5Y
M7I1@H I8*J,R7@S9F *_%L-4+%T3(K6-'+P='5FE[&7"LL12R,-K6T*?:%:L
M0B2+)0YV$3W36@7?D4M8[]8$9(C6@S:"A/(&Q9=M!VU4F.PL_GY>0GF=OJ7(
M^'=?L&\.RLO!V6/WDHNB')1B6JCCNXVAYTV6Z=';H;=R1P)E!PXTT#UKA:1X
MR-)',2 A-UFFR]:X4._'N&H#DM4MKA$)L^]'RMQ#:&) 8*WP--8\H.ME)Q5,
MP'MH_U94*<!=(9@M^-_\. B'1:P9-?B<6P:7\UJ$&.;M%W#6PFJU_&N"G#,!
MV_AK[[-<HC)+*02H7B!"Z5:7)&3A]HSQSF!#S(9 816+M:'XO^4G=)[F:4VO
MV)L Y,M,$/2T<%_VR_IK]/>B/,VBRJ5R6VLY035$ZU%\F$%B3Y[AVA$/A3G;
M*^9N9Z5JW@<^/37T<9"X?4_+Y838 Q^-V9=[.#_#6*,O<CZ;&X:XL W!SEWX
MDQ[K>8\MG:55)&(*.#-+M),Z!F)MJ7"XR#;5< %8Q2@IV;<CH)I.9ODM5$1!
MARR,\:Z^Y<4#C,\ :U_FJZ:V:=B^K/&?XY[@E#7GA64H)U@^?&.A)99YNA9C
MO5%1BCI"%V'Y0&Q67VV'.7C5U;"PL^VQC@N8&7#"<!)9*8PKA9%*'5[KV*<W
MTU,L5AZD:!VD_8O7VN<A%BVW0G)#IN14]',%Z1IP7+A]5P9A(1??P_YHL1^#
MK[GDC>QX@ZSBLGAV?*'Z"#-;O- MM83K';\EVM?F]V>!M]D^V\BI5^0J^M4P
M5^U_&HA>/XGN:+=*1B6/H$#LE0[FG0V&QKYN[!62"D_V9TFQ)D.D2A6;'/.,
M&UZ*,LPEU S5OI)WY@3X*OMLD-OI]>PUPKL/$UK1J*I.ESA2J<.,:NCS7IJM
M[N2N)$%FX"',N*&+ILR1=_8B?9'TN;,YVS2I\F.Y_S#,6!:IC4AU?/X,*M2>
MNV#1##%RV3-^\6"_$W<0ETV$A#]_^M>?W,/"*K -XD(\-^?59WT+'X?A6Q_5
M'B!<,[=MN<J*-:5G:4GCNBB-37\8;EUP5H4.(I58)^)HD8I7[X@16N3"17[2
M@>F78."T*(L\>DK+IIJFR2W-4CJ'R$Q<Y,4RC66_Z463)SN5N[5>54,=8?H(
M5\B#44*EZG$EH)2GK?V21/NV@719=L,^:NA6Q9N!'^;JE1H_E?@KB7\.^)^"
M%(DJ%_VV9\KWES5<N6!\554/W7MAZ3/XCZ#$%B]Z.-_+?S]&  OT7.9N^Z:>
MMZ'O]<IV7I8PHZR$?1@N1^S#N"G3HA1-'(K6"Y"(5@47=D]41[0^WTR48@-8
M+E-.3@8MLW($6LQ>PYVP=/9[)9[W/9L*1@E0;>;'!LS>JO>(KL/+:>=PL2T(
MZ(:+&&KQ%7>GTZ9<\R)\2=TY<FAR0]EZCAS'CX3*H)J81*P3,EU"(8-WFRB6
MEMF\7<MS_A)G#62>9>WB0.P\[)1)=25/F.D17G%F?1"[Q4H?E")5#?IQU+@M
M+N0=P =J2#!(&6]W)R&T:#5O Y:F[[ALN\L !S-1O\T2XH#,GVA9PZ._HSGS
MVY!5SMFA44+9906D>J:1&Q"*<ETT!"XM )'A, BL."J6?,0;GD>@TD.VB8A:
M>[@UM^\+;BD.@R-8UO-CK*!U30B1_WAE<J65K[XOH[SB+72\19OMOA3:12H^
M\YD9"7[AX'?WC_ZT$_G&*B:R55PM1 [)!E/*M1RQV:P4(#>%-=SZB*';93ZJ
M_:5G_'>(]GL>*N".M?.P!RE...IAASTX8\E>@S&"];>Y$ 0(?GWT>HK>E,53
M6O%YTK)76=T310^HF&_BZ.<H3>ADJG9MXR(IU)$/0J&W"X1OY-*K?C^(;2X9
M+MHKEK-HG4'1R5V1-6+6<#Q(ZE,*)I64# _,KS,^'!CQYBD0=Q:(("G-X<!8
M+]5^$)FU>&F21N7Z+L+:*SCK'5K>0(HB(0K4Z<7.)2"9Q%T@H<F7];<*OO^>
MT0V.UPP8HHITEE(5Y& ^@#9VHGWL'= 1\,;AWPP=RM)Y5CSS(26]$RV\S]K3
M+@5DPDZCFCX69?J/R+F*0@L.V+1DAHY6[ <7487)1'#"\7MRXR_00MN^_8B0
MO1K>,_%QX7P?\MMA$<<T@RL:3<[HJJ1QZO#ZM<9X2L$D,22/!TW6!6(*#=0!
M,R2B=O?1AD?D?5+&59$_WM-R>2/>>)V%_+(6V^!Z-@>V.?D3+F214B(F"9A,
MHH1Z/N&Y=U]D["M?WDW=/RDABMS],/7K^#JNN7W#-)8=YJ-Q7'_6-7<P<HH;
M]K*Z3G44,L:Q9NL%YX*\WQKH(Z_F614ENI:0+E29\OP1-HDKU]'J7 =12N0P
M8T,/WXU"TH-Z16[561P4?'X!MIAZC33595X7/"3M&J, MMY4J;!25BE3@BW*
M]=IST&)XF#)Z89,1$S.]",)%!F9LZ#I\R\83C+ @9M.##)!Z;)8-DL1AVS*0
MP95T0?,J?:(\0JA(3W9W;J4*T1IM*9%!T0^@YV.H>C"?N%M7E,,#KR*_9VD5
M9P60G[@6XQJ1;2V4X0E7:CLDJ)X9W%B^YAO#A@GW9S0N@5 ?N&*;#(XZF+YJ
ME ^SGY4S5IR.5*3.$#M2!7>91&H&]K_&6!T2/#Z(]9&(_1\P.;+%2?+'E5P/
M^]WO-(=_SUY_LH)%$\Z><HS6%)^#J1H_"JE\0J1ZHM3S\" N0)*'PS]1:S@J
M._4&WH[KO3.*_F71K*[19:CM@MG!&]NWK=3=;SN$=\O8A8(6<!A.1:%H),-B
MY0;'#Z"%P,/<9#ZO3N>LJ6&>,DY2YM-KV7_N%R4=:MJPH8!\_O3YIP!E>EXP
M95TX:N@P_ +EAYPZ[ 5EZ]9GHE6CA^$7-:+U6S1:E?7?9L\Y>Y<6Z<HA1JID
MA B)7O1Q><I)6"FM=HY M)D5-I"7&JK"A1^\@19/D,LG1P[6W#7?Q^.UBQL/
M!;-T&GZABS3.AC@#I:1@46NWI6=[6O4=S2!V^C/SLIF+-,V3:;)D[P141(!?
M-,!(#Z%A0H0.+*"VM02>[N$'<_;=<,>)TP[+"["/!MC(TK*'.G% "LD!@\G>
ML=2IOWF 9R L.GW _Y<BS6OR"_,;D(RH*)?B"A:L]NEN490U),0A_@RU0"XE
M;"#K!(01D#813')!2MEP+&V7JWL *B4<W]M#M.V95LD+L.PM3,'.$J@NTG5'
MR1DR-/#XT?>1@!Q8Q=9PP-J#*J$LU!!,N&0U]B[(L#M9R+UAU!V,$KIDU]&G
M-&FB[*9@>QBMTY*/P1/!.4GUT2O*X1:)211;I1%=U:M"G@'86JN)8@%1A?C6
M0,)04UP/SJ16?&AL=N4D6C]?08=V7 ]31L3$$2Z/3,.0@#FN7WP4YKJ#;>V]
MUU'>%N_8D\:KR,U14^/"TAZ'L.E&+6=58L-=V&D(/@";TQ"V@AQ\&,*PJ+.M
MH8X+E\4B&.Q3Y*7(T!:1T*$ZNH2X"38,!2JF=D0@7JH1KMPJ>S&7'^3F=!TM
M'>-L_+*$<H*=H:Y+[UQ@EU'Y.T8<:OA=SB0'PV+V#D"X90E5F?_8:;RJZ0R8
M8J%Z8I51]"XQAF;H8!MMD:_*(FEB_ML@<<,!06=.>$<$U*Z&-+I=,%)H" X>
M$W,;&=$?%0O4&V=7K5Z4..DA7L_F/&Z0QJ(3;)C"W E1&N#^)W7(00IC!6OS
M)]? 5S<W<:XDSE48G+I>YA4/#X/-[/(]K6Z8_SV;]T2_AR&;-6J,+MG94J?S
MM'=Z)1(+J0D1WRHZ;S),&OOONMBWO;*NJ5Z_'A"Y&JAE@_7 /^F=+Q2^6@M#
M0M,X+AN:&,G?TZ8L=]](>)Q)2#5SRA,B!(\+5B>&%J#.&4LC97GF92[C^VS3
MVZE<W6(#$L6I'Z3XCU!!J3((0D4P>J"!H6;?A7)T\%J-!QS,RB\8O#H:]+)#
M$#V;)?=!Z(]=UZ_?JW&M>U.?0ZA&E)NRB"E-*BPLUQ0(N(^R<S/*8XN5PSV_
M,9="#0Z.D8,4[Y[4PIL)/IB\#Q]%YY%29K"O>'T]OS)?&7Q$41<[R^DU\VL&
M*FB6PLGG3S_^*4 U\^!@LA8.5<;,1!.0';**>7!TK2U][R@5+X3V^*8Y'YFW
M*+*$O5B\M=.Q*L@LDI13D>MUP#H?7_C,3Z\-TM3RSYY;=/OFC.#\^"_KK]'?
MB_*TJ6IVCI75E[5J#!>=XL//D)2CZQ_6!)43I1W^2.DG<@%[;;D)92>+;8&R
ME;%-X-$R%QY1=^DCGQ(+;=YR,;ZLD=#T;V=B1[J1V=FSJ-[5TY.R9+\>DT;.
M//8(O<%@-H2OU!F '@-_V<KD<6LDC]L^W"A_T,4S?8.[+KCW=%WD\ B :"V'
M#C4](\C)$8;Q=_AH4RF81$KR6 !E"@M"42*)(7,L6-IC)1=4<D*P+3.73TL_
MHXI/&A&*_3)]B %CL[FQ6VLJ^9LB2^,!FZGD.+/9W#H=#.YZJ3%<TXUG"TBG
MXOTA[YMC=R#PP5NXC.?EM$E2]HU-ZQJ'L@%]<A8][AH<.KVX)4(B,402D.G[
M\.QOM^:3N!IFW]E*4.@[^0V7:N85]QNJ #E<?\CLKKCCPB;>R>V'>@E'/FQB
MU^!>@H;J"JZ84.7"H)]%ZUU!=U+9AIH)48J(T$1 U:AQ=[+:V#;.0=8"9!(
MY)2]MTD*'-Y/5 R#93LZ'Z!%$PB/0OEXP[?%V?P\*J$VM&*OWMTB*BF?'+=K
M/9VAFVCE1&KG=U)#/S)IB!7 VT]P#:'FU^W%5.VAC6JP";6,%$=9#(Q6PDBX
M3/9W5!J+;4JD@E5X]4[Z>OR2!%ONH@RN<1=%B?-@(BR/^E+DS:X;1F\Z7BOC
MET:FCACZ""H<O05:#KJR1&Q8(M*6P)L*,$W7AB4>0+'W(M#;GFG#;I0QYD1A
M&?'T'M8< D;6AT#(&L/ZV^T3O4!"-TP,!\QLD]@ +7ACQ"!?CW$3V( K2-6(
M$8JY+_2.>!.ER65^&JU2M@8\)1^@O=+L6+NEO&V;';GE4QI3'MR]Y>1C\ .[
MC:TW[#*]N3R=<%?B!-7+BDEBM )BU3PO4)GC=+Z*<]J*1;Q3,V9="W[9T8+O
MS73V31:S=>+MB\U^3<]S5,V[#K_A5'R ']QU()0OKS_<>_W1Y7JGY:OK'59?
MZDM?&#_>%];>V:7&U$J(&BNU8P79HB6*TI(\R<&+GR<__?COD\^?_\2O&M6&
M88SX^6M+\)_21,M>I[MN<M)O%9FEK**.NK7)N5F:ROZ.V3&YM\J8AW+E+?H2
MO39B+JY;K)Q;M;M$K) =379Y\SNQ[2L7Q3]LNJ--+1HVZ]M7)?21Z#<0B_#,
M"L\I#NZC%XY'!%_SQRLDJG7F]1<,"A"!%6^&TD"X"M^D_L,"5,?QV\!&A<LJ
M*E5 ,J] #-;Z09LQ]MF&X:4#0P+*M-3QX.A4X$3AT5RQO9]2^Q-1P2]95'S6
MT.F<F?VO-"HOTN^/%-B.W>=/S(O#EN4%97<V$'P4*,4WQG5-VIO>1,<4)T [
M_4 )W \G! U 0"FY","5)[='49OGUJDMMGHA*U@+MA."]CDEQ!SXJNU/2"V^
M%!66'])<I&S2O&\;P>^MP*Z O,ACOF%9/R!X\^%:661I@JV<#SP8R:Y<E)VC
M?B=6]W^<*@G&_@)YJ(KLNN"7SS7;@W<[T(U7^&N:I\MF20K[8)?]OI[YTL-!
MWNS#6"\!E8KA/0#-<&/F-^@UO%#^O;=P-LG:YD QUHU,Z22GACFDVA#.;#AS
MM!GH7=\2[PE N"-B=/2:UF>T3)^0:A9=?G72?F5+:=@^.8-++=OTV)J_1%5:
M?<N+!TA11#CE:]74/8,H=F6'@JLKK@N9H(A>FN"*_:!6]Y'(]4'\3JV0X!(G
MQ%PDP57V#_0(-VE)L 4+EL !F@^#5E<-!".S$, M5\@C'X1$;P?ET ^D?0$9
MR;HW%NI]$(."/H9[J7ZEZ>."^4I3MJCHD5XWT-0VFV.VI\*L:!JSOW89Z2U5
M$*&#<"40&>-J(.0H%?D=[QT"M?UT9RL^W G\5Q[H;_+4_SC7KU&\2'-:KJ=Y
M OUM*S@:<6J5D[<II:I6P15/3J'D0->GX:!EVZ :#QSS?%*2O'IWVPS%@D&1
MLQQ2;LSE6T#"6Y3F.C5TPO@US "#B]>DU0(SZCB([>&(,(LW=/NR9VD83"I+
MY=ZKH<,;IN7M:P.E^C0MP4!ERT"9,!"\)W 1$ 9:!3!03ZJJ@K+',XHS "$!
M?5[%9?$LVD@\U#Y6O.(QD1HA:D)1)P1=0*G?G(UO$[R2UZQXV:O2Q#XEPG7)
MMIU1(S=WQ]V>O-_-(7]D2Z+LJOBUR'#T'(T7>9$5C^NK;!CN7*V""!U$*R%7
M5Z>C RAW_[> A6'<\('0<EGV]?R@>TYTJ]RMEP]%YL#'B^0)*&0/,X,J#Q."
MJI C?SKD'[M^,?B/)]"U6*8/38T1J+H OL(0))C.,-H%Y8&*JH=:N%DP/IJE
M=[/9E<420[VRQ. .>U_DZ[_\F1W%@YR'((W\Y0?R9^]>G>.ZY?9IK#?,B>:X
M;KNF52_>_\Z?XO$(?$F72X@48@UYY1S>48(Q$&**#AOA&11@MB6V48&RO7TA
MV#_[.#L^O[0[ (PNAB]K_2.B*&7Z')4)WY!U>76%]'[W[.HMHJ/7D'JKV*WD
MMLBRBZ*$?[0SJ;ENM+"&.QGK!)Z<WH8,T#N1%&C&>@4?8<U63,22D<V>+WK2
M"6B3WP ($4@"C$H\Y =CY^ZY3VG,!_>ZPQN-Z=A(;K270H]--9MS$X#=BMP]
M#G7:KM6W&DMC4 EO"?<EL)D%M?H]GKT;07QZ)GC>MF_V%Z,J($P1GY?2-F[L
M=K;GOO.TH]85I/WH/=/MSC-1$B^F;DSC>C:_?R[N%T53L0_P_IFM8<W^8!"7
M4^DCI50(A&M8 _]<L/V3*V6_ :WX9TO4Z_<#\&Z&3&9R)7RE"+C7X*4'%E&I
MC'!M^&=!_%SO^,TM_KMM$*IP4=73N[B1/=T!@?S'86!T;[F)1 0ID\AKPXY!
M,+UBF_+Z)@.&+B/MR>>%.@Q;O2KR1S&YPFY""C0S%?TGH\KM6M6JNE.!]]>]
MC@B1\>IQ1%87AQ8<Z)8Y'+)L"U#[N0-P?QMNG#FD-]F' =]<A>1TNP97WVAE
M)[]QZ4$Y@_V#M]C_L(ZG>\?<&^F6;F:^*=.8.G6B;R0:TTH(:ADMVBZ]&$P\
M2GE/NH2X"@-1UM9JH+=I];O#"6B4ZVJ9@4X_V8AT7X@V6YE0HKLY*_;="M/W
M%FO V/"8+]ZWU;PLV),)-)AM:"CB;5-3.]C-5@@F6G(@S_B.73\I-'07<91M
M*-$=FCD4=?(.>-!*7JNFQJU3:"=:?2 W)Y1ULL$,<RP6L5V& &3[K<+E;U!H
M?'OWS2FFT:[,)BB5?&!RJX_!AJ ,BJS#FK<)GG]4&;0IPA3%M1$Y="WC$&)Q
M.N/:C,&&J.78NA04W+NSM,+2,SUUP^59HON:")%'@D\\TFT+@'G=KU1+M-XC
M,<>.9;^\VE>^&K+8E^GWWN2GI]EL#'JY-.M)H1."8NT&AE#M=;XP6G-Y#@'H
MST61/*?9=]<'FHZCE!'(^]MUR9F]VD-=YIX*Y=R6NX?RN)W?7.,3]/TN\'[Q
MG-X4:5[#Q#WX?W%4&-&?.YJG18EQF[.&RL05_.\Y]/2YNX0__O#ITS^9H2_"
M58J<=M)0\OG3Y_\\1C/(0'9.":KG@P_Q?\0*-MN%K4(G]? _N) P&<X]V:O-
M.<#LMD*[_0-,AO\C? V+Q;'B=LO5^Z3RX?@?[$WU[IF<+U=9L::2N+4_A*[J
M?[!<J,(CR_Q[J*%@-OTKK37IGE-8Y2VB8;4@6:R%5+EL"61-:X.Y4/*E!CIF
M#\:8V^5HOM^.[\: 7:+:)B\U(:;%/PP5/KX-@_0H[,+^:UHOY-1)S&@;#):N
M,V"E#O+,E*C9ECPZAW^."HW?&TQ@X(@S:].4TWR$:Q;Q:A@[\R"<-#&J.A:*
M*VZN6$U0+?)L_5^C(3O=0";WO5R ?^(&R^DCQ)R$P3:1[_AMGSA ZVQ/9>S*
MNMNFZ]/?J.3'#-[9>R#&%YO<?HS^3FW>YD )O!UT(U-;^1?3+"MB,:%*&Y*/
M-,!J8>=1W&^Y92()Q5\X,7C!=,/V.H][SS;L5.#T=7F<AQD)<1W53<E,XIPN
MY8*@0%J+8@\YW.-U1V)5*I:/$7O@8LX6>X<U/KE9>>?3X91T\#TAYYQC1:DA
M3G#8@<! !36RYM<#7YHJ9'X]01^4$'=8@KNM$(X,FIWN%/AT[@M*;G+JS>FH
MRIH73R!%%2T>RVBU2.,H<_B^3#&>OZI!EV]%QL-AT(3@P%'J>._G0D(2/"A?
MXM:<M\8<4E&S,*"'("9TLY-G"BEB\,EE841=$$L_YA1'CET\4AL7#\YPT+S_
M+KS_."UI-)M?L:7L.O.!"8#'""(.=[$6D\W+*LKE^";*M@.\^ZR8%Y&&F+FQ
M,P;[UH9VGX6QNTKENQ$EZ8* 0'5IWRJX%['GNV3?V*Y'(!."PYNEF D1'11[
MZ*1P V05.+=0^8V$I,4\HR^#9/&8K LF*TSBTFGA,K(UF@5;M!5\U=YW0PQ]
M#=.UQO-!1A]>F'9)5PCR'!7=JN%ZTDX+;+SB<07H:]&%?TY-.X(BL8(J/Y%X
MFAA%?4#O(;,R8X*HLW%:) &9DP"%G#X V?Z$&!S#DVA5^IBG<W9A@M((E4&+
MV/^9#Q)X _";*\/,N,&PXB4.XCQ##YK'+7$:@NXZF\VMNA+V,6$@W;&[J<4<
M0I9%@@8*T>@4%+>,A6.Y/5=*SL0]#-5.Y/@)H^.0O0EVY9'4?E2F,3>Y;< 3
MRXC_RR=.>CW^X?"(JL5ESI;*KIH\K.66+&8B3Y";-A5"14#K@'&T8OA<%I'"
M1,#Q\-??<GPECM9S\)LWUF&1[ES"G:K&6Z"D?!X(ZDR/]%TZ[@>CW$*/$9L5
MQ-LOP'80?P.[&E0@7>9)^I0F393=%%5=TCKE.2,1YZ^NTIQ>UG3IS#NSD=,.
MBY'T,B"(8"Z$R)60WV M!!=SU);KS96,RWSM7";R'?Q2 ,$2GP[F>@G7LD8)
M17P<G1SMA#-4$"T_6$10[X<RX8UE-U6*N?4O:^-W0VW]JK+)U#2!6[#Q!^&;
MP?S@WW0\')81=B7D5#,!L2J+DV5"QA@:E/7+#-V58O#G_EA2]9Q 8BR6ES!A
M/[7Q\<&")T0L^?T:OY4CXF9ZTF;Z@$O\."%+OY9J.6X=9CF[0'!H+[R'0J]3
M7QG6<_5A@)Y]^GT W[1!'P!ZKSO$&7B.-$]@?SC@75DN$_?D=V?HWATXD299
MIS3SGNK>JF\%OP/76I AVWJ"EXT$,),=@#<*AC1POD6IK<M*89S:?4!RD0$&
M1I:_4^23UH%@=T[#2VRMPZTD7'!]."CR)J@$&BCV44\!,Z7$"M9RU.%UM'.(
M68I2(QT)"/-9*'E+5^QO%FQCGCZ6E'(*Q@8BPRN@%0+U9\4R2O.=-R<M#,&0
MW[B\8#$IY?2P7YRRWZ?U:526ZSF?<N#$#M?+$@V_YGJ(I2APD?7 L-OQR6T0
MCQ1J[XA%8!R*.<8X),:>Z(KH[W+[+OOB*!/9"!?N(QT<7N_#VP]&O(1=1#'O
M4,X3Y(T^?P'2P:JNG"*A4BJZ+9R/&@3+XM\0!6(# VL%$BR !0*D !"';?C-
M5 X,S'PA7WUL>V/CAT8GI[WD%3;^0-N(:O<XS:*JFLVQ7L*A6P7%X)PG++P(
MT^LQC=DGT& 5_QE=E326C'JKC J&\^FR*&O1=[?Q>;J2:QGK(.9")D0M!5]@
M<S&0B;&8VR8V==N$G.,4*!*("&N_MC29O_Q8\PM]3//\'1C4=+?]F#*(5[XO
M\V7^+'=T)NNM6KL"__&$F 9,C-7XC"M<L85DYWD-OHC#J!R00K@8SP?9 (LV
MO:6 *Y?OG(I' X5M5D"UP3!MBD:\WJAB\.[S#8HGZT QI 8E,[AHRCP%P@'V
MG5^D+_ KI_$&2A[N<%)BH+$&@X&QWC<I=$+F0B:_2LWG4#!#0VWBL'U2NH%T
M1DZ5.&OH7VE4WB_8K=PMN/_YT^=_'SVD3)\\E#V_%O?0Q$S?U 5YH.0F2I,)
M 7T$%1YLND^,A?V9_6!=7>:\Q/Y7Y,&DR90]RNB1XE^>L8-6[5W[R[*J&<!\
MQ23-5>N"7#41R^8_0F#A1G+VG3\)<T=2!HN$P1[18 D8; X&PZ8&N'-7!CEH
MA$%6_K/4>\[V:YH7)4Y*YI7QL^><(5BD*]T<]64-Y?.0$BRR#,:&X(_L^HHV
M#U6:I%')/F6ERV@"XTU\6AG_H:.Q@CV@*R<FTD*90[4I>*Z6@FS8U^@%5+A5
MJ7(9WJ.PSNLUS2\$!9GOTJ7$$,P=*:VT1SF(VQV>_B,$PJP/G,D!HK49+GI0
M#]TD'LSY,)]%D27LT? YW+OZ1$81F0Q&^*]I'QI,M]<\:^&J#!W_+&:)^T;)
MMGL1O#?F#I^_Q%D#@=M!9F* 1)XBAC<VB(?D!Y5X';5P>T8T^: T$*G".P69
MI^=G\E\%?'Z8BFLWDXBZK%^*K%E2.64("[4'&!#&2[[@Z^/RB74E\,MKXAEH
M*[G:Y3J4Z/]/M%S]M\2OQDN!8K\Y5\_XI6>V ^Y@#44_1VE>714P3W.6G[_
MA;])JP4L%@JX'USCV/#I,A^;6I+AN@4SL\8#KB].?%S0[(B6!!=;- &C!&:Y
M DPX^0#2/Q*D\VT_.E 0:G;6T$"S[\#H&YP=I[R%&,QL_JWB/L*N<X/:$4D4
M>U+,3X ,#"6/"I;%;-SB,"]QN!%[6 W[C5\>J-Z3\*8L'D2X=S:_:^*85@,4
M(AE2L<J%RQTIL#>]FWZT83V:X>!N=&;Z88:I!MPY$,UOT'J$?85E<?>+*!<A
MZE_X)* \D7T\]P7\T:RI*W;?@:M-F+"UD#XA?$%X4:"RM:@N"+15D*AFFWJ,
M]B8__3B! 7(__6'W'3]D7#CA>0!K'E-D)W JX^=6(H&#>0,1."&I1BEJ26N&
MDQ0<*'EZY8$6&BYYWBJ#X9E&YYB>MYFH(ULFZDA/HDZ$ 8F!3E37 CZ9Q3,_
MW'/C.<,?$P/FH:3VFM4J0^Q1=AI5BXNL>+[,YT6YY(_<C1+<E$Y / 'YQ% 0
MDB[<#U2;)MS F^B8.#LGD0MK#NA3K=/;?"^=)Y"4,Y"5N%NQ%[0HK\1(%:=J
M;"T9$QY$R"92>+"B;&N'@DR(7)?.23B^Q;=]O#W!7MOSJ(0*W.J&EK@UG:59
M4[O-Q90B(0?,][L)$6)#3;@<!E3V)IZ1 +'8I?RN' ]XU)$^43[R?I;CVBO)
M.UEAH2M=IFZD)%()H:@%HA/H1&'+@Q%I6G%5XP2<M;!R!626\Q>Q LY[@WSS
M9LQ86Y[S=SY?[S.(,4@#Z<S+Y:HLGGCMJ]/M5TDDIL@P=UW9FWW/W,**'33,
MDNX1&=7P;4@=!XIL,X"1/8_65[071.W&V"%F/AI_XE2B16N[4(%+?R>6$*]Y
MWWC1B>M\T8GYA^_$GJ;;Z]^H@;QG]_<KX(LPT,/K5#!YW>R9@[2*TD3,)H5Z
MK)NRF+-WA[TR479!OQ]+:]<7"HC4@*^7J8. DI%AS&3:YPBQ65Z4F@P%$8Z:
MYM :RROJA,)@'5=FFY?ZPS^GM(S*>+%VBO 8'5A*()_".OTE#*L%O\"P&X::
M=PFU,K!AY\!P@)\2)+YG.>2XI2,UOB*/@&"E&RV5F>-,L1#)5LA.-V$14*KX
MHH[ $&TO7!E$SS\E)1BD;!DD$P:!%X*])UR[][LM]T;<9M;+XE'/P^0'67+W
MZ \[)8O=0B!'P$X-8'-,OJR_53!VE_/:0<V]JGW?=<P'K7E&1*J W-,'T,+>
MP(]$*3*J[,>+N>=I O2&HV7_)\%&WL'RL@EC&I)[9: I+<A1X;[\K'_E/DO%
M!EIYNPRGQ_;>-^-O>:DNC>QXDDFA70=V&M+P');R1@*C3>PCJ&+@:3QB*7]C
M H1S]4%HFA"*S>*$BQ@57I-\YWL0/RA*G6"X117#15$"R2Q3C>R;><4V>3Z8
M3[5Z7Z1PE=EMJ^^M!Y<%%#"Y."KSH@%N-4/S<4#O*WU\3\ S&_.\*(G62BRU
M)JV TAS0Q]GF<G&*+OUEWB'^A,LPKS/(LN(9/GGOUR^^%G"2^ACOU8*(6I&:
M[GGDEK2&&RHC/2F#1%+PP9(CX/_\PAU?SHS@-,;V$B>MPCM52#X)Z56'.6;V
M:0CQ70U QL%+_<1J! _'(7Q*%TF:BB_;[4AF1P)-'_,3MB,CEV:JNTO]3LKT
MC;:/G^C(L7[W<7)Q=GGI_83@D]T'S/\-VH;3ND#V)05=<X)M,B7>N0250*IS
MR6_]]L$:_Y7T=@"COT^;VYV>;W>>^>1MY#2+%VE&RU.V/ST6Y:X<'8*P$441
M*<M[#Z>@-V /K<V#,!SABE2"+WJ'^V%?5"M^H5O\#Z_BWQM_N6,1>8OEUB:Y
M#5!.OI^^GNO&M6*1%Z^^]WZXW>S8V^GVQNWHRV =4%.S ^I>=$!Q('\\G.]K
M2QOU0]%S=!YJO<A;FE ^BH_?L9U*5; X0<N&HCXI?2+N\ $'0@T/TQX^OG^L
M^)W]$I7HS]K.*@P9<=RGIDODQ6$^Z9-0(7Q5&,LR@9J+K(&$.<[-XW^3Z:BR
MD7EY7M"<% ]9^L@_*0A,R];=%'A6L:8@P3\O;+_8<]_^<+837X 4V+D%@<U&
M L4:)2_QM)Z+?SQ&K-JXF+UZ(W,M!E6A?4@59F8Y<1M]#T^(WQ<UA#74)FXD
M.*RBZK=O]G[+14(8X4#88=[(E3.7HOZU:+#%BMU65.!1!#:'KH  !H6:H$+"
M-1(=ZY1!SN,PA97*X5#A@6\J), B564*6:SH^2MXJ/48U#_3C+F_7Z,:)XDR
MMQ)*Q\1_P"-]BC)P1<^K.EU"]F$HN@YT?RJU#+)@ZX"+X%*L!&^(6%VF?D'U
M<@B5ZPG&I;$GLYF>L59/_BS,]=4TUZDT%_["6 91ZPA 2;%/:UG9Y$TOSR2\
M.9 %^+*J&IJ<(0$S=_!1\8;"CG->;B+NB$[;$-,KZYKB8KF$_EX<5+=J2OB;
M&EXD=M,D4ZC=2.@$TD\_(+^Z*/VP2EY4(8QPP8_+</(ZCP;BBLF9( 07PQQ0
M^61C98S0+V_WQV6>=B@*S91R,R7<3"MA)MR3)P?Q%AD372T*(NRE?\5(3MZ?
MH;1O;L5;AO'K"@>S2-8U1HL:"8SQUL=T),9H!T@<WQ#O!=+;E#W %&VYT-BQ
MIV#[ @@<(J[4KE4M1"C>FP"&^>ZBD$TV.09CV,GO;\R;*6L@S(4;$S!ZI- 1
MZFV7@)2W:("Z2*LXRF!ZUGF>G.U^5Q;B")?'QW$QB;@Y!NLZ%24,5NF"Z$1-
M9E#VP!;)!Y-<%W"#Y;_]$E5I=97F]+*F2[>Y<_H0D-4AK:(0N1H@XE'KP9\R
M5T1P2>0W6!3!586;_;@/&V9M\TVD_=I%-<I^A6F_:/_VZRFSL8Y89%'AX3H#
MSZ4(];MM'ZIL*3;*EC:=ML=EB*QE 8M"PW:]#,46.0:1NH_+,E;H8)/G=2)]
MKR/!WEM9?$;C$N/5['P]D#O+FU4]-T66QFO7DJU7BWO8'Z(2\IOX;\"J+5^X
M6RSO%G@^Y238 &\LC'AXN]SC8<-P2EX8(8=3JN-YCRT(:AZHJ-DPYH$&GOEY
M &8UWS3>.MX:XXF1))MD>Z^S>;_EB9CL0Y/S%^#&Y_4,'N?SFBH)UTFXTJ.P
M1&M4#:"+5(D(SY#*JHZ2KMB**9XV:J3GN(W0/V?IX(R@QKCFG&:TAII=R.9<
MTWHV9]?XW8??\;FL; LU)(O)/<"BP? S\:/#UVI@+!\YUV$1IYA@>D[KA2!1
MY8"1;\:8,3 A.0=?^P??7U+I5-8+V_9)=^K"2) 8L<<[8XZT.LCU,<F'*V->
M]07TT4"1QF& ]C@UVV#T3VN/$VAO(N9V&K2IU9>U^3?3EW37"(D<<:L"'ORW
M(!9NLK^!:._.NS^4]DA*C6T=")G<3,7K(GB\^ A1=CPR(__#Y7559X;ZY/AI
MH<>EFDK&"K8=>(#VD0:HE8IF5>3>#WZ+%!D&%C</55RFZ(A/'TOJ0K_=2UD-
MWZ*IA&@M8\28;0\O+,'UP#@WT5TC7::)-U**O.<G=<+)2C9AVX3ZH_QQMSS%
M3GE)WK%AZ.;A](FXQP5R&GS:Y;O3DF^89,RVL(I]06"H[DU!B,"3B#'W*C+$
M!6-$@573L6EU0H0*(G400PDQAI6.$'+O5?RT638@#\IP#:11\O>FJD,$0/M#
M_J]R/KGQB&Y, O66XEB1JD#4H^%,8CEA(C4?.B.H&^MOZ6,*?<1Y?1TM=R:G
MXIWU6A8!8;X?F5WJJTN W5[55OGS!.N?3^KB1"J:R*L ANNAO>R!SMF.H0FU
M.)U929.T1C+D8"_QP!:Q&$NC\G=:8W_5*Z7T_CLE-2M8GN Y:.0D(:3@CG13
M:]58L64M6. ]@2?-G26K:THK\7IMN"\;^FT%WTXEF_ _?_K\R?WB!X+)MQ5^
MEI5N\ ?AXP'4NOT@IF:%78PM3'Z[4 8%E1D/J!],L %&EWE"YVF>UO0*&+[:
MU"1?H[\7Y6D6516<84X]YEK3":KJ4I-,"*HCJ \/S6!-YP',8',-*EMD!V,+
M?,^!K#ROBW(]5?[W #$H)=5PZ_T&G8;#D;4A&!+#!):&P]+:37L?B_?@46O@
M[/ERE15K2D5?*-3 5*[U1%;A"!83"25$:,%2FRHH 91/V%:\MQ>J;W3_MXE*
MMHI,TB%'F3$:VO5Q*N%$2;=G8 =\C'Z 6JE=FG%ZF3[89U$=D0_?\JAA]RF:
M>(L"X<9S"O>W+*/)#?N)15316<GNXB*!Z=J$HX1#.R1*)P6(EV48GHD9AL4F
M]QV%24HE*%8F??V>><-"LEMZ7W]6>XA'@0NUS-7L"NXUW4)F9#:?-37$GBLQ
MS.MQ,6B@KJ59.6RH' I*I'K9L4I@"=[K%>(%39J,H7^3OZO:1.!U#Q&-74L<
MA'XPP#8UG-6K19QL2X>U>-_-]V8U:\/OF.YA6],][,]T-D^7#+,Y=&9UB+D4
MQT*(WJSAX%C#>(L:]H&$7?03CR!T!/M\2<O'-'_\N2R>ZP6\05'N2!$K11(N
MDPBA(\%BN\8"R2-'$OM%8LP%X\E0"']/GZ(T@P_TOCA%3@BLY(,9Z6RAT X6
M.Q*E0DFG2 WS1"%1*B$XS9424^L$V]#B "2J@2UB?8GLNRXC=MG]+]_@OA8Y
M7?,,P463)P.$3U BX2+'L?JLNW""XH(%-J7;>U\(IO!V3,]M2$\%WY*0O >2
MY<' ]4^=4D[^',O@,KB00FG<2K0J^<;W*P7&-II,G]@W^T@YOZKPT2KF7E<,
M;2*Z>6.7 B.IB A-@LI5>6(5,;2)?3)0+9%7&V2[PQ\U;G-7'3\:N[%'/<Q(
M/,R*/T(Y)12\G09[6J#Q08SI99\S_SER0AY\&N05(DAPO<]$DX]K!RV[0LA^
MH;$@V<11/%(<ZC:WB8UTS."V)IY-3)#>4RI8O6#$H6\X2PO[UN\+58>Y,Q,.
MKXTP ^Y:/KA!NA#5?UV()Z3630':PC2#+,PCA132@PP&PK..>3U3')7E&@J<
M(/!2P6"%5#3F^[SM<^XLH_-A-E>9O+N:KKZMW X2G1:LF+03J%#@_77C 23>
M7%,F\!UK9""6?%N-!U&7XUTC0S?=?&:D67G?<[:O$35#EW*B):]!WTCTILI*
MG?K=-]&)O%/3O)K5V,@$:"[1G*>JIPQL4;G\3BUN[ZO&3..]$[KL/.3%Y-]J
M^-B,2@Y$^:6 XGVP%#2D?(U>TF6SW!\/B,UR)A<[T?-;]'JQ@P8R#KCD]VM\
MNW%0F.E)F^D#+O'CA"S#6,H("/,K\[2I%T4)Y>:[EP:I^/=$1CFTU!$!LD\Z
M32\]D1?_*!@J3'-Q.F2W&<P&8S8,(2,H&$X;*ML>\6]^_!/_FT/&)=,QB(#+
M"+*O5#=1FEP4);L'_9K6"\BCL).&_4%81@/Q9>$2H"\"ND @%&"LB<S4:*%C
ML(Q5>\^0/AM(V;<IAXFS%QC:RLL4]U9.O_2!O>'\H_7>UN?5$KU!N<.UQ49V
MMV\5G3?953K?M9;A#4([+I^ @A%BM)P$-=$A(*;;8AUE]=H]L2H$&1U ET'&
MFCL!L"\570BW](GF_@GNG#!DW<47N/@RS.+95Q%3FE079;&43@?<_Y1SMOMW
MCW+Y;#W3G3']SM&A:X='5Q;,5</.\9B!G%,@-1X=NM8MW<*6;ICAHMC#U ]@
M%Y?_ZT,.S/(\6'";5K]_6=^S?^? U&1))""2@,1 1$8#XFD%_O8(2MW2+_-5
M4U=7;$O+?G0_K% .^7%$JQ>OF$F7SH5.B  3K!QH9SK6-X<:3Q\?2_1W+]D+
ME^95&B-4SM^ZO^#7QJG&M3'5>$+4ZHE:OGQ4OP3A@AW)@[$&#"F;I<IFBD^W
M<Y]I<A@W&(985Z:VLP*&#S@6DF*>7DL+6!YZ5>2/][1<P@I<>\= U@D(XW4'
M(5O%!H'1.M84G>D=S=.B]!L&@U+L,Y%W!([[HEP5,"8S 09%YNQ1=LH. DPI
M(:86V.&4GE%BS+:&%_3%W+W716RM/P.M327)R5LU;N<OM(S3BMZP;7#G;B+G
M#B*#!IZOUJ2![]0]RC437/0[MK_Y5:(6_X=6NTS"K4S;K.YM%TGTL"P$*>4=
M%F&V);AQH;(OX18X&H84>>#WT'08]_VH3#8E5,A^(?],T.JB]SQ$K:?ZLMBO
MU5\H(N$@;(V^X :GG81YEVG^6+%]'L^#8:;M2*EP'/(#=)\C=@;&:"4G.D#]
M#@6&>@EV&65.WA"1?2D.IT(?]L+;TXG'L_*L:^LPI#[.*[<ZR$,8O'VME5UB
M$'E/D3OHE%UK'HMRS4[/FJJ_3YQHP_3]776E:843(E7BL<J4JI]*@G&']=0>
M K_Q8PZ5-Y<)S)&9IY%R)$3'7F)/KL2"+G8?X(2#_"=O2KJ*4GEB21I$)Z>Q
MO_93+Y>8ZU6S0<6*.T,NQ:(5HZ<Z^\7*Y;%O)"?#^#NC>"3V##AN,.'J5D9&
M5'!0PFR; )83R6-A+>RP&,3G$'+WX6 ,#LF>_L%Q&=*]>[<J)(M93Q4_$(-(
MD*.R$S*O'(/!;]1[!0P.8XJ7U].=-9!OYD$0C.U[FDXDZ_<4H<^;,XNB.7M)
M@,I]3M.Z*8,-+?)NF^QML[Q2%-@VR_CM81=,BR!B9ZPB[.9&S9N1& K!.EC2
M!8.GYL1#RF (@D4EMD4W O*#,RL.B=$*W<0QGT] I0?S"G3OKW/ZR'G'F*LM
M6E>^P3!QX=C<1R^"\[&ZK&YI5!4Y\W'6-VQI$&NZ<IQZ;F@WVH#,!6#,1RZ!
MI!71BR!R%4&'G>_)8-;5;'Q6D]XSNL45^C3,\2TNH.?68NYQO808"N#.4!!4
M03H,1J,%W*Z;2X-4EWJ#8\>GU&.,##U0&HC-V5@?!\W3_MWAK('I,7K @VO=
M@Q!HS;W@8Y>@=IUS975#BP%=X.$@6^Z+@#@GB;2 'F[AG35+CAN2\1MV\$)3
M)LSXT]S43B1:;%=E+B<ZI2MT T.0D7N%)UY8/3O*Q,A=78.MW&\XLUDN(XC\
M&>>=QH@7;O86[425V0XN<TW0SF^>K5H9D=I\,V'Z!B[]KG<#V/*;#@LUUED-
M-XPS"=#$Z+KN#8,GQ=)S$.PWN>.P=O'I:",'*S26F_'E<A6E)=C/U7'4DH!L
MYU'('P>.S@EE@+D*X!R^%@ RW>-=MV8,Y'#YA"M0-68B)F9J&2O:32W:O"&F
M$O&L55/"7^%;6B^H>2T(1^-MQ&LP7-,3&X+W#D\,UR"8R=O]77$B<6*%3(($
MME#?20Y-<'B"8"GF0036^&BOZ.6O-"H_?_K7 9IT()8#T@B(.^QE9_:*05"8
MT@?GE;>'PH5$H*H%.RZO8]BAU[,-EU5[8Q "'BVRL0;F3Z?U>IA-]*V<$5<*
M!RG7NM?-,Y1Q-NR?,S'97NCP^I6J0>-ZD#?;K.UAWM=%GC#+Q-B2(HHB-I!H
M,5<$6C)=+R%J^KG@KP4R1NBF(&5K^GEN+DW654PV\FY-("8$"_1[I3D,HV9F
MP&^;4?+6DE0Q[T;*N D1"WL'MMPGWZ!%<JNL8)0P7:0O--FM.FD3TZWQW5F$
MMW-0)8J4_'Y#G@#+Z+\$:GP3%GTQJO!<Q^83I_G"7A@/S7N6/JH6TSR!_T#K
M[E.40<C[RC$I#>*PO )_80@.FC$=&)N=9SL,B.HM'*R_V/C ]M)EO*D2((]+
MRCR\ZI9630;[.1"-B"I0'E!A/WU3N$6.-A8  $4"7P!1"^!4)++(5B1VX!^I
M51RGK>QF1"3B1J;6BC,>"]T036A,<\+9]"#K*2+V?]"4SY8'_PK^;B77PW[W
M.\WAWT.\2A;:\N2@_^])$#;?1L]?F=]2IE%67=-Z-F>VI.73SFSM2C!,)'PF
M2O8$ZRJ8":3\\2&T"F\9MJ64&B2P*B92<=X)Q[V/"V&7VKHNTX>FEM.Y;J)R
M#]6T@R"SKJR&U'\F%.5ZKR"PAXH9AKTON%FQ;&('Z@^C'%A-$4,^RX0+1-)F
M+ 8QIZD80U8B<P";R2(E3"3J8F$3HJ\588S5@N*E[YE,U_OZ3XC0,U:\O7/G
MCO*-X7?PV5PFA^$&/LO!46WYPK>*%D?XRO8?&#_)GDC6 %$H<PK921UE[.1O
M5NQ?X,P6N& W-)FMQ-7:Z0S1%4^*7AAC2;%(4S"CQ]+YQE]0O<P_+/O:/JDM
M*]?/ TO,HK"H2><N TUHBCB)_PA8O?6']K]0>(@$1! 1_DL3$]&@ C5BC._I
M90?^X/9SA>\\GM;?\TXRIYAAKU7[;'A,%G@K>M-YJS;\U/YH"^YJ]EE @-2I
MM$\*"3;OW&G5MHL?>NGT$=3=TA60J8BTZWJ8[E0AFRCA>WVS? "U'ET;[=XX
MR%V?VZLTZWM(% \/M,--O!FOUV2$C/2=4?[?RWPF1^1=P>^-W(1CIHF]E6PA
MDBV/1T*E5O8GQF@^5&PF9_SFG3R:0$?$NWAGF_&.%:Y53R@QI^:CS?"/,O]0
M^^KC.!G$19JG-4/Y!!DXFPOLR_IK]/>B/,VBJAJVB% 0;7#=)ZB\RQ8&O(>X
M ((KV',U81AK6>>783))YM%K)]P>NP,J L2^KRA; 6U],/ _UT7]5UH#@PVP
M?B9 ;,/GSD'(U6EV$M\="C52A["_7!X+T$QB!&V3]IXX$5LCTTG6M"9**[OM
M W.0F%$(F@^6SEJ4CW%V:G =Q/2U^P+^R)@4WF+[O*5+/O]6(FRB#$#O:N(!
MJ,<5\2H'PS]#.4RN+O"/)_9D^0XAJX)%#%SX-/]X@MOL!H;IJ6%Z(*$@40T.
M!I;)DI]^G."D-=^NA"C0>K,XZ_R%QAC$=B'E:'F49G7;5H5M1*W"^@2\NY=!
MC=2MPK 5]]MF@VF.RC+VG4L#CD,!_IIF6<KNYO0N?5Q&@]3(*Y$$9?I]E8=8
MOW@]6^L.TZ PQ/JMUG-+GM>E>V"^,_\BCLN&)L-=]OOX"+>F(YSVTQ&J0BGK
M[_C*@]V>#_TYB,_K#_N'MG_OB$QIG9 !CUUG4 LW=[,_:\T?N"VR;%Z4\ \/
MX$+R^IW#'@(1L@CKX)^%>9I)%2<;[!:&;)M#OR],%F+1B36(PR1:K>X+FW=8
MCG ,XX@,#E)\4\<)SJ+G?QVA5V P;[!B)\FW/*9ES>[VL)]?YN?LO_ K>30Y
M9O3::1-0BO=]2RV$U:5BHD[[@%G-@!81+_<?EK +I?O-X3\5*MJ7\'OC?+'3
MIEX4)7A@.^=[97?6'1_"*GAHM>!QP6I1@ ML8L L'X).HF#8!)<UMG"(4"1,
MAS]MV(*6M%156^ RL_^#U@Y'-G#>UR)TX9!X(K6956)2(42ICL (/?SA1X#*
MCIIAE:7O:=XPNP]WSO5%FM'KQF4 B"J9ANYZ O((%^B9XBJ'PN)9>1.5M?B-
MP=333J4:U]0+=JO-8TBYB3OC=]?@M1P(H9T4)5FQQ4 #/2]^5JN!<:<RPQJ)
M#*LY&F(NEZ3NL6O?!&'[LYYX;PRKP2*(_+U%;=O-3%LQ%+48%1WQR^RP3[/9
MW-KZU<*&OL[;Q8QC#F#O><%"%,7N7++-.R"[A31BLS6+PWG=M5-K$N\>X<4T
M'Q*A[".XO7MK8CALZXE/>+BZ=M&9JTJ:/LA%?S2]&;NPGB\]]) UU_;%?;(?
M#X6E=U*<ZL?RWJXX%(Q6MK(#Q#>.5RJ_S+F7<F02]*T!6=<%^P<N3^SSI\]_
MPB\2N.,HML,=$5+QG;U:!SC1136F>CEE!5GH0/<!3-NTPMIY(ND#^N/>,,#(
M_R!2*Y4 [Y$F8-B8<8"5O0=K=EJYQ:@CLP BU%3>;5B>L!<%4G=%'&7JYW9.
MBF[/BX6*^5@\4&W\/*V\DV#MPT*=#B#5L SWOY)YYPM(!-7^XS2*76) /AHA
M,2P=#5[)6FD[[(%L\AH>Y!"I.I7BE(+Q=1X+HE:@0H&*!*A$@H+F;;\1AP%1
M9?M\1)U^P-E<W.VC3-+UN$X,5 V"[.:NA"O*HH 7!E4M[CRY2->=!YU/-
M,U(@UH[!]R)8@_6&*LY;NHK8C1I_S5["HF3?0RYO,=X/<%,[OJ=<OQKO,P'7
MNO%_AH<PCGU1_/;#W0]P3BOH<P%=4I,$(%"&FB?#&1%U5H[=9(*=DK(K<+2&
M"J_1 ,ED6)07@]G.I)#IMR(#AQGK>43#%-(@N;LQ:LGO"3T,!KG?\YG56EJ@
MRIA!,%CE,&T@_F=RY@E<#Q-U\E_F.!>.;V6<7@GNJ5&^GN69X<6[CR85F@VG
MP] -6YU@61/J">BW?/Z@LTN#V\E./U>FFW93TJ>T:"IF#S'41-M0^7/>WAV=
MSKU;T"P3J'?U 5 004GR27O]:*4[.YOW]TFO(?G^)<H@F<5616N;(=Z-+[ZU
MY^9^FPSV"E6>DF(-,"!L4XO\FL!"B%@)P:60=K-TP/;I_1MOXUR!#0;T'E*/
MTI*/)^)A=*O\7DPS3&90NL_<'ZA/R9/K KA>^6]A%F<%_Q[?^WL:+_+T?QHZ
MY/ :H]=\(]\]>.1%4XMX//19/L!50Z3XV6_O:%UG5.0 J370[EM>/  ;*KZ#
ME_FJ\7\V'Z319<:#K8V/SK*&67+#8)11:29:]1XH$,[H0WV9LT\9]]W+G+TT
M["S5R6AV^Q3QW^AQU]@0Z"!:"1:2H!J\S,JAM'#/U:I&C;M+SLA'?0C4I6"B
M ]I+_Z,3MXFK@S5DP,X%+#YI&<<<-:KO#,&0XT&^[:@:>U(-24P#>+L;:]^:
MX9;];S'OHW:IFQ1N-CQ=6ZKGZDD5?.%'F./H+5YN%BXB[;9JJX8NR.P.S?=S
M7I9%>5J4);S;,.XJ3V[*M"AYZ9,18!B2%PF5$D,K.@*HMSOF>K]\2/[ML\D[
M+<VK/(1QXX4LF&2W=_5W <J:LC7$K=<\K71'<P8?]M7=:\VR-5$2 2J7B4?'
M>.#881>)9O;_V7O3YLB1ZUSXKR!T'6^,(CA2=VM&DJ]??^#:0XG-HDGV3-C^
MX "!+!(:%%#"0K(4_O$W3RY  LA, (7M5)<B;$UW5V8BS\GMK,^9E1I06ZCD
MYO$PW[LD?J8=4E9:8W]K6S$BA)K*,4\<-NH!$50KY%6A:BL&GLT-=/GN;D3:
M^A!\V5+V@F"Q8LBY(%M'(T?CX@&)8T:22OE).&(*\%2PB^9[>RJY^"01$XI!
M'3[J5-2D24;?+!*Y]%$J;;[\Z\0?Y#)13,ARO,F=)E.04Q6R' U9BRLK]R3+
M$TB@3N+7((6(C5*\&$UY:?>@PR18\0XYC3G\3(LPJ:]N>TR\J487E)1O"\K=
MF2B_B:-GP,\SU/D<>#)@].\!6M,QU9*=UK\],G5B2\.H'"O39.0^)*(JL*BM
MZS6U%#0F%-'PDI^0)L;2ZXK<S6^??K')=6!7)YW1KEP]VM7)Q*5@\7!1#2&<
ME)43U^AATB(O@?"94+W.W;X$GAM>Q ##NN?64@=R_IL/-:VX.Q8!E1J;<U(!
M&M6%>%NO@I1^DB5+T7_9NW2S&,WAPXD,*!APZCK-]"SX#%<!"LC1H_##AX]_
MA0H-HP30B?$=]0,._8+S5U8%8IZ0M-&)+%R<WR)Q5=>>E<)#>C>*#!E<#W Q
MK:/@9=46-A/E5=@C%I\Q*M;1OWSX'3T16WI?O\+8)\Z/)Q\^?(#_;\(@G3A1
M+/\UX%&*<>+$)0;B 3"#UYB^C/P&0P2PU<^<#3P*\\2Y9(3)2+:#(? A<Y.L
M(XEGY#F(HL.B4A6)V^B;I>[D"#2%7<C!CHAZ%2=K$F0YH+.Q2@R!R'*ZCK@G
M=D^\WD=EP<4WB/][ N/3_WJP;<.0\NQ_!3+=\?!)<\O_DT'SH!HK<Y2U5N0L
MF4N6S?/H&*W>S9R+3QVY_32<VQ-?]TQKN<LIG?1X#5=1Y$B(IQM69SJ/7CAL
MRC4UOICZAHTVF9>@"UJ-1V>6A_"@J<@Q4X#40 9M^;4*4,T!,\ $XK\(G8\)
M"Y3?E2*?5#P!^^4+H7K3OJ^4'+HF \KQ3Q@BCL,_<8ADUBY!CA,>KYU,TIU.
M"1;>C![\"ED6PI[PZ+Y+9)_[. RO.'#_*$D6:MB@^DGFR)8?=>"KCOCLHC&5
M4W.E&IE7\>#;&(0!U^?*#P*.4##L[A+0 M_[5'J!:US!XN31ZP=*K%XK^99)
M%4>\>P#/U<7U]5PP%]* JB"_GKX'@_VY*I#L?\. DU].(Q&B[LL%J:%[XYR^
MHT%V[B;)3I2(&;3]8+?Q(1UUS+GVV8@$:9<(4GD\]H'4\> 3COC&I+GQYT&V
M.Z62R7GL[VO5@R$<&,.!06:(SI8%35=%7>*+G%Y\M_2M?GPCX2OY0MN\#(@^
M+VK#EE\X$1FX=VY =QSS J^B R:V N11NCF46L^3:L$"IYG.G>R^N,FO)+O*
M(W\<<)ASB4R]@=&=#1O>6</XTX;1C4J4W(V2&#:JPX=UV+CSV"M&):J2#V%>
MIJF/E>(Y'0$?2@;:SUAH;S@!8GLI TT.!S4B]Q4S+"\*XLV_!A<@Z[N\+C"_
MI1]IMT$17^6090&;J4.FN%&RR*Y?K;D/Y2%_^AL5]A_CTC0]U%99? ,T8.%K
M3_EGX'%=%Q^:]I:>A%9I2J[0* I)/90TEA\X/!(K. II%FR84;)<-9:'/FU4
M'(@ZA(K?8?P0,*LHW5@C5%*&41TVK%..>R"$U$MR:VF9N#+W:,2$M@697-PI
MC(0<PVBUUJ4:#L]!+Q&2]%F'B^2:3T.R 1F*F8U8,D\J7)N52U+-P'S:.5<$
MDBI"%1A=(JHR1'X>PS7'BU]$QMV2P7C@)PX=!/.$=2&!3$J,D,^[(1L&,\^^
MBRWV-!/;FN7D JF5QI,;:-U,GBNGF$&]$ZIB R,SK%;@1M8\ 1L<94U:L"29
M!2^=7JT\!.XB!S T?B=RP8WJ 72N*0/NY'_.P*U0EA;<&TD=8 H%("?_;!%F
MPK\,CECY;8%4)[_NE)__MIA3W19=Z'<JC/Q?H==,S97/<>R_!6%X&C7"$,:I
M=RP_P)Y;3?R%J' \8Z7CZ4FO+KXNKP 02*R,F3X4-Z!7XM8-5V\1209B*HBA
M'#;6;-+U&"14P_XK=$RJZ6AR-1X3-TI=3U9% O> >D^-F-3B*)_B,3+PL>K=
M?>#4UY39@@N>PH5,X8('7-@"%WS.A>WT7"A#2.X2*'21[2"T].]YL(69?TW)
M.@\A/FP@=&F-%45TS0H M?EW69W7XLL._[3#OBT B>< '9^3*5)VZ<F,F<&8
M9V)&]1+D'SIAZ7\9CR&67YS\1N=!S>EC+(+G'N)U]N;N;T05XX$M0(SHR"'Q
MTZ(/X_3]@-MV*$V>NPVH7LIBOU(Q/+O*)G7TLRIM=R]Q-*RF.:])Q\:9"8VS
MFG[$!7_%8SUZEIRPVBN?6#95;B2*K6ES.IH7SIT;3';8F=8#(\R:]"K\:C-F
MKC)T_Y<X]*\W@,O$RWD,@7\L!G34$6<"?QR/F@I@4$%2H P[;4F(5_KB^.0F
M] :IB6(8Y^;F?)YXDZ'SK@G.RORG]8(-G7<%&Y"/-?5>KUI85VMNPX!2(0()
MYC$&R*PX#'R6ISI0;&^&P0LT!E8T4'P2!"3UHPLXP^9BB[KBW%,A^/&T<TK4
M'!99>5@@%-(HA@Q3RY!3=E H6P.86S5OEC51IC].6< KKH!N^K"%HY. &C$P
M4K\<EZ/ZB)$=.?3$<>[LTK\EV2]Q\BN5LLZY4G?Y#M5XV-]9V.3>B"RU9PP0
M]M[XEZ3^Z!#Y+?HO(I0RF!J[96*JQ=(>";5U",4ZR=_9:*8"/]E^GV\G*Q3<
MB"03P9K"#\MB1"#IG8C<M?'" U?K KQ:.JEYC S[G".^=ZAT2[WT6.BMJ*N5
M^$@WI+]%/-YU0Q_G3;X!#_SD@;O-<I<#:[TH=3[5&H"SE7XI0B%D,-1NP+NJ
M1('\)4^"U ^\&=/&QB'%@.U?C#D3,5719W!X>%WB@0$GCP\?FY9J8O2"!!4[
M;9R(";4LQG+1$6,1I3] $X=W"[,'%:FN0O+^%,3I;H0\(VD!8H&CQ;@'0DBH
MI^&,#3FK06X$8@RFN2I1DV/8E.Y9OK'/R#I.RM!#>ON0- L\H)>'&8\.CR$.
MU!/[L*->'/+CE2CG)6$R9F&1YK(YJ_-F>C/->;S9!+R4!"6LJ!K@!20MY;N!
M@J+R#;;$E:]4RL5/+CL*D.*GK(QE_(F$_F/\Q<UR)G=1)G %%_X#T02O;LBX
MPW&(.$;.(,3W(@64J;>D_,2)4WR$A3I-#;8].Q<:<-Q/F9.60:4O= Y@"=^(
M691,TG'+<0MFL3"":1T="W!+JEG )27T]B?!I2\JEXH]Q?Z@3.%;WU+:W.K%
M#E:C+OC93JT__SF)\RV]^884HBM-V"?@,A'#.VQ\1WY@KK)TJ^R%)'>4HTFA
MTTA,I^O(#UX#/W=#F=2;@J*S6E\(W[V*'CE(0623<*JSD.:C%##-Y42*]&*H
MBP%*%Y5*Y&RJ8)9S:6/+\J^"AG&X3)1?OV(E6@D[X -3J'BY^#3-V=EB([+4
MM9FPIT>B*+03@YT*;4SAUZA\]EF][T 2-FDL81/^X"IX9XY)0GMD^R1C52I;
MB*+E+ /M@&@H=I@<$?S-[]S1S :=A:!2<9-;#BRIW*U<<2>/KM,6%Q^SLW*7
M?-T3OZ0B.RD_ZF5^B^ 5'5>^4SX[F?.N>%:WK"!=],PBT.27=\- 8XI!'3;J
M2;'(N]DP9,:EJQH:49(7PN %ILSD!5$NR"L)XRV$%'DO41S&S[O[X/DE&V8[
M+$9URF$=/NYL25\C4U:)G"I&_/_^SY\_??ST;[[\UH$15=V$Y:IEQ>@3FWG=
M((1;\"I.'EPUB;8 >RETN<&&7_$I0(]Q4OHQU?9!2FP94/!8[9ZI0S>G([TP
MX*LDPT=40T8)IS-]6-;D%%>@=1BH&Z.[7.&3^>G]&GGT<\^\UM.^-MS:+JZ,
M.9?!=A1"0JE S$M 1=4'_3@A+U1%+G ?;N(T%?X$_HY[.R6_E,IK[&\<#*@L
M*DWUJ-6:BE=#E%RN\E>F)%T/W\&L?GM2.&/DS"K9N"#H*I-3ZG$S]5)@WLRD
M,N-@;S@G9X^#I;4 7L$V3[(M4]A4ED4_#M94!,)%^-",6QIDR34&8<T='#.0
MG/9 K-E,HT_9=41?./:$JY8>!BOFEY&)@VR+Q1=.JH8?@5[F.^5W#I?B2MQR
MG(%$%TABYP!,FHZRZA7[0** 2NN> OP3Q5-C7#*#1@GVG5(&_R?)('" WJ%D
M4#4:-K2"\)T".<Z./J.>'/Z02 M5JI1A'3JN0P=VS@^1JIJ6T6'-)H^8NJ<J
M')2;OG03R <?9HZ2@SERM-F,4..04;TBU/I<<MSYC-J744;?T%\"GPI=ZSC9
MB-RR5Q+E!/(5+]]9@'UX3H4@^O0FZ=GN+HG]W&/F[P>2O 8>&8QH*C[(TSCE
M)YWBF^";EU]E\KS\[J+^@(599T!&%9]PQ$14WCDWP?3U)N06IB^H+*P9> /-
M#,4YIX-R\(43AXT[H\EA5+HJ[DH2Q0RL-D[^[^S8-!+UAV'^J!A#0VPA.O2=
M&KS0215?:*XRU).1'^Y+^0&2K TED&4*4[B#M@7)VP)+BDQ-,4]"2V(/ZE_1
M:W>7!5XJ+]QQ2J7RP9UB]/)1XN,?$&ERPYI)FDNF&C.W73AO>4LZ"@E>77PH
M C)34R*A*A,]1F97,FT\%KJ3.DDQWI2(9A?B@#.#7\"YL8V3O8/#Q'!..9[#
M!YR*B)3.E4%"T<^(&Y@>X.?$W0C[V#^(*##W<9!\"1(/71/Y#0@7G[!>WH14
MA2I!Y?".&/_$*;\P5U7 Z\B#NK[D@O#_7D?,(E[$D/ #-NQYYDX4=Q:$X9'I
M:5BUV:#.=W+XWT)Y>TY?&78S#Y;R-)2JHG0O<F>2HF_H^T&((7Q*RIL7.8$*
MAX]O\3#KR*</GWX\<((*(R-\Y<2QA;XU"D32STVN(<1I1C;;,-ZI$?,#-?;J
MH(X<=:X8!_9X %@>?<- P<EVX&104!OVR1FIXRDKWW#X1\!L3"HY>--FCDQ'
MJWPFOV4:*P+.\H3*\PBA3!P9':+V@K_GPQ ?BN&<TRW5RUV/9W45@\_F/N50
MOZLU%XCI_?<U"H:EJ/$1P>"0R#&=' 8]#%+".A7%<,[7.:CH5/"=QU]46EP$
MM"-H?H$;3EYE2,:HU-NIDT!596ALCE4S6_@X'F3^9V^$1,[7WSW\CAWHM6#4
MA.A'_"JFVE'V2))-D7B>0;Y"X#.I)NY]3=5?51C^>TKT!ISFX@/PQ_(+TT;R
MCDU?H7#281T8M\S8SYS*R =%5M4ZT+IFDWOEA$NFFLEYFB1T/(Z4?+8KVPB9
M_O3-3?S5EOG$+]_I%1*D)+V.>.&17P@$XA/_E.HC[C.1O]\E@;>W- 43^)[-
MH)K<J<X3_'5J0S%7ATT6M =11:B8,.B#LNR6G+0C9EVT<MB\CWL5*M5GQ4"3
M9WC00P8O$S\%]T'ZZWE"_""#/^T- **,Z,! )PX?5/QE.>BH$8FMY<.5PS('
MDT(OCP>@+U^P#CQP-I51 ]^=IE2>2%E U^1I<C)/KPQ[9#:9@64SB^P_5E9P
M%J/6>(2$-1K4Z$UAL)HQ<WJ$A:DDM5N)FM@4![Z+TYP>@3BY"I+-]:"8/C&0
M R,YUY/=B(/G'.JF>S&E#^(+1Q0=5HE:H)).[4X=/-]*TA4?Z.!BJ8:8ND3Q
M@$()/W'L46DG15B5$I$VEY$(8D/CB%FM!NU./HZH0#J7QW_PY*O"04G!Y/H_
MLV@3(A;;(.Z&H8"/!P.1]*US<9;!=MP$$;G.R&;ONKLZ[:"4L4\DZK,O,*R*
M4F'2H>G\-TS!87.8/FYN69Y5A'XQE>*P<DX^-10RRJAB0MPP5T1\\#EQX)=9
M^=BJ6[6H5C]309@%<LA*U8\Q_)-21.KT^3EA3N-K*FL'5'GWAJ0K=U%VN^JZ
M?.X\<*ZHLQVS?SZI5APK:' *(N8I47$PRZ,>"(6OA'V6L?45DG#<S+D@'KN=
MG3]\/'$^??CTAYE*7FIBE"JF*A9<(Z%81BR02@?+0S=Q_-+E0\_^DZZ";,6V
MQ=,F^80FMDW.SR-YFA6<'FUEX<K7'>7SRY5.G8U'%5OHWHPZJ- _#CZI $\B
MB["4X)7*#(^+OYV@/-$^BMP#7R9HIBS@Z?'%C<1S>0L)E?!XU0S$G^G0V05]
M)/?&'JD7=ZV;U$^<K^+3L[Z1A\]2M7IL=Z92GG[Z)T^GE+)%M(M"A0@OS"@=
MI0Q>D*+Q,C%R'*!G!C0>N6JR(+8;0KS<=204W6%%$HHQ61#>]T$D]>?9C".C
MDE4Q\QII.ZB7D2<=J#^(E &ZK0>8_R9.]5!^I$JJ3'(04SY._NNKW$O6;*=E
M#3@CA,V9A.%?H_@M>B!N&D>4(930O2\0/J8#@W[_*XSJR&$=/NY<:\T6D:>@
MW"7Q%9C4M1FL0X^+\AUF$'?8IQQCQNZATZ_>J+,09$9 2JL02.DX1:AL6%II
M'4PK73#88#;&J$M>Y\[TTH!$GTH?8QEH2&Y)5D)D/<:@W]%-_AKXQ#_;?4W!
MUUWFH$# (K^HAX7T*U,!*V$Q&0:B5@%D8P6X0=64DP()]#N8EQ-$OU735HJY
MS9C(CX&E5;FLPM>DX&M$^1IPOM)_A[\Q_7VK,#4N6.D6<YH>1 ! VNBU2ONG
M%V0->"@BOV-8*C(?EI?QFTO:'IN6:J72DB J]8GAG;-I:[%6X=<8FA7L+5G2
M>E N03&:4H),#GQ25$^9%V!N) HU*',EM64]\)E(ZYJ1=DO?M,<W$KZ2+W&4
MO0PLZ/[IPZ<?OA7*Q([=*^EN-3U*#K.PB$ T>MWOASG?+#D3%6/-%"PX#AT-
M'-TBDJX8<T[DVZ'TA'92IH7E]KPD)ZKB/E#ZK0.O\_&K!@VI!,SEXQN=2"GB
M-HF;4[.9AK8:O$:=P(FS3JB>_=1N67\R1$4('U@W&[O,RF,C#BVG: H-TAO6
MGRSA*X4?4FMD?S09V<NT0$[//]=)X_CXY_J@6Q]]@FXNW7NQPG2 W$T"%LV5
ML@#429-W15'-HH:3<@>>,WA>4-8X+U;1>0G8R^")!Q=G58HX59[.\M-BESD\
M1J2 "[Z='"YX+IZ(DWO<O-!Z/13"XX+PV3"C=26[7^G>C1-9#&N"\N7B Z6'
M;-D2Y6/26U6JY=A3BUI=<M/I%>\32%F 326BQ WYP#Q2?."U5Z;Y2SLF/?(
M[UY8.66:?Z3.C 6C1J"EF]*)3SC^V+31EB@X*OV*G0$3*C.2J0 G:M)YE9/3
M8ISA860MH736+'7.!3>)XKQ*"OS;,$!^,6HM(IFP<0^$G+!*235 ]O*0**E?
M?Y:UF1QQ7[%D#2S563%CS56<<_#L&\;1J:?\.8[]MR ,J:YU3;= ]!P4$34E
MB-1 'ZS\!E.?RJ_(>"05K&HV?^JD=*NK6"&>[\H&"PZ:V*K@N"2Y97B4DJO)
M[0%*1M*P&"DU<?-$&%'49*YY2P I"EVIC=W#C;TOQ&RCFI/RB8JNR[YRL-0V
M*CD)Q961QIX\9TNW[K]\//GPX8.S3:@F$&S=<&($X8+L('5%WIQ(+F4IW3<#
M4W"KP_(449XK/F=*Z-C$U<H'HZ"QN'!%4.I%3G?0,\_"'?B(GI3QNWQ4D=Q[
M2"3IW\<D2($<AEN@!$).'DQC*BWQ-27K/+P)UN2"I%X2<"/:&N#( %:!2L>@
M]$7T:AH.1M96:(3/Q8')G# \-HC,*2;E_'<Y(4>9T?2!2$OQ+CQ(MC'%363)
MP7^43#GZ+U_BB.QXX>BK//+'J?YAS*)SZ!>=#7S2V;!O.FOXZ+3&J8EI%[N"
MT7S*4"3H'RYK-+-/.?Q;#OO8Y'%[<]#>2)U4UQHVP$97DGQ:BO66,&$G.SA3
MV+CDA U*:B8D/NP!452_>0QK).WD$]\THY)6E3'GWGU%[D 0!1D5E%])0XT_
MW0#\TS]4&H?&(JKG;8X8RWFI$\>/?_1[]M6&H>*DQ&U19S!]O"6@HCT&&7?R
M^<%KX.=N^$N0O=P3D1SR$FP?8VZ2&!0;S;["GH>[6)3^F3I:> ;BU*VKC@I!
ML\*.\PU06;V4^$HR+[7\W&R!WQ)<3J5MH @G1G0J0\Z']38>016Q15*5J./.
MFCID2-1F]DR6Z\DR22$C@H&%#=1I/4*H>,TT^D ,"UO4XT94%CYU4OS@P0>_
M)6:(O5Q+E:IEM#ME1ON)0#3DGSYQY,<Y;MM,^$-*+)%X?"L)U7N;Z>J1JDI<
M326V2CB%ZKGI<UCO9N*$V!9'S $3]!06-E1SM2"W$M!<N=B?4\E?Y.70^_N,
M0 6+(D*$I/3%)6FV=X9Z-2.579SE9YWRN\X3^[ 25P.AB/+CWQ!?*K#B,Y&G
MR<:'&WBUEK9O+K4IN=M#G@<]*($R^+37_\Q$J^NITCC+XZ^XA?>"+ZJ; 10I
MQOF7#[_[\-'94L7P%8;^-^?/'\!WR/R'*7<3NT61SG]S?OSQY$]__./)AS_]
MN?A5@\O%;C_:],<?_W3RQW^U-?W$!"P!ZA+/YX\>RM(Z<%G5O\Z&/"D$HDM&
MDDS9/0S25  Q*W%GY#F(H@.B3TV M%(V2P[D4&K"5D*F-!5<OA,OAV#3U7H=
M>"09I#P7@SEBM%E@_,<AH9+W![E *<=IX]C))64WY)7.56)C3Y]E4*J$JN.;
M[0\ESV(]I*2>JOQ5??O%1E13+M;SU-N;E/):TH'!1 !5XAP? I/*()TEBCR4
ML7*KZ#.!RMO;E\ [A0+'-W'TS(S(7&NYCDHKG$3\@< AR*<XV_$_#L[[K6A.
M"OISY)23<]CL3AR8G[!R"[TJB%1+88$0)&<)68ABGHLFN>#COGI#P8>="ELI
MVVK<GTE7U^*$47W](@ASR-D:VVZS6FO@TCA:&G.SB^\N8;:8BA7U<W>$+-!:
M;C#QH8Q,(EMFTZ47!KPI>P<8L6&<8ASL\ZX:X/GD@[DFW[0<&A*_P1%6WM%0
M=CTA69 0M9;[D+)(A2'1F&3_1F>@/(" !J).PA&SF*LRTO*<:[7)#F5E.DO-
M]?LB.Y\)KO3ZH3<2J\U%]S_[)R:H#E=.R@\)KPT;E[O2RR^JOQTNW:&!Y%,S
ML?/$U$U*=4WRN=?B/K %WRH\4'Z;+,()U.W;.,E>3C=4&?/<0:O*!G+$2+-8
M"H9/O9J^H<Q_E@R_VS@J("RYBT,$)8V1+\9SID3F^7<B5B[][>3XF--0%JI$
MJ:,7V*OB [^=,??O,<G3C"J&XF&BTK(T(PTZ2&Q89JN0P@-]/HNA9XM=&9LZ
M72VZR=XRCROG__-PN:]R]LOEQ>4MONE5Q*LWXI/)+5B&"-A'VG=0R* Q8AE&
MGB_D;&SJ#.'E"Y)H@!L=]+@4UV\(8SKA](AZ(U-3M1C+,L5QC:ZM@&0]$*+"
M^NK4X5X/A [5([C4TC"]P +9LI=R7%,%[&@VL^BY8U,HMN W2)D&(WLA\HI,
M!UD^ZVSWA9Z)G-M)KA+R]QRJ,YR^!_N:II7AG&(\*EG3$>>J; &)F,,%3>F/
M@M'03SQLSGDV:7_PY*L/ZCRB:6GM;.(&CX[:IX5'7M"C.3;)U06<$2NY!.FH
M10F7TD2<IN=NDNRH4LQB.88(%)K@X I"?@QET-2/S11X-"'Y=6]&5\H/F.2*
M98]DJO@(9'ISD@FQ8 %/W(#$;:D4>L'>*++*B,QP7!GS@,BI*LM5FCQU8.<[
M0-=Q/O[PVVD=W_H@)0[/9$H%YCAWLGK'(+'2%+BTS1/X)8/8M>R%.*=0[,B'
MB,+(^YT))I1A[0$"GU"5G.^"2$3^?G-<E.^U)?2-?_[$G"@ON'4WAV*Y (OJ
M 3@65O%-<M)U8TWGH))73JV L,1H%P$A8T&S-2K[UE'N58"V$QF.<N"T5Q)C
MO@V**L)>%&^@ZFN<\.A/$4)$9)P1H+.Q[>Y\[[@LP9+^^B8W@BLV@LB7R'D1
M/[B;MSD3)I0J=>I(_C?!R!HBVC?-R@>J_ ;KP /\*5Z%%RYEJ#T#BM50-;(<
MW"E'=^3PLY0.FI;0BELJWVS<9,>N33OA,SAW)- C($#N7].J!I$ %TRE0D%*
MHB!.YBE4,!I1-4]50<P#)X;#6?HY@;2P/Y_ ^3P8TL(F53#@''7("EIX+CYD
MZ9VS.XXD#_$ZHPHG^9Q0%71O3+)B6$>.Z\B!3QPV]*&15M,".4WT^O=A1*8+
MIF+XR5$=1 'V>^*1X!7,:;<D&P&"NRCLGA0#LP,%=R2=$DE>Z5&C?_Z73R<?
M/WUB)/_+QY,__/%'<S9G(W'S!$;:\E(#X?2EF<?DE"*P%9RZ5SCEKF%'G(9A
M_,;48Q _SA/B!QDS6A6X[#-9ZL:D/1R![$.BMV%EKI^+R>4?D<;05DSLS%!,
M[&=6R0LP2@6FUV,,_Z2(V5P,'U39[:QC9;<S2V6W$X=/E6.92@"R+&;_?%)5
M9?F4CY7UZDVM\(PH/(/Z;?J[^'^%1H.E=/ LI8(/E5CUI>%2_#K/(-EQ(Z),
MY@W[N8X\2#NDPB[_+R0<%O6RAM F!W:^DT/_EB=J%J//]%2.2F'8E;C#H$I;
M#&]&*@S6HX;9:&#,]B]U"Y#T;'!#D((Q,GEL^M04JP\) K)+3\-+'/IT;KP*
M*BCV91+TS5@)O<IW9$%9YK-3R_+<S)7 .A71JI_IFR>V8M1#0K%B*O+HYN,.
MJ?L@_?6,1-X+8),/#4HOAW5@7*<8>,Z8]%%IJQGZEB=0!)L5$9HB=T=DFNAP
MX(8(0S*>3@G:%!]TOA.?_.V)'AYO)BEI>GZ$@UEQ^#S0Q(5.FU2:A^3CA[,?
M/U(-]TOL!^N ^%>AV]L-5\\?A7C$CQ^>?G0^@E' V8BAG34=>UHP_+$H$KNQ
M3HD<TH$Q#X*02B*WI.;[CQ5CC1Q_^FIU#QLW#"7^XK#R=&PH1XZ%?.H5.04&
M8LC86T#:IU<8>)C=:#*#.-M/]+X"+/]/'W[X,$J..%S,K#@ C#CMF1X\=;%Q
M*E.>)VM_\-0K(*+J_&<,?%4"K"WE->M_'R,"6/GRR?RU1.=C@=;.4A2_"TK"
MW4D)5[?LXUO\^!+GJ1OYCR]!0N\_*"XXZB;^PY\.C9#Z14+'=N3@#A_=8<//
M>KN,2:'FEM_)U9H\AE+4KQRD2LDQ9M*+]IUR6)TMUFE688#8&)/N:.$X>8SO
M:(L7-R7@AHLC^D^K]5T2^[F7B6D,W-C2(?D8._)33O$M@'D37W,.FVJQS8Z$
MV@HBG" YBR$U@9/L%23':V<K2$ZF);E>5';0PU-4D)TKYW+8K WUTN>I0:G/
M4!BALI$A.^-PJ.E8O7"1JH7#2FF9$F?F.BX0=.2F+_06>Z4?]\]V7U,H\7<5
M1&[D@=<.0M^8%C'08PGY@JSTJ?P4!-Q\]Y5'K/_6*3[HE%^<$75J>C8T2L"N
MP_A-E-]:%\2[Q7<F]]L.#1Q27+LU%_#E.TF\("5W2= ?([5><T)\3?7M:F.&
MCII=:AV+C@S[=*0,$]?1F"&!E:B_1KZ;G*W#IGND7&]XO9U8<J^1S$0DP[93
M,HP]Z1#QNXH@BZ&LEC ,<CY-'58P22T%P:HC!)$7YC[/SXH9XJ*$CT1/8:@0
MMXI8TH=2[ +]]&O"HURC6LV*R4U%:I5B0))^RB#* R*U[Q*R"?+-H%P(9?!B
MR_EB?!9X.W,ES[&)#?5TLKTHAW:^$X-/EHFO 8EB=O/ST$W3 =!0;!"'C3(3
M(%3=\$\%X,MWN*'HQ2_5WB%&32[N)\D.Q _&JD.D2"Q/PX]SX@!]WQ7C._(#
MD^^\2=:M L)6\]S,DJ,X!5554\[\^Y'*Y!F!FJRQYX9_R9,@]0-OL,& C<KK
MKL*XCCKP;$:#D4FK"H=TZ,E]"R!QKM94QV?;;?64N4$$^C[=="\@*%_%R00
MK[)HKO22YI$/0!A5#,[I'2OS$2]=1O#%[^/U]_2;_ )UY%=!&I;?9:EXM529
MZ5%6>;1O_I1Z2<!4$J7PZ0B@W.K(:MW8B9%P1J4G;"%E'O/XN#35 ^U5VC)E
M]*E-RD;4KYN14@BLJ&;SQ=-/06EA0_]F*;1!N<U/9D/[T0'D#LH4,$#D3AQ!
M+ZK5,*<J7;J?XY >(*E4 A3Q"#$(;,E>V<BE7IY,*.N,3E2CXHZ=KHF#ID<D
M+&PN%!^T-"S<S[U0JGEVE'I8#=HJ)NVIRU^-3ES[9GQB]$T.IC<5@>9-65VX
MV72^!JPLO #<N2"Q-$8'$"X^4>)U+(4;/)S:L!^AAT2A-A@8X ;^K_-:4.9.
M35FMRJKZ)("M M3)1Y)LN&?_W V]/&SJN.#ACT2IXF'0WXVXU"?ZO80]DK(8
M]+KZ9+)33J4?*NN4)3GH-;Z!EJ69 %J)B $W%$:#:>\W/$R5JJA2W;;R2+.J
MA]QR --R6'S)=>0H,ZL9%D!XAD[".#,?^#PRSII*C#;\V55^NQI^!RW\GJ5:
M'KB_$_)"HC1X)3P!$CQ_MR1;K>F==P=^)'K795D2/.498UU\YPY%VN*U]"K?
M+HKIP>=_RST'E*]T#E",->&WOC(-B/_D$YGIK9N97>$$G/K&6-0L.>E5^!3.
M@$=8*/G7T3;/TALJB(9_&*Z)L'&<R:.U1IR]V*\P(G<<05X7#'KB"&)FD\&K
M9OE:?,Z]%!R*I^/C6*7.&F] \2WE[C]TXJO^P@;2C%8N^PXRC:8#_I>D_T?N
M)O1[X>Y*BGW7$:MI#!=.B14R,$*W^(I3?,91OE,!)9D\,)=)1SPFK4R[./7]
M /[%#2'NX\KUR.D&1)&!HOE*F/V5O NW^!(/I5G3;SDN^]BTHO94)!='6Y):
M9-647^#1-/ -AW_D("FM@6&6U''LY8 59Y@!S$S4R:L4L3MGCL[K:#KSPN5Z
MS=%J'7LYO1.'SP6$=8U)0F]ZF797+,>[BINE8,O<I@L#W?<DRQ,X)Y"; )&*
MIZP,P!CE2M0M4BVVR#_*[@GY64?Y[J'S01R6HZ6_>D>6Q&X+8MWIB:TC(=^Y
M.U":QL2[%D,NA64]C**PA9C#H$*+V+[E0TYZC$ZI,)ONHK,@3N,P'R]4Y/3^
MD3S\YZVC#GP8A,@-I2%@GA">T2BI;*J#78^:I,KIF!X',64!*@(*;O^@FU3$
MH5Q.G,8RUL2;,-5>04/I7)DZ*:< XR[-X86MJE2PAR9-GKDAR_58(E%R"LK4
M_$8+;9/G-(Y+6\4NJN)&K<'6^#I'D/JX!%4OM&*A4IZI4UVKCX=%6JA9IM(D
MK-C&#HLL]5)LIVTF\?DL#T+(_!@DY<A!9C/.%]:'JSBYB/.G;)V'S2(O$U2T
M05#+9DK26TL^B5I/O'ZB^+KCBI:32H*L)F3P2AZ(ER?LX'#SVRHZ<]/ NQ1%
M'.](PG*N#0 B _41.0DG+6;A$#8-R')]@HGHRDF:ZM!.:]Y>AF/B]!2<*K_N
M\,]#6C.;@"-G &5[>?*_8\)H^08994 -\N8@N\Q/2G\%.?\KO4\2R!(: 7R&
MC<DD_<JH<_FQ'M_B_R))S% /$T*8(V*XXLLJ)=U.61USY,F+Q0 (2AA18%'2
M,85K9AX$RM'(J0?X46K^ 61E;U!/OB!K<F"!9N$<^DPF.?$5@6Z"ND?B(U7$
MVX7J'PTG..Q+ZR$2V:@3R(B:!8?D-HXNW^E;!F_:*,>-#OA],>(\5\=P&L0N
M.\BY5^1P0 Q*G<^)&XE:?E62>&#4Y68;QCLR_5GIIG\,-:KU5;XN.?:6,(,<
M,@]4\UM?+IR1YR"*#IX1>RG@!T9J-8WCKK;]Q79^.LA5U)%6,2H7N[0[?:>)
M5Z'(33PY%_K'EDTE6OP>//QDFWW/]Y?H#J"0XM[^.88H>@! @"">U=J@Z!6\
MC?OU8PS\_4($5N!$X&F_D7G2*CGF5C@F/Q!P3PE[*^RLA;JKY<.4'T3!4EFN
M<R<LABRQ1<<*;4,4)'R-$N+%SU'P#Q:H)@INI5*8IU=8FH=P(*]H-S%[?BNQ
M3(*4K9#V&(PS,@HF09SG=40W'I/KKZDH27<B2X"ZR!-* 9^VC@G=>B(D$K#=
MV@DJD.26FCPW05;F)%%Z> QHX[VQ-4:Q#EI]NB9.Z.^8]GXH"+RC<LNMNR$<
M+$-'2K7%\ANLB%4N(Q[I":Y&/8J:@G)#@51-#S=4VVQLP6'#H5A#0^BGH7[C
M:79%0) +033*X1VL4&[8S>-]  7+E"C8>Q*"=/\8T_G]$F0O4%D7'L(XT<M,
M.@8-&&Y1=I15_ZA\1Q_#E#[UF1O^5[ ]C_W*5K"W1+&FLF8AY>Y3$(GH9RGT
M7/MT<8)UX!9HD;+L&*1-*WG1:4K?(O^6?HY+0<IO+*E2M_SS?'GYJ_<+R4@4
MO[H_\3U]^L1M@HT[U= .Q2[1%IYG?E/B-ZO/%^=:M^Q[#H6"#444D-B2E:TH
M +7\%6QCNAEA^A'LS$3^%=S)J5'#&FUP))<CO%_)-N;&#V91. =9CFJ0QEO2
MV@7%#M!<6NQBXKJ>>,98^&S'*\_0&P6Q5+^E2H:7,3WOG)[-9Z(E2]<.!0$#
ML01LIJ&1AE[^>:KC06L-@_:6*-:Z'K-N6SQ36Q2$R&J,-@+J;5!,7-J&[MS
MIT= KQ-5FBR_^\<40NO9LJ50VCA*\WP6R:Z0^BZS&:3@;?+@G;N@%'E9N'N,
M+REUV8[_KPHW;-6J^P^'@ATW,9V0!)U2[%KL[T4-M+LX#+R=COX^_5$0S 7\
MU;K %'D@STSGUU%G;(R"%,VI+?TZ!1I81\%/TW/YZ[#$2*-;*<C(#95K?%;+
MW"?K\E_JDD 5#JUQVXTR*HH=<&6>K5HN1\@54'[[*LZUUH_]1D+!A"[&7_J/
M/#A#>\S[C8""Z*&N8%'2#;:TK=C;%%[HCI]>_O8YS].,;H=$O (1,5C*#.WP
M[!/5A&5<4;41BJDSE1:D1S=]X0=3W#Y&_5?7& 4I#>":(GQ![Q$VM49!C%(!
MK?CC3P$]P(GWLF/AGR97=[>>RQ]\O4?;YR[M<X@1"T/B-^Z!;MU0K&$I C7U
M/.)WT/+,(M9$GT#!-BDW*U92X4.FK]=J_7,,.H(T*A34V23P?B.A8()JY2\=
M(J8S;VZ]N%_@-*?B7)Q 7$3=_J_\M/QU5)XD_K*=D76<E+)JPX/3N1.*[;2W
M.*FU#(\W*@KF*** >D%:3+'V'LMOYOL+5B)ILP%1WPV%7JDIF]'8T9U[+D_D
M51!FW&MXE\1^[AEI,C5$L?E G(;#DY'3YX00P]JTMUY^/93B4@S &7*HXSQ3
M@?>-41 =>RY/9,N-K[TN>W5$L2DUILM*6@.SL/,K\&-'TZ>Q/PJ"5_3UHJL
M)C>MXEO^C& +NB$X ;@S$*KW@N_9<+(L;1$0HJ\X:2+%UAK%)KI,DC@YCQ/P
M2;%,D,B_2X(XX='RE<C'M%-*SJ !EU]?C?KU2YS\"O$B[C;(W%"AP.@M[=)Y
M>5*K5HD27+O S6^Q8VAZH-C24&2*D&II@-1JD;#W0$&4I9)H1]=>OQ%0$*U:
MBI3(+3I]-03-&*C8HSL*<F_HG-),O-EF>5K3#,7T"\NM/1R4Q7]^C>(G0.@"
MWC/QN>93LVWD*;ZS* /3)/L?H>6MD@<ZVX!>K#6KF:D-BI6_H&_[JPM^TI0'
M=%C7S]QZ^3>QT&V(-;ZPV6CYJ<LT)H$"1D7/OU$1[#%>1>0QH-,%\3,0#NNF
MN:%'9Q1;CKY?KR3)(!B!(2I5 <GU[Y^MQ_+K]Y#1$\ ]X2SD!$S^](Q @IY)
MNVCK@6*E6H)G+M^], ?7,FAZ;T$8ZM:N[Q@H"+=$SISMOKA_HVI2Z%)EP>03
M[=Y]^<U[%L3KD+Q#JD>V4=0?P\ZU-T>Q>H:L2'N\4&LG%*2Q>^.>R,)6OIH?
MSR,^M-)T:R\<Q!5"O[P,.N@'E:;+GR;5[JH)-;3::37M4:R+4+GNW*02[&RU
M);7U04'8><P>7FXD!E#1L]T95:M?-F[RJ^EN;^N#@K"[A&S=P&=RKHX(]7<4
M$Y91$2+ ZS:.BAH.^LO:V!P%.>S"A01SDJ0\20#DUH[6GLZ=%]=\'X.,WUQ^
M\!KXN=L($C,V6OZBON'H'T+P;FJ*M=]1;"OA66%00''$G/^ 9"!C5:V[JFM?
M%(2"'VFU9@<!PG56:^4),0.BM/="01RS: 8>&#'=] 4,NO0_<-!?Z?RC+-7_
MJ]FH.&0\% PI0F'!XW(-41,>$1FN][P8@$%B;^V&@KRJZ^7<39(=F+(;P$M=
MVB]_;U;5H]6:X=?3[27@%71A3'WZH5@QL_[^-27K/+P)UGIXA0[]4!!8')T.
M-E]3V^6WHJ9RFP V2:\3JG]  /*&+HAO,&7T[+]X;"L'L#AGVD<(=K7WOY)*
MLH&Q$9)-5X=>*]RVTL=NB8'LWAL%L:<^LUBG='J6#)=FJ^5/E0A97ZTOWR%O
MB^J(JX@^JC4;4E-@[M@/Q>HTE'BCH4G?$@D1FPU V%#^<B/>-:N%;@H@T#1%
M049I 9, \\)':@CWYLGX3(8HDU"X+;-K3,&('T+!0I8H5[<?FA4&2_/EKQ\M
M=A?5ZMBVE6641/&D]5<JFZ0< 7P=)QM(QV*;_&L4:&*\QAL:Q:HSA8?XJ5#I
MI8<4U >]S<_8' 4Y>V=WJ*!F^8;G(\--?940HF()?Z'2^2;?:*^&F;Z]_/$2
M]9)6$;D-(K5<4N.T&%NBV"VGGI=O<N9CL,%DB> ('BG@<4]$R!>WB.>44%I:
M 6W\SZ!@7U.:%BX!F6HDQ%&JH#.Z^1O132[O,A(*)I0"P7_D+M4%DW GT&U
M<V*W/G<!=T^+[3$0"A;P+5S48FA1P'1-E[_2X 4KZRK^1$+_,?[B0L!HMON<
MT-,)&/N06T;\SS7+\3[]D9@!!-HO6X]50A_WUR#R[,C M;:(-B"[0X5G(HAR
MJ@X+Y9X^I[7,)9)>OM.-%R<^/6')CCF369H:5=+B,%0RK,V;>)+/+>Z-4[(R
M='ZXVL\H5I]OSU\"GRC7I.*IHKPG2>2&TDMU8TU?V7>PY:\P%8YIM68. "I/
M@LX!FF;3<&EMCF)E%0AZ=R-R\JRK9^V @J2:7Z94H:#R: H.>Q7M@2F+#/3H
M,0F>G_6:^, A4;"E:2&CGS,[:2W-ES^'5K07K>!@;+T\,1;@,^U)[-QI>=)J
M]75XY5-69!HT#YT T*,;#O)*B53*HA"N$414'X?D(?$$\$2H%I&V?8#%91<>
M%"T>YD9<M;X%CMM/S*AQK9G-KRU=4)!E*$M6W YWA I2#(0D\FO!>#J2!PR'
M@AW]D319-?)^,0+6H9:_E,X?B?<2Q6'\'!AMAIHV*-9/>(B9[=YR,!NM4$Q>
M N$T)7U];*^Y.0IRJLI+ 2=MI,?6?G%;S'E,)7:=U:SQ(PK>&Y)<;N/()Y"?
M"G>1N'GT+I&ZM#'JP"A8)/,HJ>(E9QIX.I*U#9>_IC58. ]DZU(I@X2[TH^M
M@M8_D"P+F6%HM;ZC;PV5K3A2X6M,=4TS5L9XGT"Q\N#'*SS_K%AU';3UG"EX
MUY$Y=K/O&,OO%RYZT(,JLFF+A,R+8$UGKB#6-LU0G;NB6%]F/N&!+\T$."63
MT9Q"UZ4S"E(U)W3OVA\%"C-?9+,G</*/HF!MMTKVOU!]FZS6:[U$TV^(Y>^(
M6TCOI9)Q&'@/,E+6H &8FRXNJUW$'K?[1%'NAO=D2^7*NLBF:[,\_Y4H!/J<
M!%Y@PE\S-41Q<BP9UBJB40_QLMYU^96J(;5*A!OM8EG:HE@O)3B9*5L=<@5:
MNJ @JYZ(PM\6<!"*0D"/,=U4*9VYS^H%F\))]QD'!0-NXNCYD20;4Z"@^OOR
M)ZJ,K:E8K*G44,3>V0(X.I<-&F%T%*O;*#1Q2ZQA/;;VRZ^^T4%Z'66B"!M7
M+=LJ-]BZHEBW>RHU4?'9EV:%YE.NOX3:>J$@#G"-("77!*J@_HYBPE\?'A.&
M2[<["\)0<:49C<?V'BB($N\2EVI9^6_SM6!JBX.0@=6JE*I(/ E RX&Q/X+@
M-A4Y#MQJ(3(=(F:XK%LSC7F\>XR!8\_DVRVW0+HAI,)?41W\DO^#M?9"EWXH
M".2OMS#%V2C2-D1!@I*F)GQQ?)>)='[_*DZN<BIY$>G5T@<8]1QD4=(]7GR>
M/A\J+>6_+G]I,%,<KWP;)^DJ6:VI7$$2DU9K;XYBFUVSU"ZFHM'OF&229BL4
MD]?7@FF1[)66J(A@1@)Q2EEV)4\=J>:*=(1-&CHF"L90Y0L>&1:B[Q/_;/<U
MA3B1(M7]%$J:&E>\>V\4Q.XM87'MK53N4K:RCR]N)&0O>L>O20"7?%I+^OQ,
M!\\NJ'Y4Z/>CRGZCS@S'(I6.+VWM%?5W%!/>TPTE<22U[BAZL$;T>+5]:G%/
MR2G=NCYLWPM2U$"I>TIT;5"L_WV\<\-L9XE&K+98//955@FCVT$ $J3-\'EK
M0Q1\[Y@J.T*V+:I,VJJ9\<:6XF)HBH*,,9WW=)]2B2/;@54/3.GP*&XW!FSW
M63Z,@L6->&_K9C&W1D$,"]J&"!ASID^M"8IIEX6"Z#W"H/76<0*"FW8-S*V1
M$0.)]Z+\LG53V7N@(,IXA@TRF*T]"H)T%:KDU;63P=H7.0OUOXIS?=V@GF.@
M(+R[-FJS5O8?97F3V55(WI^".-U!AHNI2FRSS?(35TN@:BS_Y8\H-AC8Y6H%
MPBROD:DQ"E(*G5^I39L6];#,7L<N_5 0:"CCUNT.Z-P9!:EE3(F*#D68WM:A
M[ED?N)D1/H""98K/YLY-5@E#*O$99=*9V.+J,75#05Z]X+0]0][<&@4QYQKT
M^$(6,6@RY@XH2!I3!ZTG=18&8%N1K%DG@(KE2NH$%?&N +:E'D8@$,)M?.L^
M"@KB-78M:=.R/8,=NJ$@K\ (6ZUEQ(0]Q,+2?G'K[#F(O"390B$C70B;J0V*
ME5 ,JEI,0K-@V:WG\AK+E>NQ=^3R/<BDBQ?^S+S )M6KO0^*U5,#L:WN2FW#
MY=?&%CE]F6;!!G:7EK ]NB]/[M<HY.4"5$LAMX :-F)K#Q3;4(.\7\W.:XE#
MZ=,?!<$/A '[?28125SPTI[ZFR *4F:,?Y5Y[)98X%X#+.[MY;AY37VD_AN*
MM:F8 HR8$<U6RU\/\ACXS0(6S)Y[#]$@J_77E,OMC<NB9W\,!%LK_]YJ:6SK
M@F(3%@(K#_<!N3R.6$"P(9;0V@$%2;?D#6*/5FN>^2IUQ>O-ECZP+ C2@*C:
MJ2.2.T[@X(K_W%#5\:/^PM,T1+%*E^]PW*FJ^\+5)1"1S& 4YM8HB%'J<>B@
M5,K:8'TLHKV&0L$&68Q$&+4584B$Z&N7MJT3*M(>"(0XTN9FD<G0% 49Y>XR
M5#5.SW:57]HKT/08" <+)@N(96&OZ77$U1XMUV;Z-@Y&E[X=LQS488.U]49!
M;#\LQ/9G8,AX*!@BUR]=K2OQ7_3"8)7&66D9%S)K.CV'/89!07Z!GL5@)(._
MY\;D''U+##J/L4HA4]+LJIVU%XH5,D9;W=C"SMI[+;]RX'FHE4BF,_WB)K^2
M#"Z*/0$FQAD6 7M*_ 16"DH16IA]9;4N7+J%=MMDQAZ#H-CV#_E32N@E0Q7X
MUY:T04-3%&3<QE$L+Q;N/[1D21@;HR!%!CT^QL(97CT^Y;'2WD==.R]_[EHL
M8HJ;3I5P^AK6#,,L3_[=.O@'20SN$_5'%)MR.DWE-A;E*"? J^C[<23&O)_C
M,*?;.-E=!2%)*N?<V C%+MD# ?XM'J[NB($67[TB<? J=)_KJU;Y$<5JJ8=)
M<++ N06A9;4&DW>9DO<0AZ82S+W'6?[^/;T[/3=A318_+3_-TNZAPK642?Y*
M8)&PKSW&517+$G8[S1=P;&YN+%9J;[&-*>IS:+>QM0<*HMJT:6NP:N?.*$@U
MS*T,K="1V-II^?-\E\1/8EIPX#R/I$WX<5TC%*MB1!YD83Z0PL"<<*OUXPNI
M.81UZS5@.!SLH#=%F@7>.0<U,ON M TQ;$8&(".C=F3$X+D*3=ZPR/?KB6*=
MBJ?)%JO;:(1BZI])_)RXVQ?8.U'7.ERMG5"0!C!441:#!A,%Z0M'#^$0" +1
MS(A>U=(-!7G5RPV"I\V),::V* @Y]7V6?^"&=ZR6H$"@4E*4="2U]UK^_@,@
MV0BL"O2$!$\,TA\,^=)C?QD&5/%DS_#ILRZ*MT=O%"M)#TF)-:(/>5(:H)@R
MSP^_X8)K <=C=!-;FJ,@QUILA?TH+%.7[R3Q@E2?'-1_%!S$#\2=%=3 8DX'
M;MOXR/+7%(>B+3*CM"5L=?7(*"D>0[15.=&XQD8='<4^ S& -G^!X#CR2L)X
MRZL8LVF;I:8.W5"0=^-&VEL!_AW%!#6YBZE,7A15ZW7S[]!M\9PY$,U6ZTK%
M7CVBF;$ABA6JRINR+BV<>TBVZ@#QU>B"@JR:C< L;VL;+KZY[N&):MY/M9\6
M=W/(2E)4_WK(-MEEDM ]'B> BTR/K,[WT=X#Q?91[=]G;@BQN@\OA&2E+3RU
M!Z?UZ(^"X#+I%0(&] I;[:BPN#MIIC/5V1EC7!0,TJ 7G,NR7&"O3 .?<-M*
M1POUH %1L$1F.'8/M['W0$'48^+Z9.,FOUI2'^MMEM<+##MG]10&S]P;*W.)
M&T)_]ZX(R(1 0W66A7>9)4,&'DLS3E^:1';LB&(+?HU\2*,%0U)9]&BUIM(O
M"9XCB+T+_,!-#'%?W7NC(+8N3'*/Y*GG)3F+^&"R91<I5-L1!XE!ZCX_)^19
MQJ=S#<9HN;*U7_X,*A47(/\1"N/P]SH% 8Y >*'60-K:"<=:B8D*GENRT_0M
M41!QEXBY,0,@MP5R&Z&.$'-K%,14/?DRJK7=YR];HB#B+HD]0GQ>.;.K;;>U
M$X;+H'()LUU#7QKM&VQIBV*-JO/[&KFR6*;$!&U_A32=4)#&@&795=LLQFW8
M><;V* BRNCW*EV6U_AH%>A+[C8"":'JC@0@ (19,S'%#*^*8I3D*<G20B65E
M^-,UE>#4(O+G](4*,I.[<N_!4+!BJ*=JPOQB?%G$7*%[H7]V,Q[<LI-%0PQ1
MO+;&*-:_&D-5K>)E$4$[=$-!WM#-]S-+S("<2DJIQ\*.X9\4_VRMS)24D.ZH
M9C]N[:M19G38BZ+B,><;S@^6;)T0HCJ#OKCOP2;?C,K^GM]&P>CST$W3U9H)
M'&8_5+/5\I=LP>W5^I+>E;[/0IRD9,2X;T2?[-@3QPJ9,6?ULH:Q.19R9& =
M%V>5*LT&>HSME]^$0Z_J4V%*@_N!ROEIX/$+Q%3[>>+OH=@AEJ0Z'J< EY$]
M3K7G$"C('K':^7T<AE<<RW0*^4+_)11,U%7CN(O#P-OQ_[6#UW3MC()4@VOL
M;&?#1FCMA(*T,M6OQ&E<K0T9;WVPZ7H/AX(=LMB Y5:K"?1?4[+.PYM@K=4O
MAHR'@B%5IT"?>B7=>BXO5_"07@C,B_*U*V!T'^AJ-9/PS$V1K%7I)Q#P'@%)
MF7& NT"HGGKNAB$]D:>O;A#"\:,ORH.K(O.T.2#V'A@%BV!*J?#445G=@FJM
M:XB"!,-ERI^;G&Y(X?ZBCTX9OET)W;89B\<;'06SZ@XH]=]13%!)M=>*BF58
M"KM&F1.""8BB'I@%DFNB3Z!@FX(!:X^NTS9</%Z6X[4P0Y7+$BTNW,S5&'C;
MVJ)8"_.5#T[1\KT ETP0K2)>N--6XF/8B,N+%'"Z<KI>/]%#1 \26.0?XG4&
M?^0/B<D_T:T?BE47WA/S"UIIL/R:*)H)O?N9P%('*JR& ';&2-EK/!1KR*%X
MF*AC7L=&(Q13UV0&26@O;OT7H4NK!/Y;INZ)1] 2!C7.R,MO> 8"3Y^+\O+D
M:7VKB,'$U['CE5C[!Q(%<<) *YO!.V.,BF('W9,L$(:GT(ULEAQ]2Q1$5,..
M[HE/N#.,N1?I(@#2@_NLCR[MUA4%F<!SJEOZL<'79&N'@@!9*>3&AAS<:(1B
MZK4DG'9]P]H!!4G3H4?R>  9'E,S[;'8&:@?8Q5^T4P.Q5)I(*6K8E5#SE):
MFC3_O0=$P1)3.8TRI]!Z/'MT1T&NFC9Y$WO\-!A>:E-;''F\NFJJQ0_+"XS]
MZ@I9%*(NW9<G5Y-WN7<9:C/*H,:H,__749SC_@"^5[1MSY #RT@HF-#N#Z1O
M3^#G;F@VCO4; @79)>9O6H+^IF;T8%-K%,14CQM,5D=$L]7R5]XY*R 3A_$S
MO3RN(\]DAM0V6W[Z7Z.DN"(?W7?AFDJY./LYB=-4 MD"+#'\MT%:_R%0;#E^
MN162>2FJ:2\(4V,4I( 7A@K5JP0$4/$7Q=36+-; ;[N/.DKW'0L%(U0YW!Q>
MUVRU_#DL8 \,]T?M]^4GS!3AEMP031L4V\3ZR.!X6[KDJUM5TDX=E]]&8\KL
M2B)\"T[,S)]&L9,X9J=!KVDO1C9@&!3DZV$'%1-@7\3"1E<49%KT.":*]=3]
M6!\4A#5*;LGC2S@H];F44Q)#PG^/_B@(WMMF776=JG$?S!X]JGV\Y5LH& FF
MLG2UOJ,3!/<;HXRJP &]Z->!!P4E>?8]Y*E#H'S0@C\W9#P4#)FK'C(R5TW/
MR:%8JK*J.:_II&5.45Z-\8'><!P OO@=A-G;./M/L&))^88S@9Y3\4_03JL/
MSCL#%$R_(I!8$O8(V]6^JKU'04&\@-L7TX3@C',%>3\]VXD-H2_ TK7SXLZC
MU5M$DO0EV.IQA6L_(UD90QF?QQ?Z%+W$(:0!IP(M'.P%='-=N+M4>ZSW'@P%
M*_BA8JDOK ITBPO3TAP%.89H1U,2G+$U"F*XXF VHJ*8)'O&GMJEC*<N( D%
M3@5)-MK#-MW74#"3A7;D(G4+GGH>[@$U@LSA?]8N*,C2Y=-"=/S7*'Z"F8*B
M<QUM<PAV49-U[B&,$^ABBD)A&WD@6<9AJ_7BPF1?0\%,*@!Q@<^T(RH-4$RY
M^D2:$46;S5!,?SI%JH0:5R#7;0EP"TT%Q3*4A9X@TU,G]I^1=9R496%(*N"$
MS9+,/J.A8(8TDQ?34RSI!GW"V!X%07,%ELY[JJK?1L%H30;)C2WNV]8>!4&W
MY$VQ$R9Q1/_H\0>[,^)'WS&0Y&C22SL!OQO4W4T>X[?*36=IMKC1 *16H4.6
MM3<,E63,37%LOQBB=KCD6$[0'#-A:X^"('H0\DW. CMXC=PFD)C9P]>Y,PI2
M^?UM$[BJ+5!,ND2%O0HBE^HO8!HMI&9K[DNGGBB([%+DC^.(EJ5[M.NWQSB+
M7^ZG.5VF.)'6M?JE7OL9Q7H9X#:$R%QA_D5 UP2".>CV,TOFO8="P0;]=M-I
M%]J=:+V)QAEZ^4"E_R))?!<'],9Y2< ;]DHBB( ODSKU:;D7.7E\HPUV_'^O
MXMP$5##V!U#LK.ET%'JPUB183$5J?!X%NV60"_.J*A966T!,O>WR1^VK<"8+
M5AO.B[85BE6H6@2O7(^<;KK5N"C;+K\*%4 VT)TOW[=NE%I6I+4'BM6QN!ZL
M%H4N_5 06)H$'@#F% (ROFY]^K1^^D"'^J-5"VKOB(+$"T+5,R]HR)FZWU%,
MF+TR=L3\;P"]OJ=AD84)H<C;K\X$DYU)'Y[2:+#\<U&-!&7IR09H] [-41P#
M8X@,#V\".\2YK3C?D'$6WX*7>1)O#56RU=^6WWAW"56# E;#WI:+I&^&8J-9
M#5P=W !]^J,@F#YUK_3ZN@M=KR7U0M\2!1%=;'2W<>03V&YPW$4 J/Y-,V6C
MC?\5%"?V282IR"AL$4PO F!,![B]U\'LC'NR=;-$6')E 6$)\K'O1K .NORZ
MVRU<T]K/#M)X9BNCJ#_@6B&Z_S HR*\HW$+3YF%M/@3&Q7D&(;"?6G5U<U<4
M9%93*6MI*;+2*9QUL9-U]/8= P7A!MR(XGZ[(Y$;LAS;J*@Y+DJ0ZW@P8#@4
M[.C@@P81SVJCZCL&"L*5PHIF0;#1",74-8 @UD!(6_OEW^=JR<M4UKP4@%><
M^=KMU[_W\L2*]"S(W 13BJG6GJX5@LF7)0!%5;FU4FBN+/^M+Y<$$B%] IM+
M.,ZPBP<B\/"QN_R):KY78>P:X/^5!LNO:!?Q7@KT[]X+V#_KY9J'C(/B-M4
M<E"EC\YVXUY':_@/5W(8D,EJ+;+UR4- 1U;B/"&+]Y3*?OHXC=$_@H)U0VOB
M"7<V>X]8X=V@*$BC39>>O CPH FA6!)-!+)FH]F1!OH-L?PM=DO>LCBB__L7
MDJ1D9WA4M:U0K)D"X\,%EEMB\-HWVZ$@0,F/D(*711PUMUY^*Y70MT))4R9K
M%D([]4*Q4L+9#ME\)&#9?:V.^49;%(2<,R'BFF?ZTZT#!I;S/,VH],$5-@4P
MRQJTO-= *%B@8+]((DS6"+J&;AI'= UW=U3N8AGWILS"$89%P1XE&>V.:HB&
M.[79"L7D]=GVEM(^EO:+:T87L<>CYND7ZDJ1^AL*SBNQ[53DL>0ZF5**>PV
M@F0E)E.M#\H,*=<LWA'2;W@)05-=T7Y#H"!;%FFYWFQ=!L--+W96_S1(Z)Z$
MH!"//M^$@9 \QKS5QF *WW>LY24>J8_[CV\Q.+-6$;FE(@MS5!DDZ?8N*-;W
M#N)%DFP'@$#PBL/%R# 4V:[4^_UM/5 0Q422<O_0%YHNB1GWI-%R\<= E!O;
M??ST]!AD8>-!J/^.@NL&\)OLW$V2'3W2QE#"3AU1D*@KN&).S#2W1D%,@5L-
M=S#[RZV[L95&M'9 09(5 5<^OQ>YM=Q&WS&0$"Z0L;N@!&N;HB##6*3/BD_3
MW@L%<07(V6K-G#: Y$:2M#UEN%-'%"2"%!ME<;+3FH',K19_<*6&=16DGAM*
M_$LO3^LOK[$A"OX/->U+4WU:B;Z_!IS(* V\\9,!>GP7!8,;UF7Z!Q[CRX25
M=9PPE%4)2][)0&T? @79>IAU$4]@B/(R=T!!DGS)1<61QY@N Y@UX7*ESSZ4
M8N\<QK?O6"@84=KEI7YN%1\LS5&0HW',%8YW\ P+OW%JAE7N-P(*HB_=) P(
MB'3O()::17AM0Q0D7$<^(!2;JAV<[;ZX?XN3\]!-C4;%GD.@(+OI/SH-P_@-
M]$8(YRG21]KE^OU&0L$$0T$<FTS<T@4%62I$+ N.9.BA_JH&#-J $:V&!)WM
M6'>V;<VVAJF^A8*11I.CL6Z*O<?R!N73N]-S9B\U6(]KOR\_84UL5B7"$.[>
M#7>)L@<SI<.^-<C::Q046_ AI^?F[SD(L:_"$V<^C,;&.$@I)#B]3L9L##(7
MFUXI7)<K4:[;GZ)QOX"":>7[:8V3:+1:_N1>Y4G$HO6N@G<9M+=:TR-&BDN1
M7S*F..M^_9<G6,BVGS[\\ =3Q<9ZB^4G?4MO.U'.Y2)(J+)!=<;RE)BB]3IT
M6IZT\SB)(_<U2/+T-/"ICAR0-3S)M%^\"3SIR[K*([]A8-IK !071GD'ZC+>
MSG;P*$ ,?VI'6-QC&&3D7R8)Y"4DL#\9+GCDWR5!G CK?!$(H@!GF,.N!H^*
MX3AL-@$/?0&GITS88+7(ZG1WZH!BO0T8B\QU <&!L:?46]+[XGL.@8/L(G1@
MM:[;&R[?O3 '^Y\TE&F)[C, "I(KX'3Z0)]:$PQG3I=BKCEINF8HN%[&Q_%X
M4Y9Z4;\#+9)IG_XH"&Y3%1\3-TJY)T4B2O'$X90GPT$J,?V#Z249<7@4[.+Q
M@W#J^!5IC.1M-%O^=-XE\6N0\NRW1EF):FV^QI'MT7=Y0B_<70BI40]QF(N,
M*<\@VIN;HMAN8.$(_,!-=@\NT_-![3#9Y8V-49!"CP!$GK&-Y!/_;/<UA2VD
M"<BUW:_]1T%!?'D?@")Q3B6MYS@)_N'JE<[NO5 05Q%#MGGBO;@IJ>1-MPHO
MVE[+7R3T-2<AO%10WK[$TS09DVVM4:S431P]0]&\.\'N4N4YVXGMM:/R,=7C
M9 MC,-B>0RV_IG=Q2#?>YN'4!+)5_1W%NMU1AEI3;BH-4$SY@3QSN\ V3MC%
M#*I6H7%&S[ S;FS1:[T&6'Y;&2$NJ4 ;<]&V*7RT]T&QEATQ=8SFI#[]41!<
M2+8E2(W5>FAKCX(@0]+D!?$2"%.&*+@\A%,&B5**@0] HV(>@:,]I&.,BX)!
MBL6S WQ(']=<__&6O\P4'&*15D7_PT %;:E8G7HM#NM;U#6O2S:-'Y=?ARM=
ME%4G%(#./5&<OI_)2^"%MIR8:@L4DWX@(<@AG^F=Q_&Q3OT-Y3IHG7#<+5&[
MW7JB(%)COX/Y,BR",CK3IK'W&P$%T0\O5.0$Y08$-%"]C18774,4)+"TL3X
M&]8.*$AB-H'25%!!<C5G3+1U0D&:M*@:LCH@QOV:OJNO@9^[(16<LH1D 2^0
M+D4NZ:+6#F5,Z)K\L\N_H;>?;\#YYV4FA;_> ,6.T+[?5D F>X_EU^$4S+(^
M,9OBZPU0K$/G?%UL*;JJ!1+>VPU84?[1J5Q0K3D*<AHOK24J5-\4!1FU6F<)
MBU[U=JLU?Y$"3UC%]4O4K2\*0DO]UW(O"61)*@S>N4FV6FM$Q8Y*]D@?0<$Z
MCO/<P&X3\'0Z/MA[H""*WNK,(B0M0]>1E#7IKC79#5L[+?^J*8%2^JBR>@,4
MJZ'"(BE^.+:/1 &=5I"E?D,LOU)?Z!6Y#OI "[7V0+&6RH%G&-U]$ ^Z]D5!
MJ!JBRY+09**A $BDNDCA+!+.HUXY%/N.B@94@<L!EY$/V;,JK<9&*-;5$-+1
M\1[JWGOY*^B6_D[G6N!R*.A\3:W4W'9Y0A[RS<8%_[Z"SZD@"T*]-3M&;;_^
MBY^P:V^=G.9^0!?B-,M8J#N$PH7N<_V8F5NB.&O=:]'KSEKWWBB(-;K7P2>5
MPD,'FCN=]X6[ZP!XU#( "I)/Z5+X 80R0K4GEJ]##Q(/<"<^R&I@H,LSD<TM
M"Z/11X%E$)J+=(\R\/(7E\X9X?O, ^&&\(Y0$9:%)+LL5/LLCO+F[;7/("AV
MARZU2;?8NG8H"% >P<>XY#F )5]'Y^XVR-R0[;>G.@3,/>&N)KIYD]? (UP,
MNN?!"]# Z$&8^ILH& LWW7E1@5?<="!'R<N/'V MCDO7OBA/_WT1OG+MTZE2
M6<1M6HXBU:K"\J<AVD4U,G6Y(T;ZU/)L;"!K54$<F\QHZX#B"/2RN.$VMG6%
MUCQ=9R09 Z.S,A *%L@M)Y1ZF_=3-%G^7.GY7(A9D%,&=2'B\#;F%^Z.[D#]
MB=M_*!2K5Z#L4.W^@K "V'1CL;NCV'Y[0N\8@U2G_B8*QG9(]VIIBH*,6N6K
MVQRLL;)B'Y-> X_^;,P]Z=,?!<%?7.^%RA/)KA,JD[GU\I=<EW!8" 9?12!7
M2G1_3>'?X:,MSPR-E)B" GE!MA =#4(TQV82QK$N8J9U@.5)OJ2R;$0(O42_
M<-3.1^*]1'$8/^]N0E-H2)=.BQL)A2WH8;=YBBL8!(T?45PINJW3,XX35XYE
MTWVE]?<T6BU_)A[C:/>7GW()\-38_K7?47#[+ _8262UQ#?;)'[EA82,CY*U
M PJ2]D;7EL@%TN"1,B_X(WUK!/C:;<PR>:FN$8?A%4>>UH<NS3F#Y3>^8E)G
M;G7%:@I02^EJS0D#;L213@#H/<+R1%]'ZU 8A/R<S?34RU9KEBL3YZD;^8]O
M=*([^@^&^Z#W""B.5\,*9+PJ]"U1$&$$/.6!T*9(ZP[=4)#'K@W%7 !>Z):X
M,VUK%,3H;U-^(<(C%($20'4'6)24.9WU$D/_85"0;_1>EL9Z5BK::-3OU!D)
MJ=)>H]2G"5(C4HJM/0J"I&WU,1:> 2E]$_.MV=8'!6%ZE+FJB:EK.,*^8Z%@
M1,W*]#4*LO3^X:LYR\#: 0E)+,4?PJQWBAQFU2K;^BPOKG4Q,<%M":G_8&(1
MQB7WN1D+O/]0*-:W#)4TBC,=$$7M?5$0:@.21($1R7T\$;F+@RB#V&3X?[%;
M]."*%SF1.@'\[R78OTUI_..,BV(E)6RSB,#0BW*%;LQ4Z935Q%)_!T62$ON?
M''Z&N_"UX7%3?0P%*\\'%[<_F*+VHT=P&#SHF@"#F3^-8F<I6"E=3A"4V_&*
M<C22+3RXBME\N@*SC/LQ%*R\=:%TP&IM%YR;K5!,7GC7.6KJ-K<B+YC:HB"D
M![AJQRZ+H^84M5$_D_@Y<;<O =6Y= @ZQH8H5H;'N%A3HBHM4$S:4)N 7O="
M>^ISZW4: @79IPEQ5^L;-](*6^6O*"9;J]&B%0^K35!,^RM KEZF6;!Q,WU^
M5;4% K$LB-<A>3?H+I5?47!8('!8[>CU-B@F?AXSPS87$, X6EHCM!9C6WL4
M!#&S&4>5;Z  E59M0"!6%%V9Z6(,)=AWP.5/4I%AR 'WN>31.%':5LM/OGS0
MFJ'8^D3\UAXH-ND(D$PW-E3=,<='P;"Z(L"\4C_'X!_G$;NFY[A31Q0DECOW
MK%DR.3W;*7_K8'_M-@8.PO<-AU&KM,IBAZ!0@?>D7&(POG\)HF"3;T8-QNG]
M=4S7:2/VHFI5:KM;NW3_=O?6!5R<A"I5-0"&V3Z*@K6=#+WMR!Q[#(."_"]N
M\BO)W(JT9XXN,;=>/*!9%GR48?, <:>28&JSN+&JQ/L\?4X(X1$L.4BP6_ S
MPQR;\'&].J+8:(V[EOZ!5\8]=Y-DM^91GMTB[/1=49"I$5B$Q\," MC::?DW
M]\KUN,LKXE41+M\A7"75E?GHTA[%6IF=^U;(Q@[=4)!7&+?/0S=-V\IQF1JC
M($6IR:%B?](_AT0# FI<(:T]:Z2Q%W\!;\BS&UY&&9RZVBIK?D:QKH6D6)8B
ML;L&K!UPD"0KH].](8NC&Z,@C8U1D-(UH1YRZ5GE#+V+JN<@*$C?6_<1&2R?
M:<,LO8ZXD;66P<M^!$2[8C>/JG[M-P44;/\21'&BU%4M*IR4YOFS'1AY.1Y
M")&RK(E66=EWL,55@B_N.UA:FJ)5XT<4JV;PTI9@AAT+4^TS#@H&M"&3:N_%
MECXH"*O#4[.WJ5L)\TX]E]=KZH9U@:_R<QSF&R)#FYGUTP"[VZ\_BE7]3#64
M%( &2+J*+M_A6:9JYPNO-P\AW;H%;>V$@K2JG'$/;]YJ_37EFU!'EK4#ONU)
MM8\G(3M1'2WW/"I===R9YJ[+DSE=*O'//'R9ZFG" /T8PS\IU=]Z"6?X9XOB
M&#[D6ZH] XD"8S*,WZZC=9QLW+8*7!V[HB#SOG W@S7@84M7,$YN1 BNV8#4
MH1L*\BJ[&\0Q.>U2#K.'T'?NCH+<.@SL!2#(&I(G]$V7OT@O!.HM3]Y:11PD
M2D;U\$18L@FJ/N1^/5&L%7NM05Y6P3G,X1.6YLNOF?1&*1F%)F0A4TL4:S)F
M(HCR+S:'R<B?0L'&%M*Q3)>7GT_(U@U\D90"BBR5,M=T81CJ\!71@#VV=T&Q
M"H4\I8C1:?&//P54^DJ\EYWYD>\UP/(KN1\V7?.&VFL8%"O.KPH;C*[: ,64
M#>5$KEG2YK[%2#2]E]^>O+J1S&VKVR@,35"LD:'HO&Y!#$U1D"'4V*LXX2 5
MSSS).J4[AP?1%SZ=KB6YA@R(@B5=[KIS=K]=1XT0%G@%BIS--TJ?U@<T\B=0
ML&UOZPG[GY_YW<2=6MK4CC''1\&P+IO@R@\"#>SLGD,L?]]/EU1NL0G/^^7%
MXT5X+,A5$)+DG.Z&YSBI.*H,35 <">D_8HAF54=31U]COQ%0$&V,/+(9X5H[
M+7_69S>G<P3UY<WZ?!XH]E850>^>^(3'[?-WT*SE=NFW_ [[V4W8E5V]CR$<
MM;$)S$V7)T.1\)2WQOK(6,O;=!X$Q18U:$?TF&6_Q#DS[=+KK)!TA(S30\]J
M&0G#^C]E9=[%3R2D]\@70$?A<=:@S(O_P(WTZH9P%\EL>-_LSQQIW.49U)+C
MK-,RP9,3YYFFDOTX(R[/%"6IH.(H9JX="P'-JV/OD5#<'UUT($@LD:1X!L/%
M/N,L+NL+J^45%6W=$$)M#8673>U0K*":5]A(UM14.Z(-;F.XZY7B1S>V?/-1
M/X""91IMMG)"F2>1"P0*J=<<VT/K^AXV(@JF&'4BGLIHU1N[]D5!J+[29U.C
M>3*$D'.]18:0%Z?#;':;X%LH&&E-8O@:^2+.DU %#\+JS)6)]QH(!0N**/I(
M08@!R?&60#4']UU';FLG%*3I%?_NMF441)BPJ<]VZB^F]+_NO5$0*_>5P!T4
MOF0>6ZXFZ]GV9%O?Y25WZ1Z'_(#\*?62@)=QD-G>ILC?COV0K*04HBL"-+.@
M%?\4/1M%MC[]41 L#<]7<4*"YX@+W!X_=+Q.#D3:WQ@2!KOW1D&L7EBT>GLM
M 1C[C[:X_L4=*??D.0"K>Y3IT"ET;5"L8M4B5%J*+$O5T@4%6:K#7* 4="XF
MU+7O\H_(8Y*3KUL&O7!!/';Q?_KPZ8.I>)^M-8I5NXY\L@ZB(*-R\RMI..^^
MN'^+$X9AH =.&3#,\FL)H5E1%B>[4_]O>9K99 !S4Q2K6,L-D.CFPA3/BE.U
MP"UU[X^"X/_(J0!-DE!&,T$-H"*IQ4IJMY[+;\YSB# *0ZHJ"%2B54*?8YGA
MW]B@]N8HUDPC;\"UL8F*.$-^6=R#L+U:K_(,9-%4!/@^OW2487J-B8(Q)8)>
MJ\\\-3G-.X _#AP<!:NJ#G(I$-5-[^VMD4BPEQN2/$,"=Q*_92^P+&YDB!K2
M-D6Q)K=$( .#GG3ZZ@8AP^6+Z1PW<:2FXH-%W[.%U^PY% HV?(DCLN.(?E=Y
MY%O2I_0M41#1J"-8E^2T1ORV3BA(JZ7Z\F@A<2NF2DHPVUDZ,GL-L+P H8],
M44O,=0QF4;N@6$FF'RI2VQU),JI04-8_QH4!2^]M[MAU^=533:>K=:%^/&1D
M^W7;#"6PM4:Q9MV-3:I (H/QN>/&&!A1V*>TKK29/HV"S7/@5G/ I.[^G"F^
MCH+9BE3"'X'3/'N)$U.)0$MS%.2PFHX\.$M[CM3?44R8<_'.#?RK.*'W-H!%
M@WA(CRG]AYYNR)[CH&" ,7KB:TK6>7@3K+5J48=N*,B[CW=N:"OC4&F 8LJ4
MM1XA?GI%_Q6."EAEX.TH3KYA/>R=4)!V'M=J_)SM;$7Z+,U1D%,\.0S-*;TA
MKR3\:-YJEN8HR-D[7J@UV^+T^3DAS_3II5I=$E#1QV-\X %&HX8N#9L*BF60
MNE([G(^^)0HB;F*J#I%D U.TVM*U#1<WK5W$'M\^H- EVSB!@!N(O*'*+:$]
MM23UZHABE?8WYW9!M+U\)XD7I(151MI+UA_O\RC875>QV\UB]AXHB-*5@I#_
M)@*ZV!W<YK.W]45!:!UAK$-H<DN7Y4U$#Z ?TY>2WE8&KW6C!8JUD*^&]%2"
MH!LPE[I,BJ:G)2/%[Y9\R3V'0L&&,3/C11P0;RD@H<09E/$TYGMJD8F@6 *!
M+BRH9?;@]GNAM1,*TDK1DFF2Q0.MEGQN2.&I56 =-"(*IMC2#WN8BWJ/@H)X
MF%!"7NB<BF0[L.BUQ@79^J @["%XYN$>]-871GM#2O)U>D_<-([H9;:[B],4
MI+$;6P;;2$.C8-.9IO;G71)?@2NLXG>WO1&MG5&0*L%7RT!9^\5F:HV"&!FC
M+F684X]Y8B&]HHQ%U-'5J2,",3;?;%P0U)3#5DZ5O:WFVJ/=^RY/*/.?&"1U
MY3=4FPZP&X($=DI;"D6U)0HB; ^U>I'U?>35OC@(5<N;R^IK3-C6/."P/.T%
M6 <.N?QIHV\S)-Q_^O"#QJJO;X%B+9O7E^WM,K=&04Q;\"D[9=*XS^$H.Q0'
M'C[J\MNS"^S%;1SYE%"/I?D*+=H0AJ(!*YSP,\NS3QH:"[(44\15\$[\%KBF
MEGXH#H\>*,BJK[1T04%6P?IN?C)+<Q3DF/3!R$L C8"JA6D>PED"[[XPCW%9
M@K:FFJ)9!!EG9!1,*B(2[]VW+_0"2@(W3!EH 26")*_Z8,WV7BB(:Q:;LQ;D
M,;9&04PU C_+DN ISW@0_IV;L&HSQC(N7?NB(%049EG+['YX%U<1W)RUVY.5
M40P@$E'<KM5_4%I2XCGN ;VJMG'JAI^3.-_2'BQZ&A[4O "Q-9SYY6>%8G'T
M[UB#YMKOW [?_5WL-AX*AA3UQ,UY7I46."9-GCF,Z18<X4)%V75PL73JB()$
M<_'ZO5"O<! G,IZYF'%!^'^O(SW,4J I2M.C+XI55(T=W+EY9<YE/]N5V>R=
M32C[C8J".5J,+?B?VSC[3Y*!RQV"HWSPP_,T"1!FM!'D>PZ%@@WC ++UJ$5Y
M3S8\,TGR(7=#8,R$<'%CS [%S:7#,-*9.2[?B<=\/R:?[R@#+L^2+T$8!O0Q
M)0_!\\8U5;C5-%I^ZA-$IZ@_>%Z2&^OC+3(!/+?=/IE<XCXQ7QR5R,[[. S7
M<0(=C;?:K+-8?K_SJ5.-60EI$R9MP[EM[;$\49#_ ?B_7VDSEG#+06P9L@']
MDSQB%M5@P# H#M1=(BS/G=,%[3U0$"5"X9C]48@!D#MWGJ<9?3"3PO( -R/]
M/]\ :[K',(LG&5P6I7R:Y4]TOR]_!@%%S4U?5@E@CXJ_*)[LND*BO&-%Q;@B
MV5D3OS#>X"BV]B"3&[?"-[5@L8]5XQXW^)EL5O/-  73ZR'W-CNZJ2T*0BR*
MOIH5(B.CUQE)(!3ABG;0T3I@.!3LZ) J4D.@D\XNO018+S4TY7=0,+"+&Y\9
M@$'KB#W M+/"H P9#P5#"M=@5R>RL?GR#W---9%0._5R2VUM4:Q+X858K0M\
M1>F*MGM%V_NA(+ P7MKCI37-4$S?8,JZ)UN7"A(B55&@8<L7UAJ5T6,<% P0
M]A;E/K.5*#<U7O[2X*E4K;BU^F8H5N(<S*?T1?9U0*RK-8\8$#B'JRC<=:Q$
M.L*P2)3+AQ<2AE9,2+7%\EM2WM.KM:$@"RCX9VX(\"9TYB2KQF2:XS[''QW%
M 1BC/%91E/R1>"]1\/><=(CMGN7#*%A<!8"5I4I*K9=*P"*DE0I3>HVBQP#+
M'\$N<KT5 ;+O $BN2CI/Z8GAJ,\VHYRA,8H-*TZD+>*_T@+%I,M A\LDB9/S
MF,I(O-X1O3GNDB!.N#E*D4,Z!D[T'P\%0ZC$&^Y %MYQE>:!1'32<&X,EBQ#
M:Q3$0 ( O?\\;L>]2^)G>@6FGQ.#YF-ICH*<XF*[?'<WPI]K#*HS-D9R[PEU
MI B4 S4Z3_77GK[MHH2D248/.XE<>IKO$O(:Q'G*C@*=(?&;*DV7]H?Q"-^3
M+$_ 9YO$KT$*1@Y]+N\H R[/$HG38D@K:E#<TA[%13)F7,@\X"P(<IO8">;1
MO9\)?1K<[0L5PL(FPH^UX>*WKT2**PL[7]%_:5R\AF;+G\<+*-8$OHZ()VG0
M7?7#AX]_A7AD@R&IM<<W=R8+G\'4Q[+X$ H65L-.F)F@/3J%-4,Q_:$A8U=Q
MLB8!?4M)RJ-A Y$7(X$*IXA3:_WH\C?&74Z;!1DQ7 _5GU'L!)O3O(0T:"MO
MVW\4%,0_)LR,MRM/I[R"P*?]A60O^IW<I1\* DL;@2%-%H(ZKWA09Q]$@;ZC
MH6!&%P7AR@\"<R'U?B.@(%H#267"(C<T14$&9?4Y/5Y!=NXFR4Z$(9L7RM)\
M<:GX')*9Z05R'ON-:KSJ;RCXKN2MK)["X)F;M@'?_9:>[<<W$KZ2+[3-B\G*
MU;'W\D^WB!5LKT_6WAK%RBD2M,5WWVR%8O(75)Y[=7F&$-]"4!7!C'!K:[_\
MUBI]7[(.VD/^]#?ZDCS&I4S;%!:[]%J>.#B_A%ZS8?P0,#F/'G%3ZI2Q*8I-
M5\#DZ>S9+;Z8;EU1D%DHTK?$'@5(?T<QX2Y2UVEV1<#N&3)[/<R^TGA?8:YE
M6!3L,6#P\2N#7H>O)$E94 __,\O#+$$\M;MYT(@HF"+Q%ND;75=(.R K=.^-
M@M@[ND9>L*5"UEM$$G-U'EV[Y1\0C9'P,7&CU/5D<#G4'%,W8N-AZ3_$\F27
MRK3$N=#5&'NU12H-&0?'QJV7Q'V(UQE5U?2V5%/CQ34Z%OM_]T)U 7U 3?UW
M'+S7)$XJF<#MUNQ&%Q1DL6A'  Z[WFR3^)77V#&&89A;+W]!G+[2Y]0G-Z&I
M;DF] 0K^5^6GU9J_FA!U*OR44*8\2NDKZH-)N*6&Q'YCH6#$N+XO*81,[OU6
M/H6"C?<DHW.%Q08GZL,6UCN!"]5FR6SMM/SIILK5+W'R*T##N-L@<\/+=Y%U
M*DQ+6L=JSZ[+DZD:,82!26A43$=FR8;">V U@+3T1;%5-3D2W2K%-)JC(*?0
M= 6< A4L#<=-WQ(%$=6;P&Y$-+5%04C!XP[JJZGM\M>!$%D T" D[T]!G.Y,
M%G9S4Q3K4:I=G-MG9!TGI2F)[AR29H$'T^?Y?7W<JWL-B8(M96DYB-$H A,!
M<K];#G*O 9;?T!!_7IJ^?B*A_QA_<;.<78*1 3%5Q$&(:F"-G3_"F"CV0I%
M=;93,\X8L"Y=5&,X>9=^* AD::-WE-])\7*4\.-^\!KXN1M*AU0*#\IJ+8$6
MU! H\Y,T[A=0,$U.CR>>$K9=#9X(0U,D9$B/(RN(H.:\V1V4C>8HR"G?G@8Z
M2%5-[/.,]1H*!1L,2;,6![J]!PJB+L@K">,M&$B\ER@.X^?=/>!C:"2OCEV6
M?W=/7]T@A/U#1:$'5W4_75(9:0/FH.(9T8B6W3LO3^K7R.-5>N%UUXE.YE8H
MMI^M')809/EIH9I*Z;2A5P7[&X\2*--T6&$+ T+>-%]"P<2FBFT6&DQM41!B
M3A5GX#;^OHGF]=[+GUOV()1A;VD-O;MQ@EO:HUB]>P)XHL278#7F%T3?$@41
M2N(T2_G\)?")@GZBX&Q>OM,-%E$)6V!LIF>[NR0&,&L091Y(\AIXI'.6]K@?
M0\'*.KP@@%YX?? (*QU0D-1P,QO+4'1R4AM[+W]!T:EY$.Y-]]PN"[Q4[C93
M\HJU.8JU&],1)B1XWI*.0JC^-H<#SO3=Q:,<9)HF$Y8"@6,6)Y5C8&NW?$8M
M1"W0N0@ < :ZX&Y*L&B>'U I'-&C&XH#H"DI S)QH:2:,ZB[]41!I+8^BE2\
MY05\D1/()'Y\B_5Q'[V&0$$VF ')9AO&.]4,:'ML[3V6?X":1?Z@P+?B%]57
M,^_2"\6*-=&_S$J;J2T*0GC8&A24%*@H7Z- ?XWH6Z(@HE/R'K<25%I<!+0C
M/,F!&^I('F-<!&>1OF99'_"1M@XHUKPUY3QMR3F7%5"*''-;A12M_C?K#% P
M_1R:@$N*R7Y!^BM/Q80_Z3V^QN8HR&D4P^:B4(O/JMEZ<0'^-*=LC9.K(-E<
M5\Q/C1\7%]6_!%&PR3=Z;*O*CRBVR.A&'F/YTBD^A(*%U@).QD8HIG[)1&Q"
M!%,--WX8BOA3$(ZD;8#?Z,RQ?6.K6#_R)U"P;2@<3'LQQM/GYX0\4U'K&N"8
MJ&SB&8%Z%IL, LFON%,T9JR*2,<L.M*EWS$I:>\Q4>S140U[/&Y+B=F:W)38
M^"(*INY]UKBV7_K_4F:B>GQQ(W$*;R$?%0YB34;^3(?.+NC9T\8$8)H7B@4Z
M]7UFMW5#2)N\CD2:@?E=MG9 0=($%OIJ>5*P :=T4Y@DMUDGL+BJ(:13$H9_
MC>*WZ(&X:1Q1.B&GW( W;FB,:O<HR$A4F+X"L5OKT+1M@*YCH"#<'#635L-F
MNF35[ST8"E:H,.JQM.X1JM>7,4:/,;RX#%O8)_[9[FL*=H#2A0)60GY<;<CU
M$WP'!0/O("2+;OJ0KK/ 214N"0MB04L?%(3QA2EJ<\D\P[8 +4,'%"1U]8]U
M 0';=RP4C."5H;@)C[:VQ 'K&BZOW#4+I[=5CV[ML3Q1[)%\:A?4GPS*NM")
MNHGLTJ/%X0XT;I#%YK+\0B@!_BJ07(D0Q.:_BA2<(/#5ZE*>]AL(Q1VAYNV)
MQ&LAH??+^;/U77ZMN[@Y;Z&J'-B888&*4K):]V 3NW.ZKR!@'I7PX[PZ-_@W
M31BPN2F*S:Z\<[:LF$8K%).WX'IURT[M-0 2+5QQFEA1?KKU0+&.U30 Y5$H
M7XQ[.#@?=6O8N3,.4H/4%9X#X=AA+CZKMZBM#PK"BJ,D+%TF@+<N[5$09(ST
MEAAL:W)!4B\)N"RSAM@9\-+2>Q[>L8ANQV:HS>B#+_\6&O+7^T(O=^V/@&"]
M;"(DER9]UN8HMKJMW(-2XT%,N8N18-B(B\>K/ 89E^%E3OXO0?9R3X0Y\R78
M/L;\:=67<.K9'<4>D($EZC0M^6"6YBC(J9A=#?XL!1<7_K? )&@UX_8<;_DK
MJW,.OU8.V7,(%/M R1BF_\[OXIQ>Q\)^23=N#9:'I!*8QVSJW6LX%.S0>*U@
MBZ[64@SC]U(-;;=K>9$N0Z%@@Z(1&<,'ZFT6?Y0NWXF7@RUEM5X'G@X8VMP*
M!=<-..2,NXIM<&W,1N@U  Z2-0&>I65A%955'J%,3 H50)G0Q"_6ZZ@4(:2W
M%0Q@";UFSW;\CW8?[9S?Q_3,Z?.2(_\B"/,,O"'MSUS7(5#LL[N$;)DH0I<5
MY Z]SEEM@V+B3;'"X'<!$;K<C7H,K0YQUF-]9?G-?D^EBB2 V%1V+4*1>)*P
MT'% 6(-_8M>@0>ONU7OQI^^6JHPOIU3="#Q7_^PU6Z#8WLQP?AM'L727<\%0
MZ+TVTW2WGBB(?$RH:D3?!W% Z-4IPMLM^F-;GT4)\_C+]C\/E^K4RW]%P76#
M7<F.B=O:"05IAN 2[3'1-UW^>K8X//5YT&T=4*R,@N7YA=5,92_C54+^GD,,
MH E1ND,W'.1Q(5=?$=S8",742Q&G&?'3)VZAK3<*8ALFJ/(:B--4+1*J=ZAU
M[XZ"7 N(LLER86B^_+W85HQ,ZROA,10RN+"IM T?$\4ZU]))9'B8T#@[U?3I
M.00*LA_H;1JLJ> >92+Q 980HA2#-C2V3CU1$*D$)D#$@CWZU-@8!RG<W<'1
MR3=;NK$26;O+6)FIK0\*PF3:30G3=4LR2UB4K3T*@J9/@VU62)O[VR@8W34H
M7L>HKGU1$-K$%9.!K@9AQ-H!!4F&)[/Q5MJL-7W'0"*'66"W;LPF\JX]4:QN
M X[FC$K"+QLW^=5J);'V04%8'8.J6D%+YYJV*+,]1EE^Z]Y31?7CA[,?/]+'
MY$OL4P&0^%>A^]S8J::&2")Y'S9N&$HWNCIY0Y/E.4\W"$ H?OKPPP>#7Z'1
M L59T>>C6**_ZW]OL2+L-RB:]7Q\BQ]?XCRE;]3C2Y#0;0<1QO85MO5!L>8B
M2MI04)+_MOP*"/GN,;X3>+0@+,<1_2=6 !K28L1D&PO1O2N*]9 'PVQ8K;98
M?FT,EB-3'+.M-8H5 .54DVC.RS%U3FCO/PH*XH>JHXH0/SIFY#B?7O[ @/5\
M%8'%JHS&:IP372,4.T0-3(= D:<,=!HP\-PE9!/D&ZT)J*T3"M(4_QL3/<Y#
M-TT[..NJC5&04A>BZ'54U$N6#XC>#M'>#P6!#$<"0JICSPW_DB=!Z@>>_MWI
MV 4%6:S>V&I-'PO&_]43KR=S'=%5>(&+D&JB/?S^ X9;_IY\R)^*W"X5-L<@
M6=B;+T^.Q=]HMB)UZ81BXQ;7H2YRP6Q#ZM!M^943^@%=@)_C,-\0^7;5RUZV
M-L9'BBI,F8,@6_N@V(*->(6BN@!@Q+Z9 GX[=%M^W9307&4_P6,&ES;DO7+]
MXMP-O3QL7N>@9T0B7KTSBNG8GT*Q2VSE$F7QPSN05NGZ9UD2/.49(R*^<ZVX
M#_L/B8(MQ45\'6VI(G4#I5#_8(GN,C='04Y5J*GI@_<$WA7Y(^QH+61"WS%0
M$/X?N9MD) EWPM+@A@I2>C>XCYY#+'\Y<@- :>$K$T]!T[QR/6+ W>G:$<7*
MEI&OE:C7<R;'7T=[OG[#1UU^_0TTW),L3V!UP08']A,E.[FQ%?88 \6NJ&'@
M=@C#J;9<?O5.Z663[J*S($ZI>&G3\(PM4:P$R]L5@3A1:HHYK;9!,7%%<"N>
M]?*:U\;B6'N@(.HL#T(P6IE%F&H+%),N[M2K.+F(\Z=LG8?-Z#G;&>\SP/)'
MG\7;4G%9*47/D/!6$4LCK>>6&GQ'C7MBG&%1[ @(JX$+XRMMF8#QKLWO9.VP
M_(H_OL7_19*8N<43PN$L31YT8U,4*].,V&OFA!@$KM9^RZ_3+: ."8@$P_HT
MFZ!8EVY7X/Z79YW(___W)8TW]$_*+^R';4)2>K6P*P5^%Q]N$)R0;1B :3=.
MMK^CLB@E_-,?/M+_^WWFOL=1O-G]GK'@/*8*Z!W50 L2 $;IWW]3_\YO*MPF
M@(KF$_\WFM6)JPO#RBG%Q7K3L[?F$TWI3-FRI,3[W7/\^GN?!##+'^ /W\,?
M?O>>^O\'PK+8).O7%&,1#]NJ_J[;,A-,ZI1*[3XS,"M1<,JDJK_/-*FB;C0=
M43.GRL\S3^F*2G1N"%%,5_1?4LOLZBT7F2C/9NHV5;7M3),5(*,L8#:\IF?Q
M_:]DIYFHOMU,DQ228;F>EY%_H7@YU"-L:CKSXO.E-,]3WV[>1>>L*JH#@R-:
MNTFMS6>=\G64$;B;Z=M.^>765([&E W-9YWR%10,J>39-*:I-)EU:O?D.8"W
M+LINW8UNDVJ;S<Z]Y)P>C><X,5]+U58S3? Q<4%/?]AMGN)0,[7J[S--2NB6
MNX^?GAB.I69>C28S3TW&>!CVG+;9S)<,"+LQ5[=9=(X RSJ/??,IL?>:E8!'
M]UT6,>/%;%KN'U/[62=]ZOL) !+R_U!5@7PT3EC7=HG)GM,_KI+'^"UJFZK2
M<HF)LOVX2IB[0/&XF&9;;[[$E &^RPW_*]A:3YVV\5Q2*7P_(:YA@I6?9^7@
MPPL)0W#\NY'YS:PTFG=ZNLRIYOPJK6:=X.6&),\069K$;]E+&R/UK6>:, L:
MO7N)([.,V6@RLR9T&D6Y&W*UP:((59K-;>6 N,R .U9;IMEH.NO.A$BW*',3
M+O&:#T^]W:R3;*DTVIBLJ?VLD[[+G\+ NPICUZQ.JFWFU=0[5(UIZNNV3C--
M_]I;)Z>Y']!Q3K.,I-P.;#!T6AK/?!^DI3 /.5+W$&U"J"#4B$[47!#M?>>R
M*W-67@7)YMK73+CZ^[R3,NA^ZJ_S3DB6_31/JF@QNQ69GN%-=IDD<7(>)PGQ
M+$>H0Z>YO1I*)1R;<T-MIIFBZD8:Q66W93&NWWLO05@<CC+%7^LHDLG]-8=-
MG/@D^???_/"OO_OP&V>;!#%8+_[]-Y]^X^0IG4F\Y:%[\)N(6KOA]!OGR";(
M?8G(65%U$PE._/CAB#G1\$Y)IGP\>J94/&&2+9^.D"T&GYMDR1^.D"5F#Y_D
MR@]'R!6#,U&RY,<C9(G==2DY\\>CY8S)0RHY\Z>CY8SJB)7<^//1<J/N^Y4<
M.48I5NMJ%@SYXS$*LS77MF3%,8JP38>ZY,8Q2JYZ'[[DR#$*KIU"!B2#CE&&
M;0E)D*PY7EE6&_@@V7*\@JPFQ$(RY7AE6%,XA^3,\<JS^J@1R9=CE&JKX2F"
M$W\Z1G%6%Q4C^7&,,JTV#$<R9&2Q-B-)2FX.ARN&V!_)G9%%W,/A3C/02++D
M&(5:?6R3Y,@QRK+F4"K)E>,591M16Y(EQRO(&F/$)&N.5Y*M1*))=ARC -LE
M]DWPY\_'*-;:@NLD7XY1O.T1Q2?9=+1";RU(4/+C:,7<2GRBY,;($N[!<:,,
MCI0<&5G"/1R.=(G*E$P:6> ]'";I8S\E6Z86>@7R21UX9'H E"B-P\!GCXT;
M F#+PPM1JP_-#HBR=M,GQBT!)<-#=4F8I?)?RIC= FV&P2F*L!$#5(J][2@!
MQOM,'0J; !HY_0]4MGMU0Q "3C-6$II*BPP/SD!*M[Z+D:: ,'5;&DN'Q8BP
M8T+6]Y:^,885H/ND646Q^WK8NR]&8&^2,!)Q)Y\.-CG;@=>U7)#W]-6 !W.U
M+L"-[V)N1FM=A0Y=ESOR[(7H](PL/]F?2.@_QE_<C(6XE"B-]HNJK==BY!@*
MJ-BI:>FTW-O>5H"]_IX;VR](0F'(LDHB]68+7J8QW0W9[HX*LQF@ ]-+?@M7
MS2TQL=W:97'!PU89WB!^:+LL1HCTUM(]\D0O>X:(KD>)[7C<!PRX&!-4[/?(
M9T4N%.FJ]6;HW'VY[5K _=^Y :MHL@TR-U0N!M.F;>^X&%%]*K_5R.K4=4'"
M7NENB9.=^5:L-%GR%JSA^;9>@8;VV$2:UC/?WF_)5<DW4*^(^%WJ]9C7JM<H
MBY';<M27/\Y4+]S2RU-40I O1,729=8H6WMBD)\98GDG&TQ+IT,2@UJOB&%C
M+L:*>\)+9\KB <I%0 6=P M,]';HN+B$5Q2_*=[]%IE.TV%ATT?+$XOC<N@L
M$J"2!?H*_AA%_:8-M;.Q%8L45JOEVTD"J_?!L/-;]P^RK:-(%]VV?J,M!JZW
M\WKI&[R5N7CX:JG*;#$VFGHLS'<KMU'L7:TC;T__W\(A'5J!Q%;/J:.O7<1\
M?)MQ,&:IR,8YDQ?\V%C5R8MNJ.[78/-1,*\?N[2N\"/A4W=O>N5DUIS51\$L
MO8>^R9;C/'*=W\/6V '!KH_?-+OZO81M 0I3L.R5)$\Q6J;U?A,M81%'L>'Z
M<JL>@7$D6VS?%['[UCR*W=;^5MI#9HZ(23T4(7U4CN#5IV^:5_W>RR'1/\?&
MSMXO:?>HHJ-@93_F=8E8.@JVM;\0W>*@CHA9'2Z^:HB5X,T?OFG>]+8IFD*[
MCHU;O2_^#C%E4_ 0I9;0Z\[O&[AV%#NQ_0%H7/+'P) .=UBGP#M9:^6;9EF_
MN[\MLN_86-;[ 1@837@4_.W'T2Y!B4?!MO;7P!;J>$0LZB+C:E^"'T=E3DR5
M5DS,Z?<26,3_HV%3?_&_W=(S+O.P'<!^[-(%/!W%'FN_REO"8H]B,XT4WZ,Y
MA'\\]MVE#_>=A#O?Z*XJT32/?"\9M]&WS9AA@1:6T&J);/9-'\*NVVHB=GQ+
MFZE#(,6_?M-[::0+W1" +\,LQ@U-U&Y ;%B#=XSU+R0+/+?(L3X,X,$B1HG.
MC5S3/YHR0#0-ETM5"</X#=A_%2<7<?Z4K?.P&=?2D@3::XSE,<H>83IM:\,;
MS51K_H8\N^$E+P/T'M3WC:[%\ES\UI#>JND&]!Y:)6S"/HNTO",) V\WD-:Q
M,Q+B. S]:9Z]T+?E'\3O1%2CTTQG@V_ZBWCC!I'F8%1^1L5?5A"B#V]%!U1$
M5&H5=*9$[84!KJ[G:>[2$P-9'<^QK0<>,JS'Q=0:S_3;#XJU"PZUQBS"5M3D
M?C+C4>19Z87+HO987;X[+I[T3-JH\_*XF&4]>EV%U*-(U#"?.1M3CXLU/793
M4YKXIH.X+7IWM7Z75#TD-[[1HBC#MXZ4X(XB+'1_-NG*OWW;(5+=>-5)7SN*
M((3>_#)>W=^V6WU//M7NJ7%]QM\(C[0U*J=G% )W5,&P=+76I(3\TR<U^:3O
MR2N)<M)6=:71;%DDPY;TH;LX8:<^RY+@*<] 8WF,N;>SA<ZQ1D?)GJLX(<%S
MQ(U%WHX5WW99*<+3R&=_"_EMZ?\M3S,!1& #$I_H8PL:&E,6L2/2BMH.A;'Y
MH@2LUI TQL(=2/(:>"1]B$.SK=?88>DKZ8H^K1 Z!1S])<A>SNDVH7LKH5N,
M)T!#!!']/]^\/_<9:5RRTR132*9_*\FE?P$$$#_W,BI_<\YK'-+&9DM,5-TD
M6B^AO>V"93?@6BK>W99S;6J]?!S W-$4>Q:"@N7_0C9/)#',M=KFGX$?=1[*
M7#BIB[=L6&-S- 2<N6G@=9P];[NL!'5+%1:9H<&O YEJW$%^;.^\:/TA+FWQ
MB=G+$-5;+C;M7P@DR!#_])6R]9G<YG!OK-8-];EE=7H/@YY@V[GJ-\:"XEY*
MW,0#@.@+*J^%,8- $R?&*-C9^BQ'2KQSPVQG??JJ;=!<T!=!F&?&D!!3ZR4+
MQ!&ZB^62JS>N\3XS]\!VS 5[NP:[]!UE^5H@I9G ](YJ6BXG?I,P!, M$M%)
MA?3..?4W013 &Y$%K\1^577L_,\ 3Z7L&_UZ"DM.MVUT^0[;( _2%Q[= LBU
M!E:W]SN (F2G2>+2?V5&\?,7^.-U=+J!>"\PD=N11CX:&#/7U_=E;T('_5ZZ
M"QC?X%_^AWXXR8)_L*_P!01O$@3#@=FJ1FN7'@O;'YA95-BB@BBGO!37'&7G
M&5G'"2F /4A*]V_BQ@F]L-UDQYP$D(()5JR872CR/;/:,*;Y(AK[;$>[+%9=
M<B\=<NE-3+>*F,D9?=+6QI*!IM:+3;_O,B!< :J#MTI.U3:',]7_^==% \SK
M+JP6SY>MQR'%(C3=OT<1 #RR$[D!O3&! W:*=4$(*]KF@JT&TIB]G4>QC4W!
M&YH3WL^;^DUSK\WQ"MQK\7E.P9\0 6LZ^DN/-H&DDRN\5N)#=88>R27^SP2M
M)D_:7+KJKC%X3X^"3_W<KW7@_X9O\RAXMJ][5.5>3X_C4?"U:SRW260]DH)A
M?63V%F_O-YTPV%MZJ/F3CV0[F:4'L^0^!6LP">1#I(?"M?]-'ZXQY =+3,&H
MO/M7SKN("L*9:(N$>Q-*$N:@AJ/8E]UD"6V$Q"2IX=@@,OL($5T#,OZ94W_,
M.?7[(%5\FUME^-OX_]A[UR7';:-_^%YR 7;L)$Y<];P?-*?U/#4[FO]H-JX\
M7[8X)"312Y$*#]J1K_X%>!(IXDB"! BP*O'N[  @\$.CT=WH X=+CA4(<G)Q
M3IRM2-X@PM@G<Y.R GGQX\[E=B45.WU%8;ZC/JIGUR@)2^8L^'4=P*R J/^]
MS7) 6U+B,!W6[$B#TY_$V-1E=JTG/NJZ\H>SHDX1'S)DT^:2,VB 76Z,/$(Z
M6<1['+NOOUI2,45 2Y7A!#E."95Y@DIU):Z DFOIUK763#.Y%Z[R3@G>DMMK
MO$F30.],NM-0?:Z38B+H/$4A(B),S@Z^/NIBK-NSP49=TMOJD'*?&LW>;:=L
MRF]P[/5VY15\E#IK;%-U9:&*=/Y0>ML@*<Z)O>3+$7%0V/*O?_V%NA*^ONJ6
M5@<RH-B'9_#],M^7&%X;6>@6-P3E<(N-H9YOX2X[_F)-E+[JES:']%/5$\+*
MA>B5]0_07V, J R8W4]R=/-;G($OQ]RB>0?<_*"B0XL][AP=M *<?)I)K=41
M-V>2#8W2:*P\SR]TA1?']Q[#6^?H0QV ?E%0^\@.W#_!;WE(_2%3<Z?-?$)5
ME8H*V2$+D'9%TMY9X@)G?\D4\1" CW<_2LX)E2APS=2J3T7^\KLL1N(&@$I[
MD20?ZKDG>$/G+Z1?0C\E:R8B8RC,P97"&PYXE2V6GL$*WU@RQ7P&4.6/3LYO
M4!;*#9MDJB$UU8URBBMD(.F0!I'-PN,4).?P!A[&*,CRA^P2WN0Q!@&\ I_\
M@P_Y"(7#"PZAVW;EA[2*OP(>XI604>86JAZGG3"0;HLNR$O&JJDCJ5WV*SAF
ML;M'L^KL$VV1U'Y:+JG8A!YK*COJ1IXYU W=H<^]V^JNVP++ZC*]5XCIKX/U
MYQ7D0N=;].9\H/0#^^(B>(AB(58S9$3%&B92N^#DAJV_UU"2)0.&2(OSO$22
M8I2E+\X9;1U.5A@^Z#2KK*4O]HRN#ZZT874XSV\1P:"0K^3]F@9?0<&/0!FT
M5ZSZ%;C1+LQ'H5V]HW]6MSN@HQT6?T_]]P"NQ(4M4Y]^J?<>4_(INBL?LB&K
M>CP<'3==AY<Y/  GS3IUP?G[Z6R%(65[$BRP,\:7YO@<_?4GA=GA>EN(O_[\
MUUGYKN V:(P\#\?BSDN=.-72P8?F>=#R7,2_[UN1&H/JVT"H=CAF%B3M **Y
M(S3QX7S]MP*S7NX"33#QH)N>K4W(]<#:W&W"#@)U0!SCI=X*U 2BJO'7IQ4H
M,7PA<*&N%#*TAF_1I=)I$H9H*I1RRUD,IQ K<JR(L_:NIXH50+&Y.9&3F9YI
M:T@XGYS<%W5(_$P9$;^/DA4I0\29$M99:@RL9I7\KZ>2. 9N\^-7@KYL8Z1'
MT9#8N'D:R3_.$IS$61C1>\^*Q#N#4I!9 DT?=D5TH!PCC8D1YU#8C7-)"#/$
MF]..7#$2SC #/[EY46:,']U356J"E+EG8N-Q@QTC*<J<R8O+P79)F=+#Z79)
MBH)7V<4=@>4F39D]E^OE3%QA*-E .3,,9;DO5VC:K*G)<Y*NT%Q4CBD\K"NT
MI6HH&JK*<LVB! ?L"DRIZLKLP!3P]*X 6U(ZCN1%7@&\:#@D-_(:(JGZ3.$]
M<A_.2!JBNJW7SV8C.'[C4-(^76&1\W(/4M]%ZRYAG%?N0O,R4W')2Y<[OEG'
M@"/=F/B0FIU[47_@87!.Y^&I&;>X=9+]0Q!]3V;*%SK7@\8Y3:&H@^!^B:,3
M5"F]F_,7J @]AG7=M)6;^J=</&=PMAX#*5LTE 9C #6^.U#\V9AF>2H9BQ48
M0*-%EHX]"=1B@7^BY![DZJHN?C ['H/\_#A!Q2KN@])'B7']\G15ES4*Y:1?
M;^'!624)5$'>"R>9Q_#^P\U+,D'=I::S)[0Q=0DFPGJ'C+CDCQ,2!>M+BU\"
M['91OY YI"0E7#5%O7H)=Q9M(&6+K@R\4) L7%1^ X'W%GU&EB!X7)EY#/C[
M:Y7Y5,M4L[=OP-V'41#M(%[4!(R$EEK=G8_A-HH/A4(E?GWB>JN4>:JJ<$C)
M@N>;+.%<-Y0RZ02X/^RBTX\>\(OYPK]<IDDI,5O.#]="J_,XHTS$+>T;O=R$
MKA^ EN3P%LE1?D;YE.P,E*TRE.B."V'7\R8%QR]''.^B=]#M]G_P0P>B/OSV
MIPVD_/:'\OK%)0N]H]7)(!C7/J6C1AIJ161D,8;>1X?,4S\1I>=&$W6$%$<N
M %Y>7;64_2!P+S$XEH2R"KU;)PB2]79U<OP 2?K($<;A2)4E9^PE\>Z  U54
MNF7)/NU6RJ9[!XXQ</U"=@R]YGU#F#JMAQ9'JN'84%1Q9QZ4ZQX:<>/\Y/I>
MY8I0U2X-B_?UW*+$SZ:Y!I.=)=_QX]SWI*[LV+SX"EX,&1#=LPJ;=U+2R,KE
MB=H:L(FVZ7>GDSV0W=Z84A=LU:W0R;"FB,ZOU6D]G6KS=WZ2&^_A"3SXV8&D
MPC#[:<%@\_.USE\_D_L/$+L^%-HYV"R^G[I2=MLM<-/UMK+#OSHI6(=('4'_
M1R_+)R@5Y0\N4/7P72A<H%] =MG^AT9+>!R"# DE<-^.4>($G^(H.\(>^3XB
M/@1Y4JEODM-@:S QC6[ _&ZZZ.AB-QZVLVQV>3&VW,&=:EQ+/2ZU_H/I9@S
MF%4&/UMK=%E7IC90U!7.#V#Q&R(K%!E";698H=SM&J6EKR N+D\>URA:#W65
M2H>P^L+=N\L*RPN@>:D4%PT!F8DGH=&-4SE:0-KHY:!1]9-\SSQ'H0M17L<O
M3IR6/S2NB\<PA9 B';:XYBI6 K>I-J>2?!7DCZ^<!=1<%EXK\"))SR^!$Z9P
MLHA*CYB:#3T&4&BU*33X^@FM5.5O0 BV/FEEK%[*]TQ2197>P\V3X8_!OS5C
MQS'43BK>(O(N@>FJ3DR.4I#0GR=:392?QIH!7G-^7L;9Z:?\%1V>]G=X5Z'#
M3E"G5G&,!)-\(;>YC *IZ("N=:(&5E]ZI&V=ZNNJ*89L;*TGB7G8I5-3SS$7
M3EZU_/J+3KQ<S'66O[\Z(^('F@V4D?>%/RG2(HL32S+ND3NH/K_(0:%IK\V-
M9QA'3+:; ]<HXZA'U<MJ(>12])RKAEI8UAL0YK )L$O!473B"6B.:%/R<."T
MCYQ'&4(WLRC_>1(80-DB/SE^F"#7.I"L0QQK(ZR-W4^W?>,_B@(#2&:!U<'P
M"/?E52@*CCF*#J%LF^HCG[-RQ,)+:P9A5\CM-0MP?6+D:!?VEK6B2HEX.&$3
M5KXX/:E :IQP2B"VKY50>DCHG!5$VC_0EUVG03)5:E6G@2?$S_H:8/TC\IK0
M"82X6<(.Q1-4DT+3K"!#P>BVJUNX$SEF!V;$W/K8:#4K,&$$OFE0=DX[R,8,
MMKMDWZ>'L(T!M(;9 _L'P.$N6UI$F26W["#UERKC6%'\3K;ZVPH"E(J@QB38
M4^]MQQV.06[S88""JNPX-Y85)UZ2NB<G%-4*Q,45P;Z5BLS&<9"&>!5<:P=@
M>E6VU0Z?L?6>B_\L)5;:"J0EJ3VT8&TK<!RD[5#1MJ+\L&QMAR_(?IR"V+-7
M@Z1&^5M!OG)T)Y%#8#.L0Q_ +ED9+&$ /?2<3L((HPF.DD*P>K.Y;Z6IJ-#X
MP>SWAT$EHLTDE:E5%([,(U;@+5]1(20]L0)-/G5%@[0E=M2;EZW^X#.L2(52
M7VFGE[HS(.6+%10JS=&1.[',*+!&D"9F .M0#8>:RL82-C"5@,:H9FPE6^CI
M-8--\F,)N?))9%/G$2K!EUOU6#<F/%:D29UM:!04=6,%O<0NN1F0K,!Y))&!
MDE1)*JSZ<N#I'IT9J9YL)N.>DH-XGBE+B'H"L:+&\A_RJS##Z<=:!:Z-("MT
M4F&- :>&#J=]O7/;:;?& &LNS'+HG=]- R8537VYXE17_619RFP^!?U$AKZI
MS2PY(1/(#5]_J='\1;[D<!]JA:?T%QY&V@6IB&K'"?J*#K3<;E8 )U>0X,XN
M)Q5;?9GF).&ZA*QXED LWPV$*T.?%<R![\[G#O8I,?NGT9B-XKE!2)UH!:!R
M;BB15(VCP*K;&]=4&B]'^DBI>)M^4XGDKK2"D/M?4ET%H03L7X8;6B<12X4S
ME4H%7U\V,!7CI61/+9'^=0JD_^?'#M#PH'YK-,#^OEQ0"_7\JU7]4.!ZQ8<?
M"TO=6^R@![ZFV;1&Q4_1*->?^$MKM\%'"D*(]E]D%CE%DRP2W;K>);\M_.'K
M*@@>0P]NHY<Y08(MPDIL)CFE\%L4GO_WMRQ,R:5@KYM(GD%.JG=^#%S8(UG'
MZ^W6=Z$<2IX0HX?42K7D3>R07N<*:FPEI;%D.%^S /STUYM__ 0_\CGR_*T/
MO(? V>& )+95RRQ91Z2^93K$:W@@%C<PK#-5>5$:C!/[>-9HD8],E:S@[U,
M)?&R1-^-P3'PX?+<*#[^ "6 'RM>\6/J?$1A=#@7DT&A-D&49#% ;S-U(MZ7
M&)S\*$N"<QG=7>@83E"+W.INV%XUNPLW3&2)R1]44>:C^SA&[WXQ.B<HONA:
MHBIY9:\AU%4HBB#.4-*[[%C#'@?W-3\UR/O)"<_K,#A?]O\-;M)-D&<EQ*Y?
MQLB:B.$]B*'UTBD#X^EREBKB+.MXYX1EL"H$^!GE'P/K;>4&,2_^0;8T7)T2
M3$-UM4Y*R)DEZ3$-E4WZ<CA?HL!W,9HND2]W.J@KLXV-E2>1RMN@>L)8Q<4#
M?C%/^)?+]"BI#<JYX5I,-+'[5E*%SJQ:O];C'N',\X0YA78DK&:>9.NK.BRI
MX44PX<@S8F9B.:U3TB@2+S?9X>#$Y_5VX^]"J+2[*%2IPW'F)66:(?O0]H.E
M9')VUH-3"5YPG+@8KQA>U.$ZL\9GX*"?%3_=]*'V>@F75;$.+;6+LF.+FQ7K
MM-+[Z'%(>3:H>4P9.!A_.AL1US,[BI@ &Y3'&7D8-),=T@^GX"#*CBMFGORF
M7,[.>AS@?MO*B+RRTR3;?NR),Q>5A(!"2."$\SKJK>GG<45YR#?9.^;J /#W
M5W; F5/D/^Z]AM+C\ MO=*MD;2\(C><"N0O>S.[V8LZ,4WW52-G1?4+9UD#;
MY9$I2S,ZZ7$<\=O0/'.LM4]905#1^7H%)Q!F /EW0HV_R# RI[-FA!6JW(2R
M"$D^&90+YC9+TN@ 8O:5R=E=CW,I9HGBQ\:"TWH+Y^VG193*O,[I9>:,\XEI
MJ,X_J9Y+PWD&B6GYBP_+!8FOLQYGDKP]+5\B3CR,ETH_19'WW0\"**=W4]',
MZ5A2%G+1-Q@G5FP,98>9:YJL0RTXB!Z'N]<FMV(C!:$S_ORCM#M0=O&0AG[C
M!"CI[V8/0'H'4L</YL4",#O(./"T'NI><AN!DZTMX7\A$AI"CZ/-L7FDZ%(V
M2!8(U'4JT[G)T[/T\:W1YK]PJ5UT6@B#9])Z+)Z_B^>O<L]?^MFTPIF3XU0O
M3L"+$[  )HL3\.($?'$"1F7[4'YW."F4310EO9R3R%G,F2'G7#52*-I<@XVR
M;_/+G?S]]>!!^,UI\R!N1"RPWQP.?I';9A5Z=3KE^3GA4Q;"K9J(C:$P6)QC
MFNRX<*%!]#C;O3:Y'0,N!IT%YS\\@3A%9NP-".$2\](,\SKZ545EKC-.:*S.
MZR@*=V\@/J!Y,9V-L&WU.)KT36CY&N%7;/Q16[EN=LAR7\8\U0]*-1&#/0@3
M_P0NJ>3F=?9F:7W%((_8'L>52>^F;$$S4T@66^MB:^4]B5;8S7ATUL7$NIA8
M%Q/K8F+E$S;O#\<@.H.J(BF*%5LDRVDDRZI *4I/A]D%'BF3>XA%B--&B.N#
MXDN40(#0!B.4RBUF^84S.BT2Z6")E/\$6RYRV"N&\9W<18)?I-5%6N6)O<S-
MHB].G)[?8LAB'7>&F4Q(JV!F-6!T4QB-B9^92 X#_A'TX%B\F]B.S!3 R?AW
MC@T( *H5_/\RB >(@W,=(G?GI,Z7T,D\'_YZ7F=[EMIH=P<:&<]91Y>S\Z*!
MSEH#I>XR]Z.ZZ"B+CCI(1^4]UY:K&/9JISU/]:*N+NKJHJ[*2F*])+-6)M5\
M2<!Z>Y^D/N1X@"2I7S52EQ/42?PDK]UU.=.A-R@?]Z AU>4RCF( IWB;UTUW
MV]IWZ.4_!D4ICGS29V:>X][CJ<Y_U4A"QK=4=C_9%2O]Y!M"\4OH@CB%C!\E
M9GP,\ZL _JW*W4J?_9"1U#WQ.LD>^8[#/Y#;SLD)D#=YGK321V8/_.^+Z9.>
M?(<,J0R(.Q##J:3^"7">1TH'98OX[,3?0.KD[N]N%N<D1]TK2@?U2> ;"?F+
M.7$R2N[^>B8@XUNET! *$RI 3@Z'Y=PZ8G.% 0U.?K\6.43AC03@H8?')?^Y
M1+X4.TAG3&@(R1<;E(SB#"HEOO/N!XW33;W#V)W4)^C@I2="<W4^,G%TA(+!
M&;E>I,@C ]Z 1_Y3S]U=G?.^$X>0G),7$&_V4 _G6Q>KESJ[/-@A>%_!,8IK
M!8.3F_'U55FEUP4H\RH2L)'<6EPIZ&]$9SYR#QWS__%MD\  ZL@0'0JH!T/I
MN>'1M3Z6NO!COB]0%,T]NJBW49^1U-5A]?)PS@1528X2W@UE]5)7"Q=\;Y@J
MXBB$?W6+@E,B?$5X&#W,T6+YH:^-7E98[,4@&F9J,]K.WP_0 2:[ZIU@05/
MBE>A]K<%M4'6PPK'OR\XRK%"5H#^8P&4Q]Y9P?7+ A>/9;6"ZY\+7#V,MA5Z
M_UK0ZV<,K@#\=0&0;7BNQ>1%\>AIT:X17#0-;OMZC=FB3W 8\VNT%CVBQTM!
MC=ZB/?"_1]2@+1J"Z'M'#=VB+?"]K-2 +?I"KT>;&C^I&@.IX,EL$.SUI%1!
MN>@._,]-M6UX42$&O&'5*$Z@1BARQ+^$LB S91F9D;_OG/PH2X+S8Y) O:%6
M\=OQ';/US+_=0_8-D#YY'\=1?!O!W>,*-1<:0MW3O;L'7A:@U\SKN87>"Z)D
M*&3ZD;?R_LB2(IDST[%DR)"Z<0O^[6_=7H-0-3]JG2NF9XY\0T7H.L&Y\D*#
M^,<D^"_M]Z8<;ZKKY= A]7$FNSG?0#+=0RK\AHD:Y^ZFT8*J>6$CL+F[J?.E
M,B$4;DF30&%'D$4DI=-%@O3CY!FDG\'A'<185D-I/AJCK*R238/DEP1LL^ )
M/2R+,$BQH911[%OL>* \2HVG$NR^\/7109*],H\B3S07;L2='V3P8J)NX]#1
MYI%M8_(=R>?SN^^!1FZ$\G0_0,G['LIM,91J;Z$T'!V@J'ISA@?(R]Q<IMB
M^.2[')641_N>PAA5%U[9?N 7YJ]M84-$2RC-V6]1LRHX.W2UYW!:T=#%$K$.
M/X%H%SO'/3R2,7 25.\$,5BO6-EC^!AZ_LGW,B>HW"<1VXJ1N]JY^"L[4&+*
M*6@ ='E.;LZ?G3^@[GHY(O7324DL] M1XL#*04F@QM,4G>%:<FT _?<!BIQ1
MS(N"R$AZV$+H:9+DJ)I3UGQ76E*-3PVEOKUU-+TQP LT0DWPX6C)I=2$Q=Z\
M7+PFD@L7HVFH5D FQ.H%E64K GK8.<W85X 50(D<3DY;A16X\>6L[&T*,3I.
M3.OL>CK05)]$C&:22N_C)MO.944((A_*_4UA5L0?]B?5\<QI5L0IB@+?W[QF
M11RC&)Q"AKGI AN5N^CA A9GZ5!3+^2R-I9G +6+Y+=C9,SL&CMQT;6_@<![
MBSX[*?KYS'Y*EC3R:&_EJP-B5G\B_^P$1?!<4 ?O:?]ER_V \H>#];:>=G&%
MHKC$2V1=>3J]-102X8)BR/SSM"F"#RLROJ$^H2;'G+^$T7L"I60T]<?PF*5M
MH9 []Z;,3ZD'CG/788/G*(Q;JT3]R_6X^]#_;\;P<IGVVWI()#Q74&T?E74A
M6&%O%D)6\M5CA;F0%^"1KBTK;$2B&(]SWUEA*.H-];@WY'3V)45ZY<J%MUF2
M)TF;I1*I951&E2[M-CJ\^V$.';)?^I"6"GI#"?T*BA%1F_H/J\X)N9H"0['O
MMK//T[]7T9N2)!K'./]K#  U6H3=3_+AN/&C;0 ^$!M.#XVODL,$&#V,"ZX8
MA1;( 5"DUAK85<K$G5 +>/3@$?.W?O5*4=*HU[[NX>^R@[#SOYROR"Z;<(+?
M0D^,+OE@=-IHL&4/?NBG(']/NLZ*4:.9H,+.V%M,P!PFZ3N2M^TE"LX'<-BL
MR+MVW62))L'14;6)E'VN7M<")Q$(&^D]L&1*^0R@P!R=G-^BP$-JR3N98DA-
M=;I@7N+H 3E#"!3$%AU%\@8\0)GBW8^2<T)ELKAFLGE]G(+D'$(Y)XF"+-?
M*$R?V%CRK)Z1A)4Z0>"[&_:T**TES^L>'M40 'B$/Q?G(5?:HR#:G9\"RD9R
M]9/]=%A_(S=&D*:&:Z:'-4;(6WB MFN%*9RH UL?V\"MO=94QU(CK8!M"0GA
M(R5"V!4'U5D!F;AWFQ2UW(K7.7'.UM7\K0"*[:%./-EVX<-Y2*498JQXX!4_
MIAU+C]$X+7$U2US-R RKO\7/"K\(<0Y%M#!:@1<?^0E;,JV(,Q*G-:PQ=<$*
M+^"3S;U6!%.)(T8S15L1,"4.&9^5W(HR<.+@8<WV8Q1](^4O4AY;EJ=RRESD
M5AWN4/V%.;H$MA:1YZ<*4-3PRDW]4V&8HONB\??7X,&\-5GX XA/X.;\!K^-
MPB>35,0?AG<DW99]V:.\#$;/)1-'T8.="5,UR8C+32]6&,''@)5,C].9+!5=
M)45AQCG>&L7,&5?#52-EC/ )RC4 K(_Y"WNXRZ=5O;R<N2)RAXPDVP^FA'.]
M)4P#)0*Y<: TXH+-'H"T/1VV![W<#RC<=#CGG$?S;2R^]6A!#YOL> QRTXL3
M-/*.Y'E#'X+H>U+RQ+>HO0M"N==E?60T%-"D4+*45SB+JE#M&X@/7Q)DU[QU
M C<+NA3HYV5H"FNG"!S2OZ;'I8SGQ:U"P'T8H!4"#1F[,9BM%6^P/.1(8,U6
M//DP2&Z$*V*,IPP-DTIS RO_UC$^\+7,U54Z->7//3/46HRHK02IU]GM8K"K
M\GP56\,EYO+U55G,*P?W=S_=5_G@\@/7<)7C4]3ZC*0'%Q-+\LY)#):4%1 N
MYBU.;6.(<)H]<!0US9^B9*:VJ<O\&=P=TU!UV;]&.N]5 &4\I%@\1/%EIES<
MK^=@>AQB\O:UJGGWQ,OXDK*H7L-W/PCRVO!MS[ Y'F85&4LDOKQ5N\'_RM;M
M85]N#Z,235 .Y$6K9]Q48F.,9JYM>)WF,_' ENR'*F*9'3*PNK23E."!(C%?
MSE3O/XX@3/CTLT%#SB-'@K9>KE2F;8D"I4&L9* 1'+U8]]1QRCH!)A0)/^@V
MF5(/UP'0/J$S4L&9#YG)N9_'>(O2B, TB57K4)4JFU>C8$[S/?<.I(X?S%%Q
MOEQ0O%DE:3TT4*4?PQ.$.XK/MUD<5QR17Z]F=%?WG%,>E]SY\=8Y^JD3H*P!
M+Y!T'1_=C.MT7QJF$\P6D39SZ+#* *G*:2*'^K194Y.U9(Z.&I#QRG7C##0S
M/P@2,G, />YH#OZ#U[Y8Y]P254P0O^%LQ!*)6A!7'FYDN*@X^$2S6=Z4'DJ*
M),Q'V.( M8R/>3ZJSOP=ID#_!FRC&-0[ 54;D*1Y&>"RB*.P3-EG5&5P7*;(
M^^Y Z[$\2\WZ6>I"Q;?1X1B%$*JDHFBXX:55Y :$8.N+ZEKB(VH 0R5!P:GB
MJJ0(0B VVCR>;J;>D?OM%J#(P@MO11Z[5Y5_Q+:EQY#J@,@.!R<^MXZ0<RAS
MC['C=CE[:[#/7U"EH3)9(IQGR2&2URA Q96_.[%HL0+A ?40L$7?*7L*-58$
M]G#(.M8G%-;@M5=?3#C/8 _AR8HH,'T>+O6%AI/$! 53HX/H-'FVU :/OC35
M1[1>,B(*"]=V9/<3)3YQ>7^ZE'^*K,.;%*YS'P5PF0EZ8B@#CV9F)"YFSK I
M7C720/^\/QR#Z S !L0G'SE^0(J_<1+TF'9 @EQQEH)\&F64746^+P#2HV@B
M+=G?TP#"RQI>G#-B!2MTC'.J7N?G\U(^."]T4/R;H%HOY2-:@=7<\.8ZRH1:
M?+&N$@;6%I0\4YCOIJ#8YB\AO"?R79>*D.A7]+AV\=R6(._)9G%6& -$$);#
M :U0@/O!*LHKC=:#Y4$IS&&G4P/5^0*?0)PB;_$-".$2GZ-TGDX;=^ ]Y7[K
M)S16F0RDV@8T-=ZT'Y0^>AQ9^J9<):B@(6!\*/O*=;-#EN>XRIT7$=N*P1YR
MKMIP58?XS^QDSMR=2F1GA#R;>XRJ#(YY63L6IZDETEG6.5Z4O\5I8'$:6!Z[
MY_I0J^J1!P0 *=K_+W-B.+'@_."'3NCZ3G#GI,Z7T,D\/RU+ "_R[)3R;'='
MFH7MQ*18D;$6<5 ;<; /BM2MYC:\B(ZR2+^2I%^A4V^Y(&.O<-?SD"^*PB(4
M+T*Q:#G%DB#6VY<8G/PH2X+S8Y)D><'KXO#51)/<@<2-_6/U7EUW7GE_9$F:
M-UEYGE]@U#RS>4Z71;YF39J0#O(6)<<) N"]9+&[=Q*P1D1:/GI?3XNGAUSQ
M+8G3!J#PIPN8\ <4S^]E;KJ.2T\(C(A);*9BHLC9NYQ#@I7%Z&U59G%!4ZKJ
MPF)IM=U&=>IM/]S=[IUPEY?YN(_C*+Z-($MU"R<#WCH1'$-8H?01F$=YZ-^B
MBA74\3.(Y>?D4)8PP#$2@=[*0"XG0.+/]:\U$]*P*A,7OS=:F&5=&0@E!K<V
M-><GUR5UE4JG>24833=#[I8E@2Q.:22?1&LP(?-HD6O5: U;/^/#?"BI*\%,
MYT([.^-#NYBY2,_;*/10=+AWE7-V7@:)SB46>B^(1HIH@88)I@$/RW8Q;$QU
M^F,1E,W0$-N-)C4E-&UC>'/'=0M5TR-:.+IM%&]WF9R4:]>OVZISJ7:2/3Q4
MZ _DW71R@MQ(FMXZ<7R&,BJ*4"'9!?CZ3DHX&Q>$#F0-%Z;["HY1#-DIUNS$
MU45=O?I+1@<^VJ)T4&U*2Z \BN2N<EYTH]EU8PW<07@OH@97HIK4A@^L UDB
M);\3ILY/I/3N"HVB@DO2<1$OE0B>3X[&QG$MU1ND\V(PA:#\$B7YDQUS%SBZ
M*EO8;R#PWJ+/3IHAI6D#7/3GA5$3UL3JI4QHK/D2\5ZEM5:V"^LCB+MUW,_T
M36!TTB4<[CD*7>HZR.T5+N%P*&-WJ9+F=3/]2E$\ Q+LU"[*Y;)+M5PX'3[I
M#-M%\JM@49K@HM]CV0RMI3)@;[+$#T&20)I]+],_H;+BD'W V2$#C^_E[ 39
M<+C8SX !E9>P00GJRCH3#;F/R:FXNZL[/K4;T8OC>X]A65^CP:A(AXC=46$V
M^'9--'B\[S_<(/,@K56%#PG+XNJJ<&%E 1DREVXU4<F5K^IB,%DRH;UN(A;S
MS+/[J=P5GIA(2#GK+619Y+T2&D5Y>6K".M0?Y[*"49E3MUW(B'Y>>'KJ(,_G
M^46X3&:,3G,2@Y@L8MB8"OV_4@?.V[MWXA#.-6DP BCH^*Y/6B]'1^427IWN
MM+[W&3(=IH,>#S<\#S9:6%WI\]5*%A 5_'44];O676XSL"Y2V*N_VT.IXDM2
M2.=<$MAU'QTHGTD_FI%.0[K@(_U.6QU09V.MFH,SP=4'5Z3H^V4H4NC5XHM+
MQIG60S'N5+2UH%WL$V//ETE-7/:D^%DUO?NNO96,=L.F>#]5/L48[R/3'8JI
M'DRM!(1\_D*&5V2F^JA59,3V13+ZH)'U$1I]D=R%K(!*GKL1AI79$1DAZIS4
MI#T:I=I!?T)P83V,+,&)WTF)D'R_]_DV_0#C7>>[XJJ=)U2Z[,_/+ZT($N.6
M@YGN?$;#Q27_4MT%C8:GG^C+\DT< S*-=*IQA&!)C-/T,- A8C/%#=6*4RZ*
MUK7'JR7GFBW8T7UKK: E;OF#[KYK=*$CIO!!=2 V&II^@L<0CV7;X!2^'?D]
MH:V 4@P\'B]K*V!C7YY\OML6@<7!^-INX584,Q=^C2&YH]N&EC#CY_"#'P-#
M#25_09XOZFQO!26R+X .D[<!$ X>QA4L4$+V=Z,A$^/]K&@$VR 3O@ &1D!8
M@:\8HCR!%%; QKX-:.$9%D'$(^-B;X)_2 4G@DJK3N"(W004\=\:F,3%?[:E
M1RYXNAU ,;AP3MI6T!B;E3-">:P@)DEN?9A#^(OMU(4/41H%'4.IJD;KGY;3
M$I&,S 9FF/,$)1RL1.]?1A]"7K(:"0Z3B(G#??-7HVE)$D,G! U6'BAR78RQ
M!+@DOP]^JC=I%MGOK2D9M@J"Z#LJ /40Q7=1]IYNLZ#KC<3(J2$TAB8Y=%^<
M>!WG=.OEGGLO(-[L(4LBK)&SLR:+RR>3K+)T#_G:G\#C6E2GDU:+*3B.P$+*
M#EHM8IVED)V&R(M#8"7-7CKD=A4\.CP]=5@6YZ&A]=!G&=3C0FJMS_39!X7:
M10_Y=6AM.,&[V8J0N:&8\@H!=OBG2P6SRS_M\$\< <2*>]OA^S,"@*W[PXX7
M\H$H<LEW5KQ.2422R!+-?HF1CN 5/Y3[ &$\>CAF.,$KA%U6S]K8>?G7]79>
M1D\>!^V7*,Z/0IK&_GN6(@7D+7IQ<$Y'N(R8$D97F_Z3L "HH0%_%Q:ZF'M^
MBYTP<?*C"@]O_E-0L) ZA)&17GZDCRG4\)/\3;1TW&89SXG-E2Y@O45N^?F#
M4E&?/-E$ =G(0NR@,'=Y4?F9@7ZGF>H)/\ +$KVFH\G\[J?[6TC7\##$\$P4
M,7'H41G^SR,?J#XC*5NVZ<67&:7IRHKV4 DI3@VAJ#&VF8J)-@\XL<(QN>U2
M*WJVM:++3<76,\.W60HH]\5Z*=]KLZ-"%254&:,8BR(VUV8!-T[BNYRS+]JJ
MU7R>H8Y=^:X7ND@5A,FA][$[*ZTF5YSJ8F+THG+7+95-^W> 0@> MSI!6'?@
M.4/,>;WM6'P8NR,\C/8+IITKL3$4:CT)<&(7I6:_@VI+$.5YL\H30]1O:'W4
M+24Z.T%ZI@I([39+$>QA]\J='V0IT?6#U%IEE5( #U]%J<V+@LB&R3UTXTXE
MO+Q.+:*CJ)/%01"@5$0@A!,-(,]9>0<_]-$=D?HG0&=5G)W55]NZF%Q)L@VF
MY5(ZNP3G$]3,$P0)I-GP_@/!E/G)OGA40;E%":"R^\V@#.8JCI$N5;P.Y6K5
M8[@Z(#UKO67EC?B) ,Q47Y=,P?##<>K_F7^EV$#TCH;\VI")'$?)C![:/&)P
M/EZHO%SK-Z/2[NV'&=S\DF_!_;\!VR@&=5X)D, #%SM1#*\7)S[GME\4 8@L
MYE'.M:O;EW@YC_=%3?7?7GJO:IJ R)<SN8'7\)98M);46MGT1;=!PQUX!BE3
MLFBWF<]4O_ZJU(O\^KF<\<I.ZZ&',Y!DGXQ.KH 1_!D,KQ;'Z]'0=LDB.P]8
MX;9/<CQHYP/K\=9O";%)KQ34W1!32U&Q' JJ C>4MWR3H5FJIV((A>S0<57A
MHOGX;S@K6JJD"F1+6TI_JO:"7ZHS<D@5#)^*5LDMO/N"%<=9S/_ANB9!Q[G
M"LSZ^B<TT1-\\K<"5Q&UD^%'8$6,LW3-B;P!II85%!:,KYP^3,9EJ9NJ0!C&
MJ_.FDID,::UV"K*"XH;(:Q1O)*G8_5I@%X(="AK5";T1)3>R.Y05="DBN_%Z
M6%F18T6Z$(=U\1H%2ETRTBYU5F==JUPJ\CI)-?WO:@[_0BO(5N16F<R!T8K,
M5?*O)<[#8 6ZXIR!R]U4*G;Z2O&B[BEMO]914J;I(@J-=GQ'=;>U8DOZ2P,L
M'UTKD@".1-$89V$K,@'VIT8V(9I=!TTZ(5XY(EM1[DLZB&0+LA6)%:7C*6XI
MM:(&U+B'_^NOEI0_&D>[E!%+,$[I)./QI\:G5)C*?0%9RE'A$[/^7._/+#*S
MFIX/4"3S *:4&W9]F(9+HKW9)MJK#V^QE8B51B&B3@RV?'W4)6QISP:+/KVM
MRFQSV2$+$#<E"1/43#_\_9<TB4N:1+F$:T>:Q!G%EK^"%#(SX%56"7J.,'SC
M)5E8CTP6EN:P-R[!T@!1^.O?3%6R*:6>I9HKCOD$H8@9ISH8+9907JQ'%X_6
MT+*0XV5STW&BJB2MDI3\"H#1T5A+,+3*^(\E&'H)AM9?$L$_69L=X<!]D9"4
MOS%0FEL2C25D<!Q/?(8T:'S\X)3OR1(2R)GIM:]?'(Y.-+J$X)C &+#VIE&"
M%@HKS'W8=;U?G!RV=1[QQ<EA9DX.\"Z\=9+]2QR=?+@E-^<O"? >PSIJ=057
M<_)3GUG)L\= *A-3Q\!)P!TH_FQ,\]8Y^JD3,!8K,(!&BRQU>TB!+O!/E/=7
MKJZ+B\M\75RRXS'(9^($Z- ^!-'W^^(?6,><JZNZAU[D);W>0M:#4O>FZ_="
M]7\,[S_<W)P%E87ZI#XATJXC24FOP0-&7)[F!;RMUMN*G)@D2.NR.,.,[@QC
MDXL30:HIDBU*$(]H ZDK->R<<W[^%JU<J%/%X#<0>&_19R?-D"ZU 2[ZTR=6
MI>'OK]4-^!ANH_A0J,/BER"NM_K**R!Y<7R/5FBTTU"=Y]Q%1WJ+H* 90>4S
M *U[ZBV2HZR,\JE1BUDA1A'"KN=-"HY?CCBG(7H'W5AH:5T8SD)I REGH5 Z
MA%=9%D-9,0$HG<GA$(6YT8K!.RD=-=(H*R(CWP7T/FH=V@HS%ZD&7JO)XOTI
M2/]QY +@Y=DIRGL?[C>4[XXE?4/9]=8)@F2]79T</T!B*B3YC1, MG@A96SE
M96A9%W.[E;+IWH$CU#=\IWQ0:UXRA*G3>FA!D+<19$%P3I N*,5!:3TT8L$Y
MW?O>7?F6466," NON=QHP<^;N0:3+.<\.'[\;R?(0!W.WKSMRJ<(I/=B,X$A
MKXXHZRQ1YLB+%SA)K]M$V_0[!)97#ZS;J],Q.BF[T#,:,FU#TC_XV8&D,##[
M:<'9<L)>YR^<R?T'B%T_(=9G9_=3%[>XW0(W76\K&^LKE&_6(1+^T?_1.^\)
M7N;E6UKLNRGPT"\@GVK_0Z-E7=,-[MLQ2IS@4QQE1U2N .UCGCX+>)?L6:1'
M/O43T^CJR?G312,6NVJPG66KT(CM)#X"[@[N5.,^Z'&;]!],-]4;8\08_*BK
MT:U491X%1:J1_  6OR&R0I$AU.FL93$DR$*B Q+,:$(XH;'R7>KFR619D7$]
MU!7^'<+JBW>:+BLL+X#FI5)<- 1D)IZ$1C=.Y88 ::.7^T+53V%-\10D=+M3
MJXGR\UJS1'@'0*Z?GE\")TQ14 C\U[S($R]/)0^@T+91Z+EBA>I9O93OV2O(
MP^;>(C@W5-<8^4?"HXUL8")72._AYLF=QV"VFO'.&/*4RCU%Q&2/Z:I.-\2D
MWR^RQ9-T-G('Y2>U9HZ/80IO761?I*I1['[*EC19OG\L,%-]737%D,V5]20Q
M[Z%T:NHYYL+EJY9??]&)SXOY-_+W5R@SARX$?!V_.'%:_M PQERSP$I1)\O7
M/8=3??:13T#3:)M;T# .9&S/ JY1)-OB2J2K=\U">,;9V? -M3"O-R#,81-@
MM8*CZ,1/RM3T;AY@F?:1'RE#Z&8;Y3]/ @,H6R1'X2KLVMC]=-LW_J,H,(!D
M%E@=#(]PUU[%&N"8H^@0:M._U:R\598"NROD]H9&KO8)O+,BB8]X<-Y5&1F.
MJ#>I0.I7F6M)T88C+)&HMU8"F2%!958<V?Y!Q.PL1F8CQQ/^MJ376C+E2:>[
M)5/>2$R/(S2P>: %8NT,%UIHUS0E- ];0[ 1]F;%<1XS=(Y0[K83D#8&T!KE
MTQ,W'_ <>UI\F"7G?2K-FLJ8K<AU*%NS;D7_24507VKMJT2V PX-SSTJ5R\<
MYW(S^L0OR5]GGP/2V.2PDO0F.0'&=I#Y$(WJ*EC9"L#&5J<NGL24V&HKD):D
M3=&"NZW <2HEBKHQ1F?3'DN)XHO?EPJM.=J5U 0"5I"O')5,Y! 8#:M^.?:U
M@6;D=Y)+[@E+>.-40BE'B@R;Z7: :$K(SF$%FM(%5 U2<8Q29T*[G9,M\.*S
MADB%4E\FWDO '9#&Q H*E>9^QITL9118(T@3,X!UJ.!&3<]B"1N82I8CQ?O;
MS!9Z>FI@$]=80J[2A;>IT^B4^_1WH_GU6($3=;*=45#4C6OT=?!H9_:Q JJ1
M! 1*IB&IL.K+;Z=[?V3D/[*9C'O*">+)ERPA:KV$B!KV?\@O$KI)G3C5"?H1
M)(-.*JDQX-30I;&O>$!+6S4&='/ALD.%A6[B+*EHZLM.IY(1)LOK9?,IZ"=K
M]$T&9LD)T4O@^/I+#?POT]0E-TC@8(772T54.Z;1WR31-W':&+!J*,S)E4FX
MT[-)15=?_CM)4"HAK9PE$,OW4>%*<6<%UY4N/G"'893P_M-H>$=Q*R&D*;0"
M4#F7F4A:Q%%@U>U5;2H]FR-5HU2\3;_41/)$6D'(D]QG7;6DQ/9?AJL2DPB[
MP@E$I8*O+\>8BD=3DIJ62/\Z!=+_\V,':'A0OS4:8']?+JB#>@R.@0_)RXWB
MXP]P43]6F6M_3)V/*(P.YV(ZR LZB)(L!NMXYX1EB !D(\\H_AJLMY6I>.5Y
M?K'BAGA[!U+'#VI4_13-XGJ*?VE1"_A(00AWZR_*JH46'C"0/EZBP'?9)>HI
M'62G4\]0"-%Z^]D)LRT</XOA1S=^VDE[S&JMR0EF(GW1^"DKGR[9E_(SN,D.
M!R<^K[<;?Q?Z6]]%SC)=%$TYBK>0Z\+I%<\;KW[R[>9\ ^':0PR^-?/;7AU(
M9C=U54PZ,ZOFU0XB9"[HJIO<!25QVE@,_.FR$!3Z^(9H!^6"\^#MZ6509^]N
M!;F=VJDBYYS<60<)PWO_^!;=PZ.3GK'P]QE!'])Z@Q\3HZI&#W7+@#(=%+'B
MSN2P%=-Y>TU*=)^=/Z#.5<XH(1P.3*-))_GL' "Z3ANS()X!<EN%11S?H9P/
MA84,*0!H@E12)S:7+*#]'XBCE\@/TS?8#&S "80/_@E ;=LM7NNK+"4;$$)1
M)7<?OLO VW?XVW/QWX<HB[&T/L(')*_^9>O_"2B3;_U^4FI_18XIV(E=_W9:
M3N&'_B$[$"?6_KVRPX;NA?5VY17"-)418YLJF_A%--ZD3N@YL9=\.7I0O88M
M__K77Z@KX>L[/143[I/+[]2A?3'(/$#6 [XW-),8JC,9O)L+.R%9=!<;0S+_
MXM.N.N;1)HL3'4*3"_3!<0&UGBJQN3[R[LT9,1\QM;#NH822WC#ES(6[:\!<
MU=G)>K'1^P_@9BF4FM9;""U!8*$T5(UXHZ@1SPW6;2Z9V-<AR$52))OF\JF
M,'J/'B_($J.LH26ON-*"2JMDB-\':E--&/^M$\=G]!3"S_RONJ@[#=^A3,9@
M^>TV\HN;UAR"3 "85LH@0XEP(3N 2F.&'LJHW /?5A.RI6PYIJ%L-3>+X?V5
M4O;\JH4RT'X'B <";P6YI;,#U2/*G1]D\%_+O(E9FB %!YYH J*BHZ@C;VRL
M93-"Y>9\:5,Z/>8LXL(G0@]%(#,-2J-\2O:]G.O@;]%+66FDD1^3<N,R.RFL
M4ERX^Z[#JW2_>4J9-^>#L%?L?LJ6= D<R1'^$OI07-M\H3)F>A]U^MBPP%R\
MQC9H3,G'Z0IW='Q!G#^O0K7RLA7DHR4V@#JY"JIH'N+M4&"Y9,V__T"95H!7
M9-L^'+.TS!6)THY!KH\2M.0,CRI)RAE[!#GN< RB,P!W/G*4B^)&TD:Z9,?L
M)WFN=R5X92+$\)+[&'&V!'ZWSM?9G3!_9V7$5P'*V@!V>]E"7Z%Y0OFG2CB]
MR=[_@#"^10]1O 4^\H;"RH)<'14:;?,;,<ES*-%J=6,:ZF/[NX#\$Z_QK]E%
MX?V?ZU=E"8/<%H;\"RJC09W>"GEVPO]Y9"&GSTBRK2+XL.3U>^#OB@R52>H?
MD',CUE#"WUO9=E6J3U$]%LXVO[ ).T)HK&SRGZ+(^^X'P>/AZ*"(SP=((GG!
M'#]VLP/2WER0/ $'4<E;5+0J$C!AE]=[.'6[![ZC3*KK[2H,,R=H+R O[@0%
M--)F<O759&]S)_Z\G#;'SM6-U5U!R&W],IE;>$GN.AZMC,;JE-)Z*LA)K!U;
M7<BUD/XKQ$D*JM 82C4\BJ*FGBW7COT;L#M0U$IR>SW\HGG=7EMI*IB>I::6
MYF:ZI%:E#X6=0:VH(LWA-]JB,Y9_ILED1O;LK&B,XE9I*C"\+IEU+(=D)TFC
M3RF7JVZ-;-L!TWA@,%Z=U3F\\JPT&@H>-\U6K1\^KTBC,<.Z4]8UDIMT930,
M@UPWFS2%ISVCL1OB,MK.QTSRQ!P#/@VCZ#D\.:F:3E-@-57(ZNM56M^'&,G5
M5*SX'51KP4D(6:.YVH"HR8K62/ZU1N/&;X<A"F08OUXK(.-6'*4Y&AM='5Q,
M922Z,AN-T3BRV[4S]0(A02(AN' ;C=? BY7H<6XT:$-N58*SNQ5XD;WER=RK
M>?%6U8E_,%/R$+2J7OG[&UVZ6=;-*!QZ, :J&AH[L%%+[.J=0X,8##_00\TC
M#5.PT:=[BDB9B[K&CC^I2JDN9$EEIAR1+T87]QUZO GN(49C-M51YPQEJNH=
M+B>=>M+EE#>46KI3L_*&,NP../7(BJJGD]S[@H%R56&RA3-0.8.DL#RC"^Y)
ML4F*N4(8C>>D;(,O#+.J0K1P"RRW$ T2-;JHDPQVP/;%'P-"G=PHIE(@**&_
M5:D6N8=>!Y"EG'?.V&2C"V*-=-8[CY-2T3.! FF!Y&.4 9H99AUBZX?W&$C.
M\>S2C2?4M !2B_7,DQBIZ/7*15"]IB_2./%V%DF+4,$IU3O!)"(E96"H@#/S
MV4X6>OU30%3XFOE6(HTZ^3),5&"::6L>AU@O.2TJ],PTN4D3QPE)-2KTK+?X
M4-$3S.I1@6J]:LU\V[Q@M:@R/'(.)J5)!:!416;6]0YK ?I+ K99\.1OT16<
M']8Y5CU\B2.XZ^D9F4Q3*)VA%_XCMC#S55X;CH[*<O00YW;9,]%5-7HNQ:10
MB.<'O9A4Z_=+X2(.VF26E.'IJ=^RNAE^>)?5Z*DNR[N[!UZ&_/G(T\04UA'N
MKFR!-QD4*^#U1DU\>]5(/R)C% -B]]-O29<+YPXD;NP?"U>;-Q ?[I'0D" E
MX3[,#J6)K_^%QCG^4JRPNWM/P$G /@H\J,/%T:EXH:8>)5H/=8FP*Z*@I[^^
M:B4YH^]#%H?YX_&#_X'^0+;"(JC_ZL/D).FB0TC/28Q\XD#\FQ-[WY$;7.AM
MHFV*_LJ:.6]7923R;[#WW0#0B?NJD1XN)?P:3E,GYE(AC,Z8P$IZUM8 3,WO
MHC9WEPX(]%!<N Z2#9F4^JH17 !B'(:,!5! O6QB=ZW=6 L3+AF5.'%:"]]0
M48%7A3,Z7T2O+*K&.:<,N1+PT>/&0M23Z5.5<M,Q&T72>.KXADIU?=()OYXT
MU[&@+#AU@ZZ$+3QCQ,S/'41N(],8,<8S!H]DR)HNIG(F#@ZOP(U"UP_\,KCW
MQDE\%^+;RJ941/BJ\'@@%DRESIKP0"345;*U^')37X=/7TT ]\#89X21JH,6
M!%&%?^9?[L2#4]#O,XQN-<Z+N5^E(B#8R(6&D++0!+@_[*+3CQ[PBS7"OUR6
M!G^ $O/.">[S9) 8_P-<"X5U]=)'R/(. /GGKDZ0^R#:?HL:^9Z0Z \9<'$&
MZ _#?4?38_D\BU(WU;M._@C&9E Z+&7@Y2V)DSDSFVNS@/QH<LZ^:*O7U 4W
M0 XG(I4G;UU'^:=:B3.[]S>CARJAJ6.Q[24X/0WV964)3Y?D.C3)!Y]UGBI.
M#1I8C_MME4)AZ#U+BSOY)=<(RXWANL\IW;7A /3UD%HKIT9<D*D<<L2./)$<
M?(_)A]X0@EN_EKP%5+7@*L?.]@L\M ELC$UUAML&B:/KI7N14CQ?$FN)J&$<
MH^FU?%J.:Q'MDSB*!@%.@I:=2]H+0?N*J8_;0XTU'(G6"?8/PTO*#;#B(4RQ
MAA=3B5"2^:8=_]XRA1CMB\EO4^F7R=MLU$0X',&X8"5.Q"/(92I8N#_-'$'D
M9"),T6BJE"&WR+2UC.$Y-%MZ)F2:ZW$<C'9Y['=O\QO!1@$O2IU )_"&7-_C
M(J4+F4F\BVB4:CZ&:JX;O#'5Z-I0%*^#2C=N&V/'J2FF@VHL\? R!'BC*4K:
M^95IB3>ZZ),$PNV_:>8C.Z;)EN?99)0:1;K(EB,RW0Z-&IQY<]QG!6;]5KE.
MVUC:--!IN] A]R"%8P5SS%G7KJC6.9S7;H6$UNH<(UL3JHSTKTX*10>GD"7*
M1/)<*Z(.H,DBN\58J$MJ-)?L9O%_((Y>(C],WV SJ**=0/@ ^5>)&-[T=Y>!
MM^_PM^?BOP]11DGD(O<#FFP?+<49KJ4FTZ;DTL,T5#KI"[]G.4GC&TL^)NL0
MY$2,J#FG: 'RO4=W.?F R!I:#]LDXRHBUP&ELWVC'W9XKXA:093,M"T$MT]Q
M6N,,;7S\EHR.X7YBPL=2VB5A]+O"H /Y-.X[J;YD1\HF1B;.<1X(9AW)7;=Z
MB2,O<].RZ%9R<R[_ 9&7-@8 1D;8<LKK> /BD^^2,GQCFTV:NK:< 4IN4<XA
MP:J^]+;J E3R9[???0\\AOF3!J*!1KDVE+DJAB>I*M7&,K_T'T\9!+V*TV$7
MWV<DV6EU_: L4E@1&R5_+JFMLJWH,C6&?DSIH$$2>='#<&'531;!EW%>YK=D
M)TK>P^_#UKO8.>[/;+JDMI<\-S@Z7#:$P G.J>\F[-DQ>LB?7PK\D&]>N):R
M347I'L3LR>":J4RZC^9!S67=;J,^<R)-_JER U)$#].UUL%BBZSJM&::E;@$
MVTNB-Z+,83H9LN45?.9=J8*!Z2"/*D]=\=(K?FLJM&+GFRZ_F6ZI&IW\)-QI
MINZ!&)VR9'E3D[0*HX35*$S-OBJ&#E:_,36W*C<T!$UJ#+\\4HS<3(SPEV?]
M];;DW3?G3Z"X.WUW%0-'&Q.\@ H-]2*TK$+*?_63;S?G&PC>'B+RC>)WP^RF
MS";0G5DU+ZKC&K.;/@NBF0T)C36:/*N,**V'LF5<SGEG>E3C$[N?/CO#>@"B
M=-!G$1<N_1/O,II=)GU@S-W%T//WA4J<@/ <2FX[[92+@O+-21#?1,EM]2$7
M9JUF6H])D7^.XG2_@LHAQ)%831732';>3B= 00J%_\&G*/*29T!Q$J4U5_<L
M#+<12<5?X-;&4&(+.7(:T_M,2@GW&2J80*2!UJ\E[_[J976;ZU'D';]NHH>I
MAU?*;:I$;$'25",BG^1)Q^H:7_NPHE8OX1 HK4.L(X!2*:PEZ9F*%9>86+UT
M4(0S4_$1$.RHQ-0\K*9BQ26_5[2$$S=-!4;4<G1)DT43AHUV(Q 2I>DGSXZG
M[D&BU(65F?P<R,V;V@J0J9#P4PY#2##Y<92+9O"JZQBP:)0&4@+C>>JX(8S[
MA#R3A\ WE%\$>0RFB0D/@-<91XJ5(;>4\G"A_+5A A?O.80BAH.&6DKC=<(,
M"K!>P1$*X:5W:EIC&^[0F>SHRM?A T)CJ L+R2F$L(;RE\N;S/S>9#1[S%B>
M#,9_,A#DQ_?J2C0A49#^@*'5V\60"WK2^B3:62=Z7:1-D;BZGHQ&2V<;LUX@
MZ68\U0:=WN; ?KS-#BP'LGT^JY"9N5HT,R=J@XLLVNIYP1J=MUR33/C:X"%N
MGAW3,COK_#]/4;A[\D_ 6ZR.B]5Q,JLCW;I!;*[/ K0UFY+L$CGA/D?A;18C
MKGK_4:8GN/.WD-7EZ0FP!E/1WHM%=;&HCF)17<R0BQER,4,RS9"+0612:Z[P
MY6HTG(NY=S'W:G(E+";*Q42YF"@7$Z7V9]!F$^6#X\?_=H(,LA\'_8S0NF0D
MOXT.1R<\)[=.LD?_O_]OYI^< +59A=YG)_X&\HK7ER*ZOX' >XL^.RGZ^3Q/
MVR64WWT7<AVT8KC,JX7C_Y6:)V+0D+*3^A;?^AR%X%QLX$,6>K2LOM0.RNR!
MCWE)U_RJH,?X8QIJ,NE;>+7M('OY,S\*5 KBZ*@N[0*6>FE9%\@=E"VBYH,7
MULCR *1V4;^0F_.-$^25CO< I)_B*#M"@8CVU,+553,RHYZ:4?CJ2 OIV#:X
MUC+::P6JX$*ZU<MI8([P 4GA?\)K+DKPSQ@RAE6V<5\V;W$N)9UO_""X+(-*
M@XQ.$VX;/,=)\B6$LPD0F)^Z-O%>0XPCGV"D35&)A7L('8[.?9+Z!Z3JUDQ8
MVO'!##WABH<O;/SYKTY02T&WVT,4HZCORTSX9B_47Q<#S' MYY)HFJY36&$M
M)>LC37L5CP)@?+ \4U]H/YD-(533L>116YIH\FD'IJ/&KX:W(J@GIS3MF!RG
MZE)?#%*TB%&015'>.B$KHK:3+Q0[DK'U.[XL[<V*=S>9!QBK3UJ!8M_#2I-\
M3$]T(W9H^YD"C'[>G?0.QNF]5J K]V@_C>MZH-/YEDF6%.J3FJ-(.^H3!5',
M<#5&.9Q9N374%<%:*@8$O&[>IL,+G#?GJL)DY@1S]F[0Y9V3RY)< 8VJ>OKA
M.@3_ 4[<VCNV+9EC#'7YD8C'%ZVAG#G\J35WDB5:TJ!Z,$)>NU9/HK'"6"-J
M&QQ*C=.I?KI?+P]^""5'O\HCB"Z8ZE^>?.?=#TK#0][76Z7U<.MP]8I0CZ&H
M>>,D?C+K*^;F?+E7?1!#RMV?G\ )X.(#!3NK=Z]I[GQWIM0:6&)CJ,N*9H@C
MY& @N#P/&(TU\S9:O/.4\T:SO//JV3V&QPRJK(A3_T0]*+0>ZI=1W]R8"WL=
MUI<T;/ <A7'KSNZHZZ2%2_F&XN2NF&-&TDN([=7O=H,$_R9,M'\;QXULLX<J
MRQN(#\CR /<=<F$4$N5#(3N7_'"J+[./Y#FBU#6"4V1UT4QWXI)AL1X6? *B
MZ6^ULOS,6+*8%1K]XCFU>$YI@IJ(^HN%$2<G6G&(1Q$QNVF-L8*970 +/N'R
MWOG+&>]QQO]FE9O5:&><4S.P"^3%"TL3PF2J@XL+$<_](V=O)G$XTO,E;N5Y
M?K' QW ;Q8?\NW-\2D//L.OM)HW<;\_. ?[U+7;"!&HH:#VT)R:.CLJL;B\Q
MY+DI> D<-]\NJL&-T%C9Y-%3^&,(U<0,S09A2]T'8G/)AKC_ W'T$OEA^@:;
M@0TJ6OO@G\"EBC9DQ"<0IWZ>K"6$_. Y2D%REX&W[[#!N?CO0Y3%Y+!:Z=]0
M;_==GI,T?4[:9.]0;O"=^-S@9)1'2W)[V59YOI3NA">@7D,HVX0J7B8'LY!,
M7"@PQX47U6>0[B./L!]<794M["9+(+I)DL\IR46%<GIT;L[N)STP'7[$@WJT
M2TDE?-U&*UC)1Y;46OJ!?4_<V,\%WH801,:3WD'R[-8AR*]4=+?F]VMQF7+=
MI/?^;H\7GJ0.K9R<;J/#NQ_F(GI+G<PWIU1>+HH2/ <H!3"),0T<5/+V/P3@
MX]V/DG-"/>*X9II(P)0#CFDH&;[[#W?OA#O =:[)C27/*C]0Y'DT?SV"]_P%
M\6K!WNJ 9(M;).,%0>=DB/24/%\H!X P.CF_18&79TXGHT9JJLDQ>(#J:0$6
MUV%H-)^$!+!38[<?=6Z/29(![R&*D2&6/;5V<UVV/0;_S4#H0F$>7J]^Y/GN
MBW-&O^$C W)W90NL;+AHIH1%M)IH,5%63 R^K1[F8GX;7]-83#*B6?'"RS+"
MU0\2\LUB8^ +9_ >Z87PXAW3ZRBSK%:MU/4<Y]Y4P(:8TIH8\EFHK.")W#:M
M1O#XM7')6J (1Y0#4U-/Z-#';"+*I@,F)L[QF"BM<.;A%NFD64R-AE76!3O4
M!CL&R!J*R^*7+];R:S1)#KU1<'9GT]WUR+9V,C)-WCE.A2>=$.IQW5)>#:SP
M3^2^:EL/&49#,_2Z%'I],1K)_C<B\3'("KSZWHH4DY.I&0=ER;;D%[PQ<@UJ
M*+6*TEP_X,< TP0RY'BNG2YAHQGX73TIE_#]8X&/GPM2'K1+.']9X*3 V7X^
M+R'[IZ$7R1B@=1,*_FM)*'A=+OMM#V[SF^(QA'^]I _<$B+O[ITXC+)TCB%0
MYL5J/ .X$;G[AG\J8OTJT^D9$^67A_5]":/W!,0G))'E0=5M@N"*\QCKLPI=
ML:K57.ZO5S^AA8E0NVBPD"K)-"J1P(@KHW113^)+]C2F]]IETOPIU!B=9%?B
MQ-\EE+J;U [JJ;)QMZ(<QAWNEK39V^L5S93,<@-2>&_F%S2+1.5_4+-@#-QV
MK^(822;Y?"LAI5!HB>))O=2?A*(VY']=,WCG&>NB(V_\^G?=;&ZBCI6C28VF
M.^1,)7>WC2HTT=1TQ'D$<SQ:./G7=+1&SP?'8J=C 'S,C8>;U(E3'0Q5(IK6
MI?P<7?ZUPEE6!?,<)P^2L3Y"H_./,?4GNSS>QMJAR92S,5P*-'K/4+QAPFZU
M<M[4?RWV(00[5"_0JGU@*HVC/,$7PM%]V,5:]W<H^O/2_<<10(DJN@&OH(C"
M>HL*;@\I-\@\T'@A[%X>LWZ<&D"@7(\W@\?7X'%CYJ\TC1.1$RSSC8;207H>
MC?:77N+HO;RTU]M-YKKPJJ&EUN#NK0Q\= B*FQ&X^]#_+SP19/HA--9H\E2Z
M(3:7NX D3AN3AS]=)@Y_^/J*A$,LT5S_=M)I??9#_Y =B!-K_WYZQ#!DV?Z=
M,BJ$=W!T !MXE^9'_0E]Y"KV]8H0:3UT6P;U1-'[J'^8G+MKBS$.#+@KFW)
MB,V5OR/.);,E*HU;1T(R<USB6JL_O8NSRYR<7<S,<JJ)KPY)/X$? [=.'$0;
M*)P%C*E16DN>U^L=J@,2'0X@1K6Y_3_S;\%3 [S2ZYW"D_@[JV=1-^?&557[
M^/.5X2;V5+\LW-2$*V]?]]1J64G-VOG*DM*ZCFQTJ'S,(8M&[PFO4-CFMSF0
M.T^K73H?=.VR]7O)@.+L+CCLL.W&F\OO &5-@4RM,,669$;:6+Z.LODX2NR7
M(?'PWU&0'0 O!^?HIHTJ\A+[+H#SA+=,\>A.JT'/U5?R)E3;O3I!66('FD<9
M!SZMN6Q.Y839%FJ8&6*&2!R^_S@Z4.B!@@^%0S$[C<Q/2^HL2+,?5V4-H8'!
MX,'_ -XC%/@@D\#1"D\/R1MQ.2AH=.*C%VX#>+N.S/]89X_:WIRGW\4]$PLM
M^R&KD9.#_V')"G\X^CM4D\;(CSZFTA?AU0B!@GFY,9I<L,]!%1 MC$PE!H%7
MI^:I8;SNF(Y6[^B0X;>DZ= N00E#90024C1YPG2<>F?=QCY\&7TG:N+4:0G*
M2Y;S)2YH4CV(I$%2GOZL0(K+7ZF&2^!%T@KT!%XP62%+G1="TYF:P#,I"[ON
M,Z1=U#>&$9)D2C(]7G& ^9'RQ&QT("'+LM9^M38:BM&U",I3O!7 <DMVG"X"
M5H F*.3QN"M8@=NH%RR7[&AJDG2QVU;0Z<2NC/RCW#!4;QDK\!7CF1P^/%:@
M-@K'O'JN-#5COP0-A.F4-09V1A(AU81/]0];(!XJ&5$?Y<?(>*'3Z1_W7N=V
M'C2ZML<D5$Q^HQZC\(<])$SW)EVP'4"RQ%?9,6JK6(/J. D#I19MT:KL2(/Z
MDI7G^<62'L-M%!\*'6R&J9B:.[KR_LB2]+IDZE5$ :6#LK@(_)RH(8W4+NIB
M&?W03\$3%."1\ Y52U28NSB>-^?/SA]1?!LXD ]2(E %1M!QF9<I=BNL\B\5
M.\JD(9%OZ/2OMX^AYY]\+W,"0H8;?#NU4T592E]!X722[/WC6W0/I?$4'R/<
M9P1EA%?K;O>0E:?GV^APC$+T?$ Y4?0^RI9R-1OJ2<&W53;U6^?HIT[P!1Y?
M?"0AI:&Z2>,UTILS(]D-NY]N2V(F(6+W,SZ!F*99X 0V?\EKIEM>,XR6V[$V
ML-/D/*G/6X29U?UV"UQDF+[+S7N-W[!J%W$.HFRQ%^4A>8CB9_"]4<0SAMIC
M%KJ%+R#E9(F-H6RIB,%#V+U"FZ?>W-BFZE/$E-I!O\H+-^>\>ZY6\*7+D?TY
M90!^BB+ONQ\$U#V_:J2<_32RQ+/R0U*[J--6Z@3B&&8(U?G&3[1LV,+#*-\Y
M[=,P?@8I"*.3\UL4>,B ]$Y++H)OJA7(TR7B&WXH0 "'VWT"(50[@E7HK;R#
M'_KHK"+1 "73#Q- URO%QE!WW\90*H "P0V<Y]9/U]O[PS&(SH"Q.F8W]?=P
M\V[C2Z=WU5ZASGPX1.$FC=QO=--%IYVR*5<NLF]1R12K,PV23W'429;&W4TR
M3[W$]4+]C,Q/<<V4\]*&W/ 8>N!0E.O(F64N N8:_WJ[SE*D>28Y3?_F[_;\
MXHC8L)*WYL:/MA!V] "8'AHW 7F7&#UT/ O/ !5S<I)]^1M2>5BA(<9)_TP]
M()TVRD]'4X7/+=&58UKRF"095(QB]"<2/9\S-./U=K-WX.^+WPK8!WH,+CL!
M9!1 ZCAL5I14CU=-E&\/1S4M+++P<%?0\O.QWE^0G?DYC].)@FCG$\0I8C/9
MS+5+R+]'\3<HGY;/'PWK$);5BO27S8_B%"3G$'+[) JRU*>FAB0WUND(("/,
M+O3_!-ZC!R&#-ZY3/RM7;+WM*@-_EQU:%>?XCX.4KTG>U&=T34.Z"7QWP]Y5
M2FN=MI7$=UCF9ZXA)&_ ?;B#WX:,T/M<& UJ)G1^"B@W/U>_D;B7#)I^:_EP
MT'C="%_3B5A[K^G:#V:=[D'\MG?"RC8[ 6=BST&Y&9MAP-:*%E[BZ $Y&#;\
M#$M/X_(%+ 9@XX<N:-S_Z'ULY::9([#? [^C[OVMI$6R-]@K2'*GI%P])KW
M"8ZBG$(:NW ;)6F]1U[A:)5?3XY;_5K NLLUFO+E-PBW,??<Y0QX/"OF&&":
M6C.EL1FK?-![*-^$YC-2Q3Z>05JX5SR1+8O\_<<75C;@Z$!807"^7'@-<D\N
M9=?7VQ?( C_\!.W)8WB*?+<CZ8_UE?%QN#BT(_L5W(K&]&ZB,.-=*7N<\==R
MQ:Y>'-^[RP.@7_(*TIPK88TR_CH2!.$=.$;PC*#[Z#YQXZCR#>%<!7T,G5@(
MA-5%@1+(HOWOJ"#_TAK$L,CV'&S\#6RQ[2L+?K$1G+O(,9#RK>30E!O* F3R
M6<S>TIZ#Z@1&;T4*JP:/^"&5;ZI(HFD*-_<?J/(]LF'FXBC2S.#4-R ^P?MP
M$P4DNNDUE$[40I#Y5G&,WOIR(^[M'OWU,5P=$ \GQDI7^WP6,W')_[H>H93L
M0+=F;"0]HLSX%)CB86BMP%+1\"ZCLV(RH\&J5#+"<5ACP'8"\7ND!W"UMQ9/
MT%:3_@BA4::?6FI$6!,?7/R5);3$'<75PHL=)V4\!U-7ED<;&"IRT+\VCW:0
M\80V,1)^4".(K "Q5Z11$U5\_([IU^+8P3]-A*_C9"RY57DB;IHPB0>V6''
M^\;[D'-1FHT7=[A0(R\E(6['6KST*FZD'63<V79[AB<9#>* Y#(ML849!F4T
MBMS!4Y3<;A*%'M/%17XK2C<2S(KB Z*Z'#O\; S8-)22AXAWS"O<5M)C"'S8
MH$);L>(RN?0/932])HB,\\MXRS =0O$#S H]M:)ZA<0K%Q/E:GK="AGG5NA%
MW(I*"^)'N1N\;"M0PF\??:*FQZB48*A4/7EACSD0*>,T=R+=;<5)5*KN'V,_
M1@T)0T\TAY_'&&C.@5X9YQJ;&,$2RN,]W3WR-HQ1J40[:I,B:9/-W*97>^DA
M4I/S;UA!<!*N8SGY/J8K?C/SXRWHQ#0&KO,^\K3L+%90X8@B^,63\%]&0RCC
M(-/B:<8 <=ZGEB^ECQ7$UTO('B.]4(GVKT:C/=2GD!"Y9 5V*J5+CDQ.U3.V
MV6Y/(WE--#;2#AQ%B;E+9U+])32_SD7/^= L717&RSMV2UD4S>U5P2CU17'&
MALK!6<,J0)=7'08#(&8AJQ"T[IV!+-2S,J%5D$FU79IYBDEYURH(I9J"9@SA
M:.G?*J 7G9T&,T=VN0I(J2KE'*7,WEGM*E=(8T,SAB+(R*=7X;?XA3,N':Y,
M?16:BT9#(TF>#($5DHN;9,]G'6S:P0I5T_TC51HQKRSM/R\ZT%4 88^TAQ66
M-GG!]& $(R11K) ?UQGA?W[L  ^7_ZW1 /O[$IC.+L3@&/AP66X4'W^ ^N&/
M5>+:'U/G(PJCP[F8QYV?N$&$@H2;VB6)H]Z!U/'KX@(I>B/Z__YR/:6_M*@%
M?*0 WF_>7U0GVZ3155!L&5<7V>GAH6QZ90XI><$K%*QBWT4F)=CF:JIB?77*
M=+K49)Z\)G,"W!]VT>E'#_C%6N%?+DN$/WQ] CLG*(S!F+JLN!;*28KIA,$^
MU%?]EJ*-Y"0Q'&!J015F%S6<$J9Y)6UGLSA<NID&?VO]>@[[,U8%.XU%?T&!
MR8KT0#P2UI*#;U1W(ZP 905J/2)72,'@]@&UI.#3/N36[">A)3&5QC1*?;PP
M&M3)/'_-A)%BSJF$E7M<.9&??UCND\'Q8W+?:J/4"3H0:O504$=MK[?/(&T_
M#<[QL:!'!:0K]5MD!&5F!N%*3:)+Q8ZBKM!<EJ31 <3-_,,)UBC+TT.Y<4CU
M2]885J[>O@9Y3KLP%^E/3E DW>"UB\G\J$Y@+D]LRQ.;%4]LQ+H.W9<V4E.M
M0)[1@]L=.($@.@+O$M'^ZN_V*?U>9?623!]0)FWG9KHX6A4<_#$\0>X=Q6<<
MR0CTECQO;/KJ[@1QS901!-2'/'!PXF\)1";_ 8E^='*@]U%^-*6("LAT$Y:J
M$1P%^'G5A4FD%-*G95= 9^1J[A(NH\?R(GRAQ><(A7<=X>VUVL%[-'=BI)XI
M2@<C#A2)98_[K<4W: RF]!*#H^-[I1<T;)^GNZC<QZ=ED-2Y2-[^3A+=[NY?
M-S%B\U]B*/O%Z?DE<"#LA0)]1!QJ@LTF?UOVV28G9\0<<F)CV9>T1"C7Q]P&
M'NZ>@). 7(!?;[\D15?L?3_9QV4K$)2L>QB%@=S:B..;<T0D7S3YY@1'%_]=
MR5O-EZJMN^E<_8S8?H[<5!-(9*PYR([/P.7%[E(!KIFR36?LQUA0R=SGN_*A
M],WYR%M?3O_8]POERT:<XE+H;?ZBB(1/7IRSF/_[B'/0F#2QDX^SJ\S0XQ(I
MUQPTQK MQ-71EK?3'''&U^>'&^11:J%K3$!C]!JLO3GSZ2\6W->-N%PNZVG\
M+I?1)KA5*!^?&[B5B(9?9T?)'OMK>GCP]7#.XJSEAW=ZLL+-OJ<K6"NA!<V]
MR@H0)?B62G6 L@KT)?)MB7S3X<0S(M^(ODK6XK4$P(U],S.=M,:(TIIQ,C1A
MIS$KHMR6.,'I;PNL!Z 56$E@>PQ7Q#'"_V;,]*;U>C0Z]E(FQQ2R=EB!JC@7
M97FF&@W;$@@\V@5#<\H=(Q)XN5U(+L"CQ%WK1K&3940P&T;Q^X.8K<@ZH-1(
MCG3_\'(OK*M1Q2#:CG.YK3A-1K,4M_82>^LRX+,8*]E'WE;$R ;)"5WW2_ M
MK,#&(%A:(, 8H,V68B>,.RAQEUJ780ZX,TA5J.:\=>!-J*3R5O*66D/0"&Z+
M#;H8 ZW94VR'F*3649PM/)/&HRR%Y"<R"M!B5N16J_^UV(00[%!)YSEN@Z*P
M%[D%[9=M$(Z<J39 CH5RV8 ^(3C5'LBQN"U[(!S(4VV '"/2_#=@ZE"?"G\Y
M)A'K\6=' U6 RU7G]<\_?9^D_@%1Q9<$;+/@R=^B5Z(Z*_4<4U!OX,QRCX(.
M)5TG.NTV5!;F5E$JQ;?B=X",S9"9G.#]N0.7#2,L;]"0.F;67A*(+PG$M4L&
M,]-4T17KHR:";C=2COJ237G)ICQMFJ8I<G,UO[8DHS8RJ3-G'F<9J9MGE6%X
MKNE\=<A)JSXQZJRR=RK/0ZE)TD05SM=$?;QIV1FF (\1SZRA(X )"5R">>"I
M;>X6G?#CT8=;&42NU$Y;\%F27 A>%5*#.JTB+[UR@NB$%I\<,IHAP9),(7--
MNJ(3I2[9+F1>&40N:3H9R4H$,GKN#^V(:DF4,-)9Q-W!8T!CV#&<.EV"3O M
M0>=+H+-J@EJ";9=H3]NB#K5R4_P2.ID';U%ODQV/07X!.L%+'#U$\<%Y#+?H
M#]1PCOZ*/#ZP;/>+)_4^C)A9)=4>O4*=/LQ8I7%H/94O:_Y.7SVS(%V[A8D.
M,U$U8D*JMG+VN!;*24I[C[8Y%F\SQ),-QPN?0?J(-$'P%"4""R+TUVF)U0SO
MG3B$LD_R N+-'DI9-T[BN_PKI0^SE$7OM0=W/I3@@3=\%ZJ!M!71N5Z&J.*-
M%<^TPL_^2^$0K+ET*1RB/!F*L:_=^OL&S(&R>E\(5Y*:'4^Q2YD+]13($*3M
M>(><*MVSF3 N>>\G/YVUBC7=2Z5R^_XK@!I#YJ99#)% F7]7GN<7*YRY1?_"
M?UIK7(5>[B4.O-LH21,^&RM[!+DFA"1.&TN$/UV6!W_X^NJ$.X QI[5_I\RJ
M04!KY:;^J?#,I!ON^?M/CSK6_'K]VTFG]=GY\ _9@3BQ]N_U( IT</*-34!\
M AW^3:,'4E=]%L:]#-F39A&*']()I?5[3?"$]_*.& &.;2H_9M%UDGU=K&7E
M_9$E:>[\A7N$H3770X#J<2\B>>KJWC'=<B-\A^%-K1P0FXHDX<JL:.GJVC+:
MMH65V5J'RA:#J(@4T#Q1N$O6:)(9R*W%\#8U!H/%@MH"D17&33D'L)+*%LB(
MY;=I8N-TADO][$N;['!PXO,U/ZOEJIOS&]S,]18!O9B=IC4["2RS>%>[1!*A
MC]!]O&@]U&6&RFFMA3/5]X_<7MD2[@_'(#H#L $H(TOHXDU4K-9ZJ/LS,A8.
M/RM40J/WT6.WVG<AY>BS>NFXG,4H.?FDT>?7VXT3,/+T==M)MOGAI#:RWS6E
MM<K]!U#"W4.B+!,YH&F5%6BIX/+TE)VLSG5!@,I1H)((4+QS?:<9M=U%G-Y!
M76@'".!PNT\@A'-#:>Y7W@&JF.CZ@9<1*#&DT[;8&+)S>SIN7H2B*E%\_^&G
M.4^@Y/ED=-%#A1MH1:$*NZ:;[)@B<A,IHC!JA;%N>320A22'>LEQ0&U)JL4I
ME;=RRI!/M<5H+6\0 H>1DHZS*\A; =1XCS5VY,KB$C68&IH5CQ+"9Y)+([0"
MNBF?5(W-I\5_5!G:O=%._+U/JZ IP0H0^4F.:<>PV<&_?H MU=)SR?7>HD[3
MY?U5V_=7PQYBEG=8U<9K"]YAE]<^B:]]QCZ=O3CG?!X/4=R"BP IL?GR2,:F
MU?((;4 *10OO=S_=1UEZZR3[GWD(F-)[I(<Q)$CV>!RC==-J(P10UT0IF,CD
M9JPQ?'G=6U[W='J!6=ZKEO<J?>^$KH%W>8M9WF+Z'E"RIB$5ME\+V$*P0[2O
M$W#+(\+D]P!-XY**H@E4QZ7V65'61";M6?#\\@2<!.H#IJ12*I=#-P!?-5)F
MUU@?T3T!R2V?4%ZS<+W]DA3%G@ASI_?19"E5:<LSUR(NK27;PO"?@>KO_8<;
M9%[.'\(4'H/G"#)**!N>X0G.:0-G(ALPFG3+M1NC@>] \>=C2)P;WI3-WUT9
M0:W@U-;;)R<DY1%O-)@87MSQ%.BHQS6)9Y3-"Y'!G:S0ST51:C ^*_1),CZ#
M&; 5BA(#/R%&;X5TSSZ0S8O#BOJ$ VFHS<XG*$RHW,^L *QV+OOL()T/G:'U
MEGB\%EUH],E".@2$V[0R/]YEX!G"^O8=!"?P&5X=>Y+[2._AM ?@/\")W[Y'
M ]==C3*/Y<)ODA[\Q<>9Q9(?HHSDCR<\S#P6[!-].H2'T7[!JRV\&B6MNCV6
M]DL?N%K9NOY3(1*Y<'@(']9<<MU$3XB_A!X4<*(L3($'M2M41N" ?NJ#-W$L
M\\R+6LGKPV6A,8PR)Q"_1W-1>7I+4V.8:\Q'KA#,QC#5&(]=(>&-8;0Q'SJ_
M\30KU;AC-'174N<8%A^C\:LA^T6JD2Q*G6 >@.$EYA*4?QKNBS.0CLCR>8G?
MOZS'C_64]NMBF\;:IE]R[/<@]5TGF*.ANKTR+W^12)X8<8Z,3F/8"=;O<#=S
M$)/G*/T/2&^C [P<W$ZM<ZXNBNT(3\6C4.+&?GZ$:''FM![&EY.;::VU>930
MFO\;%?K/U=%^ _$!E04(\_G^)&*"XQAM7B7[%$@:?-=)6Z"EL79+/)V8EX)%
MM=5ZE>,Q%P7KBX'Q*G^$\V,Z//P<=_!5:HE;)1<SYH7?U #07G4;QT5!-P,"
MP:8R1RO!K%0% NZW68R(6>S=NNJDVV)0X;@^ZVGTLRC@1TNIA46FBS\!_Q&P
M1#*95\ ']G%-[TMZKN4D9WP_(\BY[K"\H>1+Z]].["/)GCDE5FNU1EP*AM0I
M:L7$:.1AB1F0RM]IM&KY_8<Y#/;=:'4ZJTUV/ 9Y!GDGN+1:;U'^EH<@^I[4
MJ;S;I+0$6DU[\U7N35RW7]UX+F>1M%:IK)SA<J/=T?P=H%!^X*U09LP=N"O=
MDE[A[%=A(8TCJ^N7!'B/X:T3N%FPA$2J/ZE7V_8*4!ZHZI=HPTCOS,+#Z+G@
M)IV^@-CE-3MQ##-/=L9#$(O]IC=I31D0HOR.> 4G$&;P#S?:A7DFL-HX 1LY
MNUT,"N\(E(TN;ZH-]V<XL+S$D9>YZ3K>@/CDNR3G,6RS23UMRADD\ XNYY!@
MZXK0VZJK15!,B5I)I-U&V50)%$US@*1V49<CR\W9%BJ!% 6^RZY\0NF@VVX\
M,=Q_F=T45BO(9_( ;ZC*;P$E+[W-DC0Z@/@Q+"WAZ)D>_L][<SX(:^PSDKIE
M1V<G2,]4!M!NH]YY@'8Y5%X$%+YLJEL/UW742@_=9OY66$IY;I$K&KJB,U/)
MA_]Z:M(0'4_3L>*]!=L9BWM<-(9KA,*LZ^K:LN(1@Y=U\1.GY<JR,>FS(1]!
MUH\XG]^KGWR[.=] :/8')_Y&*=;)[*9,*NW.K)H7M6@GLYL^"T(U L36TNBA
M;AGE)=69'%5_8/6:.#3JCRBN9I00[$J81I-.\MDY !1&W)@%T:I$;BO9X^5E
MZ_\)8G(QPM;OEV#.V01SZFU8TS"T>#BV#(,?JY<^U]C-&5U+8C)&W4.W79FO
M\;*#<OD>YNP Z7V9VD790C9. )(2UV= ?Y? MY5\Z7WV@\ _1C'8^+N#0[[\
ML.T68[9"=9E7*6JJS&R]PW2+%H>BT@*,I1"8BA==E:@LR!0YWF1@F.I+[9G<
MUBDLL'(NZ0GZO,3@3IJI^"SI&P25I^4Y2D ]HTH[S;O>=*SZ/-W1U2S3$>,U
MRC<1(^ASID(E)OS@=<OE+9-+,;M6YDS-EJ+*U6"A/W+B-*FA@3,@,I%C>1$X
MQDB2/V>PN/TQI.;&UR_7$25J ?X;\$\(0.0&=%>N$\/&DB8?FV5,FY:O;@EP
M?]A%IQ\]X!=K@'^Y3!W^\/4)?CVX#R'&9\RK#ZZ%ND>1/6+<CR'NZLN3K:&X
MR2HE#.-%KM]8*M^#.M-DE5^B]]%J*<*[-]]=NW#$O [(*@BB[PZ\=!^@=@%9
MHY\^10GE[;7G>$MLS/*\W%Q0^R(FS?^JU40W4G'58-VC.K^>E^"(O6]--9U(
MN;6O=!/:'6A%M,LH(')>258 O 3+C&YQ%R%@PQ^0S8@$F3,_[$A"E@#7Z^SV
MN\D-1Y1B1*EDOK9$6]F<?QCW8E!N%KS(#O 2-28RJUX4RT31;:A:"4\N@MXS
M2.DYT*E=U"VD(9K>1=E[NLV"[DP9*Q,:0P]N3::Z)G^F;[,EHA0G5&*$--T3
MJE9<NW[&P:N$(($_=E&;Y>O-//DZ%Q4/XH.Z+^YW>!C!>KLEV6!%1U&9N.OD
M)_!P8"9*6!NUB^;[-FB[OO[-P,MFU'2X+P".Z&U2)TY-O:P;G, *CR<^[.AL
M993,Z/,$BIOSR'6#PAW3^U##]-6?HLC[[@?!*O0>X0?"G8_>"_(2=X5=*$%9
MJN/X[(>[?SM!!H]BU66.\N E3W>U"IHC#ZGUXL-SC6N%3\?0>(5HMYWR*3-F
MJFZ"-UD"44J2V^CP[H?YB6)I,=0NRA>R<O^;P4LKOR/07V- 3ZW#[B<YB'QS
M!&X:9X?'T"5'D'<;:04L.<4#J;7R$_B2Q>[>2<#ED7;E_9$E*:UT!E]?R?3Q
M'(6?X:47!+Z[B8(L/UYD0J&T5@YY>8Z\NRQ&;^*Y?,) &MM%,L"K. 7).;SQ
MHX2-+[GQ/#R:IMUQ*/\"?Q<6MD_W_!8[81+D-\0G.#^*=Z+  )*I >[L-@ ?
M9 IH-U .,0/ KW^7?EQ.D(M[@'I===K(YHG@>QJ%\+__BQ1$?()J2D/)LWF
MY/ .&<(YH8*":R8[(0V JDYT<GZ+@CQTZYV2DX;05 \]FZ$R3>H J9T1@JCW
M-&T0%_XP!B9'/6V /-I+*P*91&96T!&WBE0')6-T%6N1(N1-X #5"L@X.#@3
M72ML[T+<G*&U6@&8.-NBJ="&>Q3V.(X8@K3B;4?H(.)M&5;@)'[^*!:6,1#3
MZ/AIXM"K'0T)G34>*]*(#ZDZX29^]J[L66/DW9@W=7W]^SBY-8[$]_=9T4_7
MW#<&6-J14 \A$V^3+-'ZQX)6"RVLS;3$ZI<%JQ961*MNB=<_+7 EI[@,752;
MZ]\H<!8B&.:O9]:YF9JF>7)C9:]-#W[HI^#)/X$._)]B\C,>LYN."[HY%_D9
M R?!E0#J,X*.R[Q,$26EI/K$B(XBVT.&>,!Q?G1<728M0W.+3'4@AE=#>D8H
M$2K28)M-6R\''"O[X@Y>1\BH>#TI8J4I_KX*,]6<0! =@?<&W'T8!='N_.KO
M]BG>W8.WE[+E/,)[:CN8C8F.HNMR!=A9GY$DL[0[YQP@(JK-T53/ 4IKR?-Z
MBQT/H+RYY,E<-U'N 8,1"2]R(\-W56P,76G__J/,U<MP"A(>1ET$FY.B%RTJ
M8VZW4;@W&,&6?T>X.BNOZ?D*"H-KLO>/]%VA]=!1#%ZY;G;( F3H71VB./7_
MS*<M+@F3!E*VZ)I1TS>LTTSRE<)@.GSX#QE)V0:LTSW*HWXE7=#V@M9#Q\/S
M#$@7*Z/3M#36G29O+VUN%3B9OG<*MJN&U/0E =LL>/*WI,@XKJYJC;Q\QK[F
M,Q3;LF:%NU@/>QPGBGC%T&A01:QFG"AV-\%H!%EFN[K\![_%S/0,GCU-S>T$
MB@P#G=$T-]"NUP2REZW,:'![F;?K%UB:N<[T<SW [EKCUS$K&DUK@PR4EU@+
MUOUM-(;B@K2XC=1PUV]1*9 L\YA>/D^"Z')EL#8Z$*//V>2SD8_B/Q^E3J -
M;#VT,F%YT(HH! EGEOJX832(4LU41 N^X3[YHN>9!;H5KOD2CFWW7<MHY/C/
MZJ#G-BN\^B50'_51SV@0I5X:^9/<*+$16HE[TLYM$R^I\1&Z*:R#] K\*^DH
M81+S(S.Q%]@2M']-06LZ1Y<4,20O.?Y[D/JNHT5 R>(3/]%$]?:)U]6]V SG
M7HV52::QUKCWJ.5)WM#'3FT4G!F_VW6H3I%(18'.F+)]2^BHAJ&CP].:.P&J
MV+'9 Y ^H2]<Y?B[6A>QN58+H&>Z)W>0G2 71P15=5<?T*/A^3NK*U/5L*1V
MV3X!?D8G98O90,:;BPO4(B7M1NHGF_.1]7:31NXWRK$EMU_J*9A29\,,W7.B
M,)/#T?%C=""Z+(@[WD1H#'6AC(T33Z5,3$,]]!(38B1T4(]Y1;Y6CF**=&4J
M3OUDMU8A/(9@9(4Y 2]0M=+0DZ484VF+4_K1(+.Z3FCUMDR1:-%4P(:S+D')
MR&B'7WY.UB>"T%BW<J9RVG)&Q8BGXR2#UA(B<G$(HI VAH?NS+!A%,Z0ZA Y
M#VA$&?\8'GMS='-I2NKW'T<0)JAX=?FO768^QW>;R\,<Y9;BJ\S,',"X8LV6
M6O9I80_=$_,,:?SM.PA.X',4IOL>SW\\@RYV4=WV_3_ B=^^1U*VNQIK3DN'
M7Q;/V4,?;:FF.V1''J*,E&*LYV!S6CQL*V_Q:+"9+'ZU34$L%8'VB#K"(#,#
MG=*R;+PRJ9VE;X?;\X9*<D;#*\^^+$#/5B#:[X#WM&*8:7V>^NS7TOR"JFQ4
M"T7!Z-0*2\5']716J#_F9P68&M9<K3 _QGU"6*]4-J.+!8Z*[6CQ\?A ;^5/
M.;=1F$2![Z%$'LTGTN)AIAF#=((3@%B 6;[95-,_%\5_J3[I^+;&O<3(PY3T
M.$-IJ'[2K\[WSY#H8]\)T*%?;U\A <<GP%P$N:/Z17$_G]!ZJ%_&[U'\[3%\
MB2,7)&*;0^FI?EGHVDD@0T76$;%E47HN#QP8I,G6W%83/4P[U+O)3C,M^XII
M9^]A\W2[X.(SLA((SRZH2(>.1H)&&_1ZGCW:G;W@)72E+X9-FPR;/>FG::B0
M:YJ<HZ'B!0[H^%YI#4M6H9?GURR9NS)?4X*W(\]LB>G7^#L;9[(8 "?)1M%C
M@'%FOX&\WW?SC\-+= LOT?ST/H".=LC;2_(\OX2P+=A!+O,G\ CF!4I#=26
M"Z3>G ^BGMUJHGJBCR%D=XB]T2=[:;98 *Y*I18'MCR]!!0Q#55O?/644W(?
MGE7P]-3@L4;XOK/3ZM'_,JM]?7@N$_,QI%Y5UUCQ4*7YD/4ZHGT(UFA;P+ 3
MC)=8%L!X 6M(3HL%Q2(+BAPBP@E=YKM^R3I[=.%U%%^O>=JIHB.(T_,+_$4*
MP;K_;^8?40#Z')UJB(LA&5L$.BI3QIZ<T"-,._^5NA25M2\6$3Z^H'-&=^.L
MAN/1.</)AMU/8;9->!WXX0XQ_,?#,8Y.>1J,HJ F83GT/NH.+' 2L(\"[G50
M.BRFM NNGQTH,X0@/C<IEX8KI8.ZB,\L#OT4^4&$WH/_@?Y&I0UR>W7Y1IVC
M#R4=9,JXC0['#,J/FVB;?H=R'6TES&[J%@0EI#3.7"35Y!X#.P@R=5=H/?2[
M%7(!6/1**#KIMQC:MC ZJ4NC?JE->0>@#.WZ98V(8P!RO2ILU:PD+H.P;&G#
MZ[?;9+]):A<]'"CXU9&F_EK(^T8;>/MJ$':^P@A+_?BX=1;$=F-(/9(,Y<1H
M@_B0LRJ"NA4@]KP1* KE\JY@T;O",#*BZ<]&ORL,@XVBL1L=,3X,-;:1P.B0
M\('@T0P2H\2"FX$;RP(R1KUTC<K,CP1>F^ZDUDW7IMC\,.CDV7=*D'^5 O*O
M!<@AE*#2LNVL8:9;B2H%0J[H-\<W?6,*TEX6_ ;G<A.@*A/T%TY:#V76S29/
M(,V[V42/,\H!?O-PMA=I<BEH\5PU\'Z(,[C*2S:@.9[&%^>,##S(")8OR D2
MEK\!I8?D8" :V,3(-7:G"6?9N?IX9_JDWD?I_G ,HC, KR 7@AJ3HX>+L/LM
MSC_=VZ3@F:_@!,(,T $F-%;Y$HJH]Q$RV0/(_<GI\R>W7SQCKH/,.HR!)^",
MV$DUB7"O0V@)*G0=]K59AZYPW&)&/].)7Y)-$93C%K(;O>4Q?2"%D>Y>HQ\O
MQ<E*!&2[H6.9%4G"TO+L:]&S[S J8@F'1C_]2CF %-1L""!K\)_BKS=@&[7^
M69]$1LW\T)BI<EB"*/V,LT7T Y'34,7HJS G*YK+4Y0D#Y!%W$80QC#SP]WZ
M".*<6),N?<._)*GO7BU8QHB*88"3$4C13.XQI]U\@#_Z.])+S( !YP3"_0?<
M.'B)^:$3G_,3^1S!WX8I9/YP:KO'$-[AD$3EH<3]Q7E8]M0),>R;;5'MN>^N
M=BK+ 3>#T= *7!H8_9]&L$;#UNO@"I*Q3?:328YT+1XLR$I&EE_F&,6\I8NO
MH=;F+9VL#:6QI3*ZEQY_Z5E+RT-C4E0%&=M.7>A[ 7$]J3)KT@T(P=8G"?^,
M3I*M$0W B.:;3AOC3#6&Z/O$E-/1R4<I0>'E6QUW/IH4[JY^ ^ZW6^"FR2K(
MOP.\.S^&/P?GMZA@;\5_WV(G3)P\!(1<C:G_B/-0LJ?>&1[N)T!84\MSM#NH
M%5_$X/KF*V6D2\5.RTD?];Z+H-$0<9TO\;O,?!V3=M(HH%H%#(>BW5-N6/Q$
M;/,3$2<K/$NRH813 ZLFUV[\\\WY?[/83SS?511#9Y2UX0% TD)1B5C2P]D0
M"3)XCX$6J\1BE1AM&1MX_%%^D"<XN@3R[CV<NI-=/)I(.-GB RVF#(M-&7VN
M%*L4U<6\L9@W))^Y_K>=55K]8N[HQ=![2!*+E6.Q<BQ6CK:5HX&0+OF C+)E
ME/PGW"$7J%LGCL\0VN].[)$T&TH'98N 8+X 2/\>5JTAM5)8"BD%20JG\Q_@
MQ)_!X9U8U@#74EUMFT9J("0SY4RR:YAA-M=J 52*H7103^L4Z-MM="@:3:7R
M;KO%RCF9E3.)T\9>PI\NTX,_%$I2GCX31+O8.>Y]J"QA)DIO.^V4P>YZ$MA3
M3F^KWO8U;UOR399 Z29)5NY_,S_Q69<%H;56TT=_C0&@7QG,?NH):Y6E^UQ7
MH&P(H;%&DZ=N [&YNGQG98C5;92%:7RF7HCXMBI%CENH//II4]Q?'=#DR ((
ML8?DN[T4CG_^Z]__BL64T$CR+"H/J3S<!(H/>98%\GQHS?5X_6OZ"U!IE=5+
MK?39L!1 B3B%' !JKF]10]BCR:0<O4>CYI]XJ/FG<:BYE0A\Z[M^2IX,L:U!
M[YD$F,I'.TC\^2$@8X1OJ.QD_-L)LD(=#X+H.])P&_PHU\-N]TZX X\AE<D+
M#S/:6?D;SUGYVUBZY3;(47@%7E'J8N6FZ^W;]^AM'V6)$WIOWZ&&<8;_0)ZE
M^"#*B.=+& ,WVH6H) H$M[1$)V][)_T]RO+B3E#O*)P\_1/BDJ^0Y DDU'.P
M<0BIB?;>C]/S!J7'8Y(6M9MNVU1?72\@= (D=:!:<&7 :OFX(+977"-*WK O
M8> ??'CC-,7+PN)%WBYVIUEM5IG42^)F52/J!L,=<&-4.BYY!4D6H*>'/%2[
M"/XI-A"M*"JT;9) )VEPV1&#(';12]4.K+?E1TMA@2]B4*#[.#-?;^\_7#]!
M-+4.GT&Z22/WVRLX9K&[1[!29LWLJHP07]&C8@B\>R<.\WJ9'1F70&0<'16>
M+L]/TMA_S]++!-?;TE%AD[TGON<[L4]4B00&D"UH%Y^HO@D_]0<4"-ZB=0C>
M?,C/4*Q(?CXA*6'E;Y'^DN=^&\51Z)S\.$M6OO<* A]L40H %SUR^^X&N!DR
M3SUDH8<$:NS;A/ 8,W)MH#U &^VKQGB\;M?2QCP86P$.Z\VY5=Z8\KP[22$?
M'8B(!$Z'RJPE'_(QP[Q7FTHWBWMU!Q*NUVX$#>.-V6B0%A]T?MY#?P!OW5SL
MQV8K(*._4&,=8CO/P98"1;[5" _/1N,DI(%0G[>-CFC@4$%(;^Q6X,(G/K(=
M ,8 :Q92)$.FLH*(1'@UTP7#:,3$[$:\[AU&1U6)<_"?KDC);%P$.#C9Z<5H
MI)@\G"6<&XW.$K78_U*C^4@9331"]YBX,Y;1E<[$+[2_7=&4F;APLVFBV<EH
M>(3Y4@^W/:,!%.)9?7T 1ZDVJ N"@IR+[FUH-%+<O.SJ5=,J4/H<0#[OSA+&
M?Q@)(^\IY' A-1HG?GF"Z($Q!CXZ6C6EG\3:=;=$\!<[*8R=1\H.8/K0E[!/
M=(GH/^U%5-S?NL3L7PMF?)[>)5Z_VHN7B -Y]91CO&\9@[_Q>Z57B$E]_3J!
M^#V:$8GU<(BO<+/8VMK3%;]";@*;CTY5!&ZAR! %OE?RJY8U.D'N#7[AWZ @
M^=[P/!QM1XUR)8P,.XQ.(R63:%0PK;_YX'\ K]B(J[D*=567!N6:G* DP0]^
MMXL^"T'.L.6_E8+D;71 ?Q9,,/0JV7VSA[SL!HI,7K/!;42L4C_*IR33[*4&
M;V>VR)_E0H7$!&R"(UB2GFUVB<.&TD?G^NY%(T_J,ZOB[XQ/4>1]]X.@, <Y
MX<Z'Q%RLX/IGH;M(9-SQ<A\5'[B$] %2"#"SS[CYF4K0VA]]]7=[J.5^2?#X
M]Q]'!Q*L+XZNJS.R(0$H9^\%KA_:*.8G_L%3P1UX3Q$CQ:3,X>VE#Z4\AB<H
MQ$?QF9<H+ATF 1NJ*%!S1Y7.UKD:M@Z+?TD1GWN.4B;;$1M+GXT13M@M,H+R
M9>+T%L:ZL%V4+X3!+(>Q6BV6Q[]#.N_-E1Z5>Y7W5\.*[OHL\%,,CSCO<HK&
M^DR^ZQG)NQ),3WV6]0Q$#!V:N%/P6<TZT5!,"Y;148@B-J]6Q.8HIB6CH1Y@
M@[(SVT&?0'Y1?(T&<*!5BWK>6_S!:!3%[Q>)YC6IP92_%LB&D(ND95O]L*5>
M/YS&//-#4/O?([V9P@*J,*O$\@FC<1PHC(O9OHV.T),IF5,-ZD:CN 3'CG@^
MVZ\)4F//YB^J\#Q;&!VN)Y74>-Y2I,9>&4R '.ELS8Q?&Z[)X=]^I$89M0GO
M#5OH6 _L9(HCAH>RR;8A2 X_LH#F\(]H1@=Q28.O?*(;)3[+.%K#/0E*C=(R
M6#+)WQU'"='"DIE.\0ROP(U"%[+W_#/K;1GRAS(294A90-DIWJ(Z7T7=$_V[
M@A@'5A5K-*WVDCHVLZ;3$U<_Q5[+2%K.(UBC$ K/&92?2T$Z"I,;  69YG;>
M?T"JAY3LATY\SJ?_#-<$>T(*@%/;57'65*_G<;ZHWOF['<2*6]V%'EJTP.LK
M/OP#ZD%J3ZR,IFL?>Q]R \23?2=@(2(XFK+EXQD<;@>QS()!(+)&UPP>*:0B
M96CUQT;'P!(*HL10(V:?);B(DW42;H55>BUBM2 78Z@]OZ$;5*W<SNP"U**C
M:,TV!=<^:$C=]KVVR0GN=*.?UGO+7)_@( :%#XU%4E#Y\(JTE?"R*KFB<%2Q
MG+%U@^85')TTKA7]=IX,,23H0VE])A\\WZ?6;A<<9#29C4EZ]Q_ S=!$FY1'
ME^EZCBEYC3P(XR97*$QP!*1:)[Y7*DW8W1SQ0PK00!:9=8C\'NX_W#SG==_E
M8D92L!Y6/*CP& K64'&]$L:G;CC1H*%TNSV0&%(="Y<<V,;;6[?E59GD^X=:
M21AXFKOD%:19'+Y%+W%T\I%KR\K[(TM25(>(823G'T:W[<W?7>M_"G>X%X%>
M0ZA?Z'5J1A$3M=ZB6C]3B8R1M89%BHHSPH>T!JV/\C-\7*TA04I,F<!TH"I4
MC:*)GL"M&,G]@":K)R@O^)T>\TM:Z$D#ETT>4+'6=,G6+$-_:HRFAR8U<-LH
M(VK-DCF5K%Y#:;WPX>J7[*\H. >BBMG@,;4FB5S?(B,P:"C-%H[S!!GL2J)#
M9*N(7UZWH.9(GF]C9 W0*%7Z>&YOV)*GHDY 5N1LD.Q.U@1>CBN6%;L@DL"%
M[2ME-&1"_F)VI@62<*%)\Q&S(I>#D@N,[(YE!>:*+RY+T1?FO@*\R&K@^'BR
M!/YB=#(3I0RYZ4,I%65]XQD5,V&+$%_2](POXXH^5QN=G&8,@!E/VV.D5M'(
MW#4(45&'X1$SKLP62TENRV.DQ)@[F8[I+6U1U6/9:..\L2TJB"P;3FPZ/QLJ
M)<L&$NN1+K>6LB%WEK"ONUWUE>6@*.3385,A9@F"%=U59)3:S(93*R%"H(+2
MS,R48]A/+YC)S:FH2\:VT15.[M>_15?B1KB'\;1">=&0>E%Q3[/?3XL&U0MN
M/B/@3U+5*K-9!B58IGH%6'0J6<8JNE'PYT7M&MDJV"'M10^381?LP+J\:@VS
M#S;#GBI,%]5,BJFP0ZMFIL0?75(@&@]_7O2UGI#VL23^O.AMXFR!RZSXLU05
MS28Z[H:T59 NSUT###D7GR&Y7EG:)^_?9(>#$Y_7V]R:C8XNNL7]R(._>?\#
MHO<6W7\X!S_,IW%S;M@5D9=U*00@;IJE>X1:7EQM\J3^,G/AU*OMT!8Y(PZF
MC[( 44C5:$/^ YR8,/%F"V73A!,H* V;)9342EW8K1,'D+;3$K?/X/ .2/CB
MVZI'&I,&&]]&[E23.&U,$_YTF2+\X6O.2]!E]@E$N]@Y[GW7"3!3I;>==LI@
M=ST)+!73VZI/_*4TY?PH/!N7E9[=WNR,]-7$<O-'?"XF5_YPF6#Y#U^_;*[F
MU?B%LJU^@L>>C_?B6BI <7-/0!'^8AXYN-5&!Y&%L*: WQ)U+$G*0)";6GH/
M7E8Q.K::*NPTP>G@9S0L7 (6@H<AUA@-DF"V!P[YPRZX2/*7G5D>N!0$!$U3
MXC(:$8&K"ROH&1V +G2:&.S<:*"$SQ62P8U&9(D]'G"4" *C;6D8V  QM++I
M@JUU>C>Y>I7;?@EC^"^[T/\S?ULN'=EG^12R\>$RMI"UAFGU:DY8W2.$P4G@
M!K\'YY<H29"3&,T )V-DLTUUT^]7Q[XB=<^>U#^'$69+6"ZIM7HC][QM]22:
M"=T8$@WBITD6((^G/%MK%J,;K+B6T?T<)7[Y3"^R::*#S\,NJW2_[@ .TA=T
M\0_=+;&A)>?6)LRI^/"G&'*SQO0"].?5XOJ.HML&B^W9U[]K(M!*E%GL-%J-
M)$PT]0@BQ8T![#$_<YO4B5.=X!6T,$LAZX5NQ1F ].-@M!U*'?,0EA^-WH?%
M'J@+70K*R588'4?8A=ZRNU2CI7[1M^H('VH$HZ2++.2Y^[ +KR*K\":-W&_[
M*(!+3>[_FR%VZWE^L;C'<!O%AS+R<'X&X)? "9^= Z Z9E\UDJR/Y^BN<UI9
MA1Z\Y2%<_@F@CV*]_S@[*=.V*[0H'MBM)LHFBB)E'T.HD63HG95)!<3FDNEA
M'8*7R _3_P-QA/Y?1IK>1N$)Q'EP^@:$D-<\1RE([C+P]AW^]ES\]][?[5,R
MU<@:6MF6W60)9-1)LG(A&RI$BORO,:#O';N?Y$U<G>!'// 4N.3=Z+11=Q)J
M#7V];::4@#($NN91RIDDST;SCK+1O#CG/!Z/89L?..@87+9UAR$BO\P1]Y8G
MT%&K$T%FO*36FO!@RLPQ#2>FD(Z(*$(E3^H?!^$9/*":,7"B^;&#<G"2 8^
M-ZFULNFOOCNQ]P8_0"&2=AO9-4F=.(RR=B(8]&\="%FMU;V>8Q.*K>(8J4LY
M][TY7]J4'#G'] )LZ'&)S*-\2IU(&T<N %Y>7A.= Y0Z(;_4JB-"DG.9_90M
MZ15 7NJ[\"+.)_(EA KMZ^8+-=Z(WD<=6:/)O()C%KM[1$UW6>R'N\(F4O N
M$I&R.TI_>SU!#(%7:&X)63;$-]2,<PB=?=E07A$CXA8@SFT1\)!=Z),,L=@
M:J%_@1,E>II=&FA&'PUV3^+V)7W??T!-U$^@E!&6-F.43>(QA!L$[T\7):ZA
M+G_L3\\6V$^P85HO[7> E'C@K:"Z[^Q _LL[J(P].'X\)L:BLU +]SM[H>^$
MA?X[9]K50NL%_43#=8S/S0_ 0FFZ:'A)GOWG;>^$Y5I7NUV<OSJTCV8!@6Q\
M!\YF?NR"N> VJ>4\<C2N,6PRZM*F'(Y!= 9@ ^(3O(WQRW^.2LDN7VF2S_TZ
MO?-SE/X'I*_UFQ,!W_&^9QZ$)8>,XO*?4#L25YYX$K+-6 /O%"@',\]?O?CG
M# G'ZRU6S5(^'1U,;;?.T8>D4<P(JAR0I@ B@8<L15$VI5& ;83C'&?B;$8M
M_?DE1I&*AS([&J3WHGC:]3$3Z:F)7?K!<4%5"8[#.MUH/C])H'V&5B?'#] +
M!R2U7%"7?=>S/C<_ //_( FEMB51Q7]9G]##"P=O'*[]ESA\':QPX<7Y2#0]
MCJYA' .40",\6*X8-0%)<XZP@LRXW25J?+M^"U8 )<<!HLWFV,X&5D#+<%!H
M<CT.<C4:,G%'E29Z.%<*4^^-?@X;3;2(WA +A1$I[,H%P^CXDOX4QG06,1HW
MMF,7F6=A)%[)X3HZ\"ZJ0U,K(&\4=QW#XZ"&<;BV7C9&J)(.%#C\]N1PB+(C
MSFM$C[HFW@QOK2K$:SG3G%I%\W@;7&1NT!GG<:LS&L*I#CG-,["*+UQ.MJB-
MY:F3D,#@RH?##CK!N=-HV"8]W(*^JB7P_[#YT+,IMO2)K<!:H.JG1$KQS"TW
M06K)SF43^GOQEOMA<%'/X?LQBIMO";S4FI\+\,/=@\M],;APJ!H&-=!ON#*%
M+X(.H:KK>"[%%?1F/D-H##W!%;G:#S,-I@.?TY0Z-5<[8Z:52^I3.J^W<P6I
M5-N"1@7L^H,JY%==P;@HOWC*)'MQ5\@M&JMD@9#I/EXAO^BFDI''^IU7:$^@
MD"HO6=.%/?^7CMAP_X'^"N:8KG#C[H&7!6"]Y1)/5T$^#1]5[;D60'.?5FH%
MFU&^I;BX2%U0[JF<+"6;$*V';LN@)N.A]UFRSDG(.C=-Y"OSC'5NECZAK0)?
MT2PZ2RC.2F5X:))""<D) #X]#;F=RG11 $H_>ZA(WX$3"*(C.C?E3<I*&L7L
MJ8Z,0 "'^__9>[/MQG$L;?1=^KXS*ZNJ:SBKSX7'2/_'8?FW'96K^R8734(6
M,RE2Q4%AY=,?@(/$ 2,%$!L4U^JNC @!(/ !V-CS_OB"8I1Z$9[B5; -XY 0
M Q*75L^2OTMJ8P"Q>IOD(X8%%1FO[JQ=[17X#@G +B+^17\TEN'S?A&[88@S
M4?! FC>^4AQ]5]\Z8!\N JC)'BWM)_XB(GZ4S[$43[E 1R68:GSK=+$8 )6
M=UD>;@G?T/.;NLJR8EN9_IQ4!8[5$XMT!!H&=B_]X-$GI74JR"TB/KMO*-UJ
MS^ H_N"DJ9Q>R'RI8F[_UTFG]143M6VQ94ZL^_OTB%&TQ]W?[-V$([,TWL-=
MSCIP[OB+_AF"_GDTU><1LG\E>-%AA!_A%[SX^K+J?G;4)S M"?,^^22L\_NL
M][]:J<7]KR<P#Y!?PNSW^Q01AV>$6=5\XBO&^_R, 9[N#/,^/P^ FUMZ&^[#
M $M39(534H?.=V%H O1)=5K"+B3$HEFK'AFB4>.HV1-/+@.*ON5J@-&L83 F
M7W6@O"#[J$ECW]E;<Q$[8/#-F4B@G+610/0&=>7+64-AE/CJO Z7L0O.THU&
MB%MRE,'8)JXJ8\DQ!7B3>C?IPG,%V=\DNDIENAPY .W_K\5VZZ6'U;JN.^'G
M&)O\<%$V_R8,.@C":K=/@(D,6F:_Z9ZG0">O!8DK;]1A"?FG59%GN1<'8?S1
M<S=Y0<29!__[31*7:R^\R(AG@?X)NJ=M'A#<N?FXG'$A6R?@)8FB^R0E/QJZ
M_8R/F:AY=PZ-HB</8E#&23[I[/$2TQW&T@V=P/'S<78+6FNKPO'-7^[Z.XN[
MTS3N3AGR?_A(]C\&**S0P7\X@8+_\NLC/M'178SYV@/%28W68O'#<MH/:W@G
M>_Q=D\FSS)M*'N/U5"^_[$3F#KI=I-V%MYO^U!"*O8_ !8OYOL@DB]5R'C7.
MP![,1$]4U?P:%C9HE2D])D!FGCOU@29B :JWG9H99/"SN\=]D*#:QHE7FP1<
ML 7+Q.+[&H5YJ<$K!:JPJFQFFC:+OSM?2"TP%.?-R=FML"8V__K768 &E_5U
M&>!Z(41W8/14#K\S!\@LG$G9KSL+KUBC:O2@2G]^;@#;/=9G3LIQ#PX5 [K^
M2B-ZS,R+,_/T/CH"F^NLMV1*TZS.S3K#@CGK_9S& <'0M6M8$A,[M*LT?KF7
MYJ#VR827/-6V>!''?@E4LKT#]FRCAH@2GXV_)%(%G6N3/B]+Y \H#J!O.KZ,
M[5G"XR#L@ANOE4YW@F5?K;U5 LW4$NFH]UD:X3VB=0O^66U!7&HA @B;P'$Z
M;>3&KD-*@\=,J]S/[!E0=+-9Z(WR2S"-NG2)I@8EGTAX5&G=L>Z[4=8KGNG&
M6=3PG.G3M5Q14%>4YJYE)-]!I9N[BT&P<_.ZD?)^8LO.PKN!%!>XZ3):S&.'
M+-X]:;>E94]!W3IY-[]ZX^992WU>E_%<U\+IMMJ=3$+/Y=G9H#STO>BBT@H-
M]!APTJPP,H5@^<LG._'1&,>RU^+]-WP3WI*3U$;+]R'7<=+*$F_D<*W6#YBF
M[,.@\")&-1IZ.[M3_27,-Z7C#"%*FW#WEMRQHQ7'C+!DHH!;>*>: _X Y<#2
MVRRY*33DIF"0Q*<DQH^\7Y#"@=0J-:Q6DU*0X\=7ZS7F1%)F/1U&0[C!(,Q;
M>KH"<? <>?&3MT54^FCT4]: .U9A/9E3N778V>T=%R#8UB));F;6SJ%"3JA)
ME*[,@\P:MDE\Q7H/_44 NKB)@Z($<H+&D:+2F*%9@V:4#G!H\ZQ=!<\\B3Q^
M=]:X<05$/>Y,/*;Z4CS2''$/OW#GL3/DPO:&<,2HQM%DBO,.69W_@C#S%1)K
M2-GH6QSF%UDE + ZWQXHU5EYB/$1*<IKN<HW*'W;>'%M4L,LX[ZTJAG,ICYN
M$C,$>](*%F?.9H;P'X]9STI<!@G=8OGV6)/&W@T03VW.&V,F]9+R]Q?SVV)^
M6\QO,N8W<W>2X>M#I1!6IS)#>LR-F@7P6JK.;_9;9'D'Y@AP=>GAW@'5^<U^
MBRSO &" %Q\-.G 4S5GV\OJ-ZZ?![P/W#(P^Y:UP0'A$4&ER\]T<BT1P.(,9
MPCP+Q9&3:>1=4QV= 3(4"9L=ZB,\[@Y,V!'SZ;19F$9:B2[#M<BN-6CB_96X
M\4MB3\-FUXFW?,DMO;@-+V[#KN^ @?@,:[:=B_ 2O0B^0MF09&+K\=?>DTO9
M?/N,Q9*T&K!7\LQWP3&Q>DE[?"'OH+(Q>=EZQU_!OFUZYOFSE]@G$!=&4]2-
MP# ^9>0-9+3G\#*IF?>7Y+Z./TL4AP&#&;HO8U<!W68E;X E6? <;O30 6'9
MUPGOM ,N#Q.F)G8T3GK)@0HP:'K)@;KD0+5SF98@S"4(TZ4@3+LY4#/D__"1
M['\,4%CM!_[#:1LXA?7JR=%:7%YR5C&*'/(Z^!FNH_=,8Y$8-[/'<Y+OH72=
MI%LO]M%)M\J^M&H#."Z54:VP2ZK8)54L> ^-Q>=S\?ET)D'GDBI6.QV@<KFS
M=KE:DL0NA<87QQ%7T+64'_O"W=?.],89(T%>BFN.(^[6$SC*6#*Y86BV85ZQ
M]#$&"K]9,>D6HI;M]"$N3RKY"QBKFD 9^)PF0>'GJ_05I7O,E3 L,M1FDVHM
MZQD0].LY9$S3"[NM;DWTE\>'[0Z+=U<</72_C>8Y<$XFS2HCU\>:0O4QB3_>
M4+I]+E)_@PG.::;7AQLL9W\DQ+9-J$[3(N#89,:.!G#YC.ER5<9C1[.9H0KA
M5W&##^4MVJ,HV96/S>DI$N6JDNIM;7F<:W?2+@E,<6IC3$=K!LIL27KS:#_;
M_$MR\*+\0%R.XHQEQ>XULGB&XG)KL>RQ>L>L2\5M%.@A?L(,Q-MW%.W15]QF
MPZ*)"@/85[GPV)-&)N-P!B8T?!$ N4"*(3KI/@=<REQQ46*(>N>G=\;F"I$F
M1JLM0(YF6BX78RENKA>B),<9S1W343S4D12*:<.LC4+*3%SG"/;8I(M&BJE-
M&TU739B!(%S<L\Z<"K<[:SN:\GE4@'TZZX7U>(D;$CV4YB$&ZQ7%>+%/28ZR
M&R]-#QB9,GZ$>'?0&H'1Z*HX Z/W_!1MPQ+11:WM^3)W)M3LTM4V*6*FIS*O
M"Y"%"%T]F<TUJW/^%Z7)<Q+&^1MNAL_Z'L7WX1[5WH>,:U @3';C_%#][WU2
MT!V(#7P R/;Q8AUH+2_$ZUP13VF%)Z,QD,/P+?:V"3[#?V#A#4]2FC+1^FF^
MW:L8E7>/7,+R(BK<NCL29,F^U[J&!K*)' L2I:'%25<,V'T8$V^(TN/T";'/
M&[WU$K[14:8W![8\JL_>@9#LFR(E?#A;@<[KI-WD0KM3=",+M24,M8V $VW+
M?'RN;]9:!UE^\2C@:>;@+A!<)=_F^0/#UZ%R(;P8C$;1,2JCJ%5E!3<7D30Y
MT\:RSEH7*$G(>+SN!>+#LEZR#^>%.,LKD32&!'(AZ3Y'W3@KFO8EU,<Z'B/N
MET@>->%F#[!<@ 1B7-G81$(X4 8M^L)A!R)<JMGJWO.1@LFJU=Q>5A-\,DJG
MHBJE' D+2N+2B,Q6E/+[6%M*;S9<LQN]K;U=*-XS].^"0+HGW 8__12K-:3I
M\_/;,-L#N<A@S+:+88<?8I'$9: H-U9DV&[2:+87XK;)3+S5_G72:7T-XW!;
M;)D3Z_X^/6*,Z,33;T!(A147@?.G_8("M"WYXRI9NK1=E-H1Z*(42#BCJ\5L
M<TF:$^=2,DT1/T!M"V?J@EQW]-::']*[3W]3DHXX(-R'GX;E9E]]I*B*I6<_
ME+)=+]+'A@%W]W(U" 94X4BBP^(,9^5@G;0,SUX8/,0WWB[,O8C+;?'[&+K5
MP=OWDH?%/.U3&%<*-?&%YO0"\J!-XZTTY@[?$*- %*% ^3*?>FJ>[[$LP&I]
MAS<Q"$B6$W+3,GP<JZ(#[#,AWUGSK+\F0;@.%4^PN)/1L_"0904*[I/TQLLV
MX@/0;:YY9NTG^2WUX@R_9B1'&QL\00\C^^N7^M?5F@##WM!.*\WSJ(\*_D_Y
M)@D.&*<U$-+X$.<H15G^XN6H5$@&ITRZ4B23.X!N-<ZIJ(G:/LAUM+8ESVGB
M(Q1D]VFR;7$UE%,NT\,0<]"ZXV*>8-C8'KAU7MF*'A B>C3$L\#E]#!#3N2>
M*X!\UA<L8V:/29:A;!7??9)@N2+,-@0^*I66[[?XC,\EV,+@BT44'G*<_; 7
MD.5\]?*"V-M)12ZIE70Z %E$ZPDBKVI&ZFMU,O(3J\%S&OKX80@_/IA2[[FC
M H8#OXB$_;CU#G('5C2&4<FD]7%\<9+*S"N64.C=II_I*\IS*9F:VQOP8<+_
MEM6IL5MGXJ?1!XLU'CP(3MJ$%R+E*2]YT!_R$DO:=L82Z_Y EMA^@F_Q$Q9_
M- 6&%=_O3F>[A8Q*A)DFF6,#(#O0LLZ1:2E*^NS>1BG\E>^G15GA]%N\*W7A
MU4D04W=F3VO;T<R@S@A$IHLEYJ@(JG ]PG"7NBO&?DAWMV?J:,VB$N0:\>$Y
M1=NPV++,'<)^0)94R7D8;YX"@=M%\V49(M=66- NB: '$%K5)OAWZS4BA7A5
M*99H#.M)BSD:DDX3$)K)YI24Q9P:5S )_22]'PCL6R6PA9MP:JM;JUV94)(F
MNUFKLGCY688SM%I?W4]T39U?AEJ+X>_0#._BXRO1$0B9;/']URA&Z] /R3P;
M"> >>91JUV<-92Y;0ZG1;ED.RO=RM7X,O?<P:ON9TT[<J'$F7TO/87[<0OJ#
M6%>5OWF?#;CA(-.&H+%%XO!;D569_MX2QH7O(=U)=,=YN[4,;>^!/.T./ZT+
MI:&]J!4OC0XO:%>9[E;KRB.,LT><#D!(^T/LIXB\Z948RY![U?I:#)#"CV;E
MP=)6WU2E>ELN0MU4DCZQ=+!)RIF#0@.CY"XU8R$YIM4C?YI>/3ER8(]*G))_
MY2E!I;H;55&=^.P71+RN,?IB[12M$Q#*TU8F=Y))K=9O&\3G872,.#]WAE__
M^@_=1Y!\;A5W+P#MU%';.1.U3F_:%HHO(HF25'QQ&R]&%._<:QT((H [11S9
MT;9S1\E:=JEY7U)NY'PW:<D@Y';6 #'B=YMR0KT8VLN @E:7JX/191$A:IVI
M%E"7A08OK)C-%;'B=F=]H4[>%IQ(WV[Q9D9<[=R/F""@^/CH2\?X7L2Y6E*\
MZLL^)@AGOL 4FY,GJIXWN-(<N" D^R+ DDS-R7A8YUI\;>QKR8L\OL#CM.0.
M-OE6MM(&S#I!KC1=5\U<<!&HG9_M?-[XR))XB=P2%X'7.-+5RW)A(B$S<*0D
M;QY=Z7,1>,G>1%&6DHL 2_8:TE*F3)?G&PQ ;,&&92LT 9*+H@TOQ\H%'B3J
M31,'G@RSZM38_=<%8<>^A'S'!A-0N7@5)3,?7>#)XMY*;F*E&JR_71!8H^OO
MS!LD55T?)1761>"D<O-X6;=JL/X^:[ 4N2R.5F'>."D<*@GWW!JR?\R585!B
M2?FEY_YY4:7G%+AW;N'1B[=.B"6>.BM;@]@EF;T4$.LF?FO NG@-LC!^1#;!
M7(/HQ2L#Y1'MY*AK\+MX%8]\?KP&LHN7OY43]37(+?*3]&5EY@!LL%S$!F$H
MXB"98(.=5OEAYM@U60H;[/3(%;/#CIW^L'$>6$2+H^KDE%JQ 4>K%.%F!6>A
MVT _J6.#W<4+%4II)1O4%L&A;BJ?M;*![N)EAJ.?N3@?9H/9Q0L-=,SZ"3<;
MN"Y>4I#*_MF@M<@"0IZ,FF2TP6^1!YJ<7YW,I0T\"\M/<3A@Y$MM?!2U<OMN
M,[2,E*P-4@OKKYCL]8B<5L;?8>2ZZ6H;=+0R^&ZB(XB'I!*NA;D7Z<:XF7@;
M&"^>WS\C_6^#H58AP,T;/#;Q< .A5LG 30C[#C/]=,8-5(L0<'PM=*1.;F#5
M*CRX?0)IJ9>;2(O%.M $ W-2/3=@+3Y'#'T'(Z5T@]LB,.A*+GV$=)$R-.6H
M/B*Z"""JV:^/T"U"AV3V[@:PBS<S:,D0WJ"Y"!MJ*<./P%V\Z,%)>=Y@I%6.
M&,1\_/>/ W3P1']O-:#^7B]A %6*=E&(U^0GZ>X'/]G^V"1X_S'W/I,XV1ZJ
M>;12#_I^L2TB$F6QRC<H)=<K11L49^$>8<8NV2*"STT9H98]Q)+M;U'NA=$1
MZC G$^VOXC\ZIP!]YB@.4/ ?MM+T4Y;RA CI\3[["1JC:K-5>MJK2"2W8YT@
MSM[ZE(:P6/]$(IM];V7\/O;J#O$R4_660&\+X;B5^L*H(OE'W4XW63?[H/$Z
M0U@<[R(,WIIQ]^DTC-V:0L0O'#^+33P"XR(-&FJ9=(;\'SZ2_8\!"JOYXC^<
MIHG_\NLC^O"BNQB_,0?*1:>UL(8F;[.;!^.9N-[@,Y_G:?A>Y(2DOB7/'J=@
MVKFCNGBX?OWS5,>K.C=4"CSX&0;?J\#'=-3O2GS"162@AEP?!QQ8\EF2)3D$
M$Z@!E.['\A0#%6B/DIJ ;U<IJW,OS1V$<)"GALH^7,1EU7'HSN9F+B*!]=BS
M*?D&+1B.)I&8AS228;<BDG<QJ+0EYQY#]2V8=?)BCN#9/"Q=P6'*//26E,IW
MVUV4'%#MIY@_1YBW.[GQ/,3K)-V6'P.C',[2O"6GXK^=1#]&<;E:\NO_JE>$
M%DRK5]AN,+'N[]:D^Q>4AVGY<I&3T*^=U9/P&8T!39ZK@V4VG_1@#"H ]D^K
M74P;1TCR=.!WHR;3*9D80>Z7,-\\Q$&X#X/"BYZ3+$^/J-8D);L^$&R))9,R
M%/MT3?%ENTI%^J1/B[I)XE+QD[%7P3W@FC_B\AD4*?>U?D)[@?DU'CHH-XK(
M8R2\'Q.LYN6^P^]\6+G%7WWTC8$C!@!"OE^QQ)0EZ6/BBP^Z3$]KR[I/4A1^
ME(ASS6C#=M:FW+D%<7""EUW]D&)<EQW!GBG#WZ"@B%@/A-KUYYGB#7P(YBV5
M9A9I_:PMZ9D(Q!5-S&I:68/-O;#";N;?@;_^Z:?_CTE8)#O9?-9;F)$9M6>)
MF;?Z@6+A+]\?2)WOI>2YG)C95F&Q9;I9 V6W-CP8&"Q(H0-CB48I;=FKD=):
MRUU?21:Z", 5Y*;VX:;()1=BO!\AWG2,4@;$AN6@RC$ C--M KZ!VS\8Y.@5
M1.2EF8LX;&8TK+R'J"^,703,YG0HM'0,1OF_B]@O4]S9"*'^(KQ@S-Z/GIBX
M(*J-XK T%+-VD+$),94=-%'$&1)?Y\SK^3AP$9L@\X(EEZ@75'K,/7MI?FA7
M%H?M%J5DPJ$N</"N#RPX@F[6+ E?P[@\B$T2F]7W&!^H3;@[Y>^]/CPE>.<Q
M*Y)$^-,?51/&2L>/!\"6R3J^UX?.+U+F2I6Q+%HD92;)-4U*#S"]:]CBRC@?
M9[KV<1(XM P:VK..IV'LASLO*DD<WR).:SKI 3A2:BJ\M!::C?2O.^23Y"4/
ML<\VR@\;V0&)<5.ZOX.X+1T^C.]Z).QF[R;5A;#OD_0%,2/#^ZTT']";-^1O
MXB1*/L)3=>GA$:4U@R$SR7*O;0GH# ;Q(K2"9W&/79E>GA>;-;*+T\\0BL67
MA<\$=JN'T+BN60/$X=^.9C<*>W4YF-#NSP"P^9O"Y;A"NL>&TO,VZY,U7GO"
M>N\ORLMM#!<ZX/\OS%XWDK>\1",GGTE@"W(7 8Z6$]5[54W8=2$]FZ8EO,>!
M@7""FKF2!L* ^*2$/?-@SQ9WKM'PAEBOHS @V%Q[$2GV][I!*,^JO#D;E(<^
M7K;U-*N#!XJ56_71OEGO.!>NL:K;R%Z6T2A*OI-MQZ_[;5*\Y^LBNO++4G/9
M"_)1N"?S.Y9RH:Y%;8QYI^HTGN31\I1^Q53)*R*;ZNB& I=9EC"=6J7E9:J*
M<#RCM*QOPC3U2'4&LKBJ4LM5D6_P>_3'B=QS%S7H!&HQ5>T4A874'4 M8E7D
M6>[%05EG0WHE[5XV8^2;>IB*5T>F)X1E25X:7@\XR^!>%U9K.-,77Q1N%\I"
M3DPQ50(Y"9)D$4'^_Y# *!3\O_^1IZ0><_./29QC%OHN*CDP+%BACVV+O>D+
M,$?&/HSS'X-P>Y1?O.CH0L=(YLM5K/0918[<,1J)/PV06'M1AI27&I2O_W]N
M.V:A,8M69#A!8Q)NJZ"E_PPZK-/(M'V.++7F_\Y9ZY&)!+WF#1XY]8MW])_'
MU0L.OES27Q-K'A(\R]=<EDLW <:?88,Q9%!,@/ 7%T!HV!L3 /S5!0 Z#)()
M%/X+&@I2 H@))/X&&(EI2,+?P2-@DA[\ _SJ1Q"#VI30-178-B0<EY^10KB#
MW-V+-6&VUH07M$=Q@<2^SKUFKE;)$JQ3U^@@X:D3\522NM\VJE[%]&([S9)'
MH'7&QRQJP[(\P].[^R3AJ\)+P6QN=0&K]9<D"<B\7E&Z#WV4O2816R')[&";
M)-WC![I)FT(BAV_P,<%G*\5'+"K(BWM%ZAACMH!]/L>,-&F S'.:!(6?8YZZ
M0IX1)T-M9F.B[4/"#'QBMW5ORA",I^74!.%P[3:+N7YB<_VH&KY>&F/*DS42
MM."I838'LX!K+PM]R=E7;>WR2$]8%-JA%/,@\4?%M=3/N R'*.YL;7$/\1Y5
M_-2QN"=C);26UJ;]"V86-U@2O=IC6#_04T%(V6H]$+,%NZ,\#/@%\^Z5VA@6
M&;H,>:F_P:_K+>;(HF175JRK;@R3=>/UL;>4Y.!%^8'[&G?;@"'0MV%4Y$S/
M!%9KBW2LBJ"MM[Q-<9GTC-T#VC6OX97UN5 =Q=[3VGT5B2* ]8Y26MI3V:$R
M%/L+BO&D(DQSKH)M&(?DC<C#/>*3*LG.UA;W!3.Z&<$7GY'X[I-@7H39AM!3
MD@[LG?66BOM96])UD84Q%MEODNU[&)=Z)"+@XQGBR1'%=AB4IZN3?BR[V9 _
M/L176^*[0C3=U"Z/H5=E]OZ) <Q47]><D %_.,W#/\JO5!M(C#?$L8=H@7IK
ME>EA\6TX:AEKU4X8%R25PJX&,;M&ZR2MM9%OWB?*\/E-O23%U-%+#Z6!H)N%
MH7D\F&^+N2^"47=*JCFA"FZC!#;;AQ@?E7HF=09$[@$<MK8V?=5M +@#6. 5
MLBG=-E8+I?6,+ +;#*_'XJ4+QF51FV_"T)#K^+(U&WH'Y78,&$D=1UQD_NRZ
MPK MC8[#P'*)H-PV-1LE:%RXGO$B6V43Z\ZQN3FR>)JO_-FK=\-[GG,UI.RI
M7<_9CM42]+(O)R;$I?B("0F^R!;;/M@,LZ?C"*A91-MX4,V-CJ,QUA;9QD71
MO'<1$49L_M+QY:LPS@)CJ*-(*#,(/4,JY&5K>#79'"3DA1M^.H\&:<<Q..?Q
MY-BX'4?%X"/*-IY?1&PJU<;N^,I57E!98[WCD(PG*Q(&_XN(7Y9%T'$P5.[.
M9(X3CF.J?OFD7"PN(FK>J'>&XPBJFEBZ[AF.+W[\BR9R_+B(/ Q,AQ''5S_^
M6$Q\(L#EH^@YL%Q$!@JVQN$B4E"HB]5&] C@W%^T>8L8@0N@*I[C3S:31"9E
MGI9-$N$MR.[^7> %+7E,9IO'A++9K D/&MI'N)H(N91)3 XOIX8POX^]:+/N
M;+A%9^EMW9VZ_20!K<14W-#$83MK4W[#8Z_65T'UM'!G36UJK_Y"E?H6\UBO
MA-?RTB#[MB./#V[YIS_]C;L2N;[VEG;T:25NL$_H^VF^SRE^<8O8KQY7#GU2
M&\/5XV?_RC>:W"L?DZ2L8D')'U.$N!1,W$]SV-E;6J!ONU*9=8O\$CURVMD5
M@?D=0 '.O@:LUJ"FK^6\V+\*LE'4@.*DKX(@K$2J9R\,'N(;;Q?F7L1_/+A]
M= >+[O&W L2M+C]HLT1R2;$/Q;8H2YNQ=!8B%D*RO^83<1^AS_<PR0X9]U#0
MFMF5"JL4M;=%2E@0E(9)E;OX)HGW6 8L+77?XC!G"UPJ8UA,LI)C8HR"1C_*
M3U%";ZSYQ'Q%.8J3O?<SEK9+E23[U+":0CLYU1-RYM%A#:*;A*<YR@[Q-;Z,
M2524AM<:WNPA11%^ A_#;8CI"(?"*PX!;;O*2]KXZ:. T$I,*$LC](C;SA@(
MVJ*KXZ5CU=R1["[[!>V*U-^060WVB;=(;C^02ZHV8<2:ZH[0CF<)=4N:&//N
M=KI#6V!=&F#T"BG](6B$ZGJ\;\F;]TEB73?50W"?I$JDYIP1+4N81.S"DSMO
M_:.&TLP9"%A:FF\?X123(J\KR]-XA?,'G6:51^Y+/*/^Q=4V+(3[_)8P% KE
M2M[[9_ %5?0(U>$KU:I?D)]\5 9>WM-K_+/0WH"!=%C].0_?([P2'[?,0_ZC
M/GI,S;?HMBZ!A$G5PW;G^?DJ/LWA'GEY,:@_*M\/LA:&E0Q$L4:"B2\M^7M<
M"B>67?30@0'TPKEI$Y0\'#KN?71CO"-(T+*'Z(7"^50B4EX7C*);3J03$2^=
M9WON%-Z5\S0 C884E1CE=]!&BHZH(\#PB(819&9#0Z1MVL< +8$S F0\-*0A
MD'R*(*,@1U $OAJTB$C.&7($#QX=T0F(6?(!SE5^HC0#4R;MD&6]!%XJCL.@
M_GH,G6(@0Z#QP6"2#\=S+( )LYMPS?*W7]Y3R7%(U"D!U1D*,@H:B8&B3.)X
M)@@%[9V\HYGCF$B3$)93FN/K5Z<73%<XQU,ZG'4[F,YTCH,R@K%4==5S/.7#
M^425Y7-Q$7D?1CG^741V" G?P(M($R'C4&@"B'^"!$+*"?$R\F0H^"Q>1B:,
MLSP<C4 $3O\QSOO1"#9@!#]=?I1&4 (C .CSPS2"$SB.U[Q[IA$<76&09;TR
MC8 $AE=6<.LT @0X9MF(,^A,DFC=>-GF/DJ^9TONK-GFSL*'EFSS<YKL\0,<
M7!^^X5OY$!_SS%_Y>;@O26,_&><PQ%YU()OE=U.$7]%;5/VW-<WZH14L5F$
M0(NL;358UO%1N.<<3JFN]NY7L=M57NI>U)"HVFU==$BENMH+XR?I/5=K?'%(
MZ<A\]5X94![BNT^_S,*.7Z'C.7LD&W/,NLY8[SDC+@D]1E//JC":!NK)&\C:
MHAO!#$LIE67C9Q0%;\E7PC?B@R,,<9+O/[^$2;HCM&[>D+^)DRCYP'AQ<[,P
M6FJ!.$/^#Q_)_L< A16Z^ \G4#EE-.L)TEI,-+%N <_!K#H_@WKQ'N)UDFXK
M$43]T:/UMLFI-,4@B+:C+"/)XDOZ#4&1"(=2PG6T3415%/MAA#K/ZENB1S(P
M\BG=^7(ZQ5O(LQOCKH?7'.V^[6CDE-\!&D-R'\8>1OU\AH0WD'6&!#.S)[,G
M4? =@\<$G BG(R#QK3ED;,Z*WP="G/Q/3'5(JXF]@Y0F/D)!6;NH9D<Q<,\I
MVM4'Y2H.;KPHRE;KJ[T71D0.)E8P3R*P7\_82YJP,RY454=*Q&)T6UF;[BW:
MI<@/*Q8M#MKO#6/JO!X@KE3+XE)5(A1>E'X/0-2XO+EAT-A2FHI%<65&*-4M
M\F1::C#=.3V],"V-8L<*,NV'KZ+%F #QC;34+#F:1K;.3QP5%*_).O_N#7*=
MB-M?=&+>84'$VS KU<CXN&_#8LN2%X3]0%"S\C"O2KM>=O>)4C_,3K8X#DVC
M][-7 6.]1GZ^6C<:X1<O1ZN8\/[D_XFW_QZS(*7J'_/YH8]?<O(#IDW=?VBU
MQ&<O*@@'@/=MEV1>]"5-BATI>D_VL2P)B8)314@&9@ F!NBY*1^"DT"L]KQ0
M.^NF32?-QBW>J=8;,.(%&3\8-,F;HL,XVX *Z&5L]%JH*K167L#J%R8I5!G"
M;M)'I;2.@#)6-A /JQ"+3#*T'O8*&YU#ZBNGKR$IK!^ ]J-2/30,9":>!* 7
MIS'YX[,QRE6@Z:?YG2'%H3'*J_392_/Z+ZWG LOO&%(B,%;/7$-*\#8==9<L
MJ[G^\:V3@".5Q<\*?DCRPW/DQ3DI+(W_=4=)YSIB (LJDDI<9A9'9JA)^+VL
M[YFF9,NCAW.3X)N@W\#(<8JEDX:VJ!@!*%WML<E)CC*^+:#3Q/IM/!+ /N67
M)9R#?M9-UOBVO^.WBEQVACAUE::$,2D7<E/R*/@4;<FSSI3 CH\>:UNG^KKM
M$\/6;!XG2;&B\D_3R#$!D2\UOT7Y_O;T9I]D-I@MW) -J@2GZI"R]%GL#K:/
M+#& MU64I;Z(XGLH-J-+C6)&(F@L=Q5?QV'M>PU!*)-;$):P*5 (Q5$@T00R
M1[(I951-/H:UX0P!31,H?Y\4!K"VR"]>&&?$=0MEJYA&VAAK$_>#MF_R5U%A
M ,TDL+D8 >.][,4!T(BCZA#6MNEXY4M23DAX+< S=H7=?BFE ">5K<9\C<I>
MJXX#HQ[-U@9,+DS,<8A40L8Z.>S.B<AR'+/QD:$3YT^UCXE$O%<;$X4 *L?Q
M4L^&QPIH @T$-R\])_R)K'H8A 1ZJ>-H+2=8J?<6#0*!(*.A(;$N]71 7O-2
MA$'Y1IB,M3JE$>5',#D.X?BX)MK#RPL4@IS5W[24Q.5C' =&MY34B<9R')NQ
MXE$WL,MQ$/3(.V9H_3RA516;]$3G.8ZEHPG&+5,S:0&D%R,(&0I7:_Q,>!1,
M<]XGGT).L*;C&&IBO7EQH)"+YYCFN;DX.@Z,;IY;+N;6<=!4F7&MP;R.8Z>'
MAU<YMO,$[%R#QBE@VG%\1G#;D]2)G!""J7@HB7!QQY'4STDQ8M =+[$FQT\!
MB ]W'6C=_!D]2-UQD$;Q8V=$PSL.ES:W$>EH^GD"=BX+QHW,=QRRJ5B2*<L;
MV3]Q(XVIU"P#CE?QE.- IDY0X#BHIOQ4CPD*',=G%*.A-QV"XP@:>DHYN1,<
M!VPZ^X@@4X/C..I]46'4H@17(._,]!".8V3@]1SDDW <HK%N3-V<%(Z#8.@-
M'&:_<!RGJ9Z^R9)N.+X?6I_0L3DX3& X88%4[?K<*4/;IBPD._*AX.7\<!P2
MO<^&=#X1QU&;)+*#D=_$<>CT&T.E<JB80 U,=6=E#UC'T3!BOV0DI'$<*CWT
M726UC>. 324?2"32<1Q)/91>)3N/"<# 5:Z78V(=AV(2!DLY>Y()4/\Y'U E
M,C7)(?C?/_8 Q!?B]];/E%\[^*+/',7!J13!$,&F0"SR@Q]+^![B *\L*##V
MJS@Z_(?.*K3D(U6"*S\XY;7"?_GU*HI:'Z86]V$VTYQ*["V)#__G9RS2LDL,
M]9MHGD%Y;&[#%/FX1[9*5^MUZ*.4#HM,#\@![J+=/Q*IP;XX&E8DO6#1,0!
M0KY___Y#BG91B.?K)^GN!TSC?FP.](^Y]YG$R?90$995^N'%M7OS51P\D0!6
MM%HWZF$MA&9<<4X6LS$HT3EH:+&B*"VBD37AM[/J4)R?5[+>:F'%*TK#I3S[
M6>79EW2.X!X\Q:!)RMT!O?#+205F-_D5F'>]E;-L><-G^X8?=YE$ N%K@XG2
M&SY"UQ&[N#RWR_*N+^_Z);_K_/L$&H+EA;^P%_[*]XMM4;KDECH)XGJ;H@T!
M9(]:R8VM/Z3+ZV^J,-UPQXG/J(@#$'9;N("%"[AD+D!\KT##L' "%\8)W&UW
M47) 3=@2B0=;GOUY/_M-C!4)^Z/LO@P+(#W$P@XL[,"ELP/R]PTT) MK<&&L
MP2N*$ D[_;^%E^8HC9KX(B^Z]7+O6^P5 4FQO' +L^46ACO?<KD7\0F2G1<.
M8>$0+IE#D+UCH,%8>(-+XPV*[=9+#ZOU:_@1A^O0)VEDJN1%8?SQG$2A'Z*L
M7/JB3@#+(#"\E5_]#0J*"-4I]N)^XI%!4I)R%BQ^0,N0%A4FL8\G6'EJO839
M[]<'++SY&WSZ?Z<P$M+= "VHF1>5!Y'N-K<%_8K)J%=$FJJ"7RZ#>A8APL0A
M>T%[%!<H^Y(D 4G\R8Z9X#4W1B*;3&KM)&K?,K0NHL=P7S^!DJ11;2AK%^XM
M]0(TK*A-W1>Y/O8>VR/V)%DQ*1_UC(X9R4*_3),=%21Q&6\;SQT-PO++6_Q+
MF>7_*'W45XDD(KC#C&.*F=&;(LN3+4JSZP,^K4'AET_W*TKWH8^$I@-SW[,&
M81-K&-9)_JM44F4B^TJ(?DM(LA[,$ =E CP!0J.' W6&3AYPJ_@+2CY2;[?!
MYY]$HCXF)#OG'@75RDB@?1,U=9^D"$L3-X1&D!J4UX?JCX<QQ\K8%   7=^3
MZ\-7[[<D;5V1%[0C!2?BC_JP\%\?C0-;!Z4L#M1BZ/!:2J:;_.^]1\+M9%%0
M&6G1QX'1RYRMC],C^8*&2*K,N:S V[5RBD0P1W"I1;[)@#D*F:X M*AW3:IW
MP9).61W+B9#R)'='P_Q'O2.*Z@'(T&@LSBNFI9"!T'QA)/4JCE>*DV0YQRID
M'*]?HXR.;GV-X]4*Y/ ;KZQQ/!/U^.-E3I7C>+)754C'*VT<SY6H!I22(L<Q
MIXE6$:/%-<)UUPAZ$8135G[,S<5952)(Q08X?EAKVW(M6U"ZMU/B?IHW[SI,
MUA'Z)*G*\FWKJVR+LJ#'XAI@WC7 R/%D.^ZP6ENW<! .PD\^XO /%#P$F+Z%
MZ[!AO5HE\%H)OO%OQ5;9=*WG*YIO[K "_?"N#MH V+)[PE.@DDEFEBW,2)E#
M*N&7WS1=W]&\;<])=,"LX>L5>]?Z30!L6H,8!]2&BX^\3,'I8?3 FK?E*\(,
M;;+W?JZ*\%V]L[>'U102-7].DWNB E&(35$=1?,&W&.>XCU,LD/&I6BT9KH)
M:YJC[!!C/B=+HJ*43#@4EME8\ZR>"(>5>U$4^J_B:7%::Y[7';ZJ,4+X"G^M
M[L,;\C=Q$B4?A\>(LY%2_33/]>;X#?Q(LZ=&:[:X-;ADFU,R1YTAM3H.D[24
M>D1-)"Z"!F0QV;,OR@Q,]E*N/ +)EU;2DW,['+?(JNOKM4C;CJ.F3C6'HCID
M"#3Z-#!OVX49[K7I/!S'3?WJ#-0E%^;4,%[QXCA0ZD>%J<*Y"#\.9260XZBH
MGP^JALEQ)Y81O A;N^6X]XDZ%CR=FN,>)NI@R"GR'"\TJ0X+56?HF),-<3;_
M'D81EL[ZS,/B<P/;YT:C#:\Y!?+&N6&/Q;O#7N('FC19WNB:A-"E Q5'JW,&
MMG; >;+UEGB15L48ZYJT4IX?9PVY6(K@J(3UR^,4(@H:@<7F ='F 4;'K_-E
M<5PW*4<)SGMM'),;6D4/%SGA8N2$:M>OT3I)T:F &_Y/EI?1AG4@DZ(/[;A1
M%WG# 6_R5H:09+M+8A*PU6PXWN2:%M;Y_16/C?J( &"X18V[T&?]-'3,XHH0
MJ(T&8/EWZS7R\V.M)SSO%TSCNH&FJLGCU(>T!T23![AU7KUM;<L5NT9+]@:P
MS]_B].@0@N=97\?L)8E(L.MW+U6-LU ><)&UP8A?!F3MD8P(:)06>7R1QY4N
MP0B6ZB($\='<EN-^,<II*T8P8XZ[ADA"),NF.>XBHGI@U+DZQ[1:DH6^%XW7
MQ6B\5$Z$2FCKF%$7C==2^VL1_\ZXE:!16L2_:<0_,,R&9,'0A=FX&&:#7]Q0
MC<50&6MA+!;&8F$LE&\@:&P6=N+"V(E3ZEE2<Z->*<FHCO9A4F31X2'+BC):
ML#K81S2R6Y3Y:5BNC01R'SM?!;\565XVN0J"L%I[ZS[<HMP+HX4S@<J9L%+=
MX/U'482"YR+U-UZ&5N0^/GN'<J=[4Y+IH1?,+,U;0.*_G4#$?_FUSLN]2NNL
MW!1.@MG,QD3;"<2I' :_K;6#6D^)6Z:PVT9W-KSJ>+TES:$[FKO*,A'DPW62
M:-J15>AML1A>5?"#@>[QYX7E!,-KZ/&J%E%@T AP&4L1A280"(@CZ,6SMU^*
MY+>/?8_ 0EZV!@Z;?3!F[;2A_))=A(/&Z>&[&!FKG2E+K>=-@J<>XVUKUUJY
M]NS)77=IFJ0W29H2YQ$\)TSMGLDV/B/\OT%+:&RM5"2BG3<F -6M[ ):\^=*
M@.</; V4VM/J/<M3S\\9"^PUFE0R:ZLXZ-)COX6MZ3$%QF$;^%,\5N^T?#)O
M"GR9\,;*'-!^6VM39Q38S6^\-#V$\<>_O&@@"*OUG?0 O?HH]C !.[U_55TG
M%% 5#E)=K.U-RZ-4[FQQ.MB[&W4E1<RLDN>CGA?K<M ;0]@!(GOEB?_[)HDP
M\YN1 Y\?Y/>#W]VBVEAQ21 7@6]NY8Y=3HY'L6@MK4W[9Q0%;\E7+R^(I/**
M?/+?T]5E+$'4RQK'<^08F926U]K:+JQV9<[U^.,180FZN;$'_B8(.ME[S9-X
MC]*<) BX1>_Y4Q+[W'6PVUM<PG:;Q,*;/&AFTZ!1EI9^CCQ\KEOUI9\0"W9N
M%^LO]:GF,9Z.W'M-[:+9;E,Z9+8D=G8Q#49+Z\5RNM4>"/G L^O4?9 D/V<,
M: V$=LA47'G7MM@C(:62[F[O^AQ=&9Z],'B(;[Q=F'M1BU"Q+I&XH[5%]1/.
MX.M]]^E'!4G6V>2E8BQ+JJO%A>WQ:4G2 YM*=YK8I,II@8*A:,<FR8SVT%@L
MX9T7][.Y*S*! OCDK-:89+'W2FD4:\L57'7[UQD+=CM,/.L@Y>:%Z.C:V"*A
ML"<$?OXIR9&<$D70R24V2$@BSAO3HH=.[N%Y!W=>&N.Y9BU"@!F=T ]9ZY7H
M:)W#.P8W']]] 4]'Z0!#E2^CP@>AG.3/%Q0OH,KX0V3UATI0:6TI%"[L)?S8
M8*[B6U9QYU(<6+\/A),O/#_ CDZ+NY [^H.V$% 78VV;@@O!A8,K$?3#.APB
M#H[LB\_&F=?#,NY<M$&<7:HE;J0!SUT7:BW.5HST/Z-=EB#[JDHX*6K'M._Q
M!!H?H?\VPSVJ\>*E^/XXLM[:_>CL!1\=F6 O7'P1N/Y0[0,NZ7WD*!Q<C[;F
M%(@]EAQ=/5OZY)T(EKL09!#DPQBTN?52:(@#Y;*5#HN4PU7[Z/ .FN.PJ %!
M]8=R' &Z\_>069IDYR<, ]+.4\K?,,>1DV9"A'YXC@(AQ7YP/?@<7?@XSD/D
M"#@?,)1?5HY;H>.HJ.+0]TUT?/GB5Y7OW>AX5*GT$\%WC704!>'[P'6[='31
MX]Z&<SPXYP.4\KLA[_/I.$AJL,AXBCH.B/AAD?,L=;QR@O0#TW5'=7S5RAH_
MEH/K?'!0)IT2/K..HZ-(,U4=;AU'1TQ S1+)"6NG2!-)*2=?Q\%0HYTB_^#Y
M@*%,0,_T-G8<.36L9-R1'0=$3$]Y[LN.UV.2UW.8IZ43+EN-ED[%@-H!0)T!
MG5A:G[0\F0H0-&=!QP$0$T.!L[B)]?_-C7LQX968$!&)$T%W7#>Q[K\[=Q*<
MQT'6O<+TUO_#C:WGNNP[CHOL43"ST'^Z<0 F]YMQSP>/$6>Q9.:5R<Q[3,A[
M^M?5>LG,NV3F!9F95T8C_YRD)9'+\S1\+_*RY%7R[$EDM=0U.DAX[I,4A1]Q
MI7'P#V^I%V=>N>]XV\N_1:62\K3M@IPBACYF,3HR*YFL6NLORO_,;&YU :LU
ML=:TZS>\XE>1LP1&!^LE903H#YK9GO ]YFP(>TXF\TN8;V[PN<:7(<5WHG(U
M(+PL_K^ ?:'&C+14KG*E<M62TGW"2SE=[:\E>7ACR\-<X^L&,T("RLUL#F8!
MUUX6^I*SK]K:9?B>L!39:-$K%JQQ7)!@=\6=K69.K)C#:F+\!(K]EM:F_0LB
M1@P47.TQK!_HJ2#7<[4NCTNV*G),)./R&>?OCO(PX!?,NU=J8UAD]C+DI3X)
M);_%W%J4E!$*]8UALG6\/O:6DAR\*#]PG\ANFR7A^WGORFT8%3EB"6.LUC8S
M\B)\^9J3VGXHF&28W0,:=:KA'1 8-?K$',6>VA!%$7%L1S&>:(1ISE6P#>.0
MO!%YN$=\4B79V7YFN9.FB<7;4%HN:>(;AUXLFV4$$GQFX[M/ E,19IO*;$#B
M+AF@BOLYD/+U*DT]_*^5_6-#_O@07VU)T-UJ+?+;_(D!S%1?UWR"\8?3//RC
M_$JU@<121$K[$LT@[20+>H#1W4KJ;&T^KD=5>:WN"^,";WY-M_#^7Z-UDJ*C
MCRC*\(5+O23%SXN7'DKC%/&1((K"I*3:S>O+?)S-?1&H_#M*[K5])C#R]4RN
M\3.\9B9H9K6V-GW5;0"X T\H%W(6W38V<WGV#6\">QVOQY)=4J?9W?$,2)J-
M[ /?3@,&:L<1%YF>NQZ!;"NOXS"P;+^4RNMJYE;'<=%.Y(9 @T9(F/"59YAN
M\D]Q;,)N+WYFV6[Y:62$EOU>2J&V%=CA9<\\N>N2UU3?6R&PQK?O!\/P[3@"
M:C;Q?FZ4@<'9<33&6J/;N"@:>!U/5:?"C OLP8XCH9WO9$/K*%+*+$G/ZN[P
MLN>;\-4B-T(79""#99@E.?I,.([!.4P)QPW#<50,,B=L_P['$QZJL">RSB".
M0Z*=3Z'ZF3@*TD4GWQU/=B5\9!Q/_*="2"9SKW$<4_V42/( .XZ;^CV5<F!R
M/)6<JEFPZP'E^.*U7R6C+E>.@SW^G11Y8#F>P,S0*:0X>3D.U/@3-/'AF3#7
MF?;#T_-/<SP5F'9XV(HFQS-E:4=*7?'B>JXI,YRY#B\Y(\BZ;27BN+8N6;U&
M9_7Z\Y+6:TGK!3*M%RU]'WV1PX9+EA9GL[0<B5.UE83N)W&9ZG2(K5P?>['>
MW=E0T>>WM39UB8(WW"0!\OV7'#L7$)C4+_'!3S!!;[QDFECR/LJ"-V%T_A(2
M=ZDA<?HQG:C6QQ*&8F*]2@QL1T-)9Q-!(R%Q.WC,KV)M11?"599@G3D'Z[BL
M.IW 0#0E/+)TA25S.+K^Q;W> /V0?+,==WB<U,P%+6/#3+QI%^,5Q7CUTV*\
M6HQ7((U7F*;=>-GF.4WV(;YUUX=O&:GM>XPAN,(+V5>%JO@9GT<,9#-764H*
M=MZBZK^M:=YXNS#W(L%B%08 M$@LP!)7=GPM?13N.0=:JNMBNG37=%GL=I4&
MUXO(I;V/DN^U2E=TS:6ZVC/?="OPKMXKR>HAOOOTRW .S/1U:_8>PS=8-IXS
M1KQ8@]N%&3=I[UZ5C4/# \H;R%Z%&N]0WOBWY,K'@FB*?D91\)9\]?*"2 BO
MR"?_#9FI;.7[@Z*1#_$Z2;>55*A.)FF][:=K1=FS%P:\ZB2#AO:</4ZBQ5N"
M69$$BU\1ZE"RMT0/.VOD4T8S8!-"$>.NA]<<[;[M:,9B?@=H)+26K\\GH;R!
MK)-0S#_@IZQ(,3>1(1)ENMTF<6E@%=!.3D= ,D=SR-AO ;^/7:_.2M'#2IS?
M:;)X_2@7N?,1"LIPQOK=Q_N-^;M=?;Y)Q7@OBK+5^FKOA1&1.?&1?_4B)&8O
MM(QMO7:-Z&'NMK(VW5NT2Y$?>K7JO/W(,*;.ZP'B0-XDF 3A.>%SP:DHPNL!
MB 27YSX,;M$:I2EJ8JPQ[I6BGXBU\K19:C#-?,Z]%Z;_\J("'6.\VJ]=K8PG
M>E=J@@9B5DV*P1)UCNR ]Y\EN? U6>??,;"R<N"QO3T98Y"5@1B2B/(3'_UM
M6&Q9 H.P'PC*5A[L56FWR^X^4>J'&;.HF[B?O8B%]1KY^6K=:.%>,'^SB@GS
M3_Z?&,?W^#&O35!IZ.<H(#]@.M7]AU;+8_)UO&^[)/.B+VE2[$AN3+*/9;X%
M%)S2+;!L8_8G!NCI*>G322)6>VJHG76+T(3L9*4E^A;O5.L]&/&:C!\,FNA-
M46*<;?8#]"HU":%0%>M<7L#J%R8I5!G"GLQ:Y\'&)"39$L:,QX0S&EO?I6$J
M))$6F=;#7FFC<TA]Y2<P)(7U ]!^5*J'AH',Q), ].(TAFI\-D89N)M^%@N1
MY2CCZYTZ3:S?UR-)Q&\ IOKYX3GRXIPD\\+_NFM'!XEH*GL B[J-2LY5JVXG
MZF5]SUY0&<;PEN"YD0)$))8'7VVB U-Y0D8/YR9U-D%L@='.%-.4QH%!165/
MZ6I/-J3D.ZV2>+)D-G8'ZS?U2!P?XAR_ND2_R!6CQ/V6*L<@JQSK.C%L=>5Q
MDA1[*/\TC1P3$&E3<_J2[V^S7JV/7Y)5^NRE>?V7EOZA?^L;V93-4HX<SO9Q
M)V;PMIZR5!I1?*;$QG2I432KGVJD&U->Q2_25$OTAB TRBT(2]@4J(OB*)#H
M29TPU"^CA_(Q+!-G"&CJ0/G[I#" M45*),>GKDW<#]J^R5]%A0$TD\#F8@2,
MM[;G@$TCCJI#V,UT<R3EXB+S[/9+?I>C&GO)[V(B$%_9B]9Q#-5#PGIYT25B
MK4!#=&DI<L1'0B5*JI//X9P@),<Q&Q]..G$BD"6;CL/9,.98^GI\'%FG:+Q\
M8);C>"G&9U&KF+1BGQQ'PV1D%*-@U2#>R'$(QT<AT2X@+ZP'<GXC0.(&E_0Y
MCJ%N<:,39N4X-F/Y[F[$EN,@Z&&DS3P+CD([[\1TT[&8>@+W',?R+/:S%][G
M.!2F><^35QTGSM!Q##4QG[P01D=S%D[-=7(A=QQ#W5RG7&2IXZ"ILJ-:0U8=
MQTX/%ZMR;!T%;(K,K. 6;5CU>8H]=AR?J1@LB=!GQY'4SV8QXJE-X/07AYDM
M &'1KN^);N:-'IOM.$BCF+4S@L =ATN;N5XZB'R>@)W+JG #TAV';"KNA16Y
MZ#A\>LV2U.!Z$PC]U6%F9>H0?L?Q-^4Z>0SA=QR?L?;,;B8 QT$P]'!R<@XX
M#MAT5A5!A@/'<=3[?JHG3C !WW]=ZN/J/)P&WLI!R@;'(1K[7/+2/C@.B:''
M<YA2PG&<IGHS)\MDX?A^:'U[QR:V,('AW]Q],2:-/)H0I_%2UMA$&HX#IO=1
MD4[#X3AJDP1:,-*". Z=?N.K5.H1$ZC]W6$!3-ISU7'@C-A+&2E?'(=*SU.@
MDCS&<<"F$C0D4M4XCJ2>1T$E_XT)P/XQL_=@R#@[CMHD;)MR*B,3H/YS/J!*
MI$V20_"_?^P!B"_$[ZV?*;]V\$6?.8J#4W& #H+?OW__(46[*,1'P$_2W0]X
M@C\V>:Y^S+W/)$ZVAQ]+4(EK&MZ5(D6OQ7;KI8?5^C7\B,-UZ!/[567XQ+@\
M)U'H$U2"(*R6T^+0;E'NA=%_Z$W#)3>? 2%II^%2'4)S(C&YS[]1LL(K=[>8
MCOP=7RY\4XI^&IY!!O)!0R"3?O*VB%HC7=C<]07\BBF,5T06\\_=8!J*IU1I
M35_"[/?KPS4F6AM\\'_G'"9A-T +:N;%W2%AMTF+>;Z%.4F,\Q '^"T,"BR7
M#K>"W<[N5(D-O+2)$U9T$^[>DCM,+_,#%?XQ(\Q[>0!)PAO^F-KE:?6PMPS,
MB&*^,!U,CEH[4;;7I(?OJ_<;%NSJ&64,&D!I-.DDR6NV6G=FP;P+[+;N3?GL
MB\I@6O\7I<ES@F6O-]P,O:(]BN_#/<+"O%]9.9L8[E<48TFG= F\+=#;=_SK
MH?K?^Z1(V15"]7Y \^J?U^$?B#/YSN_3%M@FIGIV0>W6K]/2""RA;HLM<V+=
MWX'5H6O[0EP?3FUJ*\[5=R\-RO\A#PI1:T5>+&2VC7Q*=SW?4B7QECS7Z<!:
MD>"<TK["3M:VEX"V6E\%E:J%^\)2F]JK[7N4YU]S+P[P_F??=H&7(]SR3W_Z
M&W<E<GVG)U(,1N'T&TRZ:9_S;6DO[_'#A[ZWM#UI$N,_^K42G"T9JXT!1(%Q
M[_F(6P^+V=S>7AUI-6<O.FV6MV_<I^S?2XJV2;#SO!YPEG&.8&UH5P3$_.X3
M^46.I875>AWZ#$:=T]#V.]]*OB_SM ^;Z^8#8U2*8D0F*^4R!2'LCM@..=RB
MIJ$UK[@1HI\*,CJ>)'L%K*;6#M$I"*5DNK_%(3XAK]^X)XG?!\C[?^.EZ8$8
M7^5Y@%X7_570CA2$?4 HK>P]\EZ$,+G8H[@@]F[NF:"WU:U)*=(D"G,.?+T6
MFK_?._B$K4!I:;'&;]KI+K"GIS: M8W_!1%BB8(K3%:]#U03J_5M&!5DZE6J
MMR+/B(B([POC2*B.8N"^;7=1<D#H-B1^1$G:2F/$OX'"?A:+]%7>TJNXE_JR
M3*GQYGTR-D/<SUXEXQIMT>Z(VR\%M^T7W+Z*\S @5QP_8*=,R'>?)#,$"JJ<
MK=M=D=?YUTB2(7SY24*)DB)PGVL]8VNF,[?UA.KD7_$I$R:Y9Z18S#&OW)#8
MR'?6_916K#.FRTWNSM?B_3<\A[?D/DG7*,R+E.I!)-?1HKZK)&Y9F82$5W60
MTA".%'T"F57*F-O%HC11,H!U9N;2U9&X!C12SS$_#/$,Q?\7L-^K,2/I%NOH
M<9BK]RC\J!*D97FX)8D2J)*>?&][!55KEJPJQH5G6W*?C!UA-+97X#9)@N]A
M%#UL=QZ)5;S'1Z3,RA^F?K$E7*6/LD?DD5/REE2MVE4^^W5OQPYGL1SN=Y+(
M;[6^BN/"B[H+*"N*8>Z M9E2?8'L;>G<7];(D]BY8V-[3Q!Q>S]-Y@8_DA_,
MDL2,QO;DB^-4B']7-RJX8K3P^6\09\D:2F-89=HYO+=]LGP,('BMZA.+*/.P
MO7,%E,_QTC]&J"CYR(.NY\8M5TM78O:KUM);M:UNCB!0VX8,0'"T.[D"!><P
MR#J_=Y)5"?W+W<5%Z'K>E,12]HIV!!/:M3$%BB,721SS)V'6[EP@D5\V:#B$
M]X?ML]V<$X[WL2-+9UV3,]8^F]L@B@P[,EZ:_;P=A4W*'?^(6=<[W.$E4YPB
MFRO2<^AV=)%3^+Z=BB")O:D=AY'G7]VIUR/GS@P:#>$3.W!R/E9J;=\J1];(
M>DME%NG(HRDEBXWRO6X???H5 0T,^]Z?J]H1NWF#!D;NQ- \P,7E/\Y]>QP!
MCJ<!LH+<G(B5A$,Z5V?4EI =08-WGO3!X<8AV>"14[]X1_]Y!&@T^>YDGSG*
M !1!&C(@ FEG9!*%!@U6T(&CB,AKDIG\/26,P?%JY])J$VT1$XX"IJ8P849;
M.+KZJ=0*DA$?CJ)H1KKH!Y% !L?H"\Y@LR'C8>X!9X;S. K'.:\W(T;(T0K:
MBJK[7CB2HXN>5*^M&$+E**2Z7B/E0"S(>!D7,5OZ9<?+X4YR%>4"Y!Q%4M<-
ME(BW@XR0\3O'<"-RO)SF5+(8)_31401UW3N !31UH3>)H$;SB'6TSIZN(Z4I
M,A4RBM/H -3,VH[6\](2B: 0&PP9IDF.E=ASW=$B0%I.DF2\-F2(;)TBL^K*
M"<K[:'L *;'QCA;GT<9F<B/OC>AS'7*U&A7.;P0T!RQ(RCD#C #ED'*3E7W
M""X.J9S&)S8P@IQ#2@/)C A&8')($&9E5S""BP.BFBAQ@Q%<'! \1N:$, *7
M0VQVE5?"" H.<=:<)!8S+V=Y9/&^96A=1(_AFKQ(Y6TYKZCEV8E%GM,$[T9^
M((:)'',41&6^HY;.[648D>AH+TNMOT%!08Q0S%G2RF$J=[>V0.:\3N=+==M:
M/6$6SIBZ*-DGO^!0Y_?95S_1<3:%Y0QD>L);EK"\@4S/>2[+?DV-ZR*,""O*
MS1[<:P1O+TZT^19E?AKN*G/D&TJW=X2ER0CS?1<7VUJW-)[V2XZ_U'X;[EY9
MZ7Z31 &6C=)D7]D[N>>.U\->ZNWF4/ 3;O=::<ZS>E^D<6F^N@\_R7^(KJL*
MB^I]F)VS774([9EBB=\ 2G_VTN [<16(@]=DG9,_BF8NV]7:$?D7VH1^A/B'
MN]?(N;2#Z@)2QP=>6@)Q/+QO'#Q2\HNCR(@2WW0%"]"+O*P<)9Q(> 691NJ8
MSRPRWAP\,XF4'ZN8DD++M#L+A->$GVRQ+^4Y'G1G[$V5E1X=Q<]^RKG) G?/
M(2@3Q$5!N"Q\DL&5UB&'S)F#9"#Y0XYBT@_#.,4#Y*@20QA)JS8@AT68NT9]
M[<C,3=LOR$]B/XS".D;FVLM"'Z/5"4BN F7.M'4S-&VG)[ ?GM.;RH![:BO=
M1HRB66,H/0.:Z7K,"(:*WE4[WH2WE%\>Q$V]9Z7G,&T18X:!5A6UFGLOKP%#
M3ZHTA):%9LC_X2/9_QB@L%HC_L-I:?@OF#GZ\*(JU0G%7$MK,='$:.E76K/J
M_&RQ"%?^@,GL%A$7RJL]IGCDNKTEK7S-A/%$:59=2_IE.'<T&,N7693%\N"#
MT$_!9G Z+.5_]2U)\KT0-@>S@/)J2LZ^:@MKZHH;H(<2L8IX=U[(\E/LPN,R
M/4SQ0:=X<AX30T_IR.6,SAH8QKMPE6.^YKW(J[?L&4\WSFOF5.H=Y'0'<W/X
MZV&UMGX::<%J>HXC=63-Z^6RT[W8^_4W?$,RW)B:;XRV9HVCPY)96.G#3HD=
M5,07B=%@+9^7/TU%:F..XIS[RYFJE5/A346MAJ,&S',U(!(9_AA*!<B 2:9W
M&*7X(HA1=160 >%[FW!4+\UJ':HW*5:PGZDHZ8;Y=I0.C@,CUDL R$<X(1XJ
MU),A>L\, >:%D!*1'05# T]R-NEQU%M"!W^B4[OA*(SC"+2\YL-Q6,ZATZYC
MH)$X\4Z7HZY)%ND/79_E,HYZ3IF I7#4^4O;0=.I2'092PTZH%';X:ACG7%%
MD(RFUF7LS! WL^=JJD1?9A6,YY80N0@7QHIAWZ <CQ59SMW33>@^N ]]WQ5&
M:WO>-YT)\1+RT%H"F38GG0FE(9!)#RM0<*?>:@YD 8W*\\7+,:/E59Q7G:17
M:DG< 32;I,OZG:28YQMNA@67/8KO,1%7*>EYGQ2<A %Z/Z!Y]=HJF0[7K6MH
MYXRSD@\ N_B'"\96J<!L-C%F+]Z9,O>J]805#@"?@,X*%4ZY,\V4&3)LTA&E
M'*[,1C&AI3BWNW+5L=5SF@2%G]>U [+K0_T/A&!9EJ$JAXI?P@ ]Q*7JKJSZ
M<"IR0"+D4[PA38$#D90U?CP V5)5)W_:21(G^XK2?>CW"K$P4ZOJ_-:DZ>CJ
M6:S2>@Z,3)S49C8FVH:+*O3QVUH[EJ,JC5 /W9B1=">T"Z.ZHDR#-"=S':NM
M[A1U&PP(;OV1>KO-03PO;GO-<\.CXR.(CZ,7'?+0S\2S$_30/[\<A;'<O&@M
M=4O9^0:EXLG0FME,=TKFP<TBV&WCK*!^-I=!SRVH];V&++V(,]'Q7N4FZ0WG
M002]> G'&YWG"TR)KXF2-0KYI%-V&.8K#GGY(Y))&1 $>I>P=U$=51VH'1\^
MP^6H1Y(:!"*^SE%/&640J,RCHVX;:HNG<JJ..F5(KYS!\LY<_]<N4%P_'M>'
M+ZBB?Z%_E2+/LO9O4.M5I-[C=+ F1PWFQ%/ ,1K#F?R@Q+?<,OK= "VHF1?7
MXT+8#<Z"A)5A>#VL+>-$=P;3XVH@Q/W@[$RG4K7<UK2[3*J=+JW.1,MR MB+
M&+IT=MMIIURIA=J38"K4V6W=F[+],DX4<M]/+"]^((X])MV!IR3--U=81L9X
M,DL841KISB[I1<31M3+ DL*LV1/BN%;QFD\*WUU!LK R@>O\K!FRJ^>KFU):
M8</4;^*L@EK,"'?*V3(X3LA:,#E_,EEVE(O&@..#C(NT=I O9O !Z8,(&1 )
M=;L$2]PIKBYF/><&B!KYZ/"MH*$0VJ&$;&VC!^=P9HX@0*L(I <"-ZK^C'Y1
M>#61N*0%-!I\-:E0$&D.!8U?=G3=JBJA4](T'K,.V50V#3-AMMS51&9#Z0O1
ME8 @6PDU[K[@'8&,@HY]I\N?,S<7O24YWM\L0WD&S$Q4[]D+VN''J?9\R8]1
MP_$'X70''&_?\UEI#(M>M]U8Z&H_B,]'O0"2(RO.\)8%'J,6R5E#S;O"Q9@=
MJ6!C8%S_N&CNG='<0RYR DR5[:+"F*\K=EU-/.HA[/J6CGE>(,M_TDSO.2^K
MF\F.Q9+QV>>I>1Q!X[ H#9>TUU#58)-K?LXE@Q8T XM&"(0NY$+4((])_/$8
M[E&PJ$(65<C9"X>D"F&)32483TE\4Z0DN=[=9QU@=ANNUR@M \RH2A#5WHN6
M9-&2+%J214NR:$D6+0D89$QJ292?5]! +6J418VRJ%$6-<JB1KEL-<J]%Z;_
M\J(";YU'_D[6?LHU>)-L=UY\R&Z\;$/^_^[?1;CW(M+F*@Z^>NGOJ*R]="H@
M\S.*@K?DJY>3OQ]L1R3C*>-Y]F8NTJB(>EG3H1SWZOIP[45E790-0OF7-"EV
MF 7AZ4RDNEI4#C5U6.G8T_^5&VEZUI"Z<\-5W_J:Q.A0W9G[(@YXR>&X':QM
MTT-9F*=\#_GQ@I2&0"9]@Q_I#TRI_RA?>NX)DN@XQT4!B$^E7DU>>"J[PT+2
M8.\J=\%3TFB2KYK%Q=1SH!RQ+=$A_($W),GH"G4=PUK;LF^O;VG)%1ZNPR@Z
M+8.[:8).$VX;9FZR[%N,9Q,1,+\,==NCAC##'%"X:U5V07H("%?G+LO#+1&F
MCYRIMNM#&7K"%9^_,//S/]9HOD]2$A[5JO\I-7NE_LY:'B2EQ[:M04Y"<U17
MJ).U.:5QY,M&H*&2"EEE"TWM@R/#T#N"!2V263<8LXII%HH[76OF.9?/$;1X
M1V@ZN!PY9&*"+:\MZ,0*NWN2)*+(Y=]V?>(A9,RD;64J2F@V47?:,';>O1))
MU8Z#HO-F425XR/@8OT6\U\]1H^NXVS1.=^(X1).\6C05@*.9Y$W@-A4\$^2:
M'PN/FOIH9JX1Q[(>]V&,Z7;89-G  ![_Y3'TWL.H?M7+OL%5?AQN%5^]$,12
M3.BOO2S,+'M)'"=V7 AE_JOX.&?<X"G!CW)["8/#PO(_T/*-Q0/#X,*.?_PY
M1"FF(IO#(]HC6K2%8F?[BVM?Y.%,N6G8U<:XG*7:-RP#L[3; T+*8"AH#,P]
MP#&GC^,E>8AW!>:@".G[B;L-O!Z6DR0=IW;BB!B+8+<'M1-_4=Z)OY@QF+]N
MDC1_0VE9$1"__:@L=YZ%F.\OI5V:R5781_,<2>"TXA1%79PU!!MAD&=F-I8R
M=:EQF52$Y/@:1Z#BV;DFPFHV1BY=7@DB;@HT3(O!6>^A&B5.4>\BC2.<"SBF
MGD4.'PH9.N-&(-FG ;*ES-;E^\M,S*S&+I^DA (9OL4*"_5<":7*>1F+KH(@
MK&;?JOQ^GK6'I5*0RX;&L-*,&L*^;F=N1AAB=GZ(,;M=D-/#T7U2&@*9]).W
MY9>S93:WM@!BP<:'/D_\W\ET5NNWU(LSSR_O*F\I$AVM+>HYQ:]2CIXCSR])
M$5?UR6BL6:/XORA-GA/\)+WA9NB5%.2Y#_?H5*X,/P5[E.9AF4\@QN_ 4Y*C
M[+9 ;]]Q@T/UO_=)P2DAJ?T;]DYE\8[?Q1 3Y-8QXY $=OLY7BS[5L?&A[.<
M9<4P^9@53"MGWZ\HWR0!8WE27:TM[+K(\!.?9>6<LHHUK:;')^SB?MJ#V/!'
M BS;^9P$>/TVH&!EWV96:]V&*$PT_#0L.>S6'>-4,N9VT#R[58Q*6DZ(>DG8
M*RHN1<+OPH\-IR*SKJ&M'Z>;9/L>QJ5<T9&DRLU9HQ03E9;\AN\!25O'(DQG
M#JIY^^\C]/D>)MDAXUYQ6C/-,[G[]#<>EE:EK@B[L>99E6>3/8_VSP;"GT\\
M?+/@X&I+9,4;(E5%T>"0J?34/%_\I*(XV7L_)Q%)U7CUSD:-U12(>'6/.?0*
M+"GQJM5\DB- G9JXO=&Y/619@8+[)"7:.O'4NLVA;'N*_EV@V#^LUOBE"I,@
M])^]0]O)@7\,V-VM+;#1!)*9,A;1:0)BHJRD"/RVSOF]G*-1O$2W%K;>KHT&
M6U$&&@&)C,K2<GX;#I:&RG$P1.K0HRE$OSH,-')2%TFH]&H?()ECYP@D/#\P
MS9@X[^^EZW&24^ Y"I*R,J\5V]?7JH&&0(JL"'1O[5,A 1AD/(Q[/C"AA.P/
MHIV'D5&>.@Z(-!^C34OK*&"ZWJ-S-;J.PC?^I:+JAR&C8)PXT^10Q]W11M!E
MCK;><3"D:7+'-.#HHL^EJTJ6"D<Q&D\\F281R$@8)Z <6=O1##BZN!.V&<K1
MW#<&R8M)9/[+261Z-C@3P/P-/C#JMCT30/W=':"Z-D(38/S#33 N(+M6OR3?
MVP;=E-3U(<9_/.726C-"2>Z\-$Z*?$FMY5QJK2>$=ZTT#H;[:DW->@Z4U933
M_Q8G[QE*]X2O*V/]NJ='*B+$U&<MNI TJSD]-B]AQG,BYW8!L!!RUU,LTI,$
MH8(H$TZ7N2S$OA-\B]#(9PL2=-)=7H?^/'"*Z7 [V">/K>?RES#?#&A0UB5"
M+STZ7Y.T5Y3GE=^0\%G1_T%@7M.T[;Y*4\)LE/-M^(Y*KF-R',>E_L1 =*JO
M X,7G%,Z;.<[XX'8TS%<\[*4&^9+NQH"'NL&&599ATDQ:TK'@\8X.8('S\E+
M)R#.>WA-1@%%[*OC^,F(&Z=2"GP^&;)='<)1,LF>0S;)0<!^,J[>41N@Y8W0
M[<+DGBZ;KZ*^^]PA3)J3:_2"*@?DMZ2Z_QB9J A0RV8P)">+@MLY!?<9RY#2
M9)\]/@ %J>,JZQ8=**^I4,_+Z: ]&+K[I><T>:^?N-7ZM?!]3,!Y\='2O:V!
M3RY!]=X@?Q.'_RX0Y_PP&@.://?<,)N[O@!#QHTLS5N+P'\[+0#_Y=<7PA-2
M3W__UTFG]17S,MMBRYQ8]_?I$:/<K^YOUDXC9J&2+7K-O;RD68_D([WPG]Z!
MY/6 M@SNS>+WF<]2[)M!9V.@IG$AG*O"; YJ 2/Y+OO'RK5,;*0"XC$F1YB3
MC=9Z<628;:HY('X8+*&(6'-OO#1*7C$C%0FFQFFM>5XOMR3->++=HI34%:VK
M(6-1'06UDS#GHLEWMJ\3N3ZT*/'1)5JNYB2SI_UET::F7'NQWW.>R[+_WE*U
MN$=UF5SQ.%Y7PXJ<QN,9OT#$HO&"F65Y/0Z[\[2"KO?)%W0[OVL&E*;+HF%'
M;6=N+K\@$B6/:7:*,KQ=]3%C;:Q<1]W/%,E>5!"6[E])5&R1[ ,ET0V,*/&<
MAC["\\2/:.7RPRNN*M57\R8TVWVUQZS2!VI?91KXO.:Z*947%VLLXA:$&#YB
M;O/N<^>57C$\3;.PDV%Z6I_.ZFB.HZJB(0!H+.[#3Q0\8'X6$PG:69'IH7DC
M3A>%C,XTG](V0+:K8?HGNGO<]HO'JM#)YGP+*F37+G775%T6Y9GXH(I=8<1Z
MPE:F!'E[*6A4I#QS^;;3]OE@V_D<08'GCWL^#,Y[X3+,H63M%),DZ$5R3S[5
MB-FLL@. NVM4L(:VS[; 5.<('KQ[KA,01V[\$J Q @^18;13.)S#6SB"!._*
MZ('"D<MB,,,NU5KJ.!A+Q,Z2J_B2(I@FA$+D5GF25SFF;,<QD'(=.P*A8#L'
MC8L4V5 PI(O"U@8674?0X3$MYN"9#2.C8-P7030TFD,.'X6A;F5IG" C9U;1
MRO%G<!04D4JMZ_S@Z"*-RP(<7PW'(9/F\22]0QR'0Y'=D_%!@1Q*#^,=DN*4
M(,.H[5%2= 1R'!.SY)KKF^0X<FID2L(7"G*:";M$JF>K@PR46=Y8Z)OF.#3&
M%<E<!SC()0U@< E<NRED^*R_A-+.C9"K1\ XA&Q+)&3LK)] OK,JY-H<,(X=
MTT+G6/JJUORSJR (JZD^Q.LDW58<K-W44A2<!X=:',OZ:#_QTRD1&&5^V?6A
M]3=>?B?E8:PMN'V7KH+?BBP_U2.D+HW3 =@BN%&.W"YS60B .$U"&M$CYMT)
MWX[%05)DMJ+TUX>OWF])>A-Y^'9P@H<51H"XS-,4AT4@Y9=*'>6REFLGR]1;
MF!,R_A 'X3X,"B]BY$^BM[,[59+4]@55;B79)MR])7=8@,GIX=]C1K#W3#?2
M[!U^1_/#3;+=)3$Q'G (";^/M:7T9L.],?2VUJ9^X^W"W(N^X6M,#P[E-+0W
M:;H0?WT0)% 2]X.V)&%")7&_^2W)8J["B3/O 4V?J' (EH2 T!("4J39N_4:
M^40Y?UOJ2%N_B&HK20YB;;$G:2J[3](G]+U5!31-8OQ'OW*AXQQ(M3&L+970
M1PQ[4"G!N&\YM:G]/$"UW#"NN,_UH>Q>"AQRN9%T?\X:@%^2)/@>1A%WSWN-
M()$?F%D6OZ(<Q<G>^SF) J*7>>?E(:$W!07R="D)SQ<-482'^_B"8LS[15=Q
M<!5LPSC,\K0T(9,*#G&&^/**VACVJ':*WQ;\K%SC>:[#?+6^V^ZBY( $JQ-V
MLT_-VQ12+K%@K[W]);C](-G7')-HH"1^S1/_=[YN8=#.VI0;#]:WI'Y=&N*(
MLB]I,DA0)]U-\^-T"F7%4@;[8:(UL_XHM<H5/<0!VE;%=LI7I[P I=RZ6J^*
MG,A/67DU?@X_-H+7:_2PFK?F.DS6&'9BX\ZWK2>5O4N"'A#OPA,B);R\;%/_
MPJHFJS2$F339W LR:&/]=K0EZE)5W/C*90]95N!G(27_)8_ 4T%FO%J_;CS\
M>_6K@K@^8G#=23>3")^.[>L5)[UFKXGU[9&HM49%%E_N!EIY.C;Z"[J3B9<!
M,DF4?(0,OI393#=Q'1[D7Y+T=\PCU?:)EK*&2FI5^NNF1VF.LD.,J7V61$4>
M<M-QLAM#N@*$!?V(PS]0\!!@R/"+ZQWMOPU9[WJ#X=^*;:<>H?QUT/(US9OZ
M1)YI?&ZBT'\5[RJG-:1M9=$=D398:@C-&W 7?^!O8T(8?*VT+T<B='B,."^_
M5#]#U$O'F7[K.%OP:)V!KT$ZK*/7U'=86>4;E+YMO+A1E4Y F<1SL*Y5%NB3
M09V%YS2Y)^ZT+:_:VOVZ-DBE"+V&L8]:[S\Q5UWY>>$I[/>9W[%G#JO/(MMM
MZP5EI==0*1ZS#&**HU@_(:U=N$FR_+A'0>4)53Y/GM_\K* FEQK-^O);![<U
M]](G# 4R*Y888)KR1;76GBI\\'M8WX2V\WA#/IY07CD)/+(UB_+]S3,KKVCG
M85A1=#@]>*WCGE5EM(GPM%H_8Q+X&69D3Q[B?1+Z T[?U%?,XW *WR#Z*[P5
MK>E=)W$ANU+Q..;7TB-7SUX8W);!TL\H#9.^0FGL*.;7D1$(;]$NP7>$O$=W
MF9\FC:N&Y"KX8T B(1A6'U\ CVBT_Y54Q[_6!@DTLB,',[^!';+=T^!7&R&Y
MBQ(#6=]*"4FY)2Q@(E^DXBT=.2@D,$8+4E0QV."';-I4"4?39F[N/OVH("J,
MBATEDAF>^BM*]_@]?$TBUKD9-12DT\+@^:[2E-CZ2B7NS8;\\2&^VA(:SHS_
M;O;YH*;BTO]U9ZO1R(2/ML-ZU:,T02=\E,H:*@[4;"/$#R1T! U>EE!]<#B2
M%50NM:QZN&4GH9AJ7)\CB''3S4X*V1P.FS LLDG_I!R0Z"XFQY=))C"Q?7X8
MX7^@D1!G1>$&-;:73PLA!+UVJ5,@'6/8@4(<\N8(,CQR:P::N9#5I;C5[(I;
MC2I+PY5^5(/P0,,C=5Q&1>*U(:/'MX$&1CGUF/90@S: _3 QR-!)IQX;F^QI
MHO2FH"MC,2/<0".QE'4REC%Y9/R=H_"<D6^G\RX)(_A XZ-:[H@>U,<I&Z[Q
M37,$2,G*2/:0-"MJ35BR0EY',8Q$='SIJA*'.+ 1,B"3\(-"Y@$R0D8X1&J8
MJ>/U(\:*ZN/#5B$#-NG%$FC6(>-DY'J)0H4=KRJA\8FBQ!M#!F?26Z5D_82,
MFLGRWX;?KPGK9>A0-8\)+(<,VZ3W;<[%6-3OUR"(W_%B(!K8P_&) 2!C-^D=
MDS Q0\;*R$VC9F& 7#]&XVT;D?P!,C+3\H=LE2-DC,QP@^P<'":P^#N\FV0\
MFP=D'">]=XH>#Y!Q,W(7>:E33(#Q#Z<N(R<'"V1P)KUAO  "R" 9N4YRB7!,
MP/)/>!?+>+H=R#A.YCS%B" P8B9SP)ESHJ1$1N %;+DVO'*W3(_G9C@R B%@
MFY)RQB,C +EE'I#+D60$*+<4O<QL2D:P@:J6$^5J,@*& YH5B8Q/1J !*.<:
M2RAE!$"'Y!F)3%1&O&H <N.C$UP9 0@@/STR<Y81>!Q@NE6S;1G!"2!G?4[^
M+B,8.<!<CTWW900OMWCLLS."&<$0("]^7H(P(R@YP*0;SR8F!^Q__]C#%4_^
M]];/E%\[L*//'&&2>\STUL'U^_?O/Z1H%X5XHGZ2[G[  LB/34[&'W/O,XF3
M[>''$NK;,"-[5:1M!5+&(EJW*/?"Z#]LIX3C;;HX_>6IB[V"AR,5\?V:AZK#
MZ,[:C!G)G@Z@)CPOF%=*0Y]H2'";WO35^FK9I SY/WPD^Q\#%%;[@_]PVA;\
MEU\?T8<75;HO2O5"6@OKF1&%MD+;)57M5>02[S<MS+>UV9V?0>VT0W5=M?K*
M<I=LLXC6DB38$ABFRA,M"5@=2,"JVZ@AS<I 1F423Q JMP09%8?CS*9)^\'A
M?YL-GUO23P%G!2!A$$"+@C,Q4$L:"J&N;A:G:S(E.D"[C$E?<N#JR6.$TVK]
MA/*N;6!145ZFBO+L!8](*M];J\H($)=)KQ>@NE3J*/;*YQ19GFQ1VL[Q1R_8
M+-,#DE9DM*&T3*L2EYS9WHLHE=,G^NBBV'=6L<_,)#O4[[.:+FK^V:CY;]$>
M1<D.!:<(M)?P8Y/SZ:RHE^8CBQG%;O* DY-$19H>XCTF2TEZH)UBA=Z:YTU-
MR3><(*V9M0.!18X ;;WT]PPC4_Z%L +\X\#O8_UJ:GD#B8 :U_(*'@6%90K7
M29Y?UJ=UU_D49+@;'EQ!#VL;_Y00O_T=?KVN/O [6KH#<0\PI\,L3B^+/IK]
MUFP\$FQO7X<"/*=HYX5![2Z(VY=AIY/55)6?B^;M'R0O&^Y^O\DL-O\YQ8Q6
MFA^>(P_#7HEAN[8YVN!FL[^M^VZS<_U0+CFSL?G*UZ.A7.U*G6[\\8B\#)7<
M\FK]+:NZ4A_7R3ZNFUOGY(JA<.?LUK.XOB5%)/Q%FVY.<'7IW]6\U7)Y3(:;
M+M5O%MLOD2-B HY,- ?=OL6T[(?#4T!K9FW3!?MA"BJ=^WR+*E/AF_=9MC[=
M?M/O"^?+L[C%-=/;_J$*N<R>O8.:BZO!.0 ^FM3)IT4O':'90RHU!\ 8=IFX
M8]S2S3177/!U]W##-,HN=*T) $:O1=K;,Y_^8:%]?1:/RVD]K=]*'FV"5X7S
M<=? ;5@T^CH'0K;IKRW!"6X&)\@5651W.)(L T-WY &-F$3IY'&.2YU0>9XS
MD./P:' ;U>I1!!G.)4QFJ3F]1,LLT3+6'B*AQY3C$"F%7JIX9D'&9;[!0DO-
MVHE#IC20&($/GN, 6>5VF6Y\D$&]K!*E=H^B@&+-O RP!N+%<[YT'!V;E,LP
M([74!7:A+O#$SJ3S0UEPT)8"N9/XK<X/51$!F[:4)<",MU/[T\X/5L$1F[I"
MHUOY@G6[[\X/4<'QLE>Q$&")%$N.PO-#5W#H)JNB#K"*S- O^5)*-4[J%WUI
M!1HG]HJ^E"J0EARF+Z5"Y.2^U)=26=*&L_6E%*.<W!7[4BI93NV$?:E%,;7[
M7\\B@>5=EH=;4C_V6X;61?08KHG>_)C6TG(.R]<<3VU;'F-^YDI*0WOY*INY
M<+-1=AM9FVQSW#FFTE\044=B2K/'C^$'.AT4QM+.&A)B-LHEZ>:2=!-&#/^2
MCG')?3AMGH<IDGNTO[:DCIQE"D;)K(LZ$BTN^0 GR <((:F=_<QJ3J7_LI[(
M"DC6)3?"EMF2;R=8N2=J@H[O$JMVY!9]GL@*&J(E6EO_H5JBM9= 6I6@$ZKV
M#E1(R1)Q:RTH4.Z%,B:*.X[>$J_L<M3I]-')0E(\:>RQ@U&W,P^T7:(;E^C&
M)2YOB1A;8IN6(!R70D: ^P1]B[TBP$]+\%KL=I6&TXN>T^0^2;?>0[PF_R$-
MEP*W2X%;73N7->?K!0MX<2%*0<[KN53S=-9]Q':IA:6*)R1/%MHE?T+Y Y%9
MT&.2*2R(T1_2$IL9WGEIC-F+[!FEKQLO1==>%OKR*^4/X\*";T/,:YZ8F_%+
M;@9RU@BLZNH^L]S5YF(!N(P'9$R6?,'S"]=><@4OEDNW2&6/"8.,S'Q3X0*,
M&Q_/W<[/V* +H",W[*QJ\05EF&WV\R+%ZR+YTZZ"(*QF#D>9V)GD39*1'&_X
MWU"Z1R*EHE17 ,K%SCS+.48D\)/,.)/3*XI'T+O,+,U;2\1_.RT/_^77%R_^
M0!3%1O>WZ:=$55SU?YUT6E^]SW!;;)D3Z_YN[:P.;I+TE9MXF[]B\LG%L_,[
M$#SQ:_+!C.>B-M4?@>![V>:8^_<J^*W(\FU5I6>HY>4U=U:EH_+.T%4[$F0<
MLN@V@B&7?K@(8+V' 3(4',:2\98T"^S1<]"+Y(KJU&>\LXU.K%$L(8R]][0G
M$;*\?<:9[KZICBY2[WXW3[;C^@-5,,3<PGR$X==BN_720_^5\_-P7X8!7!_>
M\%Q6:P+;(B,O,O(9RZQTMJ<0%O(1OFL KX>]A +E?>C@S/5B8;>WMH2[[2Y*
M#@B](A*@&OMTE8&H-;2#Q-T%?A\@(G*',''NA:B7^W?C5_PL>D5DL2@]'&60
MPJ3)YU?K5R\29#L9MM.L:Z&Q36R'.DYKF_N/,(])RF[607]D6G5M'RZX,CUU
MI_SP?1217+$DK^DN17[HM2.-AHCS.]CCA%"$A_OX@F(\-Y+[\BK88NX87S \
MO3VJ,>2?;;4Q=&=(\OPRDVQ3_.GN,\Q+FL#)EB3HLN@:%UTC7=<HQ5A#!DA"
M=A=R%&T@F'PM:!"DG(DDA">)(S$?YRI)QKD3DLP^2H[@4?/$Q@$Y<M^P@7%?
M[3TA%%)"<R?KT%"6@*P4G^JQ%=XSR"#I>G"%,I[C("A?%BEIT7$SBOS)$(BC
MCN.@?#@4I5K'G5'ECXE06)ZAF:VVK!WJM^8M&31=K&R+E6VQ*"S6-BC6-AN&
MD-E:%9Z]0SF/^R3MP,6 E-E\L1^(SVI-OUY1GD<H^"7,-TF1WWC9YL\R!YC3
MVY#-@+ _(^P&O&Z@-D(!]<7HL1@](.IA%L/'HNA?]-D@5'2+GO*,\\!F0QW7
MS2TZ2HV$@L= 7YR2DLN=.XZ&SM/BL-:VK+*>'56U7SVRL+)T]9I>B1W_].R1
M,M<;E(>^%UE6W78G&52YN$5*6T$G:Q+D(\(SJ;;D%F5^&NX&N4]Z*^'UT"RR
MEQ]9O>/S517D>4KR_T&8)&SQJ^H/<L=)=5E2%\!,7>!&J'UU]GM4BOQ/[YB]
MH71+@KGB//7\_"?N35(?S:VD$FXHE.2(>OM5YE).QP5@>33DZ#1D.*0U:1)/
MY>6D)C ?QGT)J0DFU&&,)7 C'CM'D3*1C0.@^%5GP*U+U9&O'D4QW,C[^$A1
M1<:)X%XVM2QO,68EDKB$W:QQD8R9\80N;I=)^<'G- D*/U^EKRC=ASY+O*$V
MLS'1["H.ZCED5)<6?EM[+@S5E+A.+-TV%JW0Y6&\QU2T>06(%K.II_L0^U%1
MUI#%[PG^O^#-^V0:J=5'LK?LY.!%^8$?I-IIXZQT)$N".S4\N53.;8Z11P0;
M?H%#?T OGL\@":EJQ_[5I6&0ERTM!<H\WKTCT#LFD&&0$"3&T()1+X3#8H32
M+>F](S,2+""F@%ZDB4FE"86%8,K@H[B,UDGBES#[_?IPC<_?!LNFOW-\ZH7=
M "VHF1?7MU[8#<Z"B'U?;2VM'O:643\[@\GQD_D(>DULE2&EG^L990P9G-)H
MTDF2JM3$OM^:!5,"9[?5;%-^7H=_H)3M[]WY?3'-VC7- K2OG_>@$?*G]I8=
M>\!9QC.6E$BUX _$LFQSN]@+321)%FI>YPGQ56OTMIIIT=<PBL)=DJ+7\&/K
ML6D2M=VB[EMT:( 5"5)1![(L?S=ABHBK!HV+6,$BP65W\!!QLZ#A$*I:V9QN
MHV7CL)F@E\Y7(0F9YZ/W39>C=7C)\_ W,:))IMT"R"! =KJQ_L3UA0#NZ]8F
M_J#1,&,YX L?C@,BJR#L1##3A1B'C27R+QU=7H*\=.V/@3SG#!F6N9L9=84@
M&N$E##LGZPJHF_+JG%[D&5E?6S6'?!3N"1Q9F3AQC=(4!93+DK5O2[88:B_
M4)LA_X>/9/]C@,)J#?@/IZGCO_SZB+\>W<4YR2 XU%S36MC35&\(:7N(:<2_
M='C'Q[\)*CU<O6=E(Y8*>]18-I7T@VD>I\?6TG/Z@%J*\NZYNVLG:GVUSO&L
MHRCY3G+-W&/V&)/M,'],,H[]:.1X$Q&3BDI0K<"#G^T1ZNX+R:+-O5:+8<()
MPX1VMI+Z1D)&0$8Q<<Y#VN.U><^2ZS"9@$>2_H.&CJL9Y3"5S7WJ/A.@EVI,
M[:ERLAS7]9Q]CP8OMN. C#HRXVBVLPJ/+TD2? \CDNC_(<[QVD-",LNPY@J*
M#&/AI>DAC#_^Y44%6JV;+I8U&\TT1*J,83L 6=V;2<EE<.^V7C06K*,@. 'V
M)GA=9/CT9=F5_^\BS"H:2?Z8(K[CM[B?9E^ZUQWRL=RT?8A]MB/=L-$B]_+W
MFNVKRFIM_2X]%ZF_\3)TY?M)$9/4%:V,I(*+QN^K^<@^D3R8.9;+0_\UB0J"
M("<1.:>U=<CKJQW<5N55$.8I^MG9I+KHSK>?YB@[Q-=ADHGQ93>V#B\6_5#X
M$=\4F,>-_<-;ZL595+*&7S#!X.@#%0;0##V&<1VA3S;<W0:Z-WZ/Z5& N&_!
MH(WNVXV^YTF,__?_H#1#]#0!G(:ZJQ]@K-_QT3YD7%!HS70[O2,L"B1[[^<D
M*FWQ[QR_=T939U6M3,Z?7J.@QVM#UH.,J$= E23FJE&5VOF3-.#X:J6EAJ-K
M%X5]!XW!!6DXI=Q<!;)#^Y1+' [(ZCN=E$Z('F0@=%,]@=SF.!3J))$G'D)V
M6M1]+NC"I>,(J!\'CC +V8U3]VF0D84=QT/];/2D;1/K_ROD]0_E?1,0_!=D
M"!CJ!A,X_ TR#E1%APD4_@X9!::298[FWA.CW?_E/$,OLSQN]R.#9ZM;'9?5
M6+?]BPD"S5(KU<6:WON>G"OT&.[18*^_I&QMM[ ;Q 5='ZK(M\C+:'F<QHP
M<9FG*9)P/Z[I6'6425,.W1#1%*4[+\T/9 Z,[$/49M/F1D*[1I[^P.\$$:+[
MDV(FXY+O.[\E_8J?-:^(+ 8%W*(]BI(=*:S@;^(D2CX.+^''AE&D6K:7M>4\
MQ#6C<!;]4QT%ZG(5Z."8D2YSV6??609/=>L=(G*'CNHWKNV4TUKSO-Y2+T D
MTIL]F7X3J ?C[K..R19XPBD/8Z]P@Y>W2Q]35]-M8W%O*%RR_(Y(=;:>Y;4L
M<T^NXR;<\7>%UP,B3WWE^\6VB$AMY:MMDN;A'^6TU=EJUD#6%GVD7OP-&S33
M3&<%1$<._W-&LK8!9?WEP=/+VPM>#XB7YPFQ8H<%G:8]8\-IRO8"\ZK@R8Q]
M4ZA= 9ZF;QE:%]%CN&9%1$AU=<ZM34X=>O+Q$:DH0;O!L-7T\C#(*SA!0R'E
M$31"YRD)$5V8A(R8T&=(184OB=(09,@(B1-&\C2OQ]16\AI"1\"H%1MFT3CJ
M3V"C(C:4CC1 =$.)!=I7T!!)4>:1&MDV2J/4?8X@1[MR=J%S_GZ.LMX<^4:>
M&M910#2HS8_P#+3!CGK*JK/1ZKIER-!H9Q+9? )D&*9YYGM:>D>]B<=<&3F5
M/V1 C$E3RJ\[9)2FN4=<*XNC?MA:]3E,(X&CX&@\.T,KCZ..ZXIZT+%F)4?1
MT7ABN&8I1UW^M5*;TESDJ,^_WEMD#(D)_/[/9^OH-C<3</P#(AQREKHYQD)4
M$0_/7HJEFPW*0[^WF,EFRYFC@;+PK*PGM'/0)$$,$3]T0[ZSO;1\.>82B":-
MFXVOVPB@^7P)@@ 6!*&PW&LO(MF)7S<(Y8_D"[W,#_VL<:SFH!; 3VW([C"'
M1=@/@&A+/4/M#6-!@D[V271Y8U?KUSSQ?^=<$'9[>YZTK9EP#Q6EH8N3MG\#
M',_$"2]I[/E.C=N=%Z;D7@Z)B[1WH](8;GH#*G/<G<QW/786M'%W<8(S@IB(
MG^RDS>)P/8X@P7,VT0.%\\XCY],5$4,)&ABI6R/D,CLV.PIKY @$O.MR)@9N
MW!/Y[(-4U1#UM1WB!1F!)1_EA)13D>V%C)/&FV/=ZWXR3QIY3-C,"F1'!YT
MG)?#U2TS4YNCNOO<8>1(?;KZ7X>W8C'NG%5SB4-OY,HP"0=8*C.IQ-T/#_\3
MOGYOWU&T1U^3.-^,,&#)#+H4*QJ[/_^#O/3M>Z)E6YJQ7%HZ_K)Z:#)_-(>6
M?Y\4K+0%(P=S:?&XK;[%D\$<67Q9/E<K MT1(<*@,ZO%[*T-"OP59(7(B((4
ML@SEW*KQG']HSF4+00,'OZB-$TJSD:PI9$41-+PJ?A:R9@D88A4+[&@$B17
M2J;1Y9B2"0'KL=HN!Z"80DTA'@6@*O@FB;,D"@,2E-;6]%>*W7:H[1YS]WB-
MZ$R=KX8L=-5,#BPU,*>AQ=1Y]5RJ\D9<MWYZVT61R\3TQ?O^%9_?-,1T ]_&
MU?H%92C=(^'!8'=<%+(4G'])TM\?XN<T\5&F!C2GI_UE$=J>83I'K&)JR^+T
MM+\LML:HT\0Y_9#X'>C&3U()+V1I75KMPWU4YJ;A&;GMG+<!-!"+QF;\GO/>
M*4=U,2.1X#UMCNI81B(Q9RGM&0_HA4$MLF=7<5"FTZA?!8...C(?9DEI(P;0
MG*!=YN/,$GORG6<GN/'A?,7D)?1+1# %7F,*7%ZP>S1@IV5[+;)8JP9-!=>;
M]\F43CI-;$_T(<;DBY K_F1/S>P6QJCN;7V)&5.F-+2-<J.LK8F0S"ID>CHG
M&HY_E([)AQ0>!<CR@UPF1>47<&Y"I;X#PWWV0*.S2)IG'P3ZZ^RHJ*D5BM;[
M[ZB\J0<.VKOLLLU>U_G@<RZSE=<3_#KGAV?\0XZ7?O?O(MP1#LBR994Y+Y8,
MK] 10+ -<Y9RH3:"[M86^.C% 6/RY4^STS_,4:Z_+L*(1-P22OJPW:7)OI2-
MFJ)AU-WE][%W'I&7H4T22:^#T\':(KYZ_@;3KO30ONB\17 ZV LG*%+\Y.'G
M",_I/OPD?^)N!+N]O61?WB[,O8B$GMXDVUV1H_0U6>??O13Q5B+L9F]!F#/(
MT\(GG$AIH_K ('-WA=?#HN*)\1B6;)PJFU!U@K<8WK8(.MG+L7A*,G^+=BGR
MPSH+[RY"I?00=Y+/,Y?!6+:VX>'M-MMAAMO%.2VI.KM/#ZX2\=.@M5YB _,X
M>"IN'/+21T25R4E.;BJ'%_7GV6=>(+PXJ@<]DPYPI"!'-:'G <*3J!S5A)X'
M"$<Z<S0XZ3P\Q**>H]%'9\+"$Q@=+8-S'B(BV=/18CB&0#%X4OX)'11]LK 1
MO@Z\,,,7E6=JG3N)/?CX8($\:,6(&O&BY7UPL#UMWTFYCIK=/'D?97K+BCM9
M4P?=;7=1<D"HK'/:F1C?@4[<;S&\.6!XNT5KA+<K>$%[%!>(O^>,QC9UO>0R
M/6#:MT6EUQ%__NSVEMUN!T1!Q@67V<GV?DBO0VD)L)7*ZB_9T8-2XD4!K4$4
MN$HI@Z+P,D'&1;68NX"=6+3+SFJ7S[L&K!?:4;7R>6!P7GQ'M<KGX2%B'QS5
M+&LY)./Q "BSMTY\]<=KM$XZ_VQ8-J=^55(\%_0U)J%3ORLAI'/ZS5NH'9=P
MA0#TF&39/;Z[-YC!#N,BC#]6F/TIU8K9\*CB/V1YZ#/$@G-&7&3[LW;F'O\U
M_&"5L3QC0)= N/O,4P\_=F'LI8>21#TE,9$<,4W&4_MXP#)DBH^;/I2DO^BZ
M7"SWBE!$8QXIARP!J4J!XB?+34%0FM>3/R%:'B#0H"W2LZ7S<7P&YR%D3X*9
M_*LY!R&LEB@;Y4QM',X/I@6RUOA<X8O:3K.@U?H&4Z@:M+$7>5+MV'%"=>CM
M-8KQ&6+Q<H).\Y8&88A!S'1+R3XDCR.FU<TME-M;Y>Z691<RH?4:^7EV%97?
M0<%MF.*_1X>WI*(ZU?^^I5Z<>:6G'#MUZ_@1 < @<V45=M$!T8E'[X]BTI 0
M@V9K!7R+:,FR!!TR!G)B(>N!=5,$7*09I4NM],"Y+*?(WO>S7D.7K8/J (TZ
M'; %KO9U:/WS]>'_%&F8!:%?>38O(A<@D>L>X7OB18QS2=,J,'BZ$0,MHID#
M%JJR^/Q5'#SBT34<D]'#V;LAE:)1PPU1'VB1YQ9Y#A+[,N:U@(S+(N,M,I[X
MU(]_ B]!YAOS/BZBGCNB7FN]5T$05C-]B-=)NO46@0Z<0%=?L_B#6(9OO#0]
MX)WZ[J4!BRWE=+"V" SD,\+7)* *1ZQ6%O.;YBC+\71(&=JO'<(Q2'<Z;&DO
MHV<KL)B\;26%'4K(PN:@%L ],9P.]L\Z!_IN&_M35;F6O^)'RBLBZP&<9=YN
M[N4<MINWANJ(99;F+1SQWT[3PW^I^-\R40=*/E)OMPDQ'TR9*+_MM%.N- +M
M25#/++_MH@=LIW_.,(.595?^OXLP"T5O!:,UJ.F3/Z8(\5\,83_[.KJK(M^4
M$@5G0QB- 4V>NPW,YJXOP/[KV#A:WR1%G*<'[@M);VN3'[E)$99)VV++U99,
MCLV;,'MH%AMK)O_/?_KKGZB8,AIIGD7CEE!Z$V/)M(RU9,^'UQR&":IM2^:>
M55$ON^QH2X&"F>4<4P(L@;\E+3T"CTF5Z&WL-/\D<YI_,G.:.]G2UJ$?YNS)
M,-MJGE-M$\$GK3QQ[ G1&UH[AO_RHJ*2X:,H^4[$XM;E+Z6@FXT7?Z"'F$M1
ME8<Q=C#_(G,P_V+F$. +&94HO*"@2H1YY>>K]=OWY&V3%)D7!V_?L8QQP/_
MGJ7Z(-8.S[<X17[R$9-4J!C<6K>=O6V\_)>D*%,*>WY>>8&%>T*27O"19QRA
MD8.9.4AMM#=AFA]>25(/X='B=H.V3<=WXAG%7D2>>)(6NP[^J<T5:GLE-:+F
M#?L61^$VQ.2]S<M5FB?V=HD[.;59=1X-C9O5C @-AEODIR1A>?:",BPO87ZG
M#'NK',RK#20K2BH9G<4]:1I<=Z ,2GW\(>\#K=;U1VMF02Y01J&[F9FOUG>?
M?IB1,[6*GU#^FB?^[R]H5Z3^AL#*F;6PJ[6#^$(,FS$*[KPT+DL'#!A*QB&3
MZ&CQ=@5AEJ?A>Y&?)KA:UT;\U^(]"X/02T.F_*$P@&Y&N_I$\TW\J=\P0_"6
MK&+T%F)Z1IS)R_N)CQ*5_U;IKWGN-TF:Q-X^3(OL*@Q>4!2B-0E(]8FA/?1?
MD5\0G=!]$0>$H:;:F)7'6-SOH/A<:7(IX=GV'5V_P+38K5M$L;*#7C;7U4[6
M"M\I8\,Q>+N/!-42WE[^X) XLN9:Q:]ET4># >S%BV^\V'F#49W<A:N_.!;W
MUBOE1T#6+;#>NXL "-?JB9\VOL] MT";T#[O/AY\BSW5>7A@778$!=Z3=SX,
MLWD$15X$G2S3=$/])41@< W]C@(@(?FP_ @<7[$<YR=V7X ,P_D,H(!C@KQX
MS81/Z/]Q"6%6TEXCCH*A3@Y_<GS[1Y!#MO\+9 S.IX4BSA'RZC410YZOT26$
M4ZJ[*SF*BCHA_(L+YT ?$6!J%2 O7R<5&.%LYG*1&5D*,=8GS5%L%.D$WZ\-
M,@;Z*$?/UN)H#7L=ET+. ]!1@&1OAH0#(60$-+ZH3!.TB?7_;097Y.AW:0*@
MO[L!D+)'I@FL_@$$*W4_3A-H_!,@&F+?4".J3&B^6S+>I$: @&;+4?% -0((
M%,WN"*=6(WA T?2,=)1U+)T6O50-?A^3* QJ:M!1:V6M(JF&"X@./DV,+IR*
MKO32G-*C&"LJ*IB!1'E1J1'LA>QWK:+UI*[>,5GU?%94@J"3H;CS5BVKXS?O
MPT\45+#2=D&V*P3XJZE@KD8>_&$7. O!?VC^K697;Y(M^6\E$L9!P_N_;KP4
M76/V+6@WN$F8%3>-?&K>Z9EFDCB(3G>^)$GP/8RB2J;VXH\04]3J9/3_KD3/
M5,8UEVJC^L I7 .Q@N"$?<RF ZE!ZW[T)?S88*GM6T;'?_PX$([@D?@,_<F(
M'@-A9G:C0,)XHTRR=;?H/2<L)25#@VPO.-OR$.]1C+]SD-V!4X=)P,9L^AZE
M1-&Z*D6,55S]2TZ(RE.2"^^XVEAP-D8YJ:S*"-:726,T!>NB=K&^$ %E.H^N
M@5B>_ Y!WIL>XUNZ]HWGFZON<!;X)<577'8Y56,XDQ^Z&<FNA-(3SK*PN*D@
MF3H:.3Y>D754/ZKJD!P//Y%3) V\\85*G?G PE3P=")SC.A1((,HYWLP3B,[
MP^C7><5^"NP\YY%AN3OH>/2+/-W5J$6;#V9<HBRIBW,4#3,WC'H('0^J&,G;
MJ&E&YX/1:$:'JTAUW"5?RQGJJFCG@\BX$]/2\4)V.I_J<,BHE.>#T[@C,W7:
MLPE=U,<S@G2E]7S@T/D>.>O'KEM>F!,0NC0SM?;=44=^;<#46GM'??2UP4#3
M_SOJJ:\-D])X, <WVQ?D)[&/:6&YPZMU'9Q!8ND+PI*2>-"WY!@A>NQ)_MUL
MF5ORA>[L!J([M=PLKY_V$A?,;XK+XK+Z6"[?11C*,FB)4J7Z&F'VH7UZ[C[Q
ME<'7-XR]]%!"_(37@WOB X>G]M'$AC$,;2:_:+\*FKCJ]^DL=,Z!P'%6XP?L
M@]2=6+]P>DEE0DQ\2-Q8Z$4B1!1'L[9\.CVE[2"54 @.B*[1@<&CY:AH&7IQ
MLG; R9I!%!C4\RKO<SZ=[5<C/"._ 0VJ3I(Y<1D^U5% DQ?%M9\U)+1]/VJ,
M%'>ZU0_TW@K7IS@(M/W#''%0I4'"\D1-@I2CD_2,#0V:%[3S\O0H['8CC=60
MX \%^@+<!V'(K6"I.(@QL5IX].X^D5^0B;9/'E_L'CFFYC7*($R;7,7%XQ&(
MO)>%0<W)4W?3X(<LH$'4!*N86([O/OTRK^'8Y5)&LK >49B2\A@6UM!0O1K&
MQZ&7^UE#07L]R)O?7 N?'6\AVQO:\IILH>,C #0,/,U;\H+R(HW?DN<TV8?$
MU> J^*W(<N)Y+] NRP\#;7M+J][QG^(/FBI]U!#V%\HM""IJ#9I5&Z>7T#$R
M:%BTB#@&/@0:M#'"S_GC@H:$"#%U4K8S1:%F%"!R@K1@I/<#0%;/$%[H.VWR
M2R#DI#.7S1[0LM1TRBVI0WYJC09#DCISVS@C@B;)DD+6J*% +_Q\\4OW5RS<
M U7![.PQ01^)JL0K$X&SA@*V<)I[PMG^#8Y&[:OXP WKOS.=T5R.H%6%9!*G
M-D<!->>I1BU,I>JWXSBJFGV[VI#J\8L"C>_EY Q0K%4A<#&>-$/$Y/G31Q%]
M;:Y?CD)HE<RS_:<<1],R>9\6UPGB[O5<= U'VU'\K-[RMB>=X_A9OM>FD9R\
MHH6>)UO5SN=H7@ 3T FL?8Z&Q9^%E*IOI*.1X3IT2&,-C([&C(^'S) CIZ-!
MYV9QI+F .AJ);A8H\_F5IB\FIQLCJN_J/,K-Z6$@AH;8>=2>TX..DK5V'D7J
M-' 2?/.N$9@<9=\9WKI&((+.MS/]?(V@ 95#U^HV; 0YJ(RZ=AV/$?2@LN<F
M_;*-  F5?=?HJVU$V0J5I1_MT&T$):C<O EW<2, 0F7XC7J<&T$2M 1PIJ^Z
M$<"@R@)GN[\;00NJ6*#%J=X(8G,0':91^_S935D!F [HSU!E!DW^_D8PFX-X
M, P,,.(TX*9$0 \EF$.VWM=BN_72PVI=J@O)S2$/6I@$^)?WWS 4;\G=I[<-
MXW+1UX>6$H@XC=7O(2%31;XA:)2U.,[)XJLSAO\X\<&>LR/Y*7T@I",X3HN6
M!UC<WMH2\(4AQ^-_D)<R)MUN86V:> +5N:?FH&2ULA?QY*41OFEYC=O7#AGL
M!S=1V]I'FI*!E-Y&[U2S-&]-$__M-$7\EU]+RD9>P"\H^4B]W2;TO8@R57[;
M::=<A8JU)T$]Q?RV2PK:B5/0-E,J1>_T4$VK_LMI:O4__/KMM3>IU@_6[O(C
M/O]R1(C6T@**KW<,%/$/SD5V*C$\#.MGGZV '-^DYK,N!T6'/7%\\0P>IB/>
MT/D&T OG!O!QN8KVR@?@N+MF*3:%K%W '+B+P&6%;4I+@VX6]683-BGFEBRZ
MS20Y'@TH0<2I7!?D9>L]X0+R!QD(G6>=L+*0(^3T;CKCG9^#"K:GAU]_BU/\
M+Q]Q^$=I_ZE=$VUK55]#/*,U/I)QWABI&!-]P"OR,KP'[]'A.<DRXM,@TK_J
M&MV:)'S> G@Z71TC+[H=!\H+,7:5<2Q8K:%-'Q.Z%)]*0N:R(B). &7:I"(E
MV6,J4DYH>I*%M55-9;6J@T,#YQ;1YO],'K5SH5$;6G->/L:<J@^717!;TXO(
M?WN+&SN*LSH\S<]KFV72\C1!EB"E.4V-C[2;HO;E*%4D)&V#5X[YE#LJG-J#
M3)E]@"P2@T18D0=Q-)6,07Q'<SR.*2]>\\3_?9-$>,NRNW\7Y(D(@K":\$.\
M3M)M[5!NH(;[\-M/"<E"V:A36/H%Q<Z:V6#1AYDEW>4Z6I-F2,S 0YQA#IDP
MP1P_'DI#()-^\K:(Z^K%;&YM <^1%___[7UI<^2XD>A?V9COZW'/^@[OB]#9
MUFZW2J%2SX3]Q4&1*!4]+%(+DI+*O_X!X$WBY(5$=478T]U5  J92.2-3.6V
M>X.6(.@-8U(7<4!D,ZT ^X;HCW*S/S0G64>IA(0[0ZQOU.#L_TED@D<$^MPT
ML(G10T(D[S\03NC_R_<O5TG\AC![P+9%,1%LE&.EUSEZ>B??'HO_WH0O^TQ,
M*7,M;<\+S'V8?($QU3186OWEL1GSX!T96WSW<,#^\T2V1JZ(UF$O\E/6$$=T
MSPR'?H8"QBV^$5TF?=Q^DZ:4R>=8 ^4R3XD^D:87/A'<A=K,_HJ1_$#5\V:^
MR!=OY$<"]"7RQ3=R,,8:6ANJ%?/J[AA0%"#>M&BTM>T3?G*@98')G6(,A%A"
M:=[8#[WMBT;/[E%^(]<=!84>D8HIEC]P[KXS'HZ3O/LPFWXVP))J],S[ZK%$
MRN 19I89T;H:+BG&GMD"]M0AG/@(!:P#!Z4WNKO-KD6*(@U).<^>ZD!__A&]
MYMC?4XE]G>,P?BG\!\7%$BD"ZHG ]"$CC<;RYA_(;1!&YIL!P##<4@-%6F#)
M'V\^B(X=IH1MQZ6W+\FH.X=P <*M?/KL6 K^TC_M+&(_DX%9#=HOB)HG*+@@
MAHSW@MB7UUZ&;KT0+XECTUW81?>S&M!G : _,Z%? 5H#]$F&UR5^SCT$%O[%
MQM65LI?@3WLO+F&]>'G!Z(602?=J%BB8&[\3=^,>NU "W"4UQB,7XQK3-F/O
M->SA-4J."&T1?B/2F _^?5):!@S2E.V]7S[N/LG^CK+'.I(CP.]ROW=Z*"PY
M9(++C^@X$5=>>1-S.\<GRA1B;"GO7PW\?4XML,V.:QI8WPX$W\65]QH2TBAV
M1.Q:0E.(DL!MGM'\Z]+Z4WLU--=9^9%ZQ^8C9NT+]@YE"0Y"[T7-__XU,YD)
M)$QWZ_FH:F"@$:9K#7=/$^C>H8LW+XQHF)>0&E/4YY;UJI]S#X'L/U1#J?T?
M4O5_KI]P+N=T7$9%G>JBF=4 .CM0ZTVQ.,VAG58ESBL C0%UJA0_#-DE WDN
M &@$:)$ +T&@??A]'#D"<9D9, /(=98!;-#5U*Y*#ZKI?K;\!\<1MF2N0YO>
M%*D!CF-1.UN@IK]AV!XT"K38+#>XWWG#L@BQN8\X1:I!&X4:E 89'WK-S8TR
M;L5:G -/>13U3T>I]\H,$->?KRPLLF29*I!1M_#=ZG%WR)A8Y%HI4X9<?[.T
MQK4R3&V"C-*%KUO7@(.,B$6%F$:.&.2W; L3B5!QA(R31>E%)P'/Y6;PTY C
M2.1SN>?[=(24R8$N-W5?@"KF3CYTN0&\5?0:IR"ZW")^.J87R3YTN9F\'91.
MS4=TNC>]'7XQ,0?1Z1;WDS"^8.+A(DAUPG!;.Q5Q$4R#-GFLYP<N@W,G+*D1
M&8J+( NTE664X[@(>IRPO\2YDHO@Y+2-)F7ZY2(X=<<\FBTCT[&R5PV.ACAD
MGPQD:-G VW+!;BTUBG:3]<NZXWU%B:I0Z8 NQCS9,/@5>UG'_AX%>80VNWE
MDI;T7N2W+'>IK%LR?"DW*ZEY(9L!#0QIT1;Y'& I]")J!/;NGI(T$<->A/B%
M*L3C;)8O0D02[XE-=(W>4)2\4FHHY8"JB)%RICTR0A%9[N4SBFG/7[+%B^!
MY"U1.#V:ZEWN4GY*9FLX]Y9B86G;T<*6D5"0L]ST*WLO*;V'K1,%L@XR*O7R
M235$N08V7,@GU<AK6N-.KQA77[T-IT*5ZGK%!C+?T33!T2C0TB$<S>8:C11#
M#>2$7 LW:18>")[Z<?N+-,T/A7?==D>PL5XAE4]AAH4!N!'&9\7JN0ZFKN]>
MI:(ZY-RZ Y0#T*3@)X0/LQ=[4O_@JE4?'NE^N<96_]M5M_65\,E#?A!NK/O]
M^ACC^*&ZWP%STV@P.AEA_IQ$9)F(B)!'(CY*Y,_-:<TWL"Y)>A]RDNQ\?]+G
M7T!J\?S+#9P&DA_#]-=;C&CJ&<(HS5:^8K*?/V$$KT?#LI\_#017M_0Z? L#
M8L90"-?D#IW?==;=.Y_MP_?P3C8>''<@+83?!2T/1Q$NL"NJ)*R>;@\:2*F#
MFVL-5%!V$  9QA'QD)G<$!U4.?V.>P46LY))Y^@!J%A.UW9SW./M+I552K>C
M#X(=.@"I4>GHDV/7T;\D]:^0>N\0^OD&Z0E%\K;YX>#AXV97%LOT,P)I=CQ'
M[\[1.U>C=Q,>I3<]HYL[DUX\TXB^/WN-:ZW?="\0VGF52]_A5:Z(A'ZTR;,T
M\^(@C%]ZN0./B H,\OE5$C/8<R]:)' Z_P:=I?<6L(])%-TFF'ZY$*$+?FR)
M1A=3KB/_ ;^ ":SRD\Z2E_J*"4!?B +'[\?9(VC!5KPA7/YRE[\S"\I2Y/_F
M)7G[,4!A@2WREP9)Y!___$*.*[J),Z*T<G(I>"-6VECQB]P'.H.O3X&\>M*R
M*I_$RE!1?K];2[CH;N34D6X7T^ZBMUN9:B$L]GX$+K*$IIY.':]9Z''&'=AM
MH%P4JAZ6;FPU*ZFKS@GISGPA=VEK4(+/!GF9;0(NLA5@$G-LA\*,.1^8@AP6
M9:"79H3JWSU=E%J0WM/VY.Q1E&!0[^2B9M#P=TX!91;H5/?7G46OVA>Q**%J
M__RI(=@N64_<U#DE]9R2.B]^30)?\Q<EGB<\]+V>W3)I$(K0D*/(7C,V-.<Q
M3 BA.'I2Z\0V%[HJE<X&&O?27'1)3(7B;!C9@ RJW91T+BHAHVO=6VD8,%KH
MQLJ- $>SV)U1+;1IX'L]B-6%63_Z=4;\&OQJSBC;^5'* M="82!_KS@W9T\C
M J%GY$)@08;!V//+K-8AK.-]^%Y1OKJ.I!$K/Y\% #-O8@#^>WU>M_I]XD3G
MS[@'<'^T8Z6.-IEU[Z;H9PV<CP3 !9J:@W#Z#XT?"/;B;(^RT">F]?G5\?G5
M\>CU9WY(2#1$G_P N915V[5M_OPO<HN?DD:OY#T'U)NX:LG1IS"C&+XC_/ M
M#'(O$I2=Y8^SN]5?PFS_B*)"<=^'KT_)C?AEU9@5X&:X"0F^H'JR-2):'B(O
MOO<.2-H*:I&?LH:XNO=%XR^4MOD1C[<&0H-6<2.R[IB9V=L];06(_)QV*N B
M3S1J56Y0__AFMR,:$186318,/"=,GA,FU_+O:BH,H!&G+%,IU22J*GG&,APT
M3F8@I@F"G-M\?BCW0&-0J[L75R+.$\&281DRXNRFKPD.!C+"%(4]1]H6-8?G
MZ4R0\V/L5^05B O(2%N.AF0*[2EZ^AY1FN&0NCW9H&]D4^?Z@F=/W_=87["X
M&7<QN1 Y W"3[1%^VGMQ&2D@HN6-!0L6K,,V;A-PD7UVC_$1Q^&[Z>/VFZK5
MMV0.7!H83>NKEOJ<N)L31'_-:GH!4);H?.UEJ*[&;(\+JK=VR@>S3/D!X]__
M?CWTR^%8D); /7&K6SG!^R5]R0& ^YGN[^2/R/()G"*"BTL/]PZ8[N_DC\CR
M"9PB@ENYZ? N@-'F3O=P+%Z X0Y<UR[%&;E*@G=@P^=$DW.BR9KX7=D1?>J'
M,%."AL+S>NI87-89NS+]:PBI\WF.B&:M?(SN5^0Z)T@!37!9,4'*A8HY7(7%
MKB?[>ST*EP2NL4/\?*A@I>X:Q<-<J-QCR78[%ZERGAL:AT;.APJ6&_9C*-]K
M32"7[I]96.9\HF O'R>$\[W6%)KO_CD0B/G>7E*<"ZCH+7Q^5G$NH'(NH'(N
MH'(*+T0$%ZXG)>CO(;Q+\,&+?=0$),75/LP6.#=X=Z#!N_4L]G.=F7/ZSSG]
M9\YHVKG.S+G.S#)I3&.T"- H_7XZG9U32,XI)-;YU+G&SLFV&/P>JNO8"9(Z
M7J0)C".=H.(09@QZ(H)HE^@PIM-"U(IOW,5,DZ'_F.8K%UB[DDV(?-SZ\V:V
MS"6_R?,WZ\U9U6I_P$F0^]D&;Q%^(_==X)3E#K.Q48JS<@^IT/LJ'CNW9^;S
ME[O#J^=G%Q*_3'^,-4?6ER1^H?W>'W+L[PE;:RCQ\GCE9>@EH8$R>E&J$8'$
MY35V-8#@"[8K]6:/7>W[!O^?1(QY>62Q'@^QS1'1&_:$-URC-Q0EKTRR-X)?
M5>-):[8]\)*C%V5'&OV/4U&\LS?(VF:I\*/Y$41?VCP3#:50*G)T%]\3G>;I
M'47$@"%C]B(>9+" <^YE8V6HMO_46@EHXUCIV)3I+)5"+E$70 ,OM^V42E#C
M QAH)I#!5AIP1MIVCP9Z= (9#WHNR(EZ7-MI-EHI< 2+I;8!%(VU-@0;G>JH
MRD3=LO?^6T\_<Q1EH\2Z2+N#[*:<GZ=/OKB0T;44R9CHV(ZY*YN\WRN:*X^S
MD!#,%L4$B/LD0^F5A_&18(EE-6]V_$&6\WVOT7/6I'.+')RJT=8LN.Z&9#FV
MO)% MBUQ<G$& MFT,MU2.!P( -7MO#@D>2PJ%RV=,K,S]Q\()P\)X<M/9!AA
M$6\HO@W?4)DK). >.2(L-,Z.Q7]ODYR?][; #YQS1QW('>W2[[?8.R3DB/]-
M%& BN[3IGC=O9N+?Q(B1)J511J<&1'E#'Q2)R7ZNI2T>X@YAC(+;,*8)7%=)
MFJ7W2'QT_-$VO:P5HAF*'[PCE;Y7.<9(2("*2;/'47FTP(^><D<ZY]W5U/_:
MFCQ7UP)M!6MYL\2ZF!AX5S+C-%PGHPF@KS^=%!XDR;4SJVF0T::=UR0QPU9-
M<?N.LHY7+'<TFD5P]<V30H:$3\RFT4)&V%P<0B:,(6=^SGU[!(J^XT5*#%"@
M,A:6P,3O0&%":I XYB'G@[% +N_9#W[V@Y_]X*, N/5\9. #;PVW5S0B\S+F
M$"EJ[- 7%$G,(I-B"I+/L09*;S=22N*/M7<*^7.*_B^G*'VCK$1>H4 T&M+V
MY>5#A./=!V%R6O39JS_"+7XX)#%[C2U-^1Z.6_7=RR/->Q+6TFA_N^JVOA+=
M]9 ?A!OK?K\^Q@3OF)KO@$C_1Q2@ S,ABA*+VCH8=R)0H ST,\'44P7,_GN8
M[3[!&<VFH]M5Z1#<L7"VKB@_QA_M]O:7TAQN/OP]XY5Q0+46'X>,=B]>,"J>
M1XLU ]VI,^^X>]VJ301<TTICPCFYR,JE:'Q3#UX8W,57WFN8>9%40Y//6>AB
M!$_O3.\E>O!]&!?.4O6=D,Q:\SI<4?=V%*%^4TZ3F3/OMRX_O-G=$'P$ :W,
M0(F6QC2*XL9B].I/GGG77Y,@W(6&Q*">M"@MW*5ICH+;!%]YZ5Y- -WA<[=0
M;0F()^S%J>>S,B5BY"EF+'*^/O.0;W84,>(#[8R:>1\EJ9 _&'M7$)AD-!!%
M^B[.$$9I]NAEB'D&@Z8DGY8Z+5U@;B]*4SS=[!ST)EH[D@><^ @%Z2U.#BT%
M@4/E.C,6DK.M.ZX6K\/!]I!;E Q*"WY F6@=4A8A5S)C&7:B)Z[F%U.3D?N9
M6#[IER1-4;J);S[H4Z@\3/<4?5PNK3_OG&1\*HGN"THL:H;K>>F&LX" \]7+
M<IK(0#M_:$'2F0 $B)8(HE(UI9T_.J5]J=/^ 8<^$0SARXO0@)RZ*F!T$(E(
MU8]K[ZA'L*HU%K5,6C].+DY2Q%O5%@I_VOH[W:(LT[*II;,!$Q/Y+"VK0[9H
MXM-HPA*M!P\%C3?AD5IYQB /YD,&D?&V"2"6\X& V!;!UT2$Q2]5,S-#^=V9
M;+=A"\.P,%!0#P!R JW0%]V6H:4OGKTHA[_P?9RS3FK?XE?F5BXH0<W=A3.M
M'4>U@[)N"-TNL9BC/"B>#U&%F_FN!.>A/=U>U*"UB\*0J\R'!XP.87X010Z4
M\X" 5-AY!-\R!X)TRLR798BYML."=TD4,X#PJC;#O]GM$&T1:,JQ5&M8+P$J
M\9!TAH#P3%940@NXU)E8&OY)_CP0N&^UVE0>0C-V;J]V$4))JAI)K0ZF[&<%
M6<EF<^<6T25W?AQZ+8;?0XMAJ\E78R(0-MG2^R]1C':A'])]5A; +?(XG2DG
M+;5<Q0'FT6Y%#IB\W.R^A-YS&+43OGD4-VJ=U6'I9:Z/ Z2_B'57^9/W42$W
M'%2+4 RVR!S^E:=%';>G1'#A>YCNE"Z3R.Y9EK8G()O3D9<FX0RT]WS$P]'Q
M$;T6H;O-KDBNDIR19 (0UGX7^QA1F5Z8L0*[UVRNQ9=*1&@6&2QM]TW1\Z^5
M(M0M#NC32(>8I4Q<%!HRF'8Y,RXTU[1*\LWVRLU1@JV=.$Q_E3E!M:8OZJ)J
M].Q'1'.!"?;5WBG>)""<I^U,[A2WV>R>]DBNP\RQXLR'1?,,-G&75'CGPQUW
M+FCE7%D:/ECG@E:Z!-!V.8#&@185:+V1;B-#\!+Y!# A?Z?<Z9TJ?E#K"!YD
M#0?F0,3)M PXC3I.*R),6JF@6\)G\+#94= %[Y^K_BZ]-\B@@50V-1J\6JZ@
M["  ,HQSU2+K80,RR&,40MF+;[%R)'IY[ AV9&)Q.?0X(BSUM"C9.^UN_WG!
MLV)'<"#5H"8BP1&"4"L#BK?CM?*D_8P;<I'+&>OZ*1Z)GQ06W*ZAO"+:M#5K
MQ>-TR&B8NU"L@!-#1L$";%7V[OOTR^8:U1EP'!U*'F%:Q  R/LY5I6?C%!H%
M(DZ_N+2Z" 5D'"Q[&_CV+F1\S'@[5.4_OI-JX[PJ(Y!!GUV9% 5&("-AQFL@
MJRJR! I^#^H*J!]1#"O$0,;*[+=#'DF&C(H9[XAF$9XEL/$'D-=%6KW'<328
MVN&<(D%+8."/, E!5FG(<3082M"US*L_@20$C:I(2R#CSR"1L6HOIT\NY->M
MUPT.5N!'K5^6]9P6P04LERU_:+<8U")H@.604F:+ZY:36@17L#P4^KCJU)I:
M!#.P#%?]"E:+( .666)<)&L1G,#4T"=4UEH$2S#55X/B6XM@!:H>JUVO:Y&0
MF@N:K;C$UR(H@:G>M@N#+0*V"YJLI-38(CB!I=8:E3%;!!\P55?]^F>+( 66
MUEHGLZEKIBV"#5AJ*Q\;_7)KBR "EJZJ5=5M$3RXH(TJR\(M@AF8&FFWBMPB
MF2HPE4Z-JG2+8 .FOBDH:+<(!F"IGH;E\Q;!"$3%LU.<;Q&H8:J7.O7^%D$'
M3,5R7*7 11 $2]><4'AP$>P 5$!'E#)<!#50=5)^X<-%4 !3^9RG?.(B>:4P
ME59>6<5%P(>II<H*-"Z"!EBJJLB:%91X7 0CL%151>%"[<J0BZ *IGX[L6[D
M(IB"J_KJE95<!"D U5V-BI6+H *6;CM+O<M%\ 1+RY/4S=2#_J\_]H G/_-K
MZVO.MQW<H(\,Q4'3PZT#_/O[^V\P>HU"LDL_P:^_\9/#CU7=SQ\S[R.)D\/Q
M1X8/Z@PA""6F+1&R^2&/Z N63;9'F)XH1GOZ,.0-$4F<'!"%^(HELJ=WL>;X
M:Y1Y8?2#M3+F>KL<G'*_9+GI,O;JMNOMM/.*9QRPQ1(6JT1K%*X<5(&6S;%7
MG5WV:+]?F)T[%@*Y,1](Q&)RC?7+;==L.-EN(7*:]D:8.[?)IV3@+)M.D?^;
ME^3MQP"%Q7[)7YIMDG_\\PMZ\:*;.",_R:%[WHB5-E;\(I>4!U];.V 9>[M'
M5+_Q/AYHJ)E099;A\#G/*--[2AX\2>.'J:LZ6U-[K+#M.,Z,Y!?H\FCG^LM+
MU+;2%#B.XV..J\037Y#1HOT@?8R.2Q'#%9B0,2)G(1+Y7T';E<*.5SV;XTY,
MEOB0<;CX!9JUU ,8'\C-X35*CJB,^V</$1$K3<CN+MXE^,"DC&5?1A56I>@F
M1U4(/HRI/X:>Q2]AMK^+@_ M#'(O>DC2#*,LQ.R[$C2EGV/6G[!GM_E[%.01
MHJFAD^&1>4H6^*%YD9;BK(4P\J\&68*B]26$_6]7W5:O8/Y@8]WOK9'98WV$
ME&7TRSSW2$4P&-#FI6XGX7#7 :A+;:]_\3C4TOW.>N?2"=SL\DAQ+&",XFNR
MQB_;=3?Q-]T =97$&?9\(@^$4$@)?>8?.2-+_T<F\Q)A.T6B!+,2O85%0I\-
M$B96Z:TW1,L-BU3,BQ=^OW&C!8"P]"VQ*=($?TE\]3GJS+0&UFV"4?C","X-
MAPS'P3P);2V'-P\F2%.):R$MP@"\A\+>9\9K>=U+3B:E.>6TY5G9[W[[Z7^%
M=T-SDDU-J84SNJ/V+HDN4O)8$?[UYSL;%5K";=%Q1BU@[8-V"I\;T>E9X&TB
M$5N+CF!!UFYJ.AH<:3CU'70GU&W5MYJ!/HB>S&B3.7(0\JZ )W 2CEQ_G=S=
M972-,6:XXZ@TL)?:A,DQ=D$C8H2>(3&'Q;)6@$!'<*.O?<R'G)-A2JI(1:=V
MA]*,=QP9R[AU93RZ[U^ C$#M#([E0MR\A]R+*C>0,VHLJAPC/$R0,0F$LE=H
MVC[7RVH@&%,Y&2"W@ .-0JZFY%CJW"-B280/'LZ.[<9X$-/G!'L=,-]!]$<Q
M#4":F^@8+H^=;[0RV4S6L@;ZUS!FUZ0J";%YCQ%.]^%K4^OP\GB?Q#2X00B5
M_/1+,40 _OCU+,8S=<Y)&JO57N"<E&@W*='M;+(V.2D"[8.!]N+I.(S]\-6+
MV#V7Q]!Y0U<E@)I=<='+&S%S6'_[BGQ:,.$N]L5A_.$@.T@2W)3N][#/SWZ^
MR81+;7_S52O"VP0_BM_Q]D?-?&>NGI"_CY,H>0F;+H##6\,;YFPNB*X.SL_O
M,%)S(;OYM)S&YIB:H!5#QM8(*WZ$0=0UU/5U:\B8.Z<*G4I6B!G#D,27N&JM
MHZ!+5*<Z(,313$%#JR1FKAI;$?0 &X[ RHLOFP+K2+Q8,^' U+DC$E\G0 A+
M(659@EDQ!#E&5QR80)!QL)X&N$)\T!)A".0CUPH]L;#H!%KH"2  X;F!OX-A
M!:'@\.,-G9?2.JTW<7Y V"M6IZW!;'E:OJ5HET=?PAVZ1JF/0X:MS8XUY)%Y
MC=3SK#F/FJUM]PDFEG:QK<WN"ZU5OL$7:8JR;QE+!)7ZC4<L9$IDOA?Y>>0M
M&P2F38&3* SH3;KT(MIN:KM'B$MUK0UQF06'&:1M;D"W4+."-#\4D>7_#(F8
MXW,!AD1^I3GV3=ULH-%IWE'XLL\8HU;ROM7A$=>D[)IY91H#&UZVO'($PN)<
MJ)NJ.AH>? F1 MF1YE%D%W% ,?%*]9E[Y,Y1MEI>$!#T#I8WRCUP>9#Q&H X
M EF/DPQAN_+2/3EB^@<]M#<O8L6RLJJ<NEL7E'=2'/;JLRYK*3$TJ&+EVIFV
M@)2SHE[3GO;@1N$'#:I*1#H(DAXS;76^Z]Y Z.#IB,B[."-V+"7+<C1JFDE_
M3I+@/:1!.D< 'B,J._+&/3@5(#EX*95B\F\H"IZ2K[33(CG3IC=/7W9 !U1/
M0&Y>F84>OS!SK^FFZ"ZP<H;4Z@I([C![!R2GYY^ 0Z['AG2ZKCH"L([8&8@6
MZ$"-$2WT\,*BNR-5ZY.87F,4^VU1 QUN)3>N%/A'Y"-BLM!6IRCK<R?H4.JQ
MXLL\#6.4IN1<G\.8K5D?*NWNE(9![4T5L&F'$"&_P *QQ.'/_P4<9$W^K%<+
MNRH.[@STROM]1^S6.$OPL>TS@PZ5MN^!-@R5N)0<@E-^74>P+LY5_AUP=.A=
MY4?ZP"Q&P8V':<O&M'6UKUE'=W< UE&U*H6Z8%)4K:X,?<? E-SD!XQ>B=I\
M\T$?8Z+*;N"';J #J\>[^JWE!?Y3AX!5Z!MJ0_#WP&'5N:Q=M>J10K/9?4L+
MY]QI0=K<4,Y9_L$,PI6Z&'8\X/TNA<67EC?7XQC</59COM^&B>->^G%BY=Q=
M\T9:)HOA5>121FN813S+8O8"A$NF6 -$UV/4 T8Y#0) ZKV#V*:<&W(&6MNT
M9NB?"X?>7)N]?[D1?CX?X@^&0$Q*'LH?:X^DQ!D'?#(2CK<(0C_R+MAY;YBU
M#>M%T[E :$VU!I@RYLJ%237+7M<815"5"XUBDO4V3.J(*1<L[>GV)(A&;)0O
M3=03K0&E8 ?VK[PT>BGDPZ(9UM4/?GQ2JH1PIU@#9$KTD0OFA 6A,6XEDU//
MLTF@9I%%$<T:K6)116K'$P6J4&N(S7,110=%)R 8[Q++4-ZD:6O:[.NE#/IQ
MX=68:%WSXX7VI+H>9X)-QZHZ=B=RM"IG0C"_N0$ZE0W.FV2WRZ:)40'1C%#$
MUC3TAOX<N^>AZ=KGCQT^$>T] K7R1O0Z3.FS[QRCROXAM[KO&6E>;/>_*4H'
M_P3A06E_:Y\QT;Z$OJ!.:Q3Z4)>HJ&]H #E;Q)FW42;.,-F3%!'J'$6#/B7<
MQ>6S;3XUN/M.QY0R6 D*!39:>MG%(2$R]-]L%SR<_"><E (SXE"XC 63K0&G
MYF1<L)33P)S6R;CWS3F- $C#96:NE3J6172 F;(2=*V*:;'IEK)H?-SLRL@,
MT<\W.[Z'C'P%2*GZ@@CVD<"75Y6JNL[10':PD<3H)=^3XW1'A1H#L-;<;W%
MB()ZN1&QGWTRE-!Q[M)[P@F8$<P:^TAGI4P$0X#[R0FZTV=FR8.;-^2U_2$P
M42R^,>;X%JX%Q#?2NA(FT13PXJ\6?-OP)0YWH4_S!8M@'P'F(8E"&JM\1'X2
M^P0BMJ_-[M)+0_\B#J[#*"<'MMU[&)4'!DDX_L)8%E%(WLCAO*#[G)8"Z^QY
MDV<IT6.H!G81_"M/LW;5]C:#Y"Y%L,96>41IAD,_*_-;G9&E J!$&-+&BPZ*
M74:1&0D5[37I%,++FXR?F]T.^=DF9G>I"J4\(,Q6;7F]MR@.$\Q\W\ZH(A,(
MBV&K>[T8ACK#74;#*L3#"SXZ\^)Z+K1)>7:%TQ*3NV_DPJ6THBG"K.\>K<5(
MF?DW8O&F8U^_KJ.I3,173Y,9NQHL\(6B61]FT1+0 %5Q53U8A:O,;/W,) B'
M-M,\"\\,K4J0#<%0S+!^&GS),L=Q<%>>&=XY1<(0YAE7AVDWM@L6;S/R7^8C
MV>PXJ740[+\FR>^6?%Z06$Y[-[V6Y)5>(H)[5.?^$"+]R+!'A'T8$ZN8]0#H
MMGVJ.D3Q;"$R,JG< ,6291Z.,]:.! )>+)82,*6 8JA+%83)7AOBX -7DD2)
M@+)%-0] K=CIZA!RKF0_7W;P]ER0(7M+KDCX$A<I5WZ[$<!%'+!_E8#5RN"@
MY@]T>MATJ5Y$%5=)RA+Y2Z+@1DV@DD-_YWSH-CL:B63O;!%^"WV4;I,H<.8<
M5^;X7+)QQ#FAR0(7PJ4C2#+DHCV<.@*D)O-[1&\HSE%%#)B(@%_";']%>#Z9
MA<GD(I6!Y@.0_P5M_@\=!3KL\1&EB*Q)'Y9?$U1$"2NHT%?QH$-JJ.(5][4<
MTI[+\R:Z*_JVB/&GST3+PQ[-L+T(#F$<IAD%]FV@QT/WH!H=\F<OC%-ZZ5&Z
MB0D')W/R,-U3XM[LZ+MW9VK_Z9RT_F.="XQI/S-FXE[MZ5_OXB+&20U>^?N>
M3\[@3(M4F'>CG=95$,9=FN;4;T'QSJNO!I,?&%T.9A>I#7O#\F-KI3 NK@P/
MLAV7^T5K:%322P\)XO%67Y@.7#6"$QR.M(=YGHG2QW9GC.6[QO$72>[)<+3-
MR@8J.V=8V4 XP^XCL 6\6%P,+/1C]A/>E'>.-](BZ?*5O@&]]H99W;#(S2;<
MNF""Q<?C(YP!7.C&K&01;*D/0 "@;([-ESMBVUX@M<0S[%5.U;3<N1!I3K97
M$4EMFG/A4L]SH #'1/N;BYBU?GWFM 65Z3U,15#,L*NAF5I4BDF.Y4IXZ?XV
M2MY!-'FF5;S(?AYP\D;(.+@\?DOIT[Y:P;L@.NN;L*L>/]P!/48H@/F6\(/8
M5\)</0PB&OXC>LV)7*<MQW>\KF3@@\("3!0^ &U,/"47_O_E(4:BVI;N((1B
MHU<TN,G^+(L*=S]HC7Q .$QH'2%,GP!=H^+/6G^]^?"9&'DDK*#( >,AM<H.
M:X_>Q)/V5>_@.DQ?D]2+/N,D?V6O=U*_<-&AH/'0N7Z/%;R+(QWKXFK;#+U^
M>W4GE#?M^N+$1RA@GMKFU3,K('6L"U9Z441$UL6;%T:TZA)A>ELO0IRK#1U7
M]F^VB=AQ!*G3M(=K](J17SPII*87KT0)^$#K-%VB=05[M<9=Q\!8'6*;[+)W
M#W-#[6>=P8BS<(_ ;:K2Y"Q#X_>Z?%Q.Q-LAS _N1.=GXR_,--DPV-*;#X3]
M,$6!ZW@8RV4J-Q JJO^R6UI\PT7)F?$8,1[N+76;T R= X^(%4)Z2IZ\#QK,
MH.V*R&2J/M.W0)<$U0&-'*(X[>H[\)-GYKV(PCY5SF/$D&*&/MJ4EUSD% K&
M$D6_M)CSB-!46Q2\P; !)!3@1^@J+1\K<_W+;&1'L6)X-P@FV@AB6)'I]W\X
MS9M2%B(LE)6@5EKT6L3^T5&<F$D20BFJ\*3L.KF*)$T6NW;V]Y_<Y$Z:V-1_
M.? )?.AGJB^SUT5"\&SXTVD[7JI O4^6X"?*?P)O5D^03#7D19Y460BA!MU5
M4T;S\(?.A&'7L 89)Z[+#Y%111D[ 9X3U=/$6"@;U%3\DMNHID'/B6LC0_0P
M+#2S>^CX\_>&CE[OXR9\<9JY"5)$]#JI-;@X;96"<T=4M:H=]3%/8QI-(R,N
MD1BZ259[WV6(B.'C+]T%SH_81I^'Q &A=QZ\!>PUU]-(X.0"IS$1VLE)O(QZ
M)\=;P/K):22<2@]0/=_>VS K,=W^>[-U-V$-V1!R;;D' &!CBSY@&23<=K"@
M,<%B9]99DF;Y[&F6M2UVWI6D<W(!ELT <<*#G$SEN?5GP)&536*EGFRLQ]OK
M-J[.XN."HIX'@K@$"7E*$N//@T-HTMPZ/=J3+6$=4//<+BG0QLM91X!.\I;>
M.8L7L XD-Q]+"A5OAG4P)#E5>D<TF&?OH;_)[0)W=TRSFY1B0&<5Z^2GG;:D
M<KAHK3)[ZU3#/*.A%6.ZA.T#&YL\)#N^D6N>"U2 +%!Q+FG"LWP5R3\"ZU<^
MRWJ)#DX2#Q<0\?BYF^GPTVN&;)<_T&9M0(W$&"YNM:8" JR3Y*()47L.(%#T
M,E4T8=1:#!#P_#P436"YDP$!-\@J,;QZU3Q8( WR0_2AZD\%!)A9%V;]^9!
ME*1OF-PX_A(PBV,U#:AIQ*HLCK79$3;Y%B9Y&AVI'P4%I6'@14T!K:V_1T$>
MH<W.="91A0/*=8-V9:Y++X)0AZMU8LTQ\K)_>@&&]F!'RO9TA4GGV3[[QD&0
MF$N>.FX13JD/L^%/W1=NI?1GPW_VHMR=QG##H^'!)_#FNM08KG41::U=K8/E
MC7(/7!YDK:^O'+N3!<5>23AID3'1RY.XR*X\C(]$87#K@O).2BH]6+O;4I-U
M[6RUI65E;SUY'Y6M)9CK2,4ME?#LGR1T>/08;"O%LGLKH8.G(S;[$38B+6\^
MRF0M6O/]/8PB9P >(SYY^>H.P:D R5DF(Q$CHKQ9U[B/GM#LN7T<!E+.B 2N
M$@X!0W]QI,=W+H(@+#;]X(7!77SEO8:9%_$J.4,'6$?.#.)-M;AQ!LPQTH4>
M9YC5^;-58-1WJ1JBDB$/@T+T/8=CMU:;&_?<U0[#*;^Q^KD ,F8-_36D)K/V
M_?R0LU1)6=^M0>-YZ-#K<&Z]\D9N0"JYV?4CCWN'H-)C6@+5JL^Y' )60;%J
M3\OO@,.JQY8>4>81'AW<>#@FQYNVV!31MT(_= =@+4[49"LX>*1*#E1F:7"S
M,_IW%3JP>HQIA(KA&B)TZ'K@9P/9SUG*?GLY ORQ%GM>"L/6W.V+Q]M[CB9+
M@K*=Y"0B<NXV(6!3+%[[+SF& RV^XN!$\+F[YHVT^?A$$I@7[%\R!0(#E/I_
MQ+R0/PT"0.J]@]CFE:[4N;+-8;C:'I<?6M^J9BH"7U)JS84@^+D9!RKISYMD
M_:&'.IV "Y;V=(NGU0^T"\ZG-\QB-JU.\)P+A-94:X I0ZQ<F%2S[#%C00R5
MSY7Y@^T]B%('1KEPJ.?9.P^-V"?_;-03K;-G7H13RI Y$ZRR8&&\4LB-13.L
M7WA^1%)Z[;E3; (BBC>*H!",=^!%LSYOF[:FS=,T"R.*SMAH%2"22UZP0&^.
M14VO'1T4:'2M(4!P/G2;FZ@*UEF'L8T#T:K1"=)Q@=&8:/=D--V^_+$VW:CJ
M,)O(K:J<Z9*8E4,[84%[Y3WD1C?/L#X_2ZU?HS:?;G80GJ4VNDQ9W)+6B27T
MUQ2*O42[!*/:@$+IS4>&O00'!%!\O",K,Y9#9I(?);_P4A7EX(5AR<BD$H3\
M]D'07R9)(!B"6]2PHL==#'7IG22WJGVO3<%RI.,(DC9=4A"ABM4*I$&V@E12
M'GPP^[T,=\Z';K.CC)]%WQ!^"WV4;I,H<.8<5V:#7+)QY+6)(0,LD% .:<_E
M 0SS#FAR0DE/0.@0:K*Q1T3,[QQ55P1[?D8+VE[E:49FX;H"/577R?^"=IHV
M=++6871$\4-D31J-O2:HB!*6,#%H@'@"D&X1XV&?"2%C+Z*EVX-#&(=I1LGD
M;:"T07^08<2S]'N>0L_FUCEI?1-TGGZYT'&F12J<!A;]TM"\[%F8S-_H<E1U
MJ!16',CLVA64O&$=K\5^T5XG*A6]]!M/"<=;#34,[')AQ*$_\MQHSB!&HMPP
M;Z3%V#Q?8@X"\KUA5C<LLKV%6Q=,L)GC);82!==2/,.R?-&M#@VN*O0HZTX0
M53-?R2+84J-. *!LCKTG%YI6&Q<FS<GGLO+S@;2:[34Q^&BG$8%6H\&AV=6!
M56>&]3+\1MJT8M(YZJJ*NGZ"$':=UB"\9P<X$F,Q[SW=>;FMT=39E:":>2]G
M'B8TFB2[@A [39';2 70D-?Q>ZS@73I-@AT)H$QD9++VLVYC0)>!S=-BV1%<
MV>=M)O3J"%*GZ4_21M:NA#1G8T*"-L5NXV&L+M4TT1["?]:=C/@+]PC<IBI-
M_J+1U]R5:/@L-ANWU?(0 S#OU\P,YE+6/-T5G(#E.=P+ZO9=T^0YHN;9CM1P
MFX?1/"+V=.LI>?(^:,2)%@$BDZGQH(T>F#=N9BXDK/[D/$:T30!%1]]QB4Q0
ML&!V;\8V!1_BR"E2&7MY^G5EG$>$YIU9.U7T#Z=]]UHF>"NXP>)[LMOF*%8,
M+QO!1!M!#"LR@_(/IWGU9%W12\C_>)J0FV?C_^DT$<%(H+*6 D';8U'+@#^?
M)D[ZR1#%]> EHG\"__9J&@;$/<R;(DL-,L [,^=&1A5B[,0VP+M7YL9"652C
MLGFXQ34:])RXY2?HK=[,[J'C1#4+-0,IBS,VF/BCFYKG%$3T"KTUN/C3=X8+
M0?FJ!B%_/FF$E#K&!C]X."O_P;P!*:N5V?<(5![]QI;]Z32S>A1,M:E%Q;M$
M/QEF&:SVR,H0$<,76+H+G%^2C3X/B9=%[SQX"]@KF*:1W<H%3F,BM).3>(+T
M3HZW@/63T\C&E1Z@>K[5Y@7K1WLY71!6W(0U9$-(1.8> ("-+?J2:)"-W,&"
MQ@2;W7_$&<5\IB.9 0*,"6G!2H#'KVVQ[KTD894+L&P&B!,69)TJ3X\_#X[X
M;Q)(]<1]/=Y>Q71UMB(7%/4\ZZ?"33R4G@MOAG4P])(']>A-MH2]A^N"["PN
M2(+!UD_)//E,>F+&RUE'@$YVF1Z1BA> TWI&J\B':I;M,QN;^24[QI%KVD:%
M++]+CVH'\\Z%)4 6EIA5C]5*W5)JM3JK6+\@VCE9*D^EUBHS&_N")*JAD<\?
M>"Y[HT*P<8K2$/6F2UBOW,+).^(>AGB\S6)E&HE#7&BTI@("K),$I E1>PX@
M4/0R>31AU%H,$/#\/!U-8+F3 0$WR+HQO'K5/%@@#?)G]*'J3P4$F# 91I<6
M!?-MEO0=F=["C]N.70[2&4OR5TQ8#G\)Z&7:MC1C"!\WNVWX$H>[T*=^F(+3
M$+)]2**0-I\EXIY 1V J?<"77AKZ+'P7Y;3J&O53I84]EU[33GL1D-IK35[+
M19;A\#G/*.]\2@B]DH,JM\_- W.U\MIHB"L[:!/W H5-!]5Q-6,L)#II@"[+
M@9)-AP$@[$PN#5(2<%;5/.CL]-8+\<]>E*.O1#*0?Q>E+2L>2[WX7GQ,.;D4
MA)E^]?"OB-%<$XGNY@C99ZW,>J<G(MHB"Z^S9) ^@$40D88R6L&Y^MV3;,W/
MF%#SMY@(VX@N0!T>\"L>+H8I<=K"39J%!QI*JJEP498M< _-"'/;933'LBM"
MRJ59,ZAX2\R=&&5$2YP\*9/YT'EWRW!).Y&()^S%:>$ZL<^!Y;$7[J8_#7@(
M$T#MT3<?98)>-X7/&<5W+#9&S*?L)3M6JDI:E*4FK(>EDG2>49UQ5LUO6<1W
MA94\NNZ@S;BJ'#=:P5'!$C/S=?W[/>3IVG-=.!SU99UZ=LI?< %-W/LY%3.\
M15W2 6K-9;,C]F?7@PE:#Z#>NI>8ZHQW =&"PUWH#5RPM"_4>QC1]B^M<R)C
M\@,*6EW2% Q?YZ>X/U'JZRU=W65=8VZ,%_D)*/LEP;\2QGOEO8:9%]6,N$1>
M_2[!G?[#KE)KX=@O1C:Q;W?*W#J*]R&%0Z_MZ2BB.P1>I@O(JX= KS/JZ$&H
MZW5"+U3I*.)[,=P>M4.OQ;>63C(KQK4*FT&O1>,HN?=3,QCY/^V]N-H8K]K>
M]WX  ]Q KX7C(ENHLA2?O \VNN')C9ES-A&7U +;7XA*A)TMS05(GXM_864R
M\#4>73P"0<;F59\#@2\M>4+()Q)@@'_PM2M=Q']+]+:1/Q"_X,O?.RI_N2G$
M3#,?7Z746JQI3H2K@U"S_)IKZ-..K,R)1=T?G?M9IT$T9!C4-IA]&D0@#%@L
M3PJBGSX)Q(JH;-G?.@G4&<08UB52Z5Y. O6F=5K6^>V30*T@;K X6OF_.[/0
M7='=/Y39Z_WX21"BAD=_!8FEVH.]\AIR+$S>X HW2.897_;Z2'[Y).Z.AN-[
M+95$L@? I*GGN5Z62+7V !B'*M?SFA)R\.ONX:WM-;:"NM8& &-/Y?-=3;#P
M?OTDA(O,J[NX5)'\./1<?':;FL?3337OS8Y_X\A7</+RO]#2NTC &JH2>=?-
ML\IV3$%W[CW!^M,[BM[0UR3.]NZDT*^!G+\C#S^])\X\QUL-)X1%(F<2U]?"
MRFV28V>2S%=#2OB&G$GX7@,I%[L,X0%F##.RU]%@3-'1TT&TIX,'<"@D)P$\
M6 X\ FI!. GN:A4WP"UDW'2 V3I.@%P(L,D0LV7< )BQX.D TV7  ]P3/).@
M[J[EF!78!8^6]8%D\I5;XJD8PXT[9*UQX&*NH)\]S!P1$N! %@L<0#2X2M7W
M]BJ/<U#*W2MGX,SN1MDI#]V#DM'0>4TK0; ?R=SZ>Q3D!*I=_QLX_.<VC,F7
M7PA7'VQ?D+PJF<&JCSG#HCCPUAE^_<AOS;WN"/GL%#AS!/Y9C_["]_-#SII2
M=1L0NE)EPI0:=+$(6:3I44!/=B@F002FY$NFX!33;%;$U:;(85%<]=396[RH
M.>-0\FO,@DA10G9G2F.BA1Q6>]IPE/FQMPFNRZI^)[H0!PO.AMZ61HQK8;=5
M\.%4R&T-C#@5;EL%(2Z%VI9&B$-AMN]%[=82@<8*D\:BCB!#'F0;MY9+H$L"
M;F-7<PA\2?!MY&(N 2\.28U<S!'@=8)R4U:$;C?2PL])% ;4X+WT(B_VT7:/
M4!F1:WO,ZQ:;< S$^G&M0&.IOW_TWK\2"''H12GK0_2(4H3?D#LFGS:H](D\
M[1::^"@5P K=G-.&E5[,=%\4A1# "K(S 0_ @<>P-<3^1B472+Y]\43[0,FN
MBAPJR4S[8,ENA1PLR4RWY5BW.D!:E0?H5!" (]9DM0QZSZ'J.&@Y9TM.*_09
MA(0Z=X0Z&:N[10Z).D/P>].>O ^'1-TT6.]B0OJ4U)WQ2XZ$ES=JG.-Q'5YL
M &:/%^O,G#E0J,,ZAH%"C5FVT5^R AF>BR&V-]JZQ[+--L/L9;3ITK&<;)U4
M(00E<"#I#8(M"NPHX7BW\L948 P!_^+%@?O@"4ZUE<%PC5XQ\HN&[^3O$6*[
MCCN9#>IF%>!3Q<P)X#(/(YI[0\76W>$5)V]%E^<NX<-7'HT)GZ;Q[I-( C1\
M#=(4Z*^>OP]CA(]B%@<]>FT.]&V.XS"CW?#BX#;\H'_K'33T +4YS&59T*)7
M].$USQ#>)KOLW<.H"SKT]CLC0">Z2X9SGR[,'%,OY+Q[!PZ]_XTYU,(9W7K+
MANUGUE+]U6)]8 9(IL #1);EJYAD[U$1TPRY6V9?6=O8?%H=%[C9EK=8[4>J
MTG&AEL^Q^[)-H*7Q25,\P1H0,JV+"X1D@KU< K$6Q<\4$(ZW!H):*>)"HIQF
M#R"9JL.'13(#GMB451533'+;P]8DFPQK/L)QL@WW)HE;W!Q>H^2(T"-BHI4W
MR1$OE!'8Y> [0AH'Q%SL@]X_IP1N50#Q$;VA.$=]6*%;FT:P%GY]\8QQMN9J
M.K0<T*%2+!AO#00-AL(%13W/]JGPF(7L5#CCK8$@8@#<_0L&6P[I&5X-Q23H
MBDB+>(J_7J)=TOD8CL)1;.H+459OR>=$A<K"."=&:UF;@ZA4@\W??&38(YPX
MC#U\O",KI[2$+)E)?I3\PLM=3-1YQ*]Q,^+GKLE?TBSTG5%FX*/TEOPS?.&6
M:X C3U= XR!3<;E?= F-S8V;"TWUBBZAH;XE<V&A6M A^56*W$JK*)T"V1&P
M+".;*O/;+E&,=B&7:99P"6<X)6JD$)?I=,E;2'/G" E69ZF"';!0$ +,O:/#
MT?:\BPJRXSL8Y9-FS]<T()7.?HVG.\0'VV"U/KX\_D^.PS0(_2*>Y2 GO$7D
MMGN18 9/KIT2=ZR&;C,OHV&5+^2FC,(%=)>C"444:LH8+ !]#^>TS!AS0?GA
M0_.%K $]_CYR01^]G+U3'W$)^:=NOI!#<KD=\^NW($Q!1O@X_:Q:G>]X@9\:
M'D&Y49AIT_S=:T#IUO, \^.LJ;<SWA$U0@Y$S^J4#;X-/U!0M4)VY2G :)K^
MV8OR8I]1E+QWWE2Z![0P878PLBGP369<>1@?=PE^]W!P>@0OYP>2^IG]?SOS
M5&("79"_5)^5Z@C- B-_>F4V:*F=I-N]A]&EEQ9I8M6 3O< 5]!DQ#&[PZ[1
M<T:U']KJUYE')1/(HZX8X1RP$PY9VG^>^Z[FY,0%^<L5^3>Q2MJB@A8)(1O8
M._.T: 9B(&;-&\+4W[AAD&WBXI.,RHG[)&MIC-#SOV85$]V7-^Z#WB>!OMK$
M.ALY\\1J]JL/^XV5W/03Y&7U!D/8O*H6+7<HG(W+<O,%@ZUO7B8:!"!PI\P<
M^],VV(=Q/]VIUE$OM<GUB(@S$PY8,IM;#SS)"A# '&M6&[!EDW4AH&1&JUJ/
M1.;XJ85XE\QT%K,MR2PX!]RRB_6.J9FP"K)5)JPN^A7KP#D0E<&J?9EDJZQR
M=#H&I^[Q::P%Z@CY-N981CAX*SGSH0E,1.GA\.> .@2N]3?E_K@4Q7Y$?A+[
MY/JP']_LRDP-FK60%V6.,_24W.QVR,_"MV8F_1Q.9-L@Q:B!H .Y8(6+K(^0
M#@:<B15/1U _F8,10$CH@B:(A@1,5\)JTU'!3^D97YO=0134C(];:@QF>& Z
MU/<)9<2TW@)1)\I5-.*$T*,&TQ'SB%Z]#-<RI& 5-QZ.:0T:9YSF!GC@"\0>
MQPS"\.+0B9S^X03N2-E-5?N"W'P@/Z>H:M^/&B-_<I\F&$)T"(*'G2(+DJQ
M\R'3,"@S(7MT\^?O"$O4];>)J1_DYL/?>P0WC6IQ FJ6-AZXJ1>?3D"[TL9
M)4=*,OC2*6'[TPFP4@TEJV(/?B=5\X0DJ0#V*W;D=[%1/B/T*/5$Z?J(LAS'
M3TG](NPB^%>>9JPH7H,$PX U1"0H:(/YN>J/XA?V^+U!@*%*<7X)9++]>;PF
M<J!G^0UHJ%+[3TR0HEP-&OABGXD)V,)5H(';]H^8 -B:!PTD4^>'"=B&:T-#
MC<+]88()^5+VRK,9^CNX(!LN,G,@:[K+8ACHFKSFS# NY(48 K[,#UG !L_;
M, Y<SDH6X%%EG1BO80$&KMT_#A3>4M"DQ]#,-]48.K.A@6=DR9M ;K+P.K)$
M;J!KBP_I,M".5V",FQPD?PGM)(KR6_J?9Z(N%A__]4>R][]XKZ]AO$OH1^4'
M<9QD; 7V&?T(1:RMP'^$07DJEWD:QBA-B:!^#N/R1/SD):8UX^\":F#M0J].
MP[SP_R\/BP)EK4PD\EU^0$$W\:7Z_DA$8UV&-/8.Y,Q6_M&"4"@MA'\Y)#'*
MRAJ"3^3S'_XCS9_3+"16-=G%9YSDK]70TJO#_DY^)$R")[90&*>9QX )HXCN
M\K]_R'!.5O+(0MCSL__^8>=%*:KF/A<UTO_[!Y\9.\59\T_C-D(?SV&2'FE!
MTZ_H\$PSI J<<;\J( LR_)_T;^E?@N3@A?$$V((<E_J?&#CV;PD094/MB]B+
MCEGHTYI.5#%*N_"H1H$$[3J,F%J[)>HM9E18R.5-3&RWT*],EP>$F4'7RL?;
MHCA,<)GA5V!@IL7:U)W2@>G"2"J(6X*E*R_=D[OZE5RUXU</_XJRVSP.>N>O
M& 3R^!]RG!#F@GJ4W/L4YM81]LD'W@O:[$K&6+H4.6[:$BZ3*7V@7XO)MDF1
M:O=WK&\(_;S2C(/"!+NB;#F*:+9A>2,U1\\L4/0A-9<HHY2W ANCIH)!38">
MY9AI&I54_5C:K5B^I6B71U\(>TZ?Z,\^H8_LDNB:OU;8&3V]?U.RZBO;=X6<
M-Z8Z5("*/^]BZ0.!%IF830-#(NK;4PHI^@<]VC<OHE2N*]OTIX$4&9L\HXHN
M;:WV])[\ ^&$_/%$#*SB<4$79,W!( $E9L@A+!@8/;6V@X%=WOI8E>,ZNEB&
M2_-."EJ0_65_I-(R?T9W"P)92[/R>#8QNB=&&.<H=4:"/,?*C5>$72LEN_T9
M4"WE(8F.!W387O04R_['(+&^I6D0^+C9;4-BP.]"GS8U\QG2"?T3&$)Z0;X0
M"BJ]):7\-)TVXFXM"_C%&S': M8DL+;-NP<H&P'R+*^>D+^/DRAY"?M<@?L5
M2" HSWI(PCACXF=+&_3<$D6L-&?X9O1UCI[>R;?'XK^W28Z[X,^\*$C$_9Q0
M?R/UGE%N28P^?ORJ0HGV\/FYKK8+3L:WN"'W"XRI[*-#+X_-D ?O2#^ZH$_>
MBM>6Z<7+"T8O!/*[F'*C-/2I*QY=E#NH^=S2/P..+W*\NQV"N(L#="A8/OWG
M3>KCY%WB&M:9[)!-T74RM#@'.>"DZ/JQ15DF=$O(9SB$B(Y$&?B[1=^"Y)S7
M:$>HEID$.'QFOTV;NU;]^FZB\"4LXA(7+XUJ:C:I?;+5GFTKKI)@=,=R4H\#
M;#E]28A-B_!!(0Z5PQP*0U4-L*ONUT2#W>P(ST6U@ZNXCKT0E>DTD'>Y7WEF
M8+E(!H"3Q?=$1%:Y6-W#XGT#\CQNO1 SE6>SNR';# +&,CN5+WIDJ#\!),##
MAIS,&CX.7- : \$ZF[<9V<0^B0A[3 L5AII,3=6&H;] ?P*X6VB>RU9ZXHSG
M@5'_E.&7F9,J2T/<!'-C5@?J0*1$T*01?/4R^K?C+V&V#^--C/Z./'QQ2(C1
M\&_*"].L;5F8S8.BQ"CIJU<SJ>"/74$A'0)2-)"=TC/YZ;>_^VT7%,X7( &@
MYCNQ>LA/T-CHH.H?D6CY(6?-S4NZZZC88V=#(5I3Y\!=FA+Y?IM@&DGD>P-Z
M0]R!]$L1*Z;<DT;):RNJ_[$[$+7(CYKV?ICUH@'"[T%>U<<P_95:<-\(^#@C
M^\F8(^:&_$G_5CGJ!+KIV-E@%=8V1]GLV"4D5X_21EN@JD:YHY^5L:N!7V[X
M.4CJY<2UX0>PF8U3</3KG-HM#^P'F#$KT$QIEFB29V7@H&,L35O('4J]VF-R
M>%GR@KW7_9&?;2P? Y(8IC_ADZ;Q&:SC#BD0$4L^PX6(?<7(+V =R&'9()#$
M4.>*LP1O:9YX/P Y:BHX%PHA5Y]HN$3E1P2*LDEWRY?)^Q(,W:IUQ]%1XL(5
MUM@#*7M?]+3W2D]G^C-!"'LZ0^^X3_[ZE-"/[O/VE;#V\QTZ _%XX6L2U-'E
M0H.KD,3[QAWKY)&FK.0T%^GG)")GQ4N6DX^!F<:A$1PWB*.[=**;&+&,))J:
MQ-*3#'*1;FA2=B^#=Z[E0 K0!XQ>O; J'LXBDY13E>]:J@+7K9"UP03 L>NK
M!">Q]Q;B/+T(@T<4A6A'F;%/2V6'?NG[/=)D=&8<-*G.IO/<N3==I_??4$1D
M4N7Z+K/V.<G[;3=X^@/7?SYR*2B84VK7S#>W>8["%T:7*>$$?T<9S8I'9($Z
M74DY# K :E*9\Z'R4Z]/SOQ/H?N_  7/2L)J1>P+*X4FDQX.M 16[<>@+FZI
MYZ)&Z5RK.60^/"7Q\7_^EL<]D3[X&*1HIIDH9<[;-:%M/TLP.RE>;H?>6)!@
MF@;SF^>W8],!VBL #5PW=82:%)TFH8[W'9A;J>1J3%^LJ#3=X"(5#O<?SBE&
M@:1EQE>?U?Z"9U%2>ZSV'-S30Z?.@\)74#'SCLO"UA9F=5O,;P67B6$L_$:-
MF,HQQC>$Q:.!,@UZX#G9X]_(:;Y3MV4<;)-=1O_*2TO5'@[RJDD>G0YRY/3&
M@O/M-D_I"\%VB79)JV]3QRS7&PO8(A_?%XZ;M&0P'XHYH)%_SLOQ:4$[('R#
M">"HGPD=?M22^Q5(+E5&8#;XP<-9^0]FJZ8A77J8J56;L>3H"%G08A%5Z:Y>
M5&>F-=W1&^]1]DN"?R7;O_)>P\R+;C[\* _8OYD_J=6?M,24P0QWN, C8?.?
M?GOY^T]$J2MB+\1NC[R7.EHA_+X-XW.21,BS_E)J7%'5$5G-DD7 JG.R*FDZ
M9<]@T_%M&&5E&CF7RXN_!\GJZ[I/MPD>=*,75!(SF>(.HQ[7G5FFQJGF0B%Z
M=2+.P\45TUYZJ3?]CT%2>&-C#*KM=OWN LM$;Q9@&X43E$BI)G&-7A.B?-'+
M6SR\+PNV2((9BGE@+KO&<W5^O*#O:Y . DGN[$*VBOAQ;!#.MR!!N0R3780^
MNA#T/@2Y<<7+EOMVN3WU2&?$1%4[\%I0.[#%-5OIK/I3P+ 7)2:>R#+?7EE&
M (&,D>I/O_VI_\I+/@@D97-DPD40, O>BZAP(#KA$_;BE*Q&/KM,XEP6'->8
M"^;0U3*E3EPMS7-.%5;I$#"@:NC*O-*Z5<\56?G=:@P4IJ;Q$.S-"]F2A#RW
M7M0N\$WV>*")YW6.0O.LQF0.%%RHWV9419,?<DR.,T4;VK>P#,<U-KYB%!@R
MUTGD3G"F42U&/0[*&6O 7%L^JNI=C%E7QM&SM*KRA*7Z<A#,&\*!8=A577C.
M <$X*,1A4&5[6*UD6.-#;S"X$ Y/.'<U-]D(D&K;MS+SH<R$Z$(C^!(D(!<X
M0^DQ)D9@FD3LI]._)1&-C:1W&!$R)D1VH+Z)GJ?*=!I(X+?D1WT<OM8,LU"4
MNZ J!H$$;(4.0NOW+'*P89%Y#QN94C37:AT! >)5V=CNC%/B?H#T9K6:P'^P
M7N3;:;U8[Q8*F[H4/ KB5 O]W6\__2^M&#JH:J0:")*EZQ"Y3MN:Z>L C9.7
MU$EV75K)-+&1W.HX8SUH:.2X?,!9QUT-9H#A%?JO<EK)0-WT%PY5F,UQ"!E?
MR8KA:X+1-GPY>%U6P/\.Y.T7.O&;5";*T)+H/BF> QR)==@QFJ>LX(["53,U
MCOG,_PZ@M;R+2B[,ZH\0[DM4O!WK%Y3D*3&MJJ?%2=^(-IX(DM;[J;DMHXO%
M=C:[QB2H&#8G'<I@+AA^II4X,LP9 7V<U%V?EG(T_9PD 0W"]DQLV1"80,GS
M["6N.]5X</RHJ9WY2514\Q/HLVKV^5\B /X+-  TE-NUQRJ1_8@HB="Z,>T2
MF/KCP3 ^K?PB!6<OWJN-$ F#B5#T'8/P0=_YPSQ"%W' ?$9E#&C(C/1FC6!)
M:Z7B?8NCPL]\Y6%\)#R5/F$L/!I]G[QR(,B[SW&T*SWQH $:)#BW3)';\ ,%
M_$1@Y7!G[FRW!FH=^=IFZ/7;:WVJ\D%@^+9A8LNMYY<)*X^(TB)A)?SL%NY
M9XZX"/PU?J4F*XM"V<#6V.:ZXZ&@0"VORP)16X3?0I\5B'K R0ZE*8/K%C6>
M"9V14.!6'OU7E*$X>?/*:.C%<\_E)/H:)*\N4X/)B=QGAY9KD)M +!P%$K1O
ML>]EZ"7!-#[9KPDJ^!*<:7:5IQF1BKBLOQ#W>A@)OP9Y(H(X>ZH5C8>M\WQ%
M'NW!0S^\BU_SK(RGM>M']MF$]@20 +?='=T$?&&U NXPP)9'-V*VV?5,ISY+
MT1X.CLG4B<9QT+Y\%R\8(4XJE_9PD(1[__G+W>&5#.WU&A]^#G+[U3MO91-[
MC8$@ >2D&6V)]DBKE4?')N&H+1F*WJ^',JJ+T$>8TC 8L:D2JFY*$I@FKPS&
M3--XA>WY+"IR\Q%F53%7^G?F(NLW$-08"I)Z'J]9W9\#T8G\T(M*^[I=M;L'
MJL$$D !7&6-5GEA3\+&JAT/H]A#FAWZ*F<:$CJ "D0,T9PYBF6S8_F*0<[U$
M[J/>[T(QAT>5B.TYX!^([=_.1)-@53D3#,,=^> KT'GQ%2SD#%KT^:87H(.'
M?^T_V.Q]#)*)"I(BFQ+.]1.T5LA)>X8[5UF672O,M9&.!6?K/.P(R^X5Y>A^
M!I)"'W#R7&:U_()H512BGA!Y3,:P!Y$]>/0&@P2T542DY0JA@I1FJM'W@M]2
M&BNZ\B*?MA+DI+N1P2T7@^2%W?R_T$<IF(=W.LT<!E?<<!*XN]Y*!^PXI8:?
M _9"W5,W>^9%4>AO^?%AV0B0=YPU5Z&=5I[VQ*;>TJRP6V*1--6ZM5JNW"9Y
MCX_/ORY(]-W$+^32(2+-OQ8QIB?D[^,D2EZ.7Z)>LTJ]L2#!K!RFFYW@M=@M
M3@Z7A7*SW2.4=9DQG_G/O"A8?G_M'2,J^6N&,&AC*AL!DAYF[FC?M<,66MP=
M^XWHC!DBI@6_0J/H6YB$4H32!N_;&NM--J(/TO2W3W.4MU>Z^UUS\[>R"*[)
M36NUK-%L<C-A 7=N99/-RQYUTL09A'<)/C#Y1#_Z%H<#E[;9))#DL<T/!W(J
MF]TV?(E9TTG6IH%R5>H,I$W3!^4G3:8 5O@;^U30/2T.NDG>*C-WY#)@=9O5
M>[5N"-<@')RJSY4_Y8+8$<2@^$Q^,^NPGQK]L#?)D7)L.Y;%7&FJ;78W'WZ8
M4C5L$]^CC#&M1_1:)D\V#@K=X?,+];D*?W,E5:%;*GS-]2AWQ-EM@@EIQM6;
MA&W^_"]"P4]4:WD*B=9-@S],HI.3K&/11G/ X&):%TYQF3S365""#TK:6*Z\
M3*^*^!(Q7<4/.G,(JMJR'01J#G;H2FH_FY*\_M2?"<Y?_M6+\QT9R0+N=*-$
MQ%#N.O X:PP$:564ST';[^7W(<Z.S%7,?3DJ'PH2R/Y3DU;KUUYA<_5 D #*
M1"#91)I^BPD_BB@;_TQVJR,YN=.@<&TUWQKKO;SY(/B@\]HVRE27J&!1H"IX
ME7(C+ XH&0#R=LA*B I2\X4#G?"2=+K)T]YGE?(KN_ JG\DLBX+UH,RI^O9+
M]=)R[<L5CI3]&A1^K=2R=3AK9?:6W(<6-WPP[X4F6P4H0^XYK]HY.A7DTB$P
MXS=,J]HG48!P6GCX:(B&[CQ*Z#NP+F?6&PR8.X^DS8FD[92M^36),W3EX2C9
MAH>\*.O5?\$C'@%2]9#)QC( ,8Q#C'-U&2WGC&!H2;?B+5K5Q9BU#D04]A9V
M=,:"N1 Z"0A5TNIFM\U]'Z6M1$3>=S Y?5GDC%#FSTE$5!;9VR.=H2!O.JL_
M-8@G?O7PKX3"GMO-6W34[KE6 ZMO-W;%-G]]+;[UHD:@%S':VRAY3Q]1Y+&8
M7J_CA<I@F6UAL$@L:QSLB@=KS*W:BGG6R;"*41VE"<2;MNJQI>:;3+?>8U;'
MT?$8;\-6>V/9B/9AA409>D'8,G?G=ZVEFDIEA7#DLW D%,5$(S)"39+"8<RZ
MJ5-!2U.K!\77-0:")-2?/<Q\$%WN2"]8!9ELA$-J5IT,7_'(.J).+*H="MLZ
MIN9@F(K8/7K/DIC\]W^(3HR.O3<3_"]!DF:9VLE"41A)DC^Y(T""=(MH%DM$
M*XAD@](X@B]! M(OXU.J](4^KU_]1SD-)/ ]/UQ7]>K5&=A5+;.XN:@"S]ZD
M%>%I>F6#XB0N7]#517NO0P)2N]U=G>1L, .*,J%10*]+_#SK7GY=9#- WI0M
MS=3$^6'P"H?S!4P :D/SMFF]S10\:3-NE=4Z:3&PEFKKA7&_CV4WJ"5)(]*?
M.2(,L/#3CC>RQ0 -WB(./P=)Z@N%*^L7AJL%2+F_"$5*J$U.FHY3U^3R/BY1
M3)A#EA:%8%C"3I5X2'U;],\*GV-FPK/@_OHC14M*.,+!^W__'U!+ P04
M" "\8')943%7.M\$   .&@  #P   ')G96XM97@R,U\Q+FAT;>U9;7/3.!#^
M?/R*/1B8,H,3.VE+:N<Z VW*=*ZDG;3,W7U4['6L0Y8\DM(D_'I6<ES:7@(%
M"M,>S8?X;=]7>E8K]0M;BMU'T"^0972%ON56X.[@[Z#3;47]=OU(!.TE17^L
ML@48NQ#XQ^.2Z0F7,;"I5;_SLE+:,FF3BF49EY,8>M4\$5QB4""?%#:&*'GL
MM63\O)'Q(> RPWD<=).2RX8RXC*IE.&6*QEK%,SR<R3F?IM8O8BJ$9 K:0/#
M/V <A95-:IL"JZHX3/RWG)5<+.(S7J*!(<Y@I$HF&\*QLE:51&MQ;@,F^(04
M.AN<-L??Z$F54#I^$OI?,BNXQ<!4+,6XTAC,-*MJ=;/:@[$267+-ML^:0[;,
M>&:+..<V2(D2I;-A,"_XF%NH\^$DW FSH+&E7=TT'5'G2[K69R0EK:CO2$KV
MCH>G@^$9'!_ X7!_<#*@/WH<#=X<GIX-1H-].'GW^NAP#U[M[1V_&YX=#M_
MP>'H[:^;/H'Y-\^G[W/T+P1Z,/0 5H$M$+A,E2:H8@Y;8+P C3EJE*G[Y"ER
M)82:$8+!""?<V"7IJ6462Y)DXJ^/WC=CT:K0_:A@/7L2;8?)-><L&PN\BOB!
M,RIVJ)^,E<Y0>UL<Y)/ICCP0;*&FEL3/,4MJ55$8ML*G#0-E7[#*8&RP8A1@
M;&+@L;>6[6L%&: ;[>?<$!8*;A=QP[\D(JKL(CI>W993-7<!<78M?:0(SWT5
ML=D:MLUO8]N);L)'-_JZ3TW!<SE;F=<9!2P8:V3O8_\?N!<KW%Y6W7JTM4)7
M0<]16YXRL1Q*]*6IS1=#S=79Y:LZ\DM6LOI.C.H;#]65R;GW,;D!2*Z+T$;T
M_"$\Z\.S&MIAXT#I$DZ#'@Q5"[K=;M#I;.Z\[#V'BB+#N'1E85E).F'4(U:5
MOH?CRLMA,H-#Z18KM%R%$\$DJ)RJ2$4>H(2]3X7GA:-=E9\'C'C B)^'$9T'
MC+@-C(AVMC>WME=AQ*JY#Z](3(:9AXL1&B<X<VC2^1*:K!S,#6+0U:V]KJY(
M+R_8-EM;W>[3.EZNZ98V#K9:X>;+IQ?):NAZ]&Y]?K;O8R?PVZ_2\E#%45--
M;8W;CX$9MP7=FPK3BQ;(=41*\,R/NYQ+)E/.!)B+!F==U8*:Y0#'>LKT CJ=
M%S1N.YNP@?,4*TNMD_8:,,])GY?C'C5>R(:,FU0H0V*HW1HJBQ!1,33.-HI(
M6G@&IP<X>:O.L1RCAJA7:WKN9\47_*NUTZ21:+P-W.T>2'+114DK 2167_*\
MEN6F[>TXWOA=$I=V"F94E+TQY//2!@-^7XND+JW62 9/W355$^FWOJ#2*G5L
M&9I4\W$=-$=LB$C6"))3-"@&KHV:T! JS%>%D]IA,<T:P43CP2T*@S_;K]9&
MH_%V@4Q#C67[F-:BNY$7W6U]SW;'#]K=N(R&6SNML/-9F+N?T[]MVC#0TEAX
MQLHJ@7_4E,;UT=')'<_'=OC_R\5K9:Q;Z[]EQK"TF!JTUMSK//SLI=DM>/T?
MT+L6!7<8D0K*D%OL3C"0*L.&G0Q>?5:1"YP'&=>NSBCIMJ.FI4RHME6"+6+W
M]?IQQK]38WF^:"1[FH"P\S/G')]..PI]+55<^H,5*JMZN5MV]0,)KE][E^JF
MD.54C6(F9FQA?'/8;[O3G-U'_;8_!_H(4$L#!!0    ( +Q@<EETB+S;'@@
M -4R   /    <F=E;BUE>#,Q7S$N:'1M[5MM3R,Y$OX\^RM\.YH52&D@O.RP
M"3<2-\M*Z-!PXM#IOCKM:N+#W>YMN_.RO_Z>LKM)" G#P*#)[(8/0+K+Y;+K
MJ:JGG.Z3H<_-AQ_$R9"DPE]QXK4W].'LO\E!=Z=[LAL_0F"WD3@96#45SD\-
M_?W'7%8WNN@)67O[-YV7MO*R\/U2*J6+FYXX+B=]HPM*AJ1OAKXGNOT?PRQ*
MCUH=?R2Z4#3I)0?]7!>M9%<7_=(Z[;4M>A49Z?6(,/AD%T.#BK)5D-G")T[_
M0;WN7NG[T:;$V[*WUP_W,IEK,^U=ZYR<^$1C<65S6;2" ^N]S2'K:>(3:?0-
M)F0;>#8>W\Z36F.KWMN]\-,?#[6GQ)4RI5Y943*N9!FG&\<5#*Q1_07;'C4'
MMHRU\L->IGV20I(*MN%L,M0#[47T!VM8"[-$:\MN^51W=/<_-]=JCZ28E:HU
M<<G'LZOK\]_./YY>GU]^^NOZQ%#V["!YV4+/.^+2Z)&F2EQ8TL98WQ$I55YG
M4^&'TO=>XI57<D+8.<YUA>\EASOO#W]YUV;*A+>R=[AS='#P;M&&.6?]_#WZ
MJKOSYEP,Y8A$1?#8F!0\I)TX+8I:&G%%7#6$+<1OMLI%=R_YY^ZIL!G?@.54
MB(^V@HCD2M#?N'5=W+J_\^8?TL&9\%P^%;>%'1M2-]2)WJVB6Y6%LL)ZP0.E
M+H0LIJ(N?%43S)6><FAC;TN1XU.E@8A,IKA4"9NCZGD;Y1X(%)22<[*:LD@N
M;PGSSNETN*9@#*8TG&-Y#A9(=976.<0*#(<E"BD$6Y0.A:OYUVS\F"IJE/ "
M<NT,&!"\*L;:#[% 5U(:#&2])4RS"LL<89@2@^G\-FQ@NS:P/7@$MB0R70 8
MC+$9$#K +,1QNYJ[KXL,Z2HD)?R?FEI!)\ VY_4.@*HK,Q6PWS',&?[&S'#<
M0,@M3 UC5>"]'9:H#00 7@N$A>E<L">5;B@R8\>N179%-]KY"OQ;2+X8[8:5
MG3F NM:8!]9N,+HV&#W<>7-]SZ$_O9WL[W5_Z;L&A@W3X5QDLTSCXY;;#NX^
M%[*B "P 10\,,0 $ <T#H]V01[!8CE3,Z9@_*^U28UV-<6Q"94U$6%G9E!0N
M.[$%0"D"0B-JSB;I4!8W)$Z1_ZYJ XGN@4RZ1UL4K>@>J?@I?M1,W8N(;-8O
M.$G. 3X"D&UY\D39O8DR3,3K7 P#2##Q6$<RV "O1?'Q^W?]!;0?[[U_B':6
M^Y.A?4MNO_F5'(R TT,1_CPB.\P/4EF[IP_A0CT@H*N9*99^6U=0@-PXTBYD
M7$A1$?1P&S'+U?/Y/AY' *Y-[9]!KM/4 KZID;=AB[-&*^F#H0.GE9:5Y@7H
MR%!"!2I84^V8-80 =X%BA/QL'<$@CWK @TJ).$EK([FL8%G!B!G[P(C(9>8I
M&/X;$ O":1A/:ATS_28<[L)AL!@.3TZ?#Z+BZ8GWR<&!@!IIQ9B7SA:2*XQT
MB!?FTQP(LE(M*!$F6@ZTT7[*'&79M!RB ;\!FC&Z[HG.\?%0R";-@LH:/:'#
MAC*G2E-;J6! 8.;H&4&5#"($=ZCDT&,1=!TQ"A"BND0MV<3!6L=!NOWF;"1-
M'7(G@X2R#&Q9C^!>MX3USDC2$XI!_+B<"0?<8R 2N8M\>V!KO]J$IY0K>2=-
MW$QDG^\9Q:!M4T(H4]P*/@-AY1OHKC-T%5)X!,5#</$!2,-JPYWE$/Z"S,TT
MQ:9I73&&YCC!,K6Y=1XW^# =REP*3;_7X!30O;5J3(9P0%9=$&]L1QM*X?B&
M3W;">5ZT;#O:-93NCD)Q/@[A0RH4JK E31&9"J-OR31G.0ORG9?OTKK&S,L;
MW._S_/[H)1UN.$M6;7QU9HF2\_8\PF<YDR'Z!33J :^?F2=![KVMW!UU"1>@
M,\^U]T2/U:6!!3MB :5A8="RA4! &7!<9O"7>XPV?NGW6F,!(53K(@U'/]N;
M5G:=8<VM[*D!:X49&JCE0P@^SD@U 6,-[;AK*<<D;YE'1!8;F$3@W^'LNSWM
M^R+D-MU?/ ):DEJEPD!'=YEU-<H;VHXQ0"K8=2>R&0<JX^H<FX]]"JMIJMK2
M@]%US;H;P,XWFZ<@)%F%--8!?"AD7P P?.71(+43B[DN1M:,B"MZ(6^:;VZJ
M)F%37AH[)=P=#VU,T?)>' "W7X?Q[*PAHE;#XMF/H'P[4"RNTH<N?TGL\%,_
M_0&R U7!#'[D!VM@\<3(*9HF:)Z0ZL=9C@YV]MZU\EB*D:6CGHN=/\4'@S!;
MU4[%IPXQ#_5:Z48(4JJ5BKJ[>T'UA)?.9C2KP<Y.PD-#7D7MN[Y:G*9]X(BW
M:^F6CF%Q,D!"O>V%WPE?6&))FR^"VW71'S&' 6=N'(K+=RFE=3BD8-T:PF@5
M-GZ%IWKB$V(S'R \N\<=L;^W?SB'F$?W^J^QOU^THS^][?Z\UU^'#<RU4H;^
M_'OXS(!_:/#7 6B3$-LK.T<E-H&_-'CM;7_V(W6KW+#[XLI\S$M;H?W?S]2^
MTEIQ^:KV7IS_Y_SLZBL;'9%^\:J&7YZ=7UQ<7G^GX;2N01/FFW_><^7V+SS8
MN/'#M_'#QZ&F3)Q-**WYQ%]<QG.HC3N^C3NV_A6_N$,K2'<^:<X&MQ]S"OYR
M1_)-&K;7:M$>$)[VG8K42.<8(S>4%%91.P9V+7_E(C,T2>)Y)+]I 8_5>=%7
MVI7HX'I\=_&MC/_5CH]F6\U!)J%"/?*ZQNREC>%=?#0[J8OP?HCSLFH:ROLW
MH#A>#DN*@2(S8*TGS5A.70B0DUU^*>7##R>[X766_P-02P,$%     @ O&!R
M65J\.08F"   S#(   \   !R9V5N+65X,S%?,BYH=&WM6VUSVS82_IS^"EPS
MZ=@SHBSYI7$I7V9\B7/C]B;MN/G0KQ !6CB#! N >NFOOV<!4I)ER7;LYJ*T
M\@?;(A>+!?;9W6<A\FSD"_WF&W8VDES@+SOSRFOYYN*WY*C?/3P[B!\A<-!(
MG V-F#'G9UK^\]N"VVM5IHS7WOQ#%96QGI=^4'$A5'F=LM-J.M"JE,E(JNN1
M3UE_\&V81:AQJ^./1)5"3M/D:%"HLI7LJW)0&:>\,F5JI>9>C24&GQU@:%!1
MM0IR4_K$J3]DVN]5?A!M2KRITMX@W,MYH?0L_:@*Z=@'.6%7IN!E*S@TWIL"
MLEY.?<*UNL:$9 /-1N/;>3*CC4U?]L+/8#)27B:NXIE,*RN3B>55G&X25S T
M6@Q6;+O7'-@R4<*/TESY)(.D+,F&B^E(#95GT1^D82O,8JTM!]5CW=$_?&BN
MS1[),*NT6^*2MQ=7'R_?7[X]_WCY\X>_KT^TS)\<),];Z&6'_<B=*=E/7?9O
M;C4O18=ETGJ5SY@?<9\^QRN?R0EAYRC7E3Y-CKNOCW]XU6;*A+8R/>Z>'!V]
M6K5AR5G??XV^ZG=?7+(1'TMFY5C)B13PD'+LO"QKKMF5I*K!X,OWQA:LWTM^
M.CAG)J<;L%R6[*VQ$.%4"08[MVZ+6P^[+_[%'9P)SQ4S=E.:B9;B6G:B=VUT
MJS!05AK/:"!7)>/EC-6EM[6$N=S+ MK(VYP5^&05$)'S#)<L,P6JGC=1[HY
M*3/I'+<S$BGXC<2\2SH=K@D8@RDUY5B:@P0R9;.Z@%B)X;!$2,NP1=F(N9I^
M+<9/I)6-$EI H9P& X)7V43Y$1;H*ID% TEO!=.,P#+'&";8<+:\#3O8;@UL
MC^Z!K62Y*@$,PM@""!U@%N*X;9?NJS)'N@I)"?]GNA;0"; M>;T#H"JK9PSV
M.X(YP5_K!8X;"+F5J6&L"+RW0Q*UA@# :X"P,)T+]F3<C5BNS<2UR+;R6CEO
MP;\9IXO1;EC960*H:XVY8^T.HUN#T>/NBX^W'/K=R^EAK__#P#4P;)@.Y2*3
MYPH?]]Q^</<EXU8&8 $H:J@E 8!)H'FHE1O1"!(KD(HI'=-GH5RFC:LQCDRP
M1D>$5=9D4N"R8WL E)! :$3-Q30;\?):LG/DOZM:0Z)_Q)/^R9Z,5O1/1/P4
M/RJB[F5$-NEGE"27 !\!2+8\>J+\UD0Y)J)UKH8!)(AX;",9;(#7HOCT]:O!
M"MI/>Z_OHIWD_F)HW^/[+]Y)!R/@]%"$'T9DA_A!QFOW^"%4J(<2Z&IFBJ7?
MU!8*D!O'RH6,"RE9!CW41BQR]7*^C\<1@&M3^Q>0ZS2U@&XJY&W8XHQ6@OM@
MZ- IH;A5M  5&4JH0"5IJAVQAA#@+E",D)^-DS#(HQ[0H(HC3K):<RHK6%8P
M8L$^,")RF64*AO^&D@3A-(R78ALS_2X<YN$P7 V'1Z?/.U'Q^,3[Z.! 0(V5
M(,Q3_\VIPG"'>"$^38' K6A!B3!1?*BT\C/B*.NFI1 -^ W0C-%U2W2)CX="
M-FT65-7H"1TVE#A5EADK@@&!F:-G!%72B!#<D16%'HF@ZXA1@!!5%6K)+@ZV
M.@ZR_1<78Z[KD#L))#+/P9;5&.YU:UCO@B0]HAC$C^N9<, ]!B*1N\BWAZ;V
MFTUX3+GB<VE)S43^<,_(AFV;$D)9QJV@,Q!2OH/N-D-7((5'4-P%%QV -*PV
MW%D/X4_(W$133);5EC"TQ G6J2V,\[A!A^E0YC)H^KT&IX#NO4UC<H0#LNJ*
M>&,[VE 9CF_H9"><YT7+]J-=(^[F%(KR<0@?*4*A"EO2%)$9T^I&ZN8L9T6^
M\_Q=VM:8>7Z#^W6>WY\\I\,-9\FBC:_.(E%2WEY&^")G$D0_@4;=X?4+\SC(
MO3?6S:E+N "=1:&\E_*^NC0T8$<D(!0L#%KV$ @H X[*#/Y2C]'&K_R]5EA
M"-6ZS,+1S_ZNE=UF6%,K>Z[!6F&& FKI$(*.,S(E@;&&=LQ;RHGD-\0C(HL-
M3"+P[W#VW9[V?1)RF^XO'@&M2:U<8*"3\\RZ&>4-;<<8(!7LNA/9C .5<76!
MS<<^A=4T56WMP>BV9MT=8)>;S7,0DMPBC74 'QFR+P 8OO)HD-J)Q5R58Z/'
MDBIZR:^;;VYLD[!E46DSD[@[&9F8HOFM. !N_QS&T]U"1&V&Q9,?05D'BH?6
M]2 7V+"N[U[VO^\-5A;G0W._)F3H89_!$$E!VF +/>D#TTD\T7R&7@GJIU(,
MXE0GO6[O52L//VE>.9FZV/#+^#P09K/M5'38$--/VDHW0I 2\ZT(NON]H'I*
MZR<SFB5A0Z?A62$OHO8#;U>G:9\S(G^MW=<)+$Z&R*,W:?B=T(4UEK1I(GA;
ME8,Q41=0Y<:/N#S/)*V?(07K_M_H>42,; +(.W@J91\0DL404=D_[;##WN'Q
M$F+NW>N_Q_Y^TH[>";DOMH&%$D++O_X>/C'@[QK\YP"T28CME>Y)A4V@[PH^
M][8_^4FZ36XX>'9!/J6E;=#^ZQ.U;[26_?A9[3W_]<F/!-Z/<WK4[?-:?O6?
M\P_OOM)PVM:@"?,M/^:Y:?=7GV?<^>'+^.'M2,F<O9_W'3_'XZ>=.[Z,._9^
MB=_7T6-_<Y\T1X+[]SD%?ZDCV<H^[:G]Y]H^C5ZER#1WCC!R+9/2"-F.@5WK
MW[3(M9PF\1B27K" Q^JB' CE*G1P*=U=?1GCO[6C$]E6<Y!)9"GN>4MC\:[&
M:!X?S4ZJ,KP6XCRW34-Y^P84Q\MA23%0> ZLI5Q/^,R% #D[H'=1WGQS=A#>
M8OD?4$L#!!0    ( +Q@<EF=&<9.:08  *A    /    <F=E;BUE>#,R7S$N
M:'1M[5QM4]LX$/Y\_16Z=NC #$[L!#BP<\RD$.YH&=(AZ4WOHV)OB*ZRY,K*
M6W_]K60[!$BN') 2J#L4L+72OCV[*V\L&@,=\\-7I#$ &N%/TM!,<SAL?7;J
MM8K7J&:72%#-*1H]&4U)JJ<<?G\=4W7)A$_H4,M?69Q(I:G004*CB(E+G^PG
MDX S <X V.5 ^\0+7ELN$1L5:^3$CI:)[U9VF0B^.4Q$,/&=>A S4<S-QA*9
M,LVD\!5PJMD(@IZ<."G[9OCUI(I .7@'V322@D-?"FU(P/?<1 >9T!F_P([U
M:<SXU.^R&%)R#F-R(6,J"L*>U%K&2*MAHAW*V:7P.?2UX6&F%VS& Z;!21,:
M@I\H<,:*)L$<[QKR_D]VR&O,(CWP^TP[(5*",$S>OO'VW*!1-7,/&]4$_Z/Y
MK!E7J:(R5K^I8RBY5/X;U_X+EFL\SGS6DSP*;LAV'Q.T)@/68YIDF,P,L09B
MD3FGW-$=WT?!<H^$R!74FKCDJ'71/3TY/6IV3]OGY..GB\ZGYGF7=-O/VS_W
M#I>U<HZW3SY5.I6C"NFTCJR#O/JNNUVZYND5;W9(\[C]L=LZ+H-FO3Q3A,J!
MNT?:)Z3[9XMTFA?OFN>MCM/^?-;ZFS2/NF:DYKJUY^VPAU2A15N?NVK^,$5/
M!<$+ :'9 )(QTP.B!T":0@PI)Q=@MI\$1TZDBHGG.A^J32+[9@ %!T&.I$(2
M:F=OFIEOWTQJKA<&1S).J)AFEU&P1?I2V:7[+ UQZ2E014"8;2HYAA#B'BA2
M][81";4ZH2G2<8BN).I .%2X346MJ(A(:Q(.J+@$%"".69H:_OAE*".J@0Q
M <IY3:1,FYE$VY9ZB-MBE:(3D)GL]UF(5T9#,Y;K8!?K30D.:=:?;I-DJ-(A
M;LJ)EF2N+.1&M&7!:$ CF6A<=IZ\(#(!D7/I4-6C E*G/>$P)<U0FQ$3$$9"
M:J<A'5/DBY!C-,HE^ \)E15%1@YO V5_I[);KV]D"#?/'4+[SD[EMYV#C>(Y
MYAK=\J#:>XXQM>EM_=)%Q^;1TQ]RCN!!+'&#WAFB%7P=,@4Q3K*(2V?XV:1;
M!*/%V]V,MF8HN<+_#/LY5+R#^DY@HJ)$Q3JCHI:A@@G,A'&6,<TH92;UL"QW
M%9"A3"%FD'UJT+%MABGG!*>!8I@]<2!!N*3;>4H55(3F/BX8V6=YFR21:L@S
M<,D$LBQ],[E5UA T+ZW(=@<LS:L'"S//XXT>F-J7*#EBT8TJ<5543#&QOL0)
M0MK!'I8XP+01$4H2JG3AT P[VTBF##6[09Q=%+705M>B%-K:; H=RI#(%,@8
MRTXJ803J><'C47M/3Z.EICT.B[*GZ0<&>3?.B&&:<ZB#(7<XG<JAQI4G$ 49
M%\]U*^Y&,0%UX31)P4\!(8-9I#"&[4AE:]LN(@J@"NXCEK(>XTQ/_6)^3H14
MT:Q%9]GM[%?<VL9\XS!7L>@<5G6T9&J]<K!WOYEW9HJ_J)O:Y2U0Z[B%SAVC
MZ9R> OK%M]\=<V.! :XU6YD(1B;0<8N;0PMOS\I; 3VD>H)FZAT O0REQP@9
MGYS+4;9/]_;M/GWG6@-U@9M^!M.\F_JK,<.L\Y[=J>PF**[D+%JDS%IV%):9
MK/K@HK)O5%O6<[CGZDNE)0]J)7U7WK/3OTY;%X\L=/8!Q]E*!6^W3L_.VMU%
MZ/^A"??:PX-;\5YHHB'_-\V4=GE(^GTN2?96^W-IN'(V8EB\SR0PSJ4NXW9-
M\5G:I8S;^4^%!PSZI#6!<&A>SB#MK$M=AN^:PK2T2QF^\WW?CXJ)D"64$YC%
M</Y)T]9=@WB5#8J811&'-0'D/1YR'HC#4OT7I_Z/CJ#UR><_'C^E[NM9PE88
M2F7GO.R<O\#.^8V%O.(#O4>PX9T$^NG;[.]7*F^STSY?29/]0X7\L5K)+\Z:
MY\=/GIW+Y]K2+B]TL_28S_OO:2H%,4F!*C[W4EX9MVN&S](N9=S>:K.?S%ZE
M+-OLZPW3TBYE^"YNLU^]#GV7-CO^-.]0/LDKIJMZJ?16/Z<X'QYRFJ8&,Y?@
M"!E!,0?EFCL^/G=8O,]AXD1,96<3S'N@PU@$$4L33J>^&;V%+GNF_-8A\W^&
MJ3D\4S"T4QT047GZ?';Z_.H,^F!65G*)F;!'_E--5?ZV[O4!-&1VVWHVJR^T
MCR'G4SZFT]36F4;5_)V!PU>-JOT+!?\"4$L! A0#%     @ O&!R6?#[M-BN
M: 4 Y$Y/ !$              ( !     ')G96XM,C R,S$R,S$N:'1M4$L!
M A0#%     @ O&!R6868:YDLN ( ^-TK !$              ( !W6@% ')G
M96XM,C R,S$R,S$N>'-D4$L! A0#%     @ O&!R65$Q5SK?!   #AH   \
M             ( !."$( ')G96XM97@R,U\Q+FAT;5!+ 0(4 Q0    ( +Q@
M<EETB+S;'@@  -4R   /              "  40F" !R9V5N+65X,S%?,2YH
M=&U02P$"% ,4    " "\8')96KPY!B8(  #,,@  #P              @ &/
M+@@ <F=E;BUE>#,Q7S(N:'1M4$L! A0#%     @ O&!R69T9QDYI!@  J$
M  \              ( !XC8( ')G96XM97@S,E\Q+FAT;5!+!08     !@ &
+ '(!  !X/0@    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>126
<FILENAME>rgen-20231231_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2024"
  xmlns:dei="http://xbrl.sec.gov/dei/2024"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2024"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:rgen="http://www.repligencorp.com/20231231"
  xmlns:srt="http://fasb.org/srt/2024"
  xmlns:us-gaap="http://fasb.org/us-gaap/2024"
  xmlns:utr="http://www.xbrl.org/2009/utr"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xhtml="http://www.w3.org/1999/xhtml"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="rgen-20231231.xsd" xlink:type="simple"/>
    <context id="C_80f872bc-1413-411b-896e-4fd151e4eea3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_81a9bdaf-6f7f-436c-8bb2-848fff93f096">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_81bb32d0-08be-4527-b298-a69684ed779f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_81ffec3c-cf9d-4e1b-9d2f-a25b8808a85c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:OutstandingTwoZeroTwoThreeNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_828b60f1-7f4c-41de-ab48-de2fad2baddf">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ChromatographyProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_82911078-bdd7-49a5-87bb-adfb316a68b0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="C_845310a5-6efc-457b-9ec0-0b358e5f16f7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rgen:StockOptionAndIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="C_85168802-14e7-4bb1-8535-42c2d678584c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_85787cd2-cc97-4fa0-9dc9-8c12203050fb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-16</instant>
        </period>
    </context>
    <context id="C_86a748c8-c612-4cdb-ae92-87b947f1df49">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_86adc6fc-af85-462e-b84e-1251a2c4a03c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_87f5646d-4d99-44dd-9b9c-267dbcb6fda5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_89c3f917-9344-45fe-8e0b-9a68f965636b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_8a126f1d-fe79-4bb7-9205-98984f6392f7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_8af8b489-1cbe-4901-a978-1f6ad5592df3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="C_8b6b3e18-3b6d-4098-aefd-43335a60deea">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">rgen:NonExecutiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:RestrictedStockAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_8ca10399-0d85-4d81-b159-3b54834efd4e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:PfizerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_8cf48f98-19ef-4e21-8519-39e04de60145">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_8d0cc9f9-4286-45fb-8903-515fb81aacb1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_8d587b79-2e7f-4374-8758-4ef3f7efb9e3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_8d9b2921-4594-40df-b6d6-c9e7e54d3d0d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ExchangedTwoZeroOneNineNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_8de54cac-61d7-4b01-8623-866bf3400eff">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_8e03f0b0-cf7e-45ef-9176-62d85b8565f6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_8e95ff1f-a37f-43db-b5d6-e6c7d5095abb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ProcessAnalyticsProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_8f21fc99-0e7a-4bd4-9d0f-1ad39154124c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_8fced8db-a45c-4846-b4db-2af4d62c8042">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:AcceleratedDepreciationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_919fcf36-dcc9-43dc-bd7c-15e27130551b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_91f7bf51-7cf8-4978-ad2a-98d4d87806f5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:FacilityAndOtherExitCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_92fd7898-1fd9-433e-b658-b545abdfd64b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_932c309b-51cb-44b3-bc0b-590bd77b766c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_937a64bd-6ee4-4148-827a-f4988711ba0f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:CashAndCashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_93e23824-4001-4d83-b57f-abe01e7a1cec">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ProteinsProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_93f75704-3ed9-43c4-ac6f-685e2e87db08">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_949b3acc-6542-40a4-86dc-c30d10c3f573">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_94e893cd-90c2-43d8-b310-6400c65c6ad1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_9505990e-7cbe-4599-8424-97d3294f28f7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_9614fa2e-d8aa-45a3-912e-33c6febbd59a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_96331592-f117-43d9-b5ec-35aa5a317f89">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_986f06fb-599d-441f-bf85-de13b571525e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_993d6975-6c8e-41de-a646-87cc3036f81e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:SubscriptionTransactionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_997e96ec-9286-42a3-8367-3faf0ca99114">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="C_99e3262a-3fe2-40be-b0dc-82616d8a390c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_9a8c889c-19a3-4f28-9b85-0ca6b5d4d96d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:RevenueAndVolumeBasedPaymentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputPriceVolatilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_9b13cfe3-1b2a-4a9b-880a-9ddb6149f09e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_9b397362-a50f-409a-8150-574b325acafc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">rgen:SubscriptionTransactionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-14</instant>
        </period>
    </context>
    <context id="C_9bae31a8-0cc1-43bb-b714-0cf69b8da537">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_9bb8eaca-94f5-49ee-9d54-6eef6dfaf8ff">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:RevenueAndVolumeBasedPaymentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_9bc9fb58-59c1-4a41-a872-11298ff6fd4a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_9c8f8b2b-e150-4163-849f-9abbf6fa2b4e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:UnvestedOptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_9cdbc917-f59d-4575-b50b-b7529fe516b1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">rgen:FurnitureFixturesAndOfficeEquipmentMemberMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_9e554bd1-4e0f-4a0a-914b-df0f3f131710">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_a08b8290-c277-4d03-82d7-8b36c70b360c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-06</instant>
        </period>
    </context>
    <context id="C_a0eac4f5-17af-4888-b40b-5756dfe48d35">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">rgen:OtherAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_a107ef67-eec8-4142-85f2-d4a945acc80d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_a34f5856-042c-46e8-a686-e88ec78ac42e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_a40eb5ba-0a80-41bb-a4de-c91b4e73a339">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_a6cd6916-e30c-4fef-b3b7-fde4efbf82f5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_a76644f8-46a0-46f5-a877-718f5a2d202a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_a77bf54e-aee2-41ad-98b5-74f7826c46c7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_a82de08f-7d1d-4d1d-b664-f03878b55e70">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-02</startDate>
            <endDate>2023-10-02</endDate>
        </period>
    </context>
    <context id="C_a85a323e-95db-4086-a929-bcaabf49c967">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_a863024f-fdbb-4c77-915f-c7c678373077">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_a8b70017-761d-4a6c-b9b3-8968744c7f3a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202006Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_a8cf4262-1377-41c3-a8ac-30ab371952af">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RestatementAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_a8dc03d1-ec6a-4ec3-b18b-a3425f264901">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">rgen:SpectrumIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:PrincipalOwnerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_aa029d8a-3fde-4c72-8a40-44437d26696c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ProcessAnalyticsProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_ab14e346-b902-4523-a4d0-462c826e602f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_abc21ae5-4e05-4e1a-b86b-4aabbb320074">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_ad627738-a5b9-4155-a591-ee1573e8d09f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_ade650d3-99e2-445d-912a-b1fa113c189b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_ae2cbb3d-114a-4975-b60e-dd1909dc9d88">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_ae41742b-f99e-42ca-9480-c8113505d556">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">rgen:OtherAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_ae758623-b001-4707-b9da-c6ce9ead2177">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:OtherProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_aeca4317-2ca1-473a-8ffb-a7b7c0feef85">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:AcceleratedDepreciationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_af0b13aa-d164-4720-bcf2-3543a93184e5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RestatementAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_afc15e9e-909f-4bd6-be74-63ca7d294c34">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_afda28db-848d-46e9-b0b7-b861c2bcc1e4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ModifiedTwoZeroOneNineNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-14</startDate>
            <endDate>2023-12-14</endDate>
        </period>
    </context>
    <context id="C_b0b4c7e7-1ac3-49a0-a8b7-f455bfebd99c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="C_b38c53a5-5d15-48a5-a872-0976ab51318c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:PrincipalOwnerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_b394aa78-5ae7-4528-8866-e5b57064eba4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:RoyaltyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_b4d4e915-4714-412b-939b-5521b848cb6e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-14</instant>
        </period>
    </context>
    <context id="C_b651fab6-218e-40fe-b528-78073ff3fb2d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_b6fe10fa-8ab1-47b1-a63f-17b042a6b447">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_b863eea6-61f9-4978-952d-7f6d07797f95">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_b8e12f24-a00c-4ecf-98c5-08e540d70eb1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:ManufacturingLineExpansionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:ProbabilityWeightedPresentValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_b9ac2779-f189-44a9-a97c-13ae9a156480">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_b9b4b5d6-de5d-476c-9e99-40894c80f091">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_b9bd2956-55b6-4630-90c7-778486ff7c89">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:AcceleratedDepreciationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_b9fb015c-5324-4b79-bfca-e8473e117f1a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_ba73e25b-8f33-452a-85c5-38d65f326340">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:InventoryAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_ba8ab06a-f7e6-4507-8ea8-4fee4941e8fc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_bc92bded-7ed3-40b1-9afd-fef7811fe1c0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:CustomerNumberOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_bcb710f7-000c-4e37-a3eb-32503afc8b07">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_bd279589-3e25-448f-b6be-6087995b8f11">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ExchangedTwoZeroOneNineNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-14</instant>
        </period>
    </context>
    <context id="C_bd45c841-c1b1-43de-9cf5-7b66118f6d51">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-16</startDate>
            <endDate>2021-09-16</endDate>
        </period>
    </context>
    <context id="C_bd84582a-077d-43ef-b178-9dc980053e29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_be70101a-f1d6-4048-827d-4d1a06fdc729">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_be871d4a-3756-4b33-ab96-659992a35015">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-11-29</instant>
        </period>
    </context>
    <context id="C_be87c643-2923-4319-9d3b-a157c97efd76">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_be9d030f-78a2-4010-a51c-2a17318bea4f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">rgen:CashAndMoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_c131eb55-02f6-407f-b731-75cd187fe4c1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis">rgen:DefinedContribution401KPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_c1f94eba-83e9-4529-939a-128892f1ed5e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ExchangedTwoZeroOneNineNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-14</startDate>
            <endDate>2023-12-14</endDate>
        </period>
    </context>
    <context id="C_c2c7db4c-193d-4dc7-a354-b30106aa6f74">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">rgen:FederalAndStateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_c3b98cb2-71c9-4900-851c-19332d055ff6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_c5357c8f-638a-4156-89d4-9566b631c253">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">rgen:ComputerHardwareAndSoftwareMemberMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_c70e20b7-1a61-4956-9fe7-3c9acd47cfe1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_c72349fb-9b16-4d54-ab39-870ba6ec83a3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_c7bf4bbb-9480-4f18-a942-b0bebb57bcd5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ChromatographyProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_c8400b9c-a292-460d-9ec9-8b21c8adc9ba">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:NotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-14</instant>
        </period>
    </context>
    <context id="C_c8c16607-47c9-4aa9-aee7-7168c0e96aaa">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="C_ca39c9b1-01a2-46fb-b330-e9ba7d9a53b7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:SE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_caa82be9-db75-4168-922a-499572d850ba">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">rgen:OtherAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_cc0780ab-47bb-4184-9412-5e8b7cb682ca">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_cc30fe8f-8f76-40be-9d6f-5f22734651e2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_ccaaa367-b7bf-4baf-ab46-429b000b1df1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="C_ccbed23e-b536-4c0d-b083-8e75690759fd">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:ManufacturingLineExpansionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputEarnoutDiscountRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:ProbabilityWeightedPresentValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_ccef2e4d-3d90-4a9b-9125-b2eff4191dae">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_ccf9d931-c2ad-45f6-bb1f-dc9bb55b4d50">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_cdf74e2b-c5e8-4335-b70c-b1908a440d75">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_cef25962-2aac-42c1-aec4-f4841404e3d1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_cf1a22da-a6ea-4fb4-942d-cdda828d9431">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="C_cf8baa91-9ed0-49cc-aeba-358ed6c5f80a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_d2824928-d973-486a-a65b-45df3e8d84e4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:RestrictedStockAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_d3d3487c-fcb3-4a02-bfae-0d51403d51fa">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">rgen:NonExecutiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_d41a49c7-4e1a-4e04-88c8-9a0e57f6b897">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="C_d43babec-e112-4a4e-bd41-99b5e5a5370e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_d517e436-774e-430b-b7a9-215ae3774a7e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_d52b9952-ec66-4682-9c8a-39eb7b430fe1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_d57a8ced-7509-4082-a3ca-2ccd9891343a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideAndFlexbiosysMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_d739c946-d3a5-4440-8020-77c46f56e619">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_d80d597c-3ac0-45b9-a4a1-fbd9ed9072ce">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_d9562d39-4385-4173-ba25-d5d0094e6ea9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">rgen:CashAndMoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_da9bb3a8-9478-466f-b7cb-b04ec3660d20">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis">rgen:DefinedContribution401KPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_db4a7269-67e4-4aba-8cef-e29da396221e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_dbd9f53d-3a19-4241-9998-df54acb4c40d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:FacilityAndOtherExitCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_dcb0ae5a-6042-446a-b135-e56632d03469">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_dd71ae59-f1fd-409e-b94a-3357654f6efd">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_ddd10db0-03d4-4d03-9e8c-2914b3b666f0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_de576b41-579e-486b-b67a-91a0de11cca0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_de8e1d50-1d95-4fd7-9b3b-1618b3b52f84">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_df5247e5-2442-4adf-8606-6abbdd94079a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_dfb4eed7-fb35-4d58-9cc6-904dd41d7feb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ChromatographyProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_e0310568-ba23-447a-89dc-cc0078b4a0d9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2022-10-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_e1105124-5f29-4bc1-b71a-766596a97df2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <instant>2024-02-16</instant>
        </period>
    </context>
    <context id="C_e337dcc3-8c1c-48d1-8a8c-84c2b207455a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="C_e3f82ff6-645c-423c-9c11-f15ada748e62">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_e4db7810-9e58-430e-a904-ed67c8356fb0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideAndFlexbiosysMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_e4f5cb18-a0e8-4e04-bab9-b673b7dd06ae">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-02</instant>
        </period>
    </context>
    <context id="C_e5346cff-daa3-4b88-af43-66a2dfc7c4cc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_e54d09a6-b2af-4dea-9a1a-ccf608319a7f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="C_e577c14f-0a88-47c6-b306-33ee91d44b1b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-07-31</instant>
        </period>
    </context>
    <context id="C_e5dacb47-0ff3-46b6-8d47-fcb04b2ff82b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">rgen:ComputerHardwareAndSoftwareMemberMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_e6aacc32-5791-4b11-9df3-2bff916ddb5a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputProbabilityOfSuccessMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:ProbabilityWeightedPresentValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_e6bc1264-f000-44b1-a506-8904a1ccc81c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:RestrictedStockAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_e72c853e-3631-476f-86e5-4087f150e6bf">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_e79368cb-90de-4a4a-8a13-09bf91d1a79b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_e7baebaa-bdf9-44eb-9ddc-5b7070998d67">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:TwoZeroTwoThreeNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_e862366e-decd-4cda-8652-36c9b987bfb5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RestatementAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_e957b3ec-b78b-4a0f-b705-c76d381678bf">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_e988d382-f53c-4068-9be1-96ff58c3ec5b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RestatementAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_ea2f159d-1ada-4375-89ef-69b597936bc6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:FacilityAndOtherExitCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_eba96294-5ae5-40e7-9508-1239e17102bb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_ebf73946-9c8b-45db-a425-8abb4b7e6f67">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_ee3e1150-0f15-446e-bd18-065f49eb472b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:RestrictedStockAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_ee4c933a-9b57-4094-a6b0-2202001a520f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_efaa8ca3-1e5a-4bd7-bb27-e425e2de3d42">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-14</startDate>
            <endDate>2023-12-14</endDate>
        </period>
    </context>
    <context id="C_f1ac95cc-2a2f-4c6d-b070-857146dea57d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:FiltrationProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_f200702d-3542-4b3f-b0cd-72b379dcd4de">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_f2669897-cafb-4b1e-8549-28ba2a50496b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_f5dceb75-ed26-453b-8b03-a5e5608716ba">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:FacilityExitAndOtherExitCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_f6f12142-0277-48d4-8b90-d56547c17249">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ModifiedTwoZeroOneNineNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">rgen:FairValueOfEmbeddedConversionOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-14</startDate>
            <endDate>2023-12-14</endDate>
        </period>
    </context>
    <context id="C_f730894e-6672-4551-b8e1-e2153ae8128c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:TrueUpCostsDecember2020Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_f7a6ff66-09a2-410c-aeb3-270cfd6996c1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_f8079501-8ddb-4196-9cae-e8d19f192855">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_f81617a6-82f7-4a36-b727-4c00f37905a8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ModifiedTwoZeroOneNineNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-14</instant>
        </period>
    </context>
    <context id="C_f8950647-cae8-463b-9c4c-0abefaa69b9a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_f8bb04aa-ddc7-4367-a928-cad669795554">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_f8ce4662-639c-43a7-9c32-7def0ed265ec">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_f9676ca9-4b37-4d7e-bad6-23d8b3b406ff">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_fa007337-552c-411f-ae97-cdf1ea9c3ff9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_fb630dbe-e192-4d10-a0bc-d7caa78ff0b7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-07-31</instant>
        </period>
    </context>
    <context id="C_fc3aec69-23cc-429b-992d-5f7d2d41ab86">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_fc678d8d-1280-471c-b5dd-e8b0f6b74a55">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:CustomerNumberOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_fca9e7be-b5e9-48d2-a590-994404346f46">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_fcb4125e-273a-44fd-9d09-9ff01cda4870">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:FacilityAndOtherExitCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_fd1dc4c0-461d-4328-b57e-2aff96e9a0a7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideAndFlexbiosysMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_fdd28a2c-e6ea-45f6-aec7-7ca27f89295f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:NGLImpactAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis">us-gaap:ResearchAndDevelopmentArrangementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_fddbf4cb-18b5-4d77-9733-54cf29167937">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:RoyaltyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">rgen:OtherAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_fec4765a-86f8-4ef3-b39a-a5083a207150">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:ManufacturingLineExpansionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputProbabilityOfSuccessMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:ProbabilityWeightedPresentValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_feec9274-0957-47f7-8e88-a29b76cdde90">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-29</instant>
        </period>
    </context>
    <context id="C_ff827794-7d38-4589-8b07-a404dba527d3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:InventoryAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_020d7343-3d39-48c4-9787-a80d017b01ba">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-06-22</startDate>
            <endDate>2021-06-22</endDate>
        </period>
    </context>
    <context id="C_0265e8fb-5e58-4f2d-a6c9-2fa91822cfc7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_028f0a92-fc2f-4765-8d45-da300d48f16f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_02c52a78-79ec-40d7-b349-18e33fddba71">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_05ebe28c-5ee0-42ff-b7aa-c238426453d1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_067a6114-4b5a-4053-96f4-f46a5a9efe53">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_06ed5cd2-5d02-4b7c-a060-089ca983ba21">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_0731af32-df9f-47e9-a89b-ec05eb65660a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="C_0788b2db-3193-4735-87b4-2ebcc611c50e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_0845755d-0cfc-4ed1-a63c-056c0003f037">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="C_0a1abccc-ded4-44b6-bbba-101e709b3fa7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ModifiedTwoZeroOneNineNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_0cd8d8e6-3c55-4902-aefd-5c9145f4ccd3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_0da3fa68-d185-4ccd-acca-ba79deaa1e03">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202006Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-04</startDate>
            <endDate>2022-03-04</endDate>
        </period>
    </context>
    <context id="C_0dcda174-8051-4377-bd2a-edaa9e45dee0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rgen:StockOptionAndIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_0e1f33d7-90de-41d5-8921-1d2474bea169">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_118d8396-b244-4c68-8e81-188dd4dcd960">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:TrueUpCostsDecember2020Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_11c09de6-fe8a-4729-9991-f7b437a64e5d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:PfizerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_11d24eba-5e1b-4e9b-ae8e-2f7ef5ef6006">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">rgen:ExchangeTransactionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-14</startDate>
            <endDate>2023-12-14</endDate>
        </period>
    </context>
    <context id="C_13a377e5-c54c-40c1-8862-a75c34f185ad">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_13d41b52-dc6f-40b2-b68b-8be806556dc4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_151b99ba-a4ff-4423-888e-60a04785b869">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-19</startDate>
            <endDate>2019-07-19</endDate>
        </period>
    </context>
    <context id="C_152df1cd-b5bb-41c1-80aa-ef8c50d178c6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_15cb21fa-c992-46f4-b1c5-079db171c763">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:OtherProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_1737730b-9d9b-4c4f-bd00-8f491b41a9d1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_181178a0-f552-4946-a008-377187584c9f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">rgen:OtherAdjustmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_18b06a93-bd91-423c-b2db-256ea54bda8f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">rgen:OtherAdjustmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_18de3830-8e4b-43b1-b769-f4d6404c6044">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_19155d0d-8624-4d4f-a65f-9a82a960d492">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_19468930-07e5-4404-a47f-5ed70bd40065">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">rgen:OtherAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_19af5bfa-4a9e-4d9a-9713-c650fb8e8606">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_1a3669c7-edae-4d97-bd42-a06f7bc215b9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_1b2adbd2-5edf-464c-8fe3-ae19e88561b9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_1b2f1d9b-c655-407a-9d8f-914703d177cb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RestatementAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_1e8e8c9a-8ef5-4d29-ad8a-567d523c650e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">rgen:FurnitureFixturesAndOfficeEquipmentMemberMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_1ea7cfd9-b67e-4786-a857-c751e74895fc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_1ead2a08-699e-4c22-af24-827d48e7c43e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:PrincipalOwnerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_1eea2353-4969-4ce8-9058-2e8547d6c132">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-17</startDate>
            <endDate>2023-04-17</endDate>
        </period>
    </context>
    <context id="C_202cb0e8-ee66-489b-925c-8fc276fc256b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="C_20e98195-81e5-4a78-b696-46630e4d09a4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">rgen:OtherAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_21cb6274-03c5-4f2c-bc2e-1ae30fc4b8c4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:FiltrationProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_2275e601-d650-4815-a23e-bb50cf4ced4b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_2306aad4-6e30-4ac6-91da-b9012537d38e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_23640028-5b90-4cc8-b258-9a033867cf65">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_2374c88d-b37a-4841-a36a-8234abda4d8d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:RoyaltyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_24150723-7711-48f4-98ec-4f54e99b7614">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_25a2b16a-f8ca-44e2-8a64-59fa3cd82225">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:InventoryAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_25ab9f38-2cca-4198-9d80-0cbd791565c7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_28500612-427e-471d-b740-4cc7b18f89d7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_29a848f4-ea3f-496e-98fb-674103147d75">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-14</instant>
        </period>
    </context>
    <context id="C_29eef544-91ed-4d72-864a-9119c13364c8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_2a39499c-96c9-4ec2-a199-753949caf542">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:NonEmployeeDirectorStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_2b4b3769-11d4-47f9-9499-c663372feec5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:AcceleratedDepreciationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_2b4e0f3a-856b-4d30-9b74-ecd78010640c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideAndFlexbiosysMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputEarnoutDiscountRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_2c95baea-6254-4024-a6cf-e640d90e6e8a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">rgen:TaxYear2043Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_2de31f01-f836-48c2-b730-1200730900ad">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202006Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_2e5f239b-0444-4570-b098-fe3f23178665">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:SubscriptionTransactionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-14</startDate>
            <endDate>2023-12-14</endDate>
        </period>
    </context>
    <context id="C_2e9572fd-807d-405f-b7b3-e7ebfd30dbcc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:RevenueAndVolumeBasedPaymentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputRevenueVolumeDiscountRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_2eb61456-3e86-445c-b113-c64ce244019d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:RoyaltyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_2ebdc143-b937-4a25-8992-2d85226e2e5e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ProteinsProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_2ecdb204-949b-48a4-8e49-b9f444873ce3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-14</instant>
        </period>
    </context>
    <context id="C_2ee23860-329f-4620-b83a-78ee0abbc74c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_2fb30509-c5dc-4f33-ab46-ae3839f99b64">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_30f269ef-88ed-48fb-a4fe-70aa91245eb7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:PfizerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_3192f6c5-626e-4de8-9965-0ec8fdfb47b9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_31c8d921-4040-49c4-a0c3-be3ff971ac14">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:NGLImpactAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis">us-gaap:ResearchAndDevelopmentArrangementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_34a9826a-c845-4d3c-afab-416c4c140419">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_357e55f3-c316-406e-b1eb-308c55345fdf">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:ManufacturingLineExpansionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:ProbabilityWeightedPresentValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_35f79789-29f8-4cab-9109-cfb9d844dbd8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">rgen:OtherAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_36242248-d8f6-4cc4-a6d9-f748120d033b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_36bed660-6879-4a10-a8d0-cabdb6f904bf">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_39c3f539-e72b-4371-af67-86fa87156c53">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_3b03e0b4-2f2a-44a7-b962-8f45b78cdb25">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_3cda38b9-3bf9-4a27-ba89-447c16d2f99b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ProcessAnalyticsProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_3e29b877-8159-42fb-bc68-58494762c0f2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_3e8eacaa-8727-449c-96aa-bf986e717256">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_3f1c7f78-aa24-40ad-9b77-159847ac2854">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_40d2c774-50ed-4f1d-a778-947bd9f7ae40">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_4197089d-b2ad-407a-a88d-524d55d415bb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_420f22c2-f005-4a1b-80f6-81fba79b4662">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RestatementAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_42291f82-cf7e-4cea-a274-f30979d32b81">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:SubscriptionTransactionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-14</instant>
        </period>
    </context>
    <context id="C_4262f47e-b7af-4b7a-a6c9-99632074c7bb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-02</startDate>
            <endDate>2023-10-02</endDate>
        </period>
    </context>
    <context id="C_42f1d04a-ae48-4d01-803b-289f4eca102c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_43253817-317a-4144-8883-3be2d894465a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="C_43d07d1c-4638-4ece-a12c-72e135a3b500">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ProteinsProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_45414736-003e-4605-ac98-b13a2377daa3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_4557533e-862a-44b5-842c-fa9a8121748f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_458045ff-bf6d-4fbc-9e9e-1b2c8f456dd2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_45d4a4e0-a4ed-4901-b2d3-5c70924ea702">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:FiltrationProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_468b46f7-ee57-40de-be00-b230bf3bcc7d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_47283da4-d33d-452b-905b-fcae0fd0bc2c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:RevenueAndVolumeBasedPaymentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_47d99feb-bd92-4150-b94c-3d6e4128c1aa">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:RoyaltyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_4839da60-958e-407b-9bba-2302adbf97ff">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_489407cd-f3b2-4917-8258-215fa2e47534">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_4903e3a8-6af5-45f1-a44d-32b065baadff">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_4983baff-0876-4143-a902-ebc910164077">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">rgen:APACMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_4a29c368-0c77-4046-977c-d443e13aff4e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_4abf8ec1-5831-417f-a7a0-df8d261e5250">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_4b6f2d99-6a60-4eb8-98f6-539b51a3bc51">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202006Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_4b95d4be-6015-49f9-a615-2a5f36704184">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:RevenueAndVolumeBasedPaymentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_4ba51dce-d20f-417b-aab5-b623a8d23880">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:NGLImpactAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis">us-gaap:ResearchAndDevelopmentArrangementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_4cbaf6f8-a32e-4825-b3da-968aeb9a7acb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:RestrictedStockAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_4e91d2b0-1bc8-4287-bb98-eab91339e55a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:TwoZeroTwoThreeNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_4ece218e-ea24-4147-b907-3f5bb672e770">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_4efbc7e3-ffdf-49cf-9231-6e9cd054deeb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:RevenueAndVolumeBasedPaymentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputEarnoutDiscountRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_4fe67a58-54bc-4aef-a0c3-06b74b3c59ed">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_50824066-db96-4e9c-89be-2187ed9c8b5b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_511030e1-8f3a-44ca-8fda-31bd3de6c203">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_5165589d-58c2-4afb-a632-66aaeda3d669">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_517b62b2-f94a-484b-bdad-beee620b135b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_533fde4c-b9a5-449d-bd18-10f5117f2dbd">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:CashAndCashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_53a812b6-9bab-4db1-8dd3-3c253c58bc27">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_54672aa0-0bf8-4db4-abe4-49be4667fbd2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:PrincipalOwnerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_54da77f9-5299-43e8-bc2a-a3d8ce04f0e1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_5571093e-15b6-44fc-977a-a5b348d7b236">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">rgen:APACOtherMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_56b5ac01-5af9-4a1e-ae71-eebdd534d000">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_576509cb-8cb1-4c91-aa64-e0e06b940d7f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_57a31b66-c67f-42d7-a0fe-f939794d67d6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">rgen:APACOtherMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_57a95ac7-d505-42c2-8beb-ed82c8ace083">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ExchangeTransactionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-07-19</instant>
        </period>
    </context>
    <context id="C_5a1ec2d7-31b8-4b06-8565-02b0b26e4979">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RestatementAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_5b183dbc-53e1-4b2b-a841-fcf2afa67f2e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:RoyaltyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RestatementAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_5b2f98f0-5aaf-47f7-a6c3-eb82a9a19723">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_5b80df83-7025-491e-a539-f48cf74a13a9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_5cafeb64-d914-401d-bf4c-d45df9d3ea60">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:ManufacturingLineExpansionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:ProbabilityWeightedPresentValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_5d1d5259-5c7b-4645-af51-5d2693739405">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_5db82e18-d6a0-4194-a855-2452c0c03355">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">rgen:APACMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_5e1e8005-1ca3-4e0f-959b-ffd66c98b024">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_5ef98629-d348-419f-9d8d-a7b6418a6220">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:InventoryAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_5f034394-cf78-4eb4-8ff9-9f23954cccd0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_60fa6f45-39ec-43c5-adac-3320c3d8a679">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_61fa9d78-8afb-439d-9113-ea81e70ba86f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_62816c8e-5a04-45aa-96ac-ef7d105e530d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RestatementAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_62ee8892-57c4-4b40-bfbb-bc710d3f7bac">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideAndFlexbiosysMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputProbabilityOfSuccessMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_63483dd9-9699-4dae-8b4d-61ed89fe7e2b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_63d4e2c0-13f1-4b63-a2b4-ed1c5a642163">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_64a480c0-a0be-4794-b148-92796ca3846a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_6510b4a8-454d-4c05-903f-a7055df45cb9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-29</startDate>
            <endDate>2021-11-29</endDate>
        </period>
    </context>
    <context id="C_65474625-14e9-4073-bb51-8a868ee6020c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_65b08794-f7d8-4059-ac5e-94d03811f466">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:PuroliteMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_65ffba7c-18cb-4d91-820d-905df26ad0a9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ExchangeAndSubscriptionAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-14</instant>
        </period>
    </context>
    <context id="C_665c3d96-ac6a-4e64-96ae-87dd4f478598">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_671f6d21-2dad-434b-b963-a3e1c9829454">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:AcceleratedDepreciationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_6779d872-37d7-4981-91a5-220b5cc323ab">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:FacilityExitAndOtherExitCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_67ac9dab-11e7-4558-9fbf-0eb049eb4fc0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_690b203f-6012-4574-9e1e-3815e1882698">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis">rgen:DefinedContribution401KPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_69b9f203-4ffd-4060-a3b3-bc1b1bddc8fc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202006Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_6bd616b5-e130-4840-9988-8b44cfef48a5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_6d330e6c-613f-463b-8988-d1dd296d67dd">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_6e6a7aa0-d26c-47ef-8006-274f7962495e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_6ea81ff8-25fd-4a5f-8209-58c3ebd49b7a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">rgen:TrademarkMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_6fb54043-1aab-4aa6-bca1-093388f54d18">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_6fbf62a7-4be7-4e53-824d-972254971729">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:OtherProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_7054cf9e-e4b9-48bb-8db8-51dc67555cab">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_72048d64-eb68-45f7-b7ba-737b8cff5b6b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_72df5c19-d7d2-43d2-bb17-df8271835ac3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-07-19</instant>
        </period>
    </context>
    <context id="C_72e6137b-e590-4c9f-9dcf-70d18a768f7d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_731ef2bc-8693-4fa5-b925-51d077ac24fe">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_73645a4f-0b13-4c18-99b6-77b48110746d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ModifiedTwoZeroOneNineNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-14</startDate>
            <endDate>2023-12-14</endDate>
        </period>
    </context>
    <context id="C_739f2499-5a6e-4497-a335-0b687d7c1206">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CapitalUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-16</startDate>
            <endDate>2021-09-16</endDate>
        </period>
    </context>
    <context id="C_73cba0e2-763b-42fc-91ab-cfbb6869181e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_75129c4a-5fb9-4163-9852-625a1aa895c9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">rgen:InflationReductionActOfTwoThousandTwentyTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_77d006db-b71d-4439-bc7e-74bc655c27f4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_780dac2a-fde7-43bd-b2ba-0b966b73e453">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_78d29b32-606c-4039-99bd-59c6cf363ebc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_791f88a3-f366-4b27-9da7-3798d8ba6d29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:InventoryAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_7975b29f-6b21-4987-8e7c-b58d2df11b0e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-17</instant>
        </period>
    </context>
    <context id="C_7984018d-c393-468e-8f40-342d128d5015">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">rgen:TrademarkMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_79d26bb3-2f4a-4d23-ba89-b74276d4a86f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_79d7ac14-41d7-4dd7-93cf-7d251a407a89">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">rgen:CashAndCashEquivalentsAndMoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_79e62abb-7c94-41a6-814c-90254943c565">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-17</startDate>
            <endDate>2023-04-17</endDate>
        </period>
    </context>
    <context id="C_7b18128a-c301-47f8-a48d-4277e26350b1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ExchangedTwoZeroOneNineNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_7c8ecffb-e521-43b6-9f00-cf54e50c4240">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">rgen:APACOtherMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_7d52f340-2312-47b8-b669-dcdf99df683e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_7f11107d-8c42-4922-babc-75a59b58c2c2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_7f338a95-2d65-45f1-9fb3-126f775914f6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_7f5dd080-ebd1-4899-aecd-e7d96b15a39c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-07-19</instant>
        </period>
    </context>
    <context id="C_7fcf606d-08e7-4899-8811-abfdc010d8c5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <unit id="U_UnitedStatesOfAmericaDollarsShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="U_pure">
        <measure>pure</measure>
    </unit>
    <unit id="U_sqft">
        <measure>utr:sqft</measure>
    </unit>
    <unit id="U_shares">
        <measure>shares</measure>
    </unit>
    <unit id="U_Segment">
        <measure>rgen:Segment</measure>
    </unit>
    <unit id="U_Sites">
        <measure>rgen:Sites</measure>
    </unit>
    <unit id="U_Days">
        <measure>rgen:Days</measure>
    </unit>
    <unit id="U_USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="U_ReportingUnit">
        <measure>rgen:ReportingUnit</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_00f41a9d-aa0c-43dc-ab70-c7246b96771c">0000730272</dei:EntityCentralIndexKey>
    <ecd:NonRule10b51ArrTrmntdFlag
      contextRef="C_39c3f539-e72b-4371-af67-86fa87156c53"
      id="F_058c21dd-2535-4f45-b37d-3824d05e9cfc">false</ecd:NonRule10b51ArrTrmntdFlag>
    <ecd:NonRule10b51ArrAdoptedFlag
      contextRef="C_39c3f539-e72b-4371-af67-86fa87156c53"
      id="F_855ca6c0-ac8d-46f2-ba24-c8b322e03d5a">false</ecd:NonRule10b51ArrAdoptedFlag>
    <dei:CurrentFiscalYearEndDate
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_160fb375-6ee7-49d5-8102-79ed20779b15">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalPeriodFocus
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_f2eb3506-1dad-4599-aa98-424f74f10351">FY</dei:DocumentFiscalPeriodFocus>
    <ecd:Rule10b51ArrAdoptedFlag
      contextRef="C_39c3f539-e72b-4371-af67-86fa87156c53"
      id="F_8df8df4f-1c70-47c9-ae10-aee867b91c30">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrTrmntdFlag
      contextRef="C_39c3f539-e72b-4371-af67-86fa87156c53"
      id="F_5b40d974-2fd9-44cd-8604-85ef7e9b690f">false</ecd:Rule10b51ArrTrmntdFlag>
    <dei:AmendmentFlag
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_e8b76a8c-8db6-436f-8795-463c1c22fa35">true</dei:AmendmentFlag>
    <us-gaap:CommitmentsAndContingencies
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      id="F_e440efcd-a2b2-4801-8a9d-6dfd8426c861"
      unitRef="U_USD"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      id="F_a1f42ed0-b7b2-413e-af8a-b0691a4f9450"
      unitRef="U_USD"
      xsi:nil="true"/>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      id="F_f6be4637-cef0-4d20-94ff-4351dbd23794"
      unitRef="U_USD"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      id="F_0acfdd04-3b72-46e2-851e-b95899936c90"
      unitRef="U_USD"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      id="F_1f00a0dc-85df-45f3-823c-2e66daf692bb"
      unitRef="U_USD"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      id="F_eef92064-b3a7-4175-a0a0-71dc9aad4828"
      unitRef="U_USD"
      xsi:nil="true"/>
    <us-gaap:ProceedsFromPaymentsForOtherFinancingActivities
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      id="F_d983390b-710f-4bf6-984b-01a5c58be1af"
      unitRef="U_USD"
      xsi:nil="true"/>
    <us-gaap:PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration
      contextRef="C_64a480c0-a0be-4794-b148-92796ca3846a"
      id="F_97c658e9-763a-4c74-b869-847703160c86">http://fasb.org/us-gaap/2024#UsefulLifeShorterOfTermOfLeaseOrAssetUtilityMember</us-gaap:PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_99e3262a-3fe2-40be-b0dc-82616d8a390c"
      id="F_951db97f-38a2-4f75-b2a0-786c13d36d24">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_9cdbc917-f59d-4575-b50b-b7529fe516b1"
      id="F_a515c115-d6c2-4112-a709-4feb4a3856a2">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_e5dacb47-0ff3-46b6-8d47-fcb04b2ff82b"
      id="F_dbc0aa1e-92ac-4d71-9c5b-67e87dcc2701">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:OpenTaxYear
      contextRef="C_ccf9d931-c2ad-45f6-bb1f-dc9bb55b4d50"
      id="F_b3baf8b7-ef1b-4f8a-837f-4cd1d791b6a7">2019 2020 2021 2022 2023</us-gaap:OpenTaxYear>
    <us-gaap:OpenTaxYear
      contextRef="C_ca39c9b1-01a2-46fb-b330-e9ba7d9a53b7"
      id="F_4d9bd1d4-0a18-4e8f-a46b-04210d4baa9b">2018 2019 2020 2021 2022 2023</us-gaap:OpenTaxYear>
    <dei:DocumentType
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_20518ad2-ded5-4ae9-8a3d-68469bd64f39">10-K/A</dei:DocumentType>
    <dei:DocumentAnnualReport
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_8ad395ce-a2b2-4dd4-8f93-a0de8a356967">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_02f090cf-c533-40f3-a0d0-35e1f00c6707">2023-12-31</dei:DocumentPeriodEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_4c2c86bb-665a-4e79-b0bf-2c4170a31853">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentTransitionReport
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_9b839373-f65d-4fce-bd9b-a5ca7a3e6d91">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_1361f2b8-fdb4-467e-acd0-22d984883784">000-14656</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_af0ca75e-a687-4af9-95b9-20f0cb88fbdc">REPLIGEN CORP</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_1f9594a3-ba4d-4a60-a9b0-c60c2177e544">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_88242684-7ad4-459f-bdd0-f9bd962dedc3">04-2729386</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_d6903fb2-d2cf-453b-9459-7ba75f29a784">41 Seyon Street, Bldg. 1, Suite 100</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_5601a99a-d2e9-4e4d-9a83-768819a7f1fb">Waltham</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_07027641-aa25-43d3-bab9-1be6af47015d">MA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_52bc6621-af12-43d8-8f46-84fe648774ba">02453</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_24af7827-2a16-4b11-943a-770709a91641">781</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_87a64b25-ec64-4af1-b3dc-8e27fe0eb532"> 250-0111 </dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_611b0943-bb1d-4e2c-9efe-356136dff98e">Common Stock</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_b52d65d6-c026-4954-a9cb-b0408e24bf18">RGEN</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_430441f3-7e7c-4273-af0d-b13606a30138">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_f6dae0bc-bfac-4597-9c6d-654918d9bb61">Yes</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_b4a5cb3e-f7b8-46e2-973c-1620720a1ebe">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_581ad6e7-66b9-47ce-8014-2e7c746c3b65">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_d6e14a2b-f622-4daf-9d73-1ab0015bcd2a">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_ea148053-a688-402f-82e5-d7410d2f198e">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_94c76e51-a5ec-4895-94dc-0eb456e68e64">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_5abf48ff-1d9b-44c1-bf6b-93ab425d6453">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_87d69903-22bc-4305-8935-480253f977cb">true</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentFinStmtErrorCorrectionFlag
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_a0c7fd58-9786-4945-8c54-10debae334fb">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:EntityShellCompany
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_f15ac4fa-0027-42cb-a2c0-2ecee6e8875a">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="C_cf1a22da-a6ea-4fb4-942d-cdda828d9431"
      decimals="0"
      id="F_2f5e13bd-dc08-478e-bfd4-e36c1be88d0a"
      unitRef="U_USD">6931847028</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="C_e1105124-5f29-4bc1-b71a-766596a97df2"
      decimals="INF"
      id="F_190327b9-6f9f-4375-8c78-b9d1bb36d4f4"
      unitRef="U_shares">55771075</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_9d801c04-29b3-4cd9-b932-a97950c1f6aa">&lt;p style="font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"&gt;Documents Incorporated By Reference&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"&gt;Our Portions of the Proxy Statement for the 2023 Annual Meeting of Shareholders &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"&gt;are incorporated by reference into Part III of this Report.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;</dei:DocumentsIncorporatedByReferenceTextBlock>
    <dei:AuditorFirmId
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_ca499bcf-692d-4199-b72f-53b381791336">42</dei:AuditorFirmId>
    <dei:AuditorName
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_92ae20f3-c28d-439f-a674-bb00c2a87949">Ernst &amp; Young LLP</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_646365a1-94b0-48a3-8d24-403ca97ef9e7">Boston, Massachusetts, United States</dei:AuditorLocation>
    <dei:AmendmentDescription
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_2a2ab318-ec71-415d-a07c-f86fc806bcc9">Repligen Corporation (&#x201c;we,&#x201d; &#x201c;us,&#x201d; &#x201c;our,&#x201d; or the &#x201c;Company&#x201d;) is filing this Amendment No. 1 on Form 10-K/A (the &#x201c;Amendment&#x201d;) to amend and restate certain items in our Annual Report on Form 10-K for the fiscal year ended December 31, 2023, originally filed with the U.S. Securities and Exchange Commission (the &#x201c;SEC&#x201d;) on February 22, 2024 (the &#x201c;Original Report&#x201d;), as listed in &#x201c;Items Amended in this Filing&#x201d; below. In filing this Amendment, we are restating our previously issued consolidated financial statements as of and for the twelve months ended December 31, 2023 to correct the misapplication of accounting principles under U.S. GAAP related to the timing of revenue recognition arising from a specific COVID-related cancellation payment, received in connection with a contract modification (collectively, the "Misstatement"), as further described in Note 1 to the consolidated financial statements herein. This restatement changes the timing of recognition of revenue, including the revenue reported in the Original Report, but will not change the total revenue to be recognized for this payment, nor have any impact on the Company&#x2019;s previously reported cash and cash equivalent balances.  This misapplication did not result from any override of controls, misconduct, or fraud of any kind. In connection with the restatement, the Company determined that it was appropriate to revise the consolidated balance sheet as of December 31, 2022 and the consolidated statements of cash flows for the periods ended December 31, 2022 and 2021, as well as impacted footnote disclosures, in this Form 10-K/A to correct other unrelated immaterial errors.  In addition, we have filed amendments to the unaudited condensed consolidated quarterly financial information previously reported in our Quarterly Reports on Form 10-Q for quarterly periods ended March 30, 2023, originally filed with the SEC on May 2, 2023, June 30, 2023, originally filed with the SEC on August 2, 2023, and September 30, 2023, originally filed with the SEC on October 31, 2023. We are also filing amendments to the unaudited condensed consolidated quarterly financial information previously reported in our Quarterly Reports on Form 10-Q for the fiscal quarters ended March 31, 2024, originally filed with the SEC on May 1, 2024, and June 30, 2024, originally filed with the SEC on July 30, 2024 (collectively, the &#x201c;Amended Quarterly Reports,&#x201d; and together with this Amendment, the &#x201c;Amended Reports&#x201d;). In correcting the Misstatement in this Amendment, we have also restated other financial statement line item amounts including but not limited to product revenues, income tax provision, net income, foreign currency translation, deferred revenues, prepaid expenses, deferred taxes and earnings-per-share. </dei:AmendmentDescription>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_4a97040c-80e0-4cdc-8259-914bc73c4278"
      unitRef="U_USD">751323000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_4618ac5a-d683-4e77-a3a3-b1451307d61c"
      unitRef="U_USD">523458000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:HeldToMaturitySecuritiesCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_c624a0c1-83d7-490a-b5f5-3b32e8ffb7aa"
      unitRef="U_USD">0</us-gaap:HeldToMaturitySecuritiesCurrent>
    <us-gaap:HeldToMaturitySecuritiesCurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_20c26866-1865-4d68-acee-2cb4e6057118"
      unitRef="U_USD">100299000</us-gaap:HeldToMaturitySecuritiesCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_9519da84-83a5-4f8b-8fa3-ded40a63a2cb"
      unitRef="U_USD">2122000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_1ffeaca5-5d50-461d-bc9c-94da66244d16"
      unitRef="U_USD">1365000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_12ac5da2-2db6-4ea3-9c42-775d7814bfee"
      unitRef="U_USD">124161000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_7da435eb-7ba5-4787-8f1c-5b6dd11d0938"
      unitRef="U_USD">116247000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_d16effcf-f86e-4b45-b522-661ec415d133"
      unitRef="U_USD">202321000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_aa6a8753-f2ab-4bf5-b842-d289429e75d8"
      unitRef="U_USD">238277000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_abe00106-042d-4a78-a4fb-13f47a719cc7"
      unitRef="U_USD">33541000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_c8db7bb3-3cb5-4fad-acc0-fb853db5692e"
      unitRef="U_USD">19837000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_ea230911-5ba2-4740-904e-faceb92f2cf2"
      unitRef="U_USD">1111346000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_db0ab66b-beef-415d-af8e-53c236be4163"
      unitRef="U_USD">998118000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_68900624-909f-49de-9c61-99b2b658ad0f"
      unitRef="U_USD">207440000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_8edc83e4-a6c2-4ebc-8a25-2f4f1af8b7c4"
      unitRef="U_USD">190673000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_d1eb0dd0-26dd-4eea-b43d-2119043c9655"
      unitRef="U_USD">406957000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_4389a41a-473c-4058-b053-4444d2da3401"
      unitRef="U_USD">360618000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:Goodwill
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_b6b36750-9361-44aa-bea2-6d13b2407ab4"
      unitRef="U_USD">987120000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_aa2ec816-d8fa-431b-ac24-0c6e59446e01"
      unitRef="U_USD">855513000</us-gaap:Goodwill>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_345e2ff3-925e-4455-aacf-f6fcc1dc7174"
      unitRef="U_USD">1530000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_620ab623-7458-4e83-a6ba-cb3694872f5a"
      unitRef="U_USD">840000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_cc613c2c-9f2d-4000-8f89-6029b594bbeb"
      unitRef="U_USD">115515000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_ccb5a7f1-b56c-4989-b923-3d9b87cb708a"
      unitRef="U_USD">125023000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_d69bb105-a881-49b9-b0bb-a9b3eb41783e"
      unitRef="U_USD">1277000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_ba20c058-90ff-40d1-b610-a77f85eb1344"
      unitRef="U_USD">815000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:AssetsNoncurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_6bbb5652-6443-4835-bb4a-bf76475e0245"
      unitRef="U_USD">1719839000</us-gaap:AssetsNoncurrent>
    <us-gaap:AssetsNoncurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_5964ee9e-4777-4c9b-b138-f4995afa9fb9"
      unitRef="U_USD">1533482000</us-gaap:AssetsNoncurrent>
    <us-gaap:Assets
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_489067ea-441a-45e7-85de-fb1ee3acb81c"
      unitRef="U_USD">2831185000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_9f48b0e1-3778-404a-9c55-fc68e9e175c0"
      unitRef="U_USD">2531600000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_bee8f7a8-0b99-43ff-8ecb-078b54f0e045"
      unitRef="U_USD">19563000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_936bc644-852e-4deb-a4b8-301a6af145f7"
      unitRef="U_USD">27554000</us-gaap:AccountsPayableCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_9da86ab5-614c-4dfb-912e-0cfab0769488"
      unitRef="U_USD">5631000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_1185e1b3-cf97-4815-8b31-0063211ae21b"
      unitRef="U_USD">6957000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_9be54740-915b-45f5-b0a5-2bdd3b57d488"
      unitRef="U_USD">12983000</us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_50768a0a-7df8-4062-8ddb-f9e412cb208a"
      unitRef="U_USD">13950000</us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_3b3b8c31-bda4-4246-a671-2fd6af652365"
      unitRef="U_USD">57313000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_c8dc5b1a-12ee-4872-bef2-648364219109"
      unitRef="U_USD">71120000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_740ffca9-4696-4b42-a2ab-f75d3c888716"
      unitRef="U_USD">69452000</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_80606c67-a7fc-4591-9c68-0864ba149521"
      unitRef="U_USD">284615000</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_c478854f-513b-4fc9-a58e-14a387d02923"
      unitRef="U_USD">164942000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_e9cb23da-5fcf-4fd4-a2f6-536ef8893b68"
      unitRef="U_USD">404196000</us-gaap:LiabilitiesCurrent>
    <us-gaap:ConvertibleDebtNoncurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_2fc8766b-c888-4f3b-80ea-35dda4bea810"
      unitRef="U_USD">510143000</us-gaap:ConvertibleDebtNoncurrent>
    <us-gaap:ConvertibleDebtNoncurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_87bb8a0e-40f8-4f87-ac71-bc578ef2e61b"
      unitRef="U_USD">0</us-gaap:ConvertibleDebtNoncurrent>
    <us-gaap:DeferredTaxAndOtherLiabilitiesNoncurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_11b83221-a16b-49cf-9904-e957c3eefcd4"
      unitRef="U_USD">39324000</us-gaap:DeferredTaxAndOtherLiabilitiesNoncurrent>
    <us-gaap:DeferredTaxAndOtherLiabilitiesNoncurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_1b1a7172-0c80-4786-b346-51a25cdfd3a7"
      unitRef="U_USD">23000000</us-gaap:DeferredTaxAndOtherLiabilitiesNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_6f2ded9e-a655-4015-aaeb-29aca673613b"
      unitRef="U_USD">126578000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_3e2c52b3-37de-44a8-89fc-df1839bc08b7"
      unitRef="U_USD">131389000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_bfc18ea7-a408-4b92-98ae-9598f627357f"
      unitRef="U_USD">14070000</us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_ffc5907d-38e0-402c-bb3f-72225b3f0fe6"
      unitRef="U_USD">51559000</us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_e30084e5-ad7c-4fba-b9cb-72d14c7833bd"
      unitRef="U_USD">11283000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_d6465394-df10-4e62-904f-bfea5f9cf90c"
      unitRef="U_USD">10756000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_91065bce-d561-4a61-ac62-f7cda3f70b87"
      unitRef="U_USD">701398000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_6c207950-4111-4563-a7f0-e60ccc9c5038"
      unitRef="U_USD">216704000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_dd50d903-043d-4fbf-8b4d-00182426370e"
      unitRef="U_USD">866340000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_55e038f3-7faa-4242-a799-ef5efe91fd1e"
      unitRef="U_USD">620900000</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="2"
      id="F_3f948f5c-cf88-4db7-aed5-c6f30f1cda86"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="2"
      id="F_dcd0c072-ddd6-4655-8059-4b918c00a286"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="INF"
      id="F_04ac0e53-1c29-4264-b62b-5c3e37043801"
      unitRef="U_shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="INF"
      id="F_05e8f552-3235-4b99-8e4d-bfd529992cbe"
      unitRef="U_shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="INF"
      id="F_3a75002a-fe16-46f9-bacd-ab9d5ad2ae22"
      unitRef="U_shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="INF"
      id="F_51d01a70-b0bc-4558-87a6-b37a4e448e2b"
      unitRef="U_shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="INF"
      id="F_ab52c81d-9a02-4bd4-9de6-37d58fa420b3"
      unitRef="U_shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="INF"
      id="F_f476f83c-f9c5-479b-a7b3-31facc362aad"
      unitRef="U_shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValue
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_bd2e6249-f10c-4f7a-9ebc-ead29ac321e9"
      unitRef="U_USD">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_51b1674e-08d6-4ec5-a0c8-993d40812cc7"
      unitRef="U_USD">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="2"
      id="F_af0ebe02-516c-4525-8d4a-deec697c446f"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="2"
      id="F_a60c001a-119e-4e22-9c61-f26d8ee00b08"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="INF"
      id="F_5849209c-2182-48c9-bf4c-dc520f58734d"
      unitRef="U_shares">80000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="INF"
      id="F_6368c2a5-a027-47fb-9ebf-2fbdd9772401"
      unitRef="U_shares">80000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="INF"
      id="F_8ccbf7d1-fc06-42ad-81a7-79c46f14b7be"
      unitRef="U_shares">55766078</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="INF"
      id="F_7317a037-53b3-4165-bc23-e867e4366e9d"
      unitRef="U_shares">55766078</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="INF"
      id="F_2019c867-1ff9-451a-b2f9-56c99145765f"
      unitRef="U_shares">55557698</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="INF"
      id="F_66d9893c-b6ea-479c-bc2a-06a3ed9b9793"
      unitRef="U_shares">55557698</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_b10923f1-0c7e-40bc-afd2-038daf569289"
      unitRef="U_USD">558000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_12b5022e-d0f2-421f-9c4b-1d7a8449df15"
      unitRef="U_USD">556000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_22c797f1-69fd-4305-ab01-99e16c9dcb88"
      unitRef="U_USD">1569227000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_0c0f2e6e-165e-493c-a9a7-5cb6c5901e71"
      unitRef="U_USD">1547266000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_dbe57bc7-7c99-4d3f-9c34-74a933bea662"
      unitRef="U_USD">-37808000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_1b6527d1-3c83-48bb-a3c1-41baaf1b87a1"
      unitRef="U_USD">-34394000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_e3d70374-b6c6-4d1e-af97-43ed07e6a6ce"
      unitRef="U_USD">432868000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_12be7705-2736-48a2-8af9-bb73f67f7a0e"
      unitRef="U_USD">397272000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_19910f5d-5848-4660-b644-c4ac5cb4cd63"
      unitRef="U_USD">1964845000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_273552ed-a94a-464f-8add-5f58045f3bf5"
      unitRef="U_USD">1910700000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_8e5ce37e-a6b1-415c-90d3-edb05ce2f1ac"
      unitRef="U_USD">2831185000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_70b8faa0-3152-400a-8b85-240da573e05c"
      unitRef="U_USD">2531600000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_986f06fb-599d-441f-bf85-de13b571525e"
      decimals="-3"
      id="F_cf0438e1-78b9-4de4-b038-4d612c5fa08d"
      unitRef="U_USD">631979000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_63d4e2c0-13f1-4b63-a2b4-ed1c5a642163"
      decimals="-3"
      id="F_3c71d121-f5a7-45c7-9515-9fdcd0f92990"
      unitRef="U_USD">801183000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_56b5ac01-5af9-4a1e-ae71-eebdd534d000"
      decimals="-3"
      id="F_2bffca1d-9d54-43f6-8d00-89620ab18d50"
      unitRef="U_USD">670319000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_47d99feb-bd92-4150-b94c-3d6e4128c1aa"
      decimals="-3"
      id="F_6914f30a-74f1-49f1-b2ef-04a4914e453d"
      unitRef="U_USD">383000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_b394aa78-5ae7-4528-8866-e5b57064eba4"
      decimals="-3"
      id="F_ce701116-9346-4a40-8084-b2e743a6c10a"
      unitRef="U_USD">353000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_2eb61456-3e86-445c-b113-c64ce244019d"
      decimals="-3"
      id="F_47ffe6fc-5d97-4597-a36f-8ff05e1844db"
      unitRef="U_USD">215000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_33e1268b-5348-4333-8cc4-684d8c7697e4"
      unitRef="U_USD">632362000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_c55babe3-a863-498f-99f7-d52a9c1af163"
      unitRef="U_USD">801536000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_a9897293-4381-4879-8f38-b02218334a59"
      unitRef="U_USD">670534000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_5c4b380d-cac6-419b-97b3-6389b23f0dcc"
      unitRef="U_USD">353922000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_d0c58a5d-fac8-4a22-8c44-79ae347c1b66"
      unitRef="U_USD">345830000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_e847734c-2c2b-40f9-a725-2f2a99a60f69"
      unitRef="U_USD">279280000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_d08226d0-b339-498f-97d6-cc35e906748f"
      unitRef="U_USD">42722000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_24321e79-30f5-442d-9dfa-9afaccfaf017"
      unitRef="U_USD">43936000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_6e0170e0-5785-49b0-a4c0-ab087924f349"
      unitRef="U_USD">34274000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_baa5d067-e5be-46b2-a935-13ceb571d671"
      unitRef="U_USD">218584000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_ae8adcf0-b715-4360-95a5-e9ac6f8bc11f"
      unitRef="U_USD">215829000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_660668eb-15e5-4393-b1f5-fd8e0280f157"
      unitRef="U_USD">183866000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_b8aaf34f-3251-4725-98df-d6b5941a6fa6"
      unitRef="U_USD">-30569000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_8134d707-6d0e-42b8-b42b-e02373ce13c3"
      unitRef="U_USD">-28729000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_f8fd67b2-d0fa-401d-8096-fe51501a5eed"
      unitRef="U_USD">5865000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:CostsAndExpenses
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_1c3c2f41-c7e0-4587-9331-17f7e54fd1a9"
      unitRef="U_USD">584659000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_4e9b3872-0159-44d3-bde7-631bf2cffa44"
      unitRef="U_USD">576866000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_ee000b66-5d7a-4fb2-b612-308cb14b051b"
      unitRef="U_USD">503285000</us-gaap:CostsAndExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_8eebc8bf-bb41-4b17-85c7-7db98e119de7"
      unitRef="U_USD">47703000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_67fd27f8-097b-4fad-877a-48f56fc30c79"
      unitRef="U_USD">224670000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_7d10eadc-e128-4c09-bbf4-c971a84f91a5"
      unitRef="U_USD">167249000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InvestmentIncomeNet
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_753eb213-ede0-4f65-97ad-cb7b92a54ccf"
      unitRef="U_USD">24135000</us-gaap:InvestmentIncomeNet>
    <us-gaap:InvestmentIncomeNet
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_5dadd047-4554-430a-84c9-c6c81560de88"
      unitRef="U_USD">6978000</us-gaap:InvestmentIncomeNet>
    <us-gaap:InvestmentIncomeNet
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_0240aa85-c743-4ef3-8fe1-8069bb8b9f6c"
      unitRef="U_USD">176000</us-gaap:InvestmentIncomeNet>
    <us-gaap:InterestExpenseNonoperating
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_90d94470-0c32-4f7a-892e-fb8c6e8d0d4c"
      unitRef="U_USD">2503000</us-gaap:InterestExpenseNonoperating>
    <us-gaap:InterestExpenseNonoperating
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_e601db74-59aa-44ac-80d5-3dcdb6eb49a5"
      unitRef="U_USD">1162000</us-gaap:InterestExpenseNonoperating>
    <us-gaap:InterestExpenseNonoperating
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_986722f7-4a0d-46ae-8e92-0ddb2cc3c7c1"
      unitRef="U_USD">11278000</us-gaap:InterestExpenseNonoperating>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_46b69e85-4b26-497e-873e-a481ce894b12"
      unitRef="U_USD">-12676000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_36a15f00-06e6-4138-aaeb-c14d20e0208e"
      unitRef="U_USD">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_3df6614b-e2ca-4772-98d2-f4aa8fd5d718"
      unitRef="U_USD">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <rgen:AmortizationOfDebtIssuanceCost
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_4e9366e4-c87d-41ba-8e6d-a6e85245837d"
      unitRef="U_USD">8075000</rgen:AmortizationOfDebtIssuanceCost>
    <rgen:AmortizationOfDebtIssuanceCost
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_7c1e4cd5-be65-4fc9-9701-c32f5dc28182"
      unitRef="U_USD">1815000</rgen:AmortizationOfDebtIssuanceCost>
    <rgen:AmortizationOfDebtIssuanceCost
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_c10f29c9-20f1-4091-9540-8c2cceb36e0f"
      unitRef="U_USD">1436000</rgen:AmortizationOfDebtIssuanceCost>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_c6f8e587-4361-49df-a8d1-e0747a2dd81b"
      unitRef="U_USD">8123000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_60a11b29-db8c-4f7d-9104-b3adac19d995"
      unitRef="U_USD">-9531000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_d5119346-c0b0-42e2-b9ae-fe659cd00f84"
      unitRef="U_USD">-1168000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_9f75c88c-d5ab-48ec-9c65-850ee182075d"
      unitRef="U_USD">9004000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_34c37dd7-f583-425d-a49d-83bfa24bc450"
      unitRef="U_USD">-5530000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_2106dda5-a6b3-46c6-b2fa-cc8f4bdc2b97"
      unitRef="U_USD">-13706000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_c45061c4-7fd3-48c4-87b9-9f1c51c753d3"
      unitRef="U_USD">56707000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_281de38a-a3bb-4ab0-990a-38807d23aaef"
      unitRef="U_USD">219140000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_a67b0451-47ef-4d5d-a1f2-396da7315d7d"
      unitRef="U_USD">153543000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_a9725091-b7ae-4757-a7d8-321d13acd840"
      unitRef="U_USD">21111000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_2d1bd194-e1b7-49be-8c16-fcc31d129ea5"
      unitRef="U_USD">33181000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_fc6922d8-4ff4-4ff5-9e41-2584716d8fc9"
      unitRef="U_USD">25252000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_09d2eff8-7630-4aee-825b-e566566c719e"
      unitRef="U_USD">35596000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_d1315125-92fb-4292-99ca-ea6cecad0deb"
      unitRef="U_USD">185959000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_6e06e007-95e4-41bf-bb09-6491a6d0e6c3"
      unitRef="U_USD">128291000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="2"
      id="F_dcf16b4b-c7d2-4ec7-be79-f059a12ba0f2"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.64</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="2"
      id="F_14295663-43db-4d6e-b3c4-4231fa4f65d8"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">3.35</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="2"
      id="F_69679405-7adb-4a55-80c8-6b6391a99252"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">2.33</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="2"
      id="F_e4f2271c-71ce-46a3-8ac5-90a98734ddea"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.63</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="2"
      id="F_65a5139a-d50f-4e63-bd8a-48767626ce0c"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">3.24</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="2"
      id="F_00cbc165-7b48-498d-b8b7-3d68f8dc2f90"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">2.24</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="0"
      id="F_0dc3ca0f-8597-4865-82f7-769976fd2f34"
      unitRef="U_shares">55720</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="0"
      id="F_eea849e0-07f6-4439-bb82-ae4bf62af5dd"
      unitRef="U_shares">55460</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="0"
      id="F_cbf8c1f1-d66e-4c2b-84fb-dc22327bedfd"
      unitRef="U_shares">55015</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="0"
      id="F_1bfddbb7-1962-4a49-9ed4-2cce31df6aea"
      unitRef="U_shares">56377</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="0"
      id="F_6424db0d-d299-4923-a03f-aaaa46c93939"
      unitRef="U_shares">57455</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="0"
      id="F_cb49d1f1-13b8-465e-90d4-ecf769ef3498"
      unitRef="U_shares">57264</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_0b6e825d-a32c-40ef-b7a3-acb46817ae36"
      unitRef="U_USD">35596000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_534f88c9-3334-4750-b76f-2887d5d83a9b"
      unitRef="U_USD">185959000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_06047ad5-a542-472a-a5a2-88794873eb7a"
      unitRef="U_USD">128291000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_9024c012-3b8f-4058-8428-ff81c29a935c"
      unitRef="U_USD">-3414000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_077802a7-55e3-449e-bb60-58c194016147"
      unitRef="U_USD">-17508000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_314f7aea-2246-4465-a436-eb4d4c1fde38"
      unitRef="U_USD">-18971000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_f6a67908-3886-43fa-ba20-963a161f68f3"
      unitRef="U_USD">32182000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_2e517f6c-1eba-437b-9f25-0a155a13c347"
      unitRef="U_USD">168451000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_37d19799-95b0-42f6-a14a-f527137ca678"
      unitRef="U_USD">109320000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="C_e54d09a6-b2af-4dea-9a1a-ccf608319a7f"
      decimals="INF"
      id="F_d29dbd30-15ca-4a83-ba32-d0ae3eaa9fbb"
      unitRef="U_shares">54760837</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="C_e54d09a6-b2af-4dea-9a1a-ccf608319a7f"
      decimals="-3"
      id="F_81aaed9c-6e5a-4483-b5b5-5f99a8fd6fc4"
      unitRef="U_USD">548000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_43253817-317a-4144-8883-3be2d894465a"
      decimals="-3"
      id="F_5831c756-b7d2-4eba-bc19-a48befa09d0a"
      unitRef="U_USD">1460748000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_8af8b489-1cbe-4901-a978-1f6ad5592df3"
      decimals="-3"
      id="F_bfb5b860-b92d-4291-aaba-d9679144ea5e"
      unitRef="U_USD">2085000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_202cb0e8-ee66-489b-925c-8fc276fc256b"
      decimals="-3"
      id="F_cc4144c6-bd0f-4edf-9039-c6fe8ab02e2a"
      unitRef="U_USD">65769000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_e337dcc3-8c1c-48d1-8a8c-84c2b207455a"
      decimals="-3"
      id="F_fe33fa6b-ed1d-44b0-b65a-484467eb0852"
      unitRef="U_USD">1529150000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="C_72e6137b-e590-4c9f-9dcf-70d18a768f7d"
      decimals="-3"
      id="F_15d0cec9-d0a7-4287-9ab7-013b843a20f4"
      unitRef="U_USD">128291000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_bcee0992-05b8-4c38-9822-047f4f2aec02"
      unitRef="U_USD">128291000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits
      contextRef="C_ab14e346-b902-4523-a4d0-462c826e602f"
      decimals="INF"
      id="F_45084961-8861-4223-8be3-b05135b63e2c"
      unitRef="U_shares">7</us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="C_b651fab6-218e-40fe-b528-78073ff3fb2d"
      decimals="-3"
      id="F_7992671d-2ab0-46bf-bc16-cb7a50e45e0b"
      unitRef="U_USD">2000</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_956c1736-a19b-489a-8185-bbbe1bb15dcf"
      unitRef="U_USD">2000</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="C_ab14e346-b902-4523-a4d0-462c826e602f"
      decimals="INF"
      id="F_9c6f9523-4b47-4be0-8972-3ac01fde864c"
      unitRef="U_shares">300721</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="C_ab14e346-b902-4523-a4d0-462c826e602f"
      decimals="-3"
      id="F_44e3e2e9-5cbe-4a25-b695-cf3282d144aa"
      unitRef="U_USD">3000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="C_b651fab6-218e-40fe-b528-78073ff3fb2d"
      decimals="-3"
      id="F_85ab49d4-a88a-4fb2-af9e-46802d0ccbaa"
      unitRef="U_USD">3876000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_6ef24928-c23a-41f1-a1f5-b38b92f05cf2"
      unitRef="U_USD">3879000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="C_77d006db-b71d-4439-bc7e-74bc655c27f4"
      decimals="INF"
      id="F_16fde23e-148e-4d92-9d24-76c66fa7a9bc"
      unitRef="U_shares">271096</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="C_77d006db-b71d-4439-bc7e-74bc655c27f4"
      decimals="-3"
      id="F_c889b83c-4274-4ecb-8981-d9968ce0720e"
      unitRef="U_USD">2000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="C_5e1e8005-1ca3-4e0f-959b-ffd66c98b024"
      decimals="-3"
      id="F_ae4ebe1e-bedf-43a0-820e-87cb95d087bb"
      unitRef="U_USD">82966000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="C_3b03e0b4-2f2a-44a7-b962-8f45b78cdb25"
      decimals="-3"
      id="F_6dcbd704-92a0-42d9-8540-242dce25e087"
      unitRef="U_USD">82968000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="C_ab14e346-b902-4523-a4d0-462c826e602f"
      decimals="INF"
      id="F_273fbdbc-00cc-4701-bf5f-5205afa4f343"
      unitRef="U_shares">11204</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_b651fab6-218e-40fe-b528-78073ff3fb2d"
      decimals="-3"
      id="F_163cb999-798c-4f00-a8e1-7473cd9b514e"
      unitRef="U_USD">2897000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_91034a64-7937-4185-860c-8316fc630281"
      unitRef="U_USD">2897000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_b651fab6-218e-40fe-b528-78073ff3fb2d"
      decimals="-3"
      id="F_abf3f6b6-f8c5-4183-9ce2-271cd821f188"
      unitRef="U_USD">27500000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_6da04354-85a9-4432-86b0-a36010eafff8"
      unitRef="U_USD">27500000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="C_f730894e-6672-4551-b8e1-e2153ae8128c"
      decimals="-3"
      id="F_54bd5cd4-2a6b-4e66-9cd1-9bedb0d09571"
      unitRef="U_USD">145000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="C_118d8396-b244-4c68-8e81-188dd4dcd960"
      decimals="-3"
      id="F_451565bf-32ba-461e-91a0-a24ec88f18b6"
      unitRef="U_USD">145000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="C_c8c16607-47c9-4aa9-aee7-7168c0e96aaa"
      decimals="-3"
      id="F_1707480f-2b74-43a4-94f8-d7ebd790f03e"
      unitRef="U_USD">-18971000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="C_82911078-bdd7-49a5-87bb-adfb316a68b0"
      decimals="-3"
      id="F_43f0af91-84e1-468d-8465-948909790b51"
      unitRef="U_USD">-18971000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="C_0845755d-0cfc-4ed1-a63c-056c0003f037"
      decimals="INF"
      id="F_d2ee4714-6fca-4b2c-8e28-d385d58e04cc"
      unitRef="U_shares">55321457</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="C_0845755d-0cfc-4ed1-a63c-056c0003f037"
      decimals="-3"
      id="F_f647a469-23ed-47d1-a0bc-7c45393cd6e8"
      unitRef="U_USD">553000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_ccaaa367-b7bf-4baf-ab46-429b000b1df1"
      decimals="-3"
      id="F_fa90b1d5-6566-43b5-a7b9-af70ba874d47"
      unitRef="U_USD">1572340000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_c8c16607-47c9-4aa9-aee7-7168c0e96aaa"
      decimals="-3"
      id="F_f9d26c07-191b-4f09-84cf-b47aa9e52590"
      unitRef="U_USD">-16886000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_0731af32-df9f-47e9-a89b-ec05eb65660a"
      decimals="-3"
      id="F_5d40fb64-310e-4f5f-a41a-592f742dd275"
      unitRef="U_USD">194060000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_82911078-bdd7-49a5-87bb-adfb316a68b0"
      decimals="-3"
      id="F_ae8137a8-c40b-4b52-9325-746509540a96"
      unitRef="U_USD">1750067000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="C_8d587b79-2e7f-4374-8758-4ef3f7efb9e3"
      decimals="-3"
      id="F_b54ac8e8-53dc-4819-9df3-1c6069a9d95a"
      unitRef="U_USD">185959000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_3bc41036-8d2b-4502-a7f7-92ade06206ac"
      unitRef="U_USD">185959000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits
      contextRef="C_4197089d-b2ad-407a-a88d-524d55d415bb"
      decimals="INF"
      id="F_74ef57a6-7b7e-402f-a8b4-5cf325b58d86"
      unitRef="U_shares">21</us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="C_4197089d-b2ad-407a-a88d-524d55d415bb"
      decimals="-3"
      id="F_a01836ee-5542-426f-b48a-675809cbf1fa"
      unitRef="U_USD">1000</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="C_ae2cbb3d-114a-4975-b60e-dd1909dc9d88"
      decimals="-3"
      id="F_55e9fed4-0c80-4fa2-af8d-237153a3a475"
      unitRef="U_USD">-7000</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_fae25aac-6222-4ead-abe6-25132a5071b8"
      unitRef="U_USD">-6000</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="C_4197089d-b2ad-407a-a88d-524d55d415bb"
      decimals="INF"
      id="F_5797d848-13c6-4439-9b02-97b235a4cd59"
      unitRef="U_shares">326192</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="C_4197089d-b2ad-407a-a88d-524d55d415bb"
      decimals="-3"
      id="F_7b300596-fb19-4c53-9cd7-beb2938d7cbd"
      unitRef="U_USD">3000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="C_ae2cbb3d-114a-4975-b60e-dd1909dc9d88"
      decimals="-3"
      id="F_ce0a5ce5-202a-4f6d-9eb4-d878942bd137"
      unitRef="U_USD">3704000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_7e07097a-61e7-4a5f-8e35-69d06acbb51c"
      unitRef="U_USD">3707000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="C_4197089d-b2ad-407a-a88d-524d55d415bb"
      decimals="INF"
      id="F_dd9866aa-b365-407d-9135-87d3f6ac532c"
      unitRef="U_shares">89972</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_4197089d-b2ad-407a-a88d-524d55d415bb"
      decimals="-3"
      id="F_dfbab02a-b0e8-4c2c-9f15-e1b94601d66f"
      unitRef="U_USD">1000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_ae2cbb3d-114a-4975-b60e-dd1909dc9d88"
      decimals="-3"
      id="F_05b0764e-caca-4d9e-9aae-5c138f8c5a9b"
      unitRef="U_USD">17017000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_46da8586-ba33-431c-8f22-85338c041b83"
      unitRef="U_USD">17018000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_ae2cbb3d-114a-4975-b60e-dd1909dc9d88"
      decimals="-3"
      id="F_699d6300-2fa1-4240-8fc6-553c19ad6481"
      unitRef="U_USD">27316000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_5d0a8b2e-44af-4809-aa84-038ef2f37cdf"
      unitRef="U_USD">27316000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockholdersEquity
      contextRef="C_2de31f01-f836-48c2-b730-1200730900ad"
      decimals="-3"
      id="F_f9bdc252-9392-4db0-898e-aed9dddae550"
      unitRef="U_USD">-39070000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_69b9f203-4ffd-4060-a3b3-bc1b1bddc8fc"
      decimals="-3"
      id="F_a30e4ee6-8b65-436e-94dd-f688afb1ae8a"
      unitRef="U_USD">17253000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_a8b70017-761d-4a6c-b9b3-8968744c7f3a"
      decimals="-3"
      id="F_de859ebc-9803-438d-b11c-0851e7be2d7c"
      unitRef="U_USD">-21817000</us-gaap:StockholdersEquity>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="C_9bae31a8-0cc1-43bb-b714-0cf69b8da537"
      decimals="-3"
      id="F_20a112a0-8e97-4588-a648-6b319f149a4e"
      unitRef="U_USD">-17508000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_3b791a5c-06b5-4999-a7b2-d57aed8a7276"
      unitRef="U_USD">-17508000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="C_87f5646d-4d99-44dd-9b9c-267dbcb6fda5"
      decimals="INF"
      id="F_3e182dc6-3822-4047-8744-912d4d04f5e8"
      unitRef="U_shares">55557698</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="C_87f5646d-4d99-44dd-9b9c-267dbcb6fda5"
      decimals="-3"
      id="F_7c3785d9-0873-4194-ac9b-5610d242a960"
      unitRef="U_USD">556000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_9e554bd1-4e0f-4a0a-914b-df0f3f131710"
      decimals="-3"
      id="F_b1c01cf7-76b9-4f7d-aa31-cccad5aa1eb0"
      unitRef="U_USD">1547266000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_9bae31a8-0cc1-43bb-b714-0cf69b8da537"
      decimals="-3"
      id="F_18b68e53-1bc9-4f49-8dc5-89ef978155b9"
      unitRef="U_USD">-34394000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_53a812b6-9bab-4db1-8dd3-3c253c58bc27"
      decimals="-3"
      id="F_988bec6d-db9b-4e9a-9fb7-214fbda9ac19"
      unitRef="U_USD">397272000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_079b3493-2016-4c1b-924d-805b124ca7ca"
      unitRef="U_USD">1910700000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="C_cf8baa91-9ed0-49cc-aeba-358ed6c5f80a"
      decimals="-3"
      id="F_fb37d60e-16e0-4e07-8932-3524c3ab70a1"
      unitRef="U_USD">35596000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_760b76a6-8cab-4fdf-91f0-5a4e5942e8d0"
      unitRef="U_USD">35596000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits
      contextRef="C_94e893cd-90c2-43d8-b310-6400c65c6ad1"
      decimals="INF"
      id="F_8809a398-8082-40af-abca-143a438519c2"
      unitRef="U_shares">8</us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="C_2fb30509-c5dc-4f33-ab46-ae3839f99b64"
      decimals="-3"
      id="F_5b22f5d5-2782-4a31-9675-d004baac25a7"
      unitRef="U_USD">-13000</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_fa39658e-bee1-4c60-8820-df3e2743e7f8"
      unitRef="U_USD">-13000</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="C_94e893cd-90c2-43d8-b310-6400c65c6ad1"
      decimals="INF"
      id="F_b3cf51ed-ebe3-4418-a432-03ae13be6276"
      unitRef="U_shares">251886</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="C_94e893cd-90c2-43d8-b310-6400c65c6ad1"
      decimals="-3"
      id="F_64bd99b2-8232-4cdf-ae56-4c744b1417dd"
      unitRef="U_USD">3000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="C_2fb30509-c5dc-4f33-ab46-ae3839f99b64"
      decimals="-3"
      id="F_7ab03a11-7005-4e12-9ca1-0bca166e8709"
      unitRef="U_USD">1073000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_fb7b142c-a46a-4988-81d5-3fbd9f71660b"
      unitRef="U_USD">1076000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="C_94e893cd-90c2-43d8-b310-6400c65c6ad1"
      decimals="INF"
      id="F_72899c42-1c1d-4523-8a6e-71759b041080"
      unitRef="U_shares">-92090</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="C_94e893cd-90c2-43d8-b310-6400c65c6ad1"
      decimals="-3"
      id="F_46088c94-458a-494b-91b1-b801eb548c00"
      unitRef="U_USD">1000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="C_2fb30509-c5dc-4f33-ab46-ae3839f99b64"
      decimals="-3"
      id="F_4b2ca23a-4587-4f91-8172-7fbe8318549b"
      unitRef="U_USD">14385000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_066e1b67-13c3-4600-b7b6-ba6ec4418940"
      unitRef="U_USD">14386000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="C_94e893cd-90c2-43d8-b310-6400c65c6ad1"
      decimals="INF"
      id="F_9a888b46-1fa5-43df-8cc3-27675b2e9f30"
      unitRef="U_shares">77759</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_94e893cd-90c2-43d8-b310-6400c65c6ad1"
      decimals="-3"
      id="F_4a980c7e-1a90-459b-ab8a-16956bf8a3e3"
      unitRef="U_USD">1000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_2fb30509-c5dc-4f33-ab46-ae3839f99b64"
      decimals="-3"
      id="F_e9638630-472c-4c44-8e9f-8f8954027584"
      unitRef="U_USD">13226000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_0d12daa4-731a-4197-8a6b-88ab30679cac"
      unitRef="U_USD">13227000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="C_e79368cb-90de-4a4a-8a13-09bf91d1a79b"
      decimals="INF"
      id="F_d3bc9cb5-866f-4a0f-afe8-3e81002ad33f"
      unitRef="U_shares">31415</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="C_e957b3ec-b78b-4a0f-b705-c76d381678bf"
      decimals="-3"
      id="F_7c097006-5dfa-4df0-a5ee-c54afac73024"
      unitRef="U_USD">5465000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="C_29eef544-91ed-4d72-864a-9119c13364c8"
      decimals="-3"
      id="F_5602f9fd-7472-4625-ba9f-5b7ed91f50d3"
      unitRef="U_USD">5465000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="C_a107ef67-eec8-4142-85f2-d4a945acc80d"
      decimals="INF"
      id="F_c89eb0ea-e109-4751-9d95-3b36c490aa80"
      unitRef="U_shares">52299</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="C_a107ef67-eec8-4142-85f2-d4a945acc80d"
      decimals="-3"
      id="F_4214996a-871e-4eca-92e7-ef090a3aa081"
      unitRef="U_USD">1000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="C_cc0780ab-47bb-4184-9412-5e8b7cb682ca"
      decimals="-3"
      id="F_fdf019fd-fc8b-4bbf-be31-b0df59b6b959"
      unitRef="U_USD">8103000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="C_1a3669c7-edae-4d97-bd42-a06f7bc215b9"
      decimals="-3"
      id="F_2489b243-6f30-43d5-bdf6-5db0e8b1c258"
      unitRef="U_USD">8104000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <rgen:StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments
      contextRef="C_94e893cd-90c2-43d8-b310-6400c65c6ad1"
      decimals="INF"
      id="F_874aa327-0dc8-4e7c-8c06-92a5ce7ca649"
      unitRef="U_shares">42621</rgen:StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments>
    <rgen:StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment
      contextRef="C_2fb30509-c5dc-4f33-ab46-ae3839f99b64"
      decimals="-3"
      id="F_68d35993-c489-4386-8054-a9786affa80f"
      unitRef="U_USD">7229000</rgen:StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment>
    <rgen:StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_5955d384-6ead-494e-88e2-4b28e4bbfe74"
      unitRef="U_USD">7229000</rgen:StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_2fb30509-c5dc-4f33-ab46-ae3839f99b64"
      decimals="-3"
      id="F_4f622336-91c7-4351-b863-f04bee42cda8"
      unitRef="U_USD">25575000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_9229a6c1-7c5c-4d96-8d13-b7989d957c70"
      unitRef="U_USD">25575000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="C_2fb30509-c5dc-4f33-ab46-ae3839f99b64"
      decimals="-3"
      id="F_9293f476-f0ef-44dd-afcf-bcfd7e7cb40f"
      unitRef="U_USD">2791000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_6a3bb438-4c80-48cf-8695-826c5cdac38b"
      unitRef="U_USD">2791000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <rgen:DeferredTaxImpactOnConversionFeature
      contextRef="C_2fb30509-c5dc-4f33-ab46-ae3839f99b64"
      decimals="-3"
      id="F_2fb21e44-e304-4690-84e5-71f1da2cff7e"
      unitRef="U_USD">-651000</rgen:DeferredTaxImpactOnConversionFeature>
    <rgen:DeferredTaxImpactOnConversionFeature
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_47d28e64-e83d-47dd-8763-094ffd0b7964"
      unitRef="U_USD">-651000</rgen:DeferredTaxImpactOnConversionFeature>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="C_5165589d-58c2-4afb-a632-66aaeda3d669"
      decimals="-3"
      id="F_aa201342-6b71-422a-a016-eda4d8ba6d19"
      unitRef="U_USD">-3414000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_ca640370-e6bf-4353-9f0b-28b28ed56f1c"
      unitRef="U_USD">-3414000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="C_a77bf54e-aee2-41ad-98b5-74f7826c46c7"
      decimals="INF"
      id="F_d0a5f01d-82bd-47f6-83b7-fad6b94be917"
      unitRef="U_shares">55766078</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="C_a77bf54e-aee2-41ad-98b5-74f7826c46c7"
      decimals="-3"
      id="F_af3a4c94-74ef-4cb8-ab8f-8435fa9eae33"
      unitRef="U_USD">558000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_3e8eacaa-8727-449c-96aa-bf986e717256"
      decimals="-3"
      id="F_1d1cb80d-5304-464a-8281-5baab8a7aae9"
      unitRef="U_USD">1569227000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_5165589d-58c2-4afb-a632-66aaeda3d669"
      decimals="-3"
      id="F_344b688b-9d2d-421c-bde0-868df5041e86"
      unitRef="U_USD">-37808000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_be87c643-2923-4319-9d3b-a157c97efd76"
      decimals="-3"
      id="F_20ded247-2dbd-4e44-9f92-73ce7ef797f9"
      unitRef="U_USD">432868000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_82e4afc0-84a2-4c6f-9e6f-31c799a0be3c"
      unitRef="U_USD">1964845000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_864d0118-8650-42f9-a735-0544ad8967d0"
      unitRef="U_USD">35596000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_72b2eb98-4139-4c05-99c7-01070ada1475"
      unitRef="U_USD">185959000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_deafa524-6cb5-4018-a289-2d035df03a7a"
      unitRef="U_USD">128291000</us-gaap:NetIncomeLoss>
    <rgen:AmortizationOfInventoryStepUp
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_04938ba6-789d-419a-b3cb-d878df82b3c2"
      unitRef="U_USD">1238000</rgen:AmortizationOfInventoryStepUp>
    <rgen:AmortizationOfInventoryStepUp
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_0f40c89b-00af-4804-86d1-b46305e47a5e"
      unitRef="U_USD">0</rgen:AmortizationOfInventoryStepUp>
    <rgen:AmortizationOfInventoryStepUp
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_6fc17ffb-3eea-4902-922a-7ef550b9b2b1"
      unitRef="U_USD">2130000</rgen:AmortizationOfInventoryStepUp>
    <us-gaap:DepreciationAndAmortization
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_ab330b5e-b9a4-43d7-8e38-7634a7805214"
      unitRef="U_USD">68556000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_cebd20c6-15d6-4142-8c69-a688d4ab2ca4"
      unitRef="U_USD">50985000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_d9011dac-0d31-4abf-bb6f-4bb09de7a933"
      unitRef="U_USD">38447000</us-gaap:DepreciationAndAmortization>
    <us-gaap:AmortizationOfDebtDiscountPremium
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_dbdb140d-7ba6-4dfd-9493-2ee11507c262"
      unitRef="U_USD">2448000</us-gaap:AmortizationOfDebtDiscountPremium>
    <us-gaap:AmortizationOfDebtDiscountPremium
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_720d3dc1-dc84-4ec4-9604-563ad5c281a1"
      unitRef="U_USD">1815000</us-gaap:AmortizationOfDebtDiscountPremium>
    <us-gaap:AmortizationOfDebtDiscountPremium
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_13048e70-f8d2-44d1-8636-c84e27f39ca9"
      unitRef="U_USD">11530000</us-gaap:AmortizationOfDebtDiscountPremium>
    <us-gaap:ShareBasedCompensation
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_e430163d-791c-412c-bfba-b72fb680c6e9"
      unitRef="U_USD">25575000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_09e99488-c6ed-42f8-9459-bb40a1a73276"
      unitRef="U_USD">27316000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_ab007374-5a78-435f-bfcc-98a2d860bd91"
      unitRef="U_USD">27500000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_0c7f1d53-09ed-4087-8274-2dc243806d4f"
      unitRef="U_USD">1175000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_9d38ce2d-ce43-4ec0-8530-9fc43b471221"
      unitRef="U_USD">-1352000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_5d2a62de-b9d6-4299-b23f-e832199d8822"
      unitRef="U_USD">6517000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_231ed4dc-290d-4f99-a3ca-632feb11db08"
      unitRef="U_USD">-30569000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_f1add0be-9400-43e4-81ce-fe73b21aaf8e"
      unitRef="U_USD">-28729000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_4ed59d42-3108-48b8-a794-a652641b948c"
      unitRef="U_USD">5865000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <rgen:NoncashInterestIncome
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_7c6b6904-ae53-4500-8967-a4074f63b9e0"
      unitRef="U_USD">2023000</rgen:NoncashInterestIncome>
    <rgen:NoncashInterestIncome
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_035d6d6b-8eec-4bdc-94f3-6442970a1145"
      unitRef="U_USD">0</rgen:NoncashInterestIncome>
    <rgen:NoncashInterestIncome
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_58299878-378b-4f6c-b63d-f77b5bbcedc9"
      unitRef="U_USD">0</rgen:NoncashInterestIncome>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_a0836147-dd39-4f0a-89f8-936da53c9006"
      unitRef="U_USD">-12676000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_366c9b40-1129-4e04-b64f-c631c298b8c3"
      unitRef="U_USD">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_d3312474-7bef-4fee-b2dd-53f126b2d611"
      unitRef="U_USD">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_25e7894a-1744-4cad-b588-ea0b61c2e311"
      unitRef="U_USD">-17558000</rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset>
    <rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_d4bb3b80-b15e-4eac-a3c8-c1e5e0a5ef90"
      unitRef="U_USD">-6027000</rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset>
    <rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_db028658-b596-42a8-ab2b-efb8e857416e"
      unitRef="U_USD">-10555000</rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_38de8d39-a01d-4786-bd1e-e0d141e6d635"
      unitRef="U_USD">-1783000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_ad20621e-f635-4469-8fd9-62a7b38eb244"
      unitRef="U_USD">100000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_47cddea7-568b-4118-8ac2-686e298ad84e"
      unitRef="U_USD">-864000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_5886e8df-882e-4b28-afe4-9919f83c3413"
      unitRef="U_USD">3312000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_7bfcd765-515f-4f40-ac7a-5140778c2edb"
      unitRef="U_USD">3596000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_98ced28a-63ee-4a53-a45b-1fd0725fdb2e"
      unitRef="U_USD">46523000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_cbda88a2-32e9-418a-a15a-c89062d6455c"
      unitRef="U_USD">-40973000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_1f42e2b1-e7de-4e46-878f-9555f24a2217"
      unitRef="U_USD">57204000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_bde18d52-c8c9-41da-b2a4-d2b1e7a32646"
      unitRef="U_USD">89781000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_29eda661-6579-411c-9bc6-81574687dd57"
      unitRef="U_USD">13333000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_90896974-3e48-4815-b6b8-12bf3b6ce52b"
      unitRef="U_USD">-2396000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_ab3c5e28-7379-49e8-8cfd-3a290e942ca0"
      unitRef="U_USD">10192000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_9fa531b1-6115-4810-b10e-aae48dd22695"
      unitRef="U_USD">461000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_2a0465b2-0bc0-4dc6-895f-72092ef61157"
      unitRef="U_USD">231000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_94f18d35-a58c-4e34-b657-9701b1521174"
      unitRef="U_USD">-430000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_bd122ab6-9e61-4e1f-be08-bfe27a9d104f"
      unitRef="U_USD">-9803000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_98dd09cc-9467-45c5-b467-b99fd0a0e586"
      unitRef="U_USD">-8197000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_d452ed40-4a4e-49b1-b745-1a60f3ba1d89"
      unitRef="U_USD">19523000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_8295388f-1bce-41ee-bb28-1d332a515279"
      unitRef="U_USD">-21518000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_d1b127e8-4829-4548-a569-32ca50a3bb24"
      unitRef="U_USD">-2019000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_363ab44c-409b-4f3a-8d23-23ad6cbae6d3"
      unitRef="U_USD">23196000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_36ed0544-ee45-4d6c-b9a3-1e9b0ed491af"
      unitRef="U_USD">-12728000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_25df30f0-cd06-4041-9936-3157c86e6da2"
      unitRef="U_USD">-1953000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_936325ac-84d4-47d7-84db-88f4fbdc2260"
      unitRef="U_USD">-7912000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_76a8ed11-3915-4306-a4a4-343f0fe1502c"
      unitRef="U_USD">87000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_7a6ae8bf-5da9-4726-83b1-6d74bdbf55a7"
      unitRef="U_USD">966000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_58382360-9719-492d-bfda-a7aa6fe57af9"
      unitRef="U_USD">-1424000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_01f54fe2-4ca7-4cfc-8b76-23238c71e917"
      unitRef="U_USD">113918000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_7de4c853-ff59-401d-950a-7e14b55ebf66"
      unitRef="U_USD">172083000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_b22d1f75-e93f-4db5-8fe8-a084d6130dc2"
      unitRef="U_USD">119016000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireHeldToMaturitySecurities
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_723201be-0232-435f-87e4-c77db5061cf7"
      unitRef="U_USD">100000000</us-gaap:PaymentsToAcquireHeldToMaturitySecurities>
    <us-gaap:PaymentsToAcquireHeldToMaturitySecurities
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_477a1632-5d82-4712-9864-e0597b394c51"
      unitRef="U_USD">0</us-gaap:PaymentsToAcquireHeldToMaturitySecurities>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_a2b72f8a-c277-4966-892c-32466a0bd8fc"
      unitRef="U_USD">102323000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_e841a796-c2a5-438f-a745-f87878ff899e"
      unitRef="U_USD">0</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_23f4b76e-68f7-472c-95a3-77dcd6080e28"
      unitRef="U_USD">0</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:PaymentsToAcquireSoftware
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_6bcbcbc4-cddc-498a-a02f-1c4f2cc1f6d0"
      unitRef="U_USD">2766000</us-gaap:PaymentsToAcquireSoftware>
    <us-gaap:PaymentsToAcquireSoftware
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_85a0991b-3e0d-4431-9e4d-e8ea7c71072c"
      unitRef="U_USD">3512000</us-gaap:PaymentsToAcquireSoftware>
    <us-gaap:PaymentsToAcquireSoftware
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_5f2bef3e-9ce0-4833-9338-e8f275bb9dfb"
      unitRef="U_USD">4187000</us-gaap:PaymentsToAcquireSoftware>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_af97e623-b0aa-4caf-a0bd-e737bec0f96d"
      unitRef="U_USD">186642000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_52c2b5e9-c68a-432e-9195-5ad1c3757ea4"
      unitRef="U_USD">0</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_4d420484-d08f-4f4a-a7c5-08fae62a4e6d"
      unitRef="U_USD">149893000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_baeb9d65-54ab-4960-b24c-76f8f12ecdd1"
      unitRef="U_USD">36222000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_60a720ce-1755-424e-9cfc-c6078eaa7b2b"
      unitRef="U_USD">84834000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_78ae8c81-245d-49fb-b395-2d188e665dee"
      unitRef="U_USD">67089000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_e8809692-c8af-4d3c-a00b-1043150a04fc"
      unitRef="U_USD">0</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_d4349299-8e14-4f12-95d8-ceabb701a022"
      unitRef="U_USD">45000000</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_158fa642-1060-45e9-9638-6429cfce56a1"
      unitRef="U_USD">0</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_7af595a6-9043-4b01-afd5-02410e6d2166"
      unitRef="U_USD">-32000</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_f104ab7a-955a-4b01-afb3-3f696a135e17"
      unitRef="U_USD">-110000</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_a91ecad6-9e96-4e17-b5d3-921cd76e74b1"
      unitRef="U_USD">0</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_56fcb931-f931-4892-a63d-7ab27d97047a"
      unitRef="U_USD">-233236000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_43c3ce72-fd7b-4e99-905f-15c3d9562439"
      unitRef="U_USD">-221169000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_0bcb14f5-6f6a-4f24-aac2-9fe1ca3fc6b6"
      unitRef="U_USD">14386000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_3d9ef777-b22f-41a9-9fe9-84e9c335fe2a"
      unitRef="U_USD">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_abf40997-2e40-4bf0-a86e-44b0ae398ce1"
      unitRef="U_USD">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_02788edd-b549-45bf-9ef0-d246ba7ddc88"
      unitRef="U_USD">290094000</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_45f73c6e-db5a-4c5e-824a-1436c5b7168e"
      unitRef="U_USD">0</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_dbec608b-b7e3-4014-958c-5e5f11473d61"
      unitRef="U_USD">0</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_eb10bcef-d772-4f0d-8aae-ad29430a3d0a"
      unitRef="U_USD">1076000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_b9637c5e-2203-470b-af85-d8e3aede028a"
      unitRef="U_USD">3707000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_5d864b92-f254-45b8-8bf4-6e1efe7c26b2"
      unitRef="U_USD">3879000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_2692f173-2b40-448c-8fb0-48834f205cff"
      unitRef="U_USD">7253000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_cebcd53a-7543-451f-8c3d-9f215587d314"
      unitRef="U_USD">0</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_afe6585d-2255-4a94-9b43-82e472d3e8ee"
      unitRef="U_USD">0</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_b7bf9586-6c14-43a5-b74d-2cc8d5c9311f"
      unitRef="U_USD">13227000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_b7207999-1ad5-48bb-85a4-fb934b77d8cf"
      unitRef="U_USD">17018000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_dd5f5def-dc35-4738-acd4-3a7cbe193f11"
      unitRef="U_USD">2897000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_875fc339-386e-4217-bff0-9a13b0ef5bac"
      unitRef="U_USD">7298000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_90b16c32-0a90-47d2-872a-4b5f907295ce"
      unitRef="U_USD">0</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_6f0d15e4-e314-4e2e-b030-baf9db2c4a84"
      unitRef="U_USD">0</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:ProceedsFromPaymentsForOtherFinancingActivities
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_bd1c690a-43aa-4d58-a546-f40cf51a3c64"
      unitRef="U_USD">-45000</us-gaap:ProceedsFromPaymentsForOtherFinancingActivities>
    <us-gaap:ProceedsFromPaymentsForOtherFinancingActivities
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_0519767a-816e-4e2a-8f80-92374ed6a099"
      unitRef="U_USD">-26000</us-gaap:ProceedsFromPaymentsForOtherFinancingActivities>
    <us-gaap:ProceedsFromPaymentsForOtherFinancingActivities
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_1d7a776f-7de4-4a9f-b4c0-6f467b2494d2"
      unitRef="U_USD">-21000</us-gaap:ProceedsFromPaymentsForOtherFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_cae09ddf-48a8-41fa-8f3f-264f618149ab"
      unitRef="U_USD">248961000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_71284ba8-591e-417e-a08d-5e183c12d9e8"
      unitRef="U_USD">-13337000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_f103ce28-c528-457f-a7a5-d1a1d7a9b6d8"
      unitRef="U_USD">961000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_acf645df-d762-44ee-baef-11ba8580888e"
      unitRef="U_USD">-11739000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_77d679b4-ea3c-4ba5-9a96-6f2add25f672"
      unitRef="U_USD">-5866000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_214aa354-c238-4259-8eea-8c4635dee730"
      unitRef="U_USD">-12286000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_4b03da25-975f-49ab-bc34-ec8d015afd81"
      unitRef="U_USD">-80356000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_97f2ce36-57f4-430b-b2ca-ea9d2f69c5a1"
      unitRef="U_USD">-113478000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_d8d47b68-f0b9-4bf7-9522-460d111d04e3"
      unitRef="U_USD">523458000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_82911078-bdd7-49a5-87bb-adfb316a68b0"
      decimals="-3"
      id="F_b04b33ad-9531-4cbe-bb22-24ff5c2f4472"
      unitRef="U_USD">603814000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_e337dcc3-8c1c-48d1-8a8c-84c2b207455a"
      decimals="-3"
      id="F_f3f88a6b-620a-491d-9ea7-bf38aabdcca5"
      unitRef="U_USD">717292000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_4b30e14e-485c-42dc-814c-69bd81717fa6"
      unitRef="U_USD">523458000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_82911078-bdd7-49a5-87bb-adfb316a68b0"
      decimals="-3"
      id="F_c28aadd3-1df4-4d3c-bbe9-7799fefde9b3"
      unitRef="U_USD">603814000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_d5d15ef0-f824-4c91-bf57-e6b7e7806231"
      unitRef="U_USD">26963000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_551243c0-d6e8-4795-bb02-a0e8deb30810"
      unitRef="U_USD">34365000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_fc2d2eb7-310c-4fe7-8ba5-f52aa4470609"
      unitRef="U_USD">16515000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_07695ee6-80f1-40b1-a88d-70aab54c23a1"
      unitRef="U_USD">988000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_98feb3a9-e219-49a7-b132-2fc42c62bdfe"
      unitRef="U_USD">1033000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_f0108060-bfe2-4de3-8b7b-783f76561483"
      unitRef="U_USD">1066000</us-gaap:InterestPaidNet>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_2a3032e7-e10d-421a-a7f9-a7c438812b7d"
      unitRef="U_USD">4335000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_a165fb62-b451-4e5b-8d09-a1c986a2a40b"
      unitRef="U_USD">29126000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_96170262-5409-43d6-a3a1-de1caf0fe78d"
      unitRef="U_USD">85312000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:StockIssued1
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_937cefd1-4919-45cd-99ae-ffcb16fc1bf4"
      unitRef="U_USD">13569000</us-gaap:StockIssued1>
    <us-gaap:StockIssued1
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_e25928dd-21c5-4b91-912f-847f2646568e"
      unitRef="U_USD">0</us-gaap:StockIssued1>
    <us-gaap:StockIssued1
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_2d0de74f-2d8d-45e8-a599-cf49c6583b2a"
      unitRef="U_USD">82968000</us-gaap:StockIssued1>
    <rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_575d9981-c3f6-4ad5-9fcf-53929dfb98cf"
      unitRef="U_USD">7229000</rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts>
    <rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_d0849368-015d-4d1e-94c3-819c5cac592d"
      unitRef="U_USD">0</rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts>
    <rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_241ac920-0cb4-40bd-997d-c11144da937b"
      unitRef="U_USD">0</rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts>
    <rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_1734df1f-e02a-4720-83d4-64bfb94d2686"
      unitRef="U_USD">6640000</rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts>
    <rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_f2dd5b0a-08fe-4eb7-9645-c2a6517ac60d"
      unitRef="U_USD">0</rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts>
    <rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_53aed3e6-e438-4720-984d-7cdeda25f65e"
      unitRef="U_USD">88373000</rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts>
    <rgen:NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_151b72e9-b3e1-4999-af42-357d999755b6"
      unitRef="U_USD">0</rgen:NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability>
    <rgen:NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_08470e8d-0a99-47ee-a218-58bfbc3b9b6b"
      unitRef="U_USD">6948000</rgen:NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability>
    <rgen:NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_0078ed81-a8e0-43b0-a19f-b9a25cb87e2d"
      unitRef="U_USD">0</rgen:NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquiredAndFinancingLiability>
    <us-gaap:NotesIssued1
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_49de4df1-73fc-4135-94e8-86505ee85d30"
      unitRef="U_USD">42179000</us-gaap:NotesIssued1>
    <us-gaap:NotesIssued1
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_b4c7338f-ca0b-4a37-b743-b0553a462a55"
      unitRef="U_USD">0</us-gaap:NotesIssued1>
    <us-gaap:NotesIssued1
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_9f9bd11f-ef0c-4b41-a18d-8dff3c5c2ccc"
      unitRef="U_USD">0</us-gaap:NotesIssued1>
    <us-gaap:ExtinguishmentOfDebtAmount
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_c1bc84c7-597d-4b71-be3e-3c9246f3ec43"
      unitRef="U_USD">29634000</us-gaap:ExtinguishmentOfDebtAmount>
    <us-gaap:ExtinguishmentOfDebtAmount
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_92cd6b4d-dd88-4f83-b537-811609017d0c"
      unitRef="U_USD">0</us-gaap:ExtinguishmentOfDebtAmount>
    <us-gaap:ExtinguishmentOfDebtAmount
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_69b2d501-4816-4119-a244-6386c565cc34"
      unitRef="U_USD">0</us-gaap:ExtinguishmentOfDebtAmount>
    <us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_2ec5b9d4-83b4-4610-ac4b-dd64a50a1339">&lt;div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;1.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Restatement of Previously Issued Financial Statements&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Subsequent to the issuance of the Annual Report on Form 10-K for the fiscal year ended December 31, 2023, originally filed with the U.S. Securities and Exchange Commission (the &#x201c;SEC&#x201d;) on February 22, 2024 (the &#x201c;Original Report&#x201d;), the Company identified a material accounting error related to the timing of revenue recognition (referred to as &#x201c;the Misstatement&#x201d;) which impacts the Company&#x2019;s consolidated financial statements as of and for the period ended December 31, 2023. Within this report, the Company has restated all impacted financial information and footnote disclosures impacted by the Misstatement. A description of the error and its impact on the previously issued financial statements is included below. In connection with the restatement, the Company determined that it was appropriate to revise the consolidated balance sheet as of December 31, 2022 and the consolidated statement of cash flows for the periods ended December 31, 2022 and 2021, as well as impacted footnote disclosures, in this Form 10-K/A to correct other unrelated immaterial errors.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Description of revenue restatement adjustments&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;During the first quarter of 2023, a customer cancelled two COVID-related, non-cancellable product purchase orders (&#x201c;Cancelled PO&#x2019;s&#x201d;) in exchange for a $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million one-time cash payment (the &#x201c;Payment&#x201d;), which was received in April 2023. At the time of cancellation, no product units had been delivered under the Cancelled PO&#x2019;s and the Company had two other purchase orders from the same customer for the same product (&#x201c;Open PO&#x2019;s&#x201d;). The Company originally accounted for the Cancelled PO&#x2019;s as a single contract and recognized the $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million payment as component of product revenue in the first quarter of 2023.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Subsequent to the issuance of the Original Report, the Company reassessed the accounting treatment of the Payment and concluded that the Cancelled PO&#x2019;s and Open PO&#x2019;s represented a combined contract such that the February 2023 transaction should have been analyzed and accounted for as a contract modification, which required the Payment to be deferred and recognized as product units were delivered under the Open PO&#x2019;s. All Open PO product units were fully delivered to the customer by June 30, 2024.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The correction of the Misstatement affects certain financial statement line items in these consolidated financial statements including but not limited to product revenues, income tax provision, foreign currency translation, deferred revenues, prepaid expenses, deferred taxes and earnings-per-share.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Consolidated Financial Statements - Restatement Reconciliation Tables&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following tables present the impact of the financial statement adjustments on the Company's previously reported consolidated financial statements.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; The "Previously Reported" amounts in the following tables are amounts derived from the Original Report. The amounts in the columns labeled "Revenue Adjustments" represent the effect of adjustments resulting from the correction of the overstatement of revenues associated with the Payment and related tax impact. The amounts in the columns labeled "Other Adjustments" represent the effect of other adjustments that relate to other unrelated errors in previously filed financial statements that were not material, individually or in the aggregate, to those filed financial statements. The effects of both the restatement for the Revenue Adjustments and the revisions for the immaterial Other Adjustments have been corrected in all impacted tables and footnotes throughout these consolidated financial statements.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:50.41%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.242%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.242%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.28%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.222%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.242%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Previously Reported&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Revenue Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Other Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Restated&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;ASSETS&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Current assets:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Marketable securities held to maturity&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;Accounts receivable, net of reserves of $&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,122&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;&#160;and $&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,365&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;&#160;at&lt;br/&gt;&#160;&#160;&#160;December 31, 2023 and December 31, 2022, respectively&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;124,161&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;124,161&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventories, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;202,321&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;202,321&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,238&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;303&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,541&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,111,043&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;303&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,111,346&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Noncurrent assets:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Property, plant and equipment, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;207,440&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;207,440&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Intangible assets, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;400,486&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,471&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;406,957&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;987,120&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;987,120&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred tax assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,530&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,530&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115,515&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115,515&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other noncurrent assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,277&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,277&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total noncurrent assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,713,368&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,471&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,719,839&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,824,411&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;303&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,471&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,831,185&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;LIABILITIES AND STOCKHOLDERS' EQUITY&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Current liabilities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,563&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,563&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,631&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,631&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Current contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,983&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,983&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accrued liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;50,533&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,780&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;57,313&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Convertible Senior Notes due 2024, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69,452&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69,452&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total current liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;158,162&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,780&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;164,942&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Noncurrent liabilities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Convertible Senior Notes due 2028, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;510,143&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;510,143&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred tax liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;40,466&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;903&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;239&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;39,324&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Noncurrent operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126,578&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126,578&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Noncurrent contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,070&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,070&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other noncurrent liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,789&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;"&gt;&lt;span style="-sec-ix-hidden:F_f6be4637-cef0-4d20-94ff-4351dbd23794;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,494&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11,283&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total noncurrent liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;695,046&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;903&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,255&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;701,398&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;853,208&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,877&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,255&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;866,340&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-size:9pt;"&gt;&lt;span style="-sec-ix-hidden:F_0acfdd04-3b72-46e2-851e-b95899936c90;"&gt;&lt;span style="-sec-ix-hidden:F_1f00a0dc-85df-45f3-823c-2e66daf692bb;"&gt;&lt;span style="-sec-ix-hidden:F_eef92064-b3a7-4175-a0a0-71dc9aad4828;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Commitments and contingencies (Note 14)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Stockholders' equity:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;Preferred stock, $&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.01&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;&#160;par value, &lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,000,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;&#160;shares authorized, &lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;&#160;shares issued or outstanding&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;Common stock, $&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.01&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;&#160;par value; &lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;80,000,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;&#160;shares authorized; &lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,766,078&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;&#160;&#160;shares at December 31, 2023 and &lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,557,698&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;&#160;shares at December 31, 2022  issued and outstanding&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;558&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;558&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Additional paid-in capital&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,569,227&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,569,227&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accumulated other comprehensive loss&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37,431&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37,808&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accumulated earnings&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;438,849&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,197&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;784&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;432,868&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total stockholders&#x2019; equity&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,971,203&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,574&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;784&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,964,845&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total liabilities and stockholders&#x2019; equity&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,824,411&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;303&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,471&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,831,185&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.443%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.341%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.341%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.461%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Previously Reported&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Other Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Revised&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;ASSETS&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Intangible assets, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;353,676&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,942&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;360,618&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total noncurrent assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,526,540&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,942&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,533,482&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,524,658&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,942&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,531,600&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;LIABILITIES AND STOCKHOLDERS' EQUITY&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other noncurrent liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,814&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,942&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,756&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total noncurrent liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;209,762&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,942&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;216,704&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;613,958&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,942&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;620,900&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total liabilities and stockholders&#x2019; equity&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,524,658&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,942&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,531,600&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:50.41%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.242%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.242%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.28%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.222%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.242%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Year Ended December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Previously Reported&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Revenue Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Other Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Restated&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Revenue:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;638,381&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,402&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;631,979&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Royalty and other revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;383&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;383&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;638,764&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,402&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;632,362&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Costs and operating expenses:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cost of product revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;353,922&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;353,922&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Research and development&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;42,722&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;42,722&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Selling, general and administrative&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;218,113&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;471&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;218,584&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,569&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,569&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total costs and operating expenses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;584,188&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;471&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;584,659&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Income from operations&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;54,576&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,402&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;471&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;47,703&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other income (expenses):&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Investment income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24,135&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24,135&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Interest expense&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,951&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;552&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,503&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Loss on extinguishment of debt&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,676&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,676&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Amortization of debt issuance costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,075&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,075&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other income (expenses)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,123&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,123&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other income (expenses), net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,556&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;552&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,004&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Income before income taxes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;64,132&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,402&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56,707&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Income tax provision&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,555&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,205&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;239&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21,111&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41,577&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,197&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;784&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35,596&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Earnings per share:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Basic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.75&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.09&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.02&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.64&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Diluted (Note 3)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.74&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.09&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.02&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.63&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Weighted average common shares outstanding:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Basic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,720&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,720&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Diluted (Note 3)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56,377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56,377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41,577&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,197&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;784&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35,596&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other comprehensive income (loss):&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Foreign currency translation adjustment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,037&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,414&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Comprehensive income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;38,540&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,574&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;784&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,182&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:11.14%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:4.3%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:4.3%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:4.3%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:4.3%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:4.22%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:4.36%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:4.36%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:4.36%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:4.36%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:4.36%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:4.36%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:5.28%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Accumulated Other Comprehensive Loss&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Accumulated Earnings&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Total Stockholders' Equity&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Previously Reported&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Revenue Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Other Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Restated&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Previously Reported&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Revenue Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Other Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Restated&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Previously Reported&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Revenue Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Other Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Restated&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance at December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;34,394&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;34,394&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;397,272&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;397,272&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,910,700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,910,700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41,577&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,197&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;784&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35,596&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41,577&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,197&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;784&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35,596&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Translation adjustment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,037&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,414&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,037&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,414&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37,431&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37,808&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;438,849&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,197&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;784&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;432,868&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,971,203&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,574&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;784&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,964,845&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:50.38%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.08%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.356%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.08%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.356%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.216%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.356%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Year Ended December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Previously Reported&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Revenue Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Other Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Restated&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Cash flows from operating activities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41,577&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,197&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;784&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35,596&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Adjustments to reconcile net income to net cash provided by operating activities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory step-up charges&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,238&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,238&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Depreciation and amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;68,085&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;471&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;68,556&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Amortization of debt discount and issuance costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,448&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,448&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Stock-based compensation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,575&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,575&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred income taxes, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,317&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;903&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;239&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,175&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,569&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,569&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-cash interest income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Loss on extinguishment of debt&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,676&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,676&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use asset amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,059&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,499&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,558&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,231&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;552&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,783&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Changes in operating assets and liabilities, excluding impact of acquisitions:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts receivable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,312&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,312&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventories&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;40,973&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;40,973&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid expenses and other assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,030&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;303&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,333&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;461&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;461&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,803&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,803&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accrued expenses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,921&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,403&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21,518&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,229&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,499&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,728&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long-term liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;87&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;87&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total cash provided by operating activities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;113,918&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;113,918&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Cash flows from investing activities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Redemption of marketable securities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;102,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;102,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Additions to capitalized software costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,766&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,766&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Acquisitions, net of cash acquired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;186,642&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;186,642&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Purchases of property, plant and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;36,222&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;36,222&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Purchase of intellectual property&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other investing activities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total cash used in investing activities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;123,275&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;123,275&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Cash flows from financing activities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Repurchase of common stock&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,386&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,386&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Proceeds from issuance of 2023 Convertible Senior Notes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;290,094&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;290,094&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Proceeds from exercise of stock options&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,076&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,076&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Payment of debt issuance costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,253&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,253&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Payment of tax withholding obligation on vesting of restricted stock&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,227&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,227&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Payment of earnout consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,298&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,298&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other financing activities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;45&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;"&gt;&lt;span style="-sec-ix-hidden:F_d983390b-710f-4bf6-984b-01a5c58be1af;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;45&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total cash provided by (used in) financing activities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;248,961&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;248,961&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Effect of exchange rate changes on cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11,739&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11,739&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net increase (decrease) in cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;227,865&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;227,865&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and cash equivalents, beginning of period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;523,458&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;523,458&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and cash equivalents, end of period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Supplemental disclosure of cash flow information:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Income taxes paid&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;26,963&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;26,963&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Interest paid&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;988&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;988&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Supplemental disclosure of non-cash investing and financing activities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Assets acquired under operating leases&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,335&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,335&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Fair value of shares of common stock issued for acquisitions&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,569&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,569&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Fair value of shares of common stock issued for contingent consideration earnouts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,229&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,229&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Acquisition date fair value of contingent consideration earnouts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,640&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,640&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Issuance of 2023 Notes in exchange of 2019 Notes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;42,179&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;42,179&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Extinguished 2019 Notes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29,634&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29,634&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.443%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.341%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.341%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.461%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Year Ended December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Previously Reported&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Other Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Revised&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Cash flows from operating activities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Adjustments to reconcile net income to net cash provided by operating activities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use asset amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24,549&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,576&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,027&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Changes in operating assets and liabilities, excluding impact of acquisitions:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;28,623&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,576&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,953&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total cash provided by operating activities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;172,083&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;172,083&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Supplemental disclosure of non-cash investing and financing activities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Acquisition of intangible assets and issuance of financing liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,948&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,948&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.443%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.341%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.341%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.461%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Year Ended December 31, 2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Previously Reported&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Other Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Revised&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Cash flows from operating activities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Adjustments to reconcile net income to net cash provided by operating activities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use asset amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,315&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,870&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,555&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Changes in operating assets and liabilities, excluding impact of acquisitions:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,958&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,870&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,912&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total cash provided by operating activities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;119,016&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;119,016&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;</us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock>
    <rgen:CancelledPurchaseOrderPayments
      contextRef="C_d41a49c7-4e1a-4e04-88c8-9a0e57f6b897"
      decimals="-5"
      id="F_9a4bd6e1-4a5d-4b52-8dcd-c87fa139fb0d"
      unitRef="U_USD">17300000</rgen:CancelledPurchaseOrderPayments>
    <us-gaap:Revenues
      contextRef="C_997e96ec-9286-42a3-8367-3faf0ca99114"
      decimals="-5"
      id="F_cd5c6b13-cf7c-4c39-91e1-7d967e462bef"
      unitRef="U_USD">17300000</us-gaap:Revenues>
    <us-gaap:ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_bb9d69b4-1d0d-4aa3-b3d8-30d60fccdcb4">&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following tables present the impact of the financial statement adjustments on the Company's previously reported consolidated financial statements.&lt;/span&gt;&lt;div&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:50.41%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.242%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.242%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.28%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.222%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.242%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Previously Reported&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Revenue Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Other Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Restated&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;ASSETS&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Current assets:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Marketable securities held to maturity&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;Accounts receivable, net of reserves of $&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,122&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;&#160;and $&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,365&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;&#160;at&lt;br/&gt;&#160;&#160;&#160;December 31, 2023 and December 31, 2022, respectively&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;124,161&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;124,161&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventories, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;202,321&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;202,321&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,238&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;303&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,541&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,111,043&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;303&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,111,346&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Noncurrent assets:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Property, plant and equipment, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;207,440&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;207,440&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Intangible assets, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;400,486&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,471&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;406,957&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;987,120&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;987,120&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred tax assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,530&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,530&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115,515&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115,515&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other noncurrent assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,277&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,277&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total noncurrent assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,713,368&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,471&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,719,839&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,824,411&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;303&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,471&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,831,185&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;LIABILITIES AND STOCKHOLDERS' EQUITY&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Current liabilities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,563&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,563&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,631&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,631&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Current contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,983&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,983&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accrued liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;50,533&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,780&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;57,313&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Convertible Senior Notes due 2024, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69,452&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69,452&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total current liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;158,162&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,780&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;164,942&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Noncurrent liabilities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Convertible Senior Notes due 2028, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;510,143&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;510,143&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred tax liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;40,466&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;903&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;239&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;39,324&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Noncurrent operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126,578&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126,578&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Noncurrent contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,070&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,070&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other noncurrent liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,789&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;"&gt;&lt;span style="-sec-ix-hidden:F_f6be4637-cef0-4d20-94ff-4351dbd23794;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,494&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11,283&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total noncurrent liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;695,046&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;903&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,255&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;701,398&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;853,208&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,877&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,255&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;866,340&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-size:9pt;"&gt;&lt;span style="-sec-ix-hidden:F_0acfdd04-3b72-46e2-851e-b95899936c90;"&gt;&lt;span style="-sec-ix-hidden:F_1f00a0dc-85df-45f3-823c-2e66daf692bb;"&gt;&lt;span style="-sec-ix-hidden:F_eef92064-b3a7-4175-a0a0-71dc9aad4828;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Commitments and contingencies (Note 14)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Stockholders' equity:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;Preferred stock, $&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.01&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;&#160;par value, &lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,000,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;&#160;shares authorized, &lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;&#160;shares issued or outstanding&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;Common stock, $&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.01&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;&#160;par value; &lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;80,000,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;&#160;shares authorized; &lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,766,078&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;&#160;&#160;shares at December 31, 2023 and &lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,557,698&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;&#160;shares at December 31, 2022  issued and outstanding&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;558&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;558&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Additional paid-in capital&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,569,227&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,569,227&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accumulated other comprehensive loss&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37,431&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37,808&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accumulated earnings&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;438,849&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,197&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;784&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;432,868&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total stockholders&#x2019; equity&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,971,203&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,574&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;784&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,964,845&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total liabilities and stockholders&#x2019; equity&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,824,411&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;303&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,471&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,831,185&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.443%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.341%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.341%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.461%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Previously Reported&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Other Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Revised&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;ASSETS&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Intangible assets, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;353,676&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,942&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;360,618&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total noncurrent assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,526,540&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,942&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,533,482&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,524,658&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,942&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,531,600&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;LIABILITIES AND STOCKHOLDERS' EQUITY&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other noncurrent liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,814&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,942&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,756&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total noncurrent liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;209,762&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,942&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;216,704&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;613,958&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,942&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;620,900&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total liabilities and stockholders&#x2019; equity&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,524,658&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,942&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,531,600&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:50.41%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.242%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.242%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.28%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.222%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.242%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Year Ended December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Previously Reported&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Revenue Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Other Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Restated&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Revenue:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;638,381&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,402&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;631,979&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Royalty and other revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;383&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;383&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;638,764&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,402&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;632,362&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Costs and operating expenses:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cost of product revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;353,922&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;353,922&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Research and development&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;42,722&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;42,722&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Selling, general and administrative&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;218,113&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;471&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;218,584&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,569&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,569&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total costs and operating expenses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;584,188&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;471&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;584,659&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Income from operations&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;54,576&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,402&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;471&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;47,703&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other income (expenses):&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Investment income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24,135&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24,135&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Interest expense&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,951&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;552&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,503&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Loss on extinguishment of debt&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,676&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,676&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Amortization of debt issuance costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,075&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,075&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other income (expenses)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,123&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,123&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other income (expenses), net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,556&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;552&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,004&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Income before income taxes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;64,132&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,402&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56,707&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Income tax provision&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,555&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,205&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;239&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21,111&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41,577&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,197&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;784&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35,596&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Earnings per share:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Basic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.75&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.09&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.02&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.64&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Diluted (Note 3)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.74&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.09&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.02&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.63&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Weighted average common shares outstanding:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Basic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,720&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,720&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Diluted (Note 3)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56,377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56,377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41,577&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,197&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;784&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35,596&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other comprehensive income (loss):&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Foreign currency translation adjustment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,037&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,414&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Comprehensive income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;38,540&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,574&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;784&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,182&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:11.14%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:4.3%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:4.3%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:4.3%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:4.3%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:4.22%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:4.36%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:4.36%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:4.36%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:4.36%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:4.36%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:4.36%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:5.28%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Accumulated Other Comprehensive Loss&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Accumulated Earnings&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Total Stockholders' Equity&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Previously Reported&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Revenue Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Other Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Restated&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Previously Reported&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Revenue Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Other Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Restated&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Previously Reported&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Revenue Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Other Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Restated&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance at December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;34,394&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;34,394&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;397,272&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;397,272&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,910,700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,910,700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41,577&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,197&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;784&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35,596&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41,577&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,197&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;784&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35,596&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Translation adjustment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,037&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,414&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,037&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,414&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37,431&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37,808&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;438,849&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,197&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;784&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;432,868&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,971,203&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,574&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;784&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,964,845&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:50.38%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.08%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.356%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.08%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.356%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.216%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.356%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Year Ended December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Previously Reported&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Revenue Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Other Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Restated&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Cash flows from operating activities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41,577&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,197&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;784&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35,596&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Adjustments to reconcile net income to net cash provided by operating activities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory step-up charges&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,238&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,238&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Depreciation and amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;68,085&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;471&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;68,556&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Amortization of debt discount and issuance costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,448&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,448&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Stock-based compensation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,575&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,575&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred income taxes, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,317&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;903&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;239&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,175&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,569&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,569&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-cash interest income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Loss on extinguishment of debt&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,676&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,676&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use asset amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,059&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,499&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,558&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,231&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;552&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,783&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Changes in operating assets and liabilities, excluding impact of acquisitions:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts receivable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,312&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,312&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventories&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;40,973&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;40,973&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid expenses and other assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,030&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;303&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,333&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;461&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;461&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,803&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,803&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accrued expenses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,921&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,403&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21,518&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,229&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,499&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,728&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long-term liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;87&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;87&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total cash provided by operating activities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;113,918&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;113,918&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Cash flows from investing activities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Redemption of marketable securities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;102,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;102,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Additions to capitalized software costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,766&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,766&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Acquisitions, net of cash acquired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;186,642&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;186,642&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Purchases of property, plant and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;36,222&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;36,222&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Purchase of intellectual property&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other investing activities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total cash used in investing activities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;123,275&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;123,275&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Cash flows from financing activities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Repurchase of common stock&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,386&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,386&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Proceeds from issuance of 2023 Convertible Senior Notes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;290,094&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;290,094&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Proceeds from exercise of stock options&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,076&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,076&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Payment of debt issuance costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,253&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,253&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Payment of tax withholding obligation on vesting of restricted stock&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,227&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,227&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Payment of earnout consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,298&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,298&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other financing activities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;45&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;"&gt;&lt;span style="-sec-ix-hidden:F_d983390b-710f-4bf6-984b-01a5c58be1af;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;45&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total cash provided by (used in) financing activities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;248,961&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;248,961&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Effect of exchange rate changes on cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11,739&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11,739&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net increase (decrease) in cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;227,865&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;227,865&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and cash equivalents, beginning of period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;523,458&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;523,458&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and cash equivalents, end of period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Supplemental disclosure of cash flow information:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Income taxes paid&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;26,963&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;26,963&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Interest paid&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;988&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;988&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Supplemental disclosure of non-cash investing and financing activities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Assets acquired under operating leases&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,335&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,335&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Fair value of shares of common stock issued for acquisitions&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,569&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,569&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Fair value of shares of common stock issued for contingent consideration earnouts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,229&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,229&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Acquisition date fair value of contingent consideration earnouts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,640&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,640&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Issuance of 2023 Notes in exchange of 2019 Notes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;42,179&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;42,179&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Extinguished 2019 Notes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29,634&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29,634&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.443%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.341%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.341%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.461%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Year Ended December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Previously Reported&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Other Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Revised&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Cash flows from operating activities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Adjustments to reconcile net income to net cash provided by operating activities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use asset amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24,549&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,576&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,027&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Changes in operating assets and liabilities, excluding impact of acquisitions:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;28,623&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,576&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,953&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total cash provided by operating activities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;172,083&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;172,083&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Supplemental disclosure of non-cash investing and financing activities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Acquisition of intangible assets and issuance of financing liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,948&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,948&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.443%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.341%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.341%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.461%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Year Ended December 31, 2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Previously Reported&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Other Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As Revised&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Cash flows from operating activities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Adjustments to reconcile net income to net cash provided by operating activities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use asset amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,315&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,870&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,555&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Changes in operating assets and liabilities, excluding impact of acquisitions:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,958&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,870&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,912&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total cash provided by operating activities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;119,016&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;119,016&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_0e49e291-1efc-44fd-853a-340ee9e698b3"
      unitRef="U_USD">751323000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_4573ad66-5d59-456f-9057-6f7cd39498a1"
      unitRef="U_USD">0</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_1cf9aa2b-f678-4540-8991-03cf1133814c"
      unitRef="U_USD">0</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_5a0952b2-d2e2-4b05-88b3-f51ae2d14c89"
      unitRef="U_USD">751323000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:HeldToMaturitySecuritiesCurrent
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_ca84ef18-9651-4f0d-8bd7-7ab6454016f7"
      unitRef="U_USD">0</us-gaap:HeldToMaturitySecuritiesCurrent>
    <us-gaap:HeldToMaturitySecuritiesCurrent
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_b7dcb32e-1d3c-4eb1-806b-d64507fcdb94"
      unitRef="U_USD">0</us-gaap:HeldToMaturitySecuritiesCurrent>
    <us-gaap:HeldToMaturitySecuritiesCurrent
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_b4544e32-b5c4-4482-ba7c-b23ec1f744ac"
      unitRef="U_USD">0</us-gaap:HeldToMaturitySecuritiesCurrent>
    <us-gaap:HeldToMaturitySecuritiesCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_a4a9860c-fce2-45df-8067-1c2e5f208eeb"
      unitRef="U_USD">0</us-gaap:HeldToMaturitySecuritiesCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_23c13986-32bc-4e26-876b-35b4d577cce6"
      unitRef="U_USD">2122000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_8de1cd8c-f26e-43f3-a2d2-0ec54040cf21"
      unitRef="U_USD">1365000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_42b9555b-08a6-4463-abf3-0a55af875b28"
      unitRef="U_USD">124161000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_79aeaaa4-2317-49ff-9dd4-4c31ba87f9a2"
      unitRef="U_USD">0</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_e9521d5e-26c7-4b9c-8ebc-2b987217a70a"
      unitRef="U_USD">0</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_2249d49f-36dd-431f-b26a-7ea1d7a56fd2"
      unitRef="U_USD">124161000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_2c765b3e-5ffd-49fa-b598-c71a9bab0ee0"
      unitRef="U_USD">202321000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_9c1096ec-4204-419f-996e-23b27d62a12e"
      unitRef="U_USD">0</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_e532f773-7501-4f06-a4c4-d70e3cd2dadd"
      unitRef="U_USD">0</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_626942e4-067e-498a-b08e-878bfccaeae4"
      unitRef="U_USD">202321000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_e598e18c-8699-4d92-aede-2c411e1a5737"
      unitRef="U_USD">33238000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_958a9285-0a2e-4119-91bc-3e330a9f0248"
      unitRef="U_USD">303000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_b77b312a-2bac-4c51-8321-a31b1afbcc9e"
      unitRef="U_USD">0</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_5c1a22f1-58d0-4113-a8f9-735bba897ab7"
      unitRef="U_USD">33541000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_f4b5e859-b7f2-43b7-b3c7-6f24d57bc2b3"
      unitRef="U_USD">1111043000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_c76881f4-0be7-46db-b840-212ceac32bd7"
      unitRef="U_USD">303000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_8797f90e-814a-46e5-bed3-554708cb590f"
      unitRef="U_USD">0</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_9c0cf0a4-030d-46b4-8d1e-ade3dc99b646"
      unitRef="U_USD">1111346000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_f5c60f0f-c058-4974-8823-d1f313f64a94"
      unitRef="U_USD">207440000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_f60abeff-2c0c-4b01-b0f1-e0caf55445b1"
      unitRef="U_USD">0</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_c94e3cf9-2d2e-47d2-83ec-d87515c93293"
      unitRef="U_USD">0</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_7f26b5c6-69fd-46e1-9f71-ef56289373aa"
      unitRef="U_USD">207440000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_2271a4f6-5555-4e06-8b27-c6a4f30ef6ab"
      unitRef="U_USD">400486000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_f9134d9d-52ed-4fb6-8033-9810b56957b5"
      unitRef="U_USD">0</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_eab7570a-af7e-4bdf-85d7-2ce1644144e5"
      unitRef="U_USD">6471000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_e9a735b8-2db8-4900-bb6a-54c96415f44e"
      unitRef="U_USD">406957000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:Goodwill
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_6d71acd9-e465-487b-b65c-4b68473c81aa"
      unitRef="U_USD">987120000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_40e39df8-239b-45d1-9215-dfc3bdec4997"
      unitRef="U_USD">0</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_1e68f6b3-1db3-4d71-9aa0-f39d54f98d77"
      unitRef="U_USD">0</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_513267d5-496b-47d0-a5bb-d991d6099227"
      unitRef="U_USD">987120000</us-gaap:Goodwill>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_e4ea7f29-3608-4884-b260-81757bf519f5"
      unitRef="U_USD">1530000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_6a9fd72b-6b63-44b3-ad9f-68bfcd941979"
      unitRef="U_USD">0</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_1d213843-30d3-45ba-ae9e-834593ae5bb8"
      unitRef="U_USD">0</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_d1ffc824-6c4c-41c7-b020-ea64aed015dc"
      unitRef="U_USD">1530000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_72e3d6a3-c339-4d72-8ba5-6a908d2fc9aa"
      unitRef="U_USD">115515000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_1c24b385-7772-4836-a87c-8a689699efd3"
      unitRef="U_USD">0</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_f26797ed-1752-4dc3-8471-4ef93c24d4a7"
      unitRef="U_USD">0</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_e281954b-6149-45b8-8fa0-eae583ad5a42"
      unitRef="U_USD">115515000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_4cfd2b7d-1382-47dd-a759-24fa9a779339"
      unitRef="U_USD">1277000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_15f17928-0661-455a-af3a-e7f80925044a"
      unitRef="U_USD">0</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_a4dd1650-a2f2-45a1-ac61-7c466a9a7522"
      unitRef="U_USD">0</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_22e027e2-1a78-465f-a800-99adbfde4992"
      unitRef="U_USD">1277000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:AssetsNoncurrent
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_e3085da9-2854-4e3f-8cf2-eb9228e14160"
      unitRef="U_USD">1713368000</us-gaap:AssetsNoncurrent>
    <us-gaap:AssetsNoncurrent
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_b2ac3b47-3096-42ca-9251-196854294da7"
      unitRef="U_USD">0</us-gaap:AssetsNoncurrent>
    <us-gaap:AssetsNoncurrent
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_20ec722d-4e6d-43fa-83f4-1776743663c5"
      unitRef="U_USD">6471000</us-gaap:AssetsNoncurrent>
    <us-gaap:AssetsNoncurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_2bf3c3ff-8a5f-4067-915f-f59e12d18d63"
      unitRef="U_USD">1719839000</us-gaap:AssetsNoncurrent>
    <us-gaap:Assets
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_f19033e1-3f3a-4cda-aa3a-b2521560df7c"
      unitRef="U_USD">2824411000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_3ed63482-d06a-41f4-b73c-a345252f00bb"
      unitRef="U_USD">303000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_36dc0c26-121a-49e8-ab4b-83690fb2ed9f"
      unitRef="U_USD">6471000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_97823a33-49cd-42f8-b82e-367643fa5c76"
      unitRef="U_USD">2831185000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_4c9bcfb7-a2e8-4612-b3ed-3934aa805d8a"
      unitRef="U_USD">19563000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_e73a1703-385c-4423-847c-4e2c5c071b83"
      unitRef="U_USD">0</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_ec46447d-e2fc-4481-a646-827e0d449046"
      unitRef="U_USD">0</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_5a78b04e-4f6d-42c2-9f30-b20bb92eb147"
      unitRef="U_USD">19563000</us-gaap:AccountsPayableCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_60c4a54c-dc82-4c07-8a9a-bb1082f5e04e"
      unitRef="U_USD">5631000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_d91642ba-240f-4f6a-a68d-e62a3c1c8a05"
      unitRef="U_USD">0</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_079a307c-0b85-452c-a1e7-213673adf25d"
      unitRef="U_USD">0</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_0cac3141-7717-4fd5-bd02-6fbfa1e40fae"
      unitRef="U_USD">5631000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_6c713998-6a4f-4594-99ec-4e4fac1ab53a"
      unitRef="U_USD">12983000</us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_6a441231-3ecb-4c66-813d-9ea38a5e38ee"
      unitRef="U_USD">0</us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_f96130c1-9590-4168-bb11-3b95935266c9"
      unitRef="U_USD">0</us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_5b015103-c5bf-4c34-b3fd-de08585aa2d4"
      unitRef="U_USD">12983000</us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_39c2076b-f528-49d8-b4e9-154afc79d62a"
      unitRef="U_USD">50533000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_3bfbe6da-8550-4f2b-ba11-1562f8cd3d00"
      unitRef="U_USD">6780000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_332b1b83-109f-4747-a7a0-874942c8ec71"
      unitRef="U_USD">0</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_1b02ddff-e50f-4ae0-8e8a-8de663e93e5a"
      unitRef="U_USD">57313000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_524116d6-f6ef-4ef9-a47c-3e4c612f8beb"
      unitRef="U_USD">69452000</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_08f20e6e-820f-4d62-8aa4-af704a40c08f"
      unitRef="U_USD">0</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_2e11e413-888b-48c1-a33d-692275c2a7af"
      unitRef="U_USD">0</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_d4f7a448-f678-40ba-8ca3-7a4cb9c67dfe"
      unitRef="U_USD">69452000</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_15ddc901-ab99-4c3f-86b8-ec00193afaa2"
      unitRef="U_USD">158162000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_b7d5602b-1137-4072-ab2c-d6c27207da15"
      unitRef="U_USD">6780000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_29d45ce7-5644-4971-9b87-f19b8f3c2757"
      unitRef="U_USD">0</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_5868ab59-575e-4f6d-932a-150c3feb93f3"
      unitRef="U_USD">164942000</us-gaap:LiabilitiesCurrent>
    <us-gaap:ConvertibleDebtNoncurrent
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_88d20bb7-0c22-4e85-b04d-2568937a5f85"
      unitRef="U_USD">510143000</us-gaap:ConvertibleDebtNoncurrent>
    <us-gaap:ConvertibleDebtNoncurrent
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_853a26be-b2ae-4a11-850a-b92df4aacb12"
      unitRef="U_USD">0</us-gaap:ConvertibleDebtNoncurrent>
    <us-gaap:ConvertibleDebtNoncurrent
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_567ffdfc-c835-4f53-9cd2-58509d7053af"
      unitRef="U_USD">0</us-gaap:ConvertibleDebtNoncurrent>
    <us-gaap:ConvertibleDebtNoncurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_b04ea956-1323-48d3-85bb-ede66070deaa"
      unitRef="U_USD">510143000</us-gaap:ConvertibleDebtNoncurrent>
    <us-gaap:DeferredTaxAndOtherLiabilitiesNoncurrent
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_c11ae014-3cac-4957-aabb-f22c25d320ba"
      unitRef="U_USD">40466000</us-gaap:DeferredTaxAndOtherLiabilitiesNoncurrent>
    <us-gaap:DeferredTaxAndOtherLiabilitiesNoncurrent
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_e0f4fcc5-00c6-47a3-a5c2-9a5ad4e360da"
      unitRef="U_USD">-903000</us-gaap:DeferredTaxAndOtherLiabilitiesNoncurrent>
    <us-gaap:DeferredTaxAndOtherLiabilitiesNoncurrent
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_f8ae9c70-8c0a-4cc6-a51f-9670370337c1"
      unitRef="U_USD">-239000</us-gaap:DeferredTaxAndOtherLiabilitiesNoncurrent>
    <us-gaap:DeferredTaxAndOtherLiabilitiesNoncurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_7d9d43d2-ecad-41ee-a063-00afe582d89c"
      unitRef="U_USD">39324000</us-gaap:DeferredTaxAndOtherLiabilitiesNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_6b261a24-7032-4b9c-96c3-e339441837c8"
      unitRef="U_USD">126578000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_772b68ac-e9e5-4631-945d-cd5c8030bff2"
      unitRef="U_USD">0</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_9c51f2b4-0715-4085-aae8-3fbf6b249ac6"
      unitRef="U_USD">0</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_0bfc77ad-8ee4-4735-a3af-fddfb1e7920a"
      unitRef="U_USD">126578000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_1dd088ab-2ca3-453a-b057-8dc3f6c661c3"
      unitRef="U_USD">14070000</us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_eeaa1076-dc8c-4734-9e07-e3b8af2400fe"
      unitRef="U_USD">0</us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_52c73428-05e4-4d8e-8adc-1f9137622299"
      unitRef="U_USD">0</us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_d7741036-4dbb-446c-94b4-597cc7b9080a"
      unitRef="U_USD">14070000</us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_f0941a54-b293-4503-a5a5-32237b4493de"
      unitRef="U_USD">3789000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_79e847bd-5a67-44eb-881e-40b57b140102"
      unitRef="U_USD">7494000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_593f2b4c-94c1-4127-b4fd-990ed5895102"
      unitRef="U_USD">11283000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_c8908552-95b4-4395-a63e-51e9240634f3"
      unitRef="U_USD">695046000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_5732d02a-0591-4f39-bc16-41ef6383ecf0"
      unitRef="U_USD">-903000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_14a28c21-6113-424b-805a-febb0c6e6b3d"
      unitRef="U_USD">7255000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_8d1d08af-4f94-498e-b24a-47cdadb6092a"
      unitRef="U_USD">701398000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_98d369e7-f794-403d-b7bf-176400ef8dcc"
      unitRef="U_USD">853208000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_db42c50b-6e05-45c5-9206-433b5a5add79"
      unitRef="U_USD">5877000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_d7ae9f25-1fa4-4ae3-855d-4bb576642d13"
      unitRef="U_USD">7255000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_352dfdd3-e5a8-47d2-9acd-43c875b310be"
      unitRef="U_USD">866340000</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="2"
      id="F_c6c84dfe-4efd-43b4-852e-d42f7519fcc4"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="INF"
      id="F_9e7eea05-d3cc-44c7-ba13-94287631cdf0"
      unitRef="U_shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="INF"
      id="F_8a97ab22-7d33-47d5-802a-49a6b8794262"
      unitRef="U_shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="INF"
      id="F_ba818cb4-02cd-4358-9f6c-e33a35cd87fc"
      unitRef="U_shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockValue
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_aa85bafe-eac2-40ec-b981-0f346e31a4f5"
      unitRef="U_USD">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_2216f69c-f79f-4e7d-95f6-2fd5adc3fde8"
      unitRef="U_USD">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_00a18b78-a302-425c-8cc6-d252a2be183c"
      unitRef="U_USD">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_9f334f22-eb29-4d61-ad93-0b220ddc688f"
      unitRef="U_USD">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="2"
      id="F_042b7e7c-faa6-4ee1-af7f-a9a6874394a7"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="2"
      id="F_841abb54-92c9-4528-b1a3-20769fb4567c"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="INF"
      id="F_e8802bea-b4f9-41c9-bacd-7e87590578f5"
      unitRef="U_shares">80000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="INF"
      id="F_07cb224f-de39-4694-84dd-00fe5dcd84cb"
      unitRef="U_shares">80000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="INF"
      id="F_783c3f9f-bab3-42bd-9b95-1d0d7280ff7e"
      unitRef="U_shares">55766078</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="INF"
      id="F_4529fa26-3e4c-4f09-a7b6-447650daddc5"
      unitRef="U_shares">55766078</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="INF"
      id="F_ab6ed8cb-8f05-49fb-be13-f38dabc0b2e4"
      unitRef="U_shares">55557698</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="INF"
      id="F_c939bd65-e046-4eac-8aea-6af0820d4c68"
      unitRef="U_shares">55557698</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_8ef28a57-a41b-4776-bf9f-b215aee898c4"
      unitRef="U_USD">558000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_324e4796-166c-4ddd-883e-c29b69cf58c0"
      unitRef="U_USD">0</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_20d20c19-6ed8-400c-a673-adad4ad5df3d"
      unitRef="U_USD">0</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_b53a68a5-3694-491b-a8c0-2d6af2a69868"
      unitRef="U_USD">558000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_6559e4cc-d2bc-4199-992f-30a0ba7d51a7"
      unitRef="U_USD">1569227000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_ebe76d9b-ee59-4fe4-8142-bd2808fd4d89"
      unitRef="U_USD">0</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_29e7cf36-0039-4332-887b-29a102214709"
      unitRef="U_USD">0</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_dd249d20-a32a-4f4e-bc72-bd8be7c67e6f"
      unitRef="U_USD">1569227000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_af3608ed-1d58-4b1a-b605-ee822945ad56"
      unitRef="U_USD">-37431000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_49686373-e0fb-4519-9c67-f3d7b84e89a8"
      unitRef="U_USD">-377000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_3c96d138-9761-405c-97ab-13ed256623e8"
      unitRef="U_USD">0</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_3eeba4aa-a505-47df-b34d-9b0b4c56f9f6"
      unitRef="U_USD">-37808000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_fef570b9-e50f-4418-b33c-302ee61b39e2"
      unitRef="U_USD">438849000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_8027182d-9736-427b-b502-8380c7c94127"
      unitRef="U_USD">-5197000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_0ed36c26-d146-4bf5-9fa8-f5a8be94e373"
      unitRef="U_USD">-784000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_77fe4611-4fa2-4822-8c93-663c3324aada"
      unitRef="U_USD">432868000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_9951b5a6-e340-4024-848f-fd27a6b5cd02"
      unitRef="U_USD">1971203000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_a36b21f2-acc8-4a3f-8357-6dd65971f7ce"
      unitRef="U_USD">-5574000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_a44139f5-95c4-46e6-a193-3c4883e482a2"
      unitRef="U_USD">-784000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_a97e3f77-263d-462d-9c57-1080473cb445"
      unitRef="U_USD">1964845000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_f3eb08a1-6fc6-4320-a45a-125de08100d8"
      unitRef="U_USD">2824411000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_d8751280-9a6a-4296-b17e-b5efc1d88398"
      unitRef="U_USD">303000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_13110c84-3853-4eca-bdbd-fb70ba489288"
      unitRef="U_USD">6471000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_e1f3b2d7-380c-4313-a3be-1769c06f9006"
      unitRef="U_USD">2831185000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="C_92fd7898-1fd9-433e-b658-b545abdfd64b"
      decimals="-3"
      id="F_34b9301a-aeca-478a-94be-8ecb2354d909"
      unitRef="U_USD">353676000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="C_a0eac4f5-17af-4888-b40b-5756dfe48d35"
      decimals="-3"
      id="F_0439d735-9b39-4c89-927c-317abfe78f59"
      unitRef="U_USD">6942000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_f2c9c05b-0da8-42ea-9840-6d35f1626629"
      unitRef="U_USD">360618000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:AssetsNoncurrent
      contextRef="C_92fd7898-1fd9-433e-b658-b545abdfd64b"
      decimals="-3"
      id="F_4e98972b-7c3a-4960-9698-6da0961c1981"
      unitRef="U_USD">1526540000</us-gaap:AssetsNoncurrent>
    <us-gaap:AssetsNoncurrent
      contextRef="C_a0eac4f5-17af-4888-b40b-5756dfe48d35"
      decimals="-3"
      id="F_23b75298-27a5-45d0-8d8e-14420af5608f"
      unitRef="U_USD">6942000</us-gaap:AssetsNoncurrent>
    <us-gaap:AssetsNoncurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_e1b6c343-0bdc-46bc-9878-83e1356917c6"
      unitRef="U_USD">1533482000</us-gaap:AssetsNoncurrent>
    <us-gaap:Assets
      contextRef="C_92fd7898-1fd9-433e-b658-b545abdfd64b"
      decimals="-3"
      id="F_b82d7bae-3c90-4cce-8480-c66eec04c618"
      unitRef="U_USD">2524658000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="C_a0eac4f5-17af-4888-b40b-5756dfe48d35"
      decimals="-3"
      id="F_b0b64465-9ccf-4958-bba6-0dac20251c3d"
      unitRef="U_USD">6942000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_2d9109e3-662c-4a51-87b6-16fd89877f88"
      unitRef="U_USD">2531600000</us-gaap:Assets>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="C_92fd7898-1fd9-433e-b658-b545abdfd64b"
      decimals="-3"
      id="F_6eb5b29c-a949-4feb-9406-deb642d065bd"
      unitRef="U_USD">3814000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="C_a0eac4f5-17af-4888-b40b-5756dfe48d35"
      decimals="-3"
      id="F_92a4bb08-adf6-455d-b1ce-44f78ef00ae0"
      unitRef="U_USD">6942000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_33d5fb56-4fbe-4aa5-a400-3154356aad06"
      unitRef="U_USD">10756000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="C_92fd7898-1fd9-433e-b658-b545abdfd64b"
      decimals="-3"
      id="F_75427c64-6fa6-4504-a35f-7f840f151055"
      unitRef="U_USD">209762000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="C_a0eac4f5-17af-4888-b40b-5756dfe48d35"
      decimals="-3"
      id="F_7d5f2d25-37fc-460c-b469-2138fb14f8a6"
      unitRef="U_USD">6942000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_452cd5a6-6be3-470c-a1e7-0dddef90d8cf"
      unitRef="U_USD">216704000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="C_92fd7898-1fd9-433e-b658-b545abdfd64b"
      decimals="-3"
      id="F_90a83db3-1455-47e1-a5d1-956802ca8205"
      unitRef="U_USD">613958000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="C_a0eac4f5-17af-4888-b40b-5756dfe48d35"
      decimals="-3"
      id="F_b211e2de-8c44-42ff-b96e-a8314952f1dd"
      unitRef="U_USD">6942000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_15e020fd-e2b8-4760-b23f-164b46165548"
      unitRef="U_USD">620900000</us-gaap:Liabilities>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="C_92fd7898-1fd9-433e-b658-b545abdfd64b"
      decimals="-3"
      id="F_c322ee8c-f6b9-43fb-a65e-462023ac68d8"
      unitRef="U_USD">2524658000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="C_a0eac4f5-17af-4888-b40b-5756dfe48d35"
      decimals="-3"
      id="F_4dc3f179-d438-44b9-95b9-dd4264c9f636"
      unitRef="U_USD">6942000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_f946ef9c-e061-408b-b556-0cd7d68ce86b"
      unitRef="U_USD">2531600000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_fa007337-552c-411f-ae97-cdf1ea9c3ff9"
      decimals="-3"
      id="F_54c39654-88fd-4ffe-92cc-cf09b69e2712"
      unitRef="U_USD">638381000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_5a1ec2d7-31b8-4b06-8565-02b0b26e4979"
      decimals="-3"
      id="F_0a0f7240-d804-441a-bd4d-d472204e4a47"
      unitRef="U_USD">-6402000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_caa82be9-db75-4168-922a-499572d850ba"
      decimals="-3"
      id="F_62fef578-9bdd-4b0d-be2a-16714c76d2b3"
      unitRef="U_USD">0</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_986f06fb-599d-441f-bf85-de13b571525e"
      decimals="-3"
      id="F_a5161be0-a8d8-4ee6-aded-943f0d1fe0e6"
      unitRef="U_USD">631979000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_2374c88d-b37a-4841-a36a-8234abda4d8d"
      decimals="-3"
      id="F_eaafc8aa-bb02-462b-9b34-691561917e24"
      unitRef="U_USD">383000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_5b183dbc-53e1-4b2b-a841-fcf2afa67f2e"
      decimals="-3"
      id="F_9b7340b0-16df-431a-a045-8036547e1e82"
      unitRef="U_USD">0</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_fddbf4cb-18b5-4d77-9733-54cf29167937"
      decimals="-3"
      id="F_f92511d1-3598-4a45-921c-be240947601c"
      unitRef="U_USD">0</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_47d99feb-bd92-4150-b94c-3d6e4128c1aa"
      decimals="-3"
      id="F_aaaf77cc-79aa-4a84-932b-8e0bb86c2e57"
      unitRef="U_USD">383000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_c667fd17-53fe-486e-964f-451d1de35f90"
      unitRef="U_USD">638764000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_30b2c6e2-874c-4b0e-8218-11cd70e9a7af"
      unitRef="U_USD">-6402000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_2cf5dd18-20bb-40e1-aead-c5ee627a662a"
      unitRef="U_USD">0</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_2031e44b-e986-4e6e-92fe-860d2ff92646"
      unitRef="U_USD">632362000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_1aaeb8f0-4d20-46d6-861e-ca850fc10367"
      unitRef="U_USD">353922000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_b35b09f1-8145-42c4-afc8-62464fa57afd"
      unitRef="U_USD">0</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_067e243b-cfd4-403e-a1e1-dba92fa55f28"
      unitRef="U_USD">0</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_9d97940f-3e4c-4241-8c5a-088fb67013de"
      unitRef="U_USD">353922000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_69232a40-925c-4ac3-9e59-f0b4890895fa"
      unitRef="U_USD">42722000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_010ec5b0-4f6b-44e8-9e10-4d3b1599676a"
      unitRef="U_USD">0</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_ad16b2a1-e895-497a-b6dd-d2665d56a849"
      unitRef="U_USD">0</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_0127c2ef-8094-4318-821e-c1299a227bb1"
      unitRef="U_USD">42722000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_04d1cb5f-6b08-4125-86ab-20f4ff610a83"
      unitRef="U_USD">218113000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_172294a0-7e9b-4c2e-aedb-e95ea807dee1"
      unitRef="U_USD">0</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_d15d494c-04f7-419d-93de-d084d0b4314b"
      unitRef="U_USD">471000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_eeb9dbc1-4083-4ce4-846c-7a86bb33289a"
      unitRef="U_USD">218584000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_b2834487-4cea-4faa-8662-0aec42c4dee1"
      unitRef="U_USD">-30569000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_0c9f1980-02fa-4a52-b8cd-e44caf885463"
      unitRef="U_USD">0</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_f55c21b8-7a35-4832-852e-0228e9fd1ee6"
      unitRef="U_USD">0</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_c1d05fc2-fee0-484e-8213-7f68f1b2fc1a"
      unitRef="U_USD">-30569000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:CostsAndExpenses
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_978ee348-3c76-42b3-bd02-565e0b46f590"
      unitRef="U_USD">584188000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_1ab2e82c-8819-4166-887e-119279bf012e"
      unitRef="U_USD">0</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_e08e8597-3c6a-45d3-bd43-ab87310e4892"
      unitRef="U_USD">471000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_89f3310d-1d71-47b3-8a59-2ec5e58c1c5b"
      unitRef="U_USD">584659000</us-gaap:CostsAndExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_d63e07d5-8ef9-4263-ab16-f4c8638e4626"
      unitRef="U_USD">54576000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_8a06ce0e-bc89-4b2a-907a-0ff44113c80c"
      unitRef="U_USD">-6402000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_06ef65da-9b5e-4179-9edd-ab2155080f4d"
      unitRef="U_USD">-471000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_2a136abe-aab2-4e2f-877f-f5f8e532f74b"
      unitRef="U_USD">47703000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InvestmentIncomeNet
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_fa4f4e10-8a5e-4f4d-8e7d-61d1be1fbf87"
      unitRef="U_USD">24135000</us-gaap:InvestmentIncomeNet>
    <us-gaap:InvestmentIncomeNet
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_ca0ed699-7696-4412-8d5b-6fd892161751"
      unitRef="U_USD">0</us-gaap:InvestmentIncomeNet>
    <us-gaap:InvestmentIncomeNet
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_19b312ef-7a34-40d2-a2bd-55840bae747d"
      unitRef="U_USD">0</us-gaap:InvestmentIncomeNet>
    <us-gaap:InvestmentIncomeNet
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_c5ec38f9-aec7-4396-a91e-f9e1f00fd5d1"
      unitRef="U_USD">24135000</us-gaap:InvestmentIncomeNet>
    <us-gaap:InterestExpenseNonoperating
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_9aff0ff9-9ede-4f89-943d-24e73cac0aab"
      unitRef="U_USD">1951000</us-gaap:InterestExpenseNonoperating>
    <us-gaap:InterestExpenseNonoperating
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_97a479a3-1dfb-4266-bc4d-7209505a6482"
      unitRef="U_USD">0</us-gaap:InterestExpenseNonoperating>
    <us-gaap:InterestExpenseNonoperating
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_6417a627-6d11-4758-83b3-49c5d5d222f3"
      unitRef="U_USD">552000</us-gaap:InterestExpenseNonoperating>
    <us-gaap:InterestExpenseNonoperating
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_07433e50-2466-4ab4-8c74-1712fdf08620"
      unitRef="U_USD">2503000</us-gaap:InterestExpenseNonoperating>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_44d036eb-bb02-4ce4-ba95-ec83525db726"
      unitRef="U_USD">-12676000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_eff44afe-b93f-4bfd-aa37-438a173b8c5f"
      unitRef="U_USD">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_46032298-7e02-4191-8395-b3b7826fff61"
      unitRef="U_USD">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_7ce57e73-f05f-442d-96b9-7f670cb0d3bd"
      unitRef="U_USD">-12676000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <rgen:AmortizationOfDebtIssuanceCost
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_879d7536-37f8-40b4-8058-1f429d08a3e3"
      unitRef="U_USD">8075000</rgen:AmortizationOfDebtIssuanceCost>
    <rgen:AmortizationOfDebtIssuanceCost
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_e1b54ca4-fa39-4f52-afe8-c7dd01b5ef7e"
      unitRef="U_USD">0</rgen:AmortizationOfDebtIssuanceCost>
    <rgen:AmortizationOfDebtIssuanceCost
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_28d56e38-926d-42c3-9a5b-ec5e794b11c6"
      unitRef="U_USD">0</rgen:AmortizationOfDebtIssuanceCost>
    <rgen:AmortizationOfDebtIssuanceCost
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_a96855ed-454e-4710-a773-32d622ae0690"
      unitRef="U_USD">8075000</rgen:AmortizationOfDebtIssuanceCost>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_753bd4fd-8b27-48ea-81a5-ea8c914c7511"
      unitRef="U_USD">8123000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_3c6ef2dd-9272-423b-83ea-a20c2da410b7"
      unitRef="U_USD">0</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_81204313-f15c-4d93-833c-69edccadda8c"
      unitRef="U_USD">0</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_b86629a5-8e6c-4843-aea0-a8a6c350d2e6"
      unitRef="U_USD">8123000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_8028726d-2a27-4f7a-bfdb-d2e1fc3387ac"
      unitRef="U_USD">9556000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_8b188af7-a52e-4842-ae03-9ad3f3c9f0da"
      unitRef="U_USD">0</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_0a5259f9-4114-4999-a23a-e5ef53085c27"
      unitRef="U_USD">-552000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_5f1765c5-2a32-43b1-81fa-349af5aa9cd6"
      unitRef="U_USD">9004000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_1b81cf52-95e3-4e64-9795-71348a156194"
      unitRef="U_USD">64132000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_203ab41f-ec94-4ccd-8cb8-c3f8cc95c11d"
      unitRef="U_USD">-6402000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_35bc7164-c39f-4c2e-9b72-a53e5da4ea2d"
      unitRef="U_USD">-1023000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_d24bfad8-4fb9-4907-bc42-8a48dc53d33e"
      unitRef="U_USD">56707000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_7d3f3012-3cb2-44d3-8ed5-a20d5e4f4a41"
      unitRef="U_USD">22555000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_e5ac387e-3fa9-45bc-8bb8-33d154016fbf"
      unitRef="U_USD">-1205000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_994db1fc-8d46-4c92-be30-47ffe05ed45f"
      unitRef="U_USD">-239000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_d0f4fb45-a6b1-4424-9d31-da82d7b17f5c"
      unitRef="U_USD">21111000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_cc72e39c-6845-4d35-92dc-8267793fe6c7"
      unitRef="U_USD">41577000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_8e07de77-4649-41cb-940b-8cb6f393f5ea"
      unitRef="U_USD">-5197000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_79406e36-5b04-4b36-9e74-1f7f97fc7ab2"
      unitRef="U_USD">-784000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_941937e4-d71a-4c1c-8744-ffe20179f836"
      unitRef="U_USD">35596000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="2"
      id="F_0ababa95-07e6-4a4e-a963-67f118e182a4"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.75</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="2"
      id="F_c8f36aaf-027f-4861-8757-d72d7b46529d"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">-0.09</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="2"
      id="F_a29688ee-963b-4ffb-bc46-28b92fcc6b45"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">-0.02</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="2"
      id="F_79374229-3737-4a91-8cfa-70758de91509"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.64</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="2"
      id="F_03ac2641-5062-4145-a54f-89ded38402ea"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.74</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="2"
      id="F_60b009c6-c4e4-4daf-92f7-677ef8207f42"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">-0.09</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="2"
      id="F_eb4b6873-f27f-41e0-a4da-b734bc09ec5a"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">-0.02</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="2"
      id="F_58629f45-9bb2-4b14-9cec-7bf42a8ce939"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.63</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="0"
      id="F_2695eb3a-1a88-42bb-9fe2-671138a87e47"
      unitRef="U_shares">55720</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="0"
      id="F_83abe040-5baf-4085-b8ba-0fa517f71fb5"
      unitRef="U_shares">0</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="0"
      id="F_0bdea9ce-b95c-4892-b4f8-b56638967b08"
      unitRef="U_shares">0</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="0"
      id="F_bbeb0da6-174e-43cc-a511-a57a434822a5"
      unitRef="U_shares">55720</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="0"
      id="F_40c424ce-06f0-4999-8ca7-cbbf99212ae3"
      unitRef="U_shares">56377</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="0"
      id="F_721d898d-cfb9-4af7-84a7-8f1bc1e4831e"
      unitRef="U_shares">0</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="0"
      id="F_355016b1-7fb0-4af7-bd2c-4e54c5ce0402"
      unitRef="U_shares">0</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="0"
      id="F_729e4cc3-0850-4857-bd5f-b2ec4f1a5e7f"
      unitRef="U_shares">56377</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_caf1291b-36eb-4861-bfaa-1e32e2b97361"
      unitRef="U_USD">41577000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_68e3f756-88b0-4ac7-b17c-cf942c94f0c7"
      unitRef="U_USD">-5197000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_242ed19f-ee28-4b56-b597-65db7bc2949a"
      unitRef="U_USD">-784000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_c8f1692d-521f-46a2-b1b6-4fc64a53f761"
      unitRef="U_USD">35596000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_50f55b84-78aa-4840-a6ca-d4819d6b66c6"
      unitRef="U_USD">-3037000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_eb7a4fbc-9697-4b62-8998-0137d3abeefd"
      unitRef="U_USD">-377000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_043666ee-de04-494c-abbe-32472970b1d0"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_4627b3ad-2067-4539-814d-fe8b81396f55"
      unitRef="U_USD">-3414000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_8d4ad80e-fcd4-4c05-bb6e-d83e0b8503c0"
      unitRef="U_USD">38540000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_5b098cda-8a9b-42ad-b873-2ff417a87862"
      unitRef="U_USD">-5574000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_06a01b21-8b72-494c-b052-ffc7e8c4a1f2"
      unitRef="U_USD">-784000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_6db720d6-452e-43b5-b1d4-f2039369e06f"
      unitRef="U_USD">32182000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="C_9505990e-7cbe-4599-8424-97d3294f28f7"
      decimals="-3"
      id="F_f97fea51-36c3-4f9a-942b-d3c4cb18ba02"
      unitRef="U_USD">-34394000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_9bae31a8-0cc1-43bb-b714-0cf69b8da537"
      decimals="-3"
      id="F_ba2e8a6a-8b83-40f4-85a3-933ace015219"
      unitRef="U_USD">-34394000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_61fa9d78-8afb-439d-9113-ea81e70ba86f"
      decimals="-3"
      id="F_5bc5cb2c-34ce-4f88-8dd2-3dd5ba2a60ff"
      unitRef="U_USD">397272000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_53a812b6-9bab-4db1-8dd3-3c253c58bc27"
      decimals="-3"
      id="F_8f9dda13-be7b-40e9-a59c-de302560b585"
      unitRef="U_USD">397272000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_92fd7898-1fd9-433e-b658-b545abdfd64b"
      decimals="-3"
      id="F_65ccb972-a76c-4eba-a140-c488f94f7f9e"
      unitRef="U_USD">1910700000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_7b75dcd9-5bcc-4cc6-9409-d736785fdb42"
      unitRef="U_USD">1910700000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="C_86adc6fc-af85-462e-b84e-1251a2c4a03c"
      decimals="-3"
      id="F_f307644d-1be0-4ad6-bc96-e42f133d514e"
      unitRef="U_USD">41577000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_af0b13aa-d164-4720-bcf2-3543a93184e5"
      decimals="-3"
      id="F_f77b473e-731f-4d85-a586-cc5474214010"
      unitRef="U_USD">-5197000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_18b06a93-bd91-423c-b2db-256ea54bda8f"
      decimals="-3"
      id="F_778af8c9-cb40-41e0-b331-bcf8c3282261"
      unitRef="U_USD">-784000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_cf8baa91-9ed0-49cc-aeba-358ed6c5f80a"
      decimals="-3"
      id="F_c463949d-9e35-4e36-a960-d214e546eb2a"
      unitRef="U_USD">35596000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_bbac90c3-438f-4bea-8457-14e10bf122ef"
      unitRef="U_USD">41577000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_29cc5c25-eab7-4e3e-ab73-9fac601037b8"
      unitRef="U_USD">-5197000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_d76e834e-93c3-4304-834b-606766740d23"
      unitRef="U_USD">-784000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_3401c309-af14-4747-a8f4-e707c7d105f2"
      unitRef="U_USD">35596000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_81bb32d0-08be-4527-b298-a69684ed779f"
      decimals="-3"
      id="F_3adb67df-8563-4157-b746-949f7d5e2c21"
      unitRef="U_USD">-3037000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_1b2f1d9b-c655-407a-9d8f-914703d177cb"
      decimals="-3"
      id="F_93bd017c-56b0-4b0b-a87b-9d111e03cf9e"
      unitRef="U_USD">-377000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_06ed5cd2-5d02-4b7c-a060-089ca983ba21"
      decimals="-3"
      id="F_611fbb0f-b8fa-42d1-97c5-2768b754fdc4"
      unitRef="U_USD">-3414000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_2a06fa0d-99c8-4ace-bcf0-a042d6e13dda"
      unitRef="U_USD">-3037000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_da46e54a-bb5c-459c-b73b-7820f10beece"
      unitRef="U_USD">-377000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_8d31fc70-8d1b-4470-aead-e05fa3214a8b"
      unitRef="U_USD">-3414000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="C_4557533e-862a-44b5-842c-fa9a8121748f"
      decimals="-3"
      id="F_55d03916-9bb5-41fe-a074-50905fe63fc6"
      unitRef="U_USD">-37431000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_e862366e-decd-4cda-8652-36c9b987bfb5"
      decimals="-3"
      id="F_d889b537-dad2-4f6a-afb9-e1d7321ba9ff"
      unitRef="U_USD">-377000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_5165589d-58c2-4afb-a632-66aaeda3d669"
      decimals="-3"
      id="F_38667eca-de3e-41ad-95c7-a5de3ba3b0b0"
      unitRef="U_USD">-37808000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_ba8ab06a-f7e6-4507-8ea8-4fee4941e8fc"
      decimals="-3"
      id="F_7b43eb2a-524b-437a-b905-cd0b6cd0f2b0"
      unitRef="U_USD">438849000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_a8cf4262-1377-41c3-a8ac-30ab371952af"
      decimals="-3"
      id="F_46074a07-77eb-4a94-bcfa-8ee9a8e72304"
      unitRef="U_USD">-5197000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_181178a0-f552-4946-a008-377187584c9f"
      decimals="-3"
      id="F_334ff047-44ac-4f13-a121-33dbc0405622"
      unitRef="U_USD">-784000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_be87c643-2923-4319-9d3b-a157c97efd76"
      decimals="-3"
      id="F_fd96432c-ceb6-42df-8f80-57d608c98c22"
      unitRef="U_USD">432868000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_0c9fd7c3-873c-4d8e-888e-e7e31fef7116"
      unitRef="U_USD">1971203000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_e59c4541-22cb-498a-bdd7-1edb00b3b4a9"
      unitRef="U_USD">-5574000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_e650bdce-a5e5-4bb2-bdec-abaaf91b922a"
      unitRef="U_USD">-784000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_62c789b4-b066-4648-8c93-66bc8ae37a68"
      unitRef="U_USD">1964845000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_e012743b-215f-4e7c-b385-5ee91cc42747"
      unitRef="U_USD">41577000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_9a6c1cd6-8b35-4b3b-ae9e-d876a7ea99d5"
      unitRef="U_USD">-5197000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_fe885a2f-fc05-441a-9eff-f8c0d34c13d6"
      unitRef="U_USD">-784000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_b3d63f94-e7be-4d4c-9d18-b70d5b6ee4a9"
      unitRef="U_USD">35596000</us-gaap:NetIncomeLoss>
    <rgen:AmortizationOfInventoryStepUp
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_778206ab-cd99-4056-b4a3-4bc5e0939145"
      unitRef="U_USD">1238000</rgen:AmortizationOfInventoryStepUp>
    <rgen:AmortizationOfInventoryStepUp
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_8dc541b1-8f03-4d9d-b2a1-edfb86e75e7d"
      unitRef="U_USD">0</rgen:AmortizationOfInventoryStepUp>
    <rgen:AmortizationOfInventoryStepUp
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_01da89bd-7151-41f5-b2ca-3cb325fac5ba"
      unitRef="U_USD">0</rgen:AmortizationOfInventoryStepUp>
    <rgen:AmortizationOfInventoryStepUp
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_d033964c-a34b-427f-a73c-7eab9631a836"
      unitRef="U_USD">1238000</rgen:AmortizationOfInventoryStepUp>
    <us-gaap:DepreciationAndAmortization
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_d084caea-ed17-4a9d-ad19-5d2bd4bfc720"
      unitRef="U_USD">68085000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_f3ce1bb7-4884-47b4-8b3a-1e595df4fa43"
      unitRef="U_USD">0</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_6d3b9d15-fc6d-4b95-8b92-948926aa90b5"
      unitRef="U_USD">471000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_0bec9a26-44b3-4f05-a48e-6d1245315057"
      unitRef="U_USD">68556000</us-gaap:DepreciationAndAmortization>
    <us-gaap:AmortizationOfDebtDiscountPremium
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_4d445c12-1b7e-485f-be7c-ebeecb636aa0"
      unitRef="U_USD">2448000</us-gaap:AmortizationOfDebtDiscountPremium>
    <us-gaap:AmortizationOfDebtDiscountPremium
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_f3e04c18-201d-4a75-93ea-c7987e8758a4"
      unitRef="U_USD">0</us-gaap:AmortizationOfDebtDiscountPremium>
    <us-gaap:AmortizationOfDebtDiscountPremium
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_dacf9feb-8882-4f08-9c8c-0acbe3b69dfd"
      unitRef="U_USD">0</us-gaap:AmortizationOfDebtDiscountPremium>
    <us-gaap:AmortizationOfDebtDiscountPremium
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_c78cc348-9ab6-4e92-af35-d4782c6d97ea"
      unitRef="U_USD">2448000</us-gaap:AmortizationOfDebtDiscountPremium>
    <us-gaap:ShareBasedCompensation
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_00c04f99-6359-4483-993f-e222d211bada"
      unitRef="U_USD">25575000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_7c023f34-aeb3-42f9-8656-4446dae8f9e4"
      unitRef="U_USD">0</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_81c5a745-fe13-4ad8-93ad-9a8087deba93"
      unitRef="U_USD">0</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_3c175c95-8373-4a6b-9bf5-fe27ec00c22d"
      unitRef="U_USD">25575000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_83c1d00a-2e53-44f6-9a2c-63c5bf13ba46"
      unitRef="U_USD">2317000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_23e8c511-535c-4e0a-902b-af68dca10019"
      unitRef="U_USD">-903000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_06eafbef-f1c5-4734-9daf-3f9dd8337675"
      unitRef="U_USD">-239000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_9ed5262b-4d19-4746-a92a-cdcdb1c46704"
      unitRef="U_USD">1175000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_744707b8-83c1-4aed-8b4e-b39a13bb6d5e"
      unitRef="U_USD">-30569000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_8a792188-3d8d-4099-afdb-17cf5077001f"
      unitRef="U_USD">0</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_a0176020-c0e9-49af-8df2-0c668160e412"
      unitRef="U_USD">0</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_3bda2039-22bf-402b-81f0-97722f06b843"
      unitRef="U_USD">-30569000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <rgen:NoncashInterestIncome
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_eae9be09-6ce0-483e-86e8-5dc7b9bc0fdb"
      unitRef="U_USD">2023000</rgen:NoncashInterestIncome>
    <rgen:NoncashInterestIncome
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_d0c66c11-94cc-4ae9-bcc2-edf9d3d20a84"
      unitRef="U_USD">0</rgen:NoncashInterestIncome>
    <rgen:NoncashInterestIncome
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_5bf5b250-16e4-4346-b195-7071ca431d5b"
      unitRef="U_USD">0</rgen:NoncashInterestIncome>
    <rgen:NoncashInterestIncome
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_e5703490-0305-455c-9c5c-8c1e0acd113e"
      unitRef="U_USD">2023000</rgen:NoncashInterestIncome>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_d0961157-10d9-4d11-a2e2-76108f4dbb9c"
      unitRef="U_USD">-12676000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_d903a084-7f5e-4893-9f72-7e086738b3d8"
      unitRef="U_USD">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_5bd8c796-5e4d-4695-894f-c93dfccdec79"
      unitRef="U_USD">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_260b5a69-e7a8-4045-9c73-727ae3aa9b7f"
      unitRef="U_USD">-12676000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_d6979ca5-e3cd-4495-9ca0-d792c5f5559e"
      unitRef="U_USD">-14059000</rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset>
    <rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_452ee887-2cba-4d83-9ed8-3a348daa7282"
      unitRef="U_USD">0</rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset>
    <rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_5602e030-e2ca-4598-81a0-38e06ce50888"
      unitRef="U_USD">-3499000</rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset>
    <rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_f52441ac-e019-4da6-899b-efa08d8b8813"
      unitRef="U_USD">-17558000</rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_5c1ba4a8-375d-45fd-8469-9ce6d107aa4e"
      unitRef="U_USD">-1231000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_c87d7eb3-0a27-4036-a611-2f9e42f3a9bb"
      unitRef="U_USD">0</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_d66a4435-9294-403b-89a3-ac8a31e8d2cd"
      unitRef="U_USD">-552000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_b54807c8-52b7-46fc-b5d5-ecc62b79d8e6"
      unitRef="U_USD">-1783000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_277e0112-a37c-401a-a344-371cf33d751c"
      unitRef="U_USD">3312000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_56460c7a-3172-44a6-80f6-9ce28dc0955d"
      unitRef="U_USD">0</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_ebbc76dd-66ba-430e-b426-a805df7d1bc8"
      unitRef="U_USD">0</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_e4907a1b-04ad-489d-9347-36eab32de821"
      unitRef="U_USD">3312000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_0901eb7f-5b0c-44cd-9653-09863ec0f553"
      unitRef="U_USD">-40973000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_bcd04073-7e86-435f-b733-aa672f306656"
      unitRef="U_USD">0</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_6dcd3787-7585-4bcf-ab58-1b1be55e0a93"
      unitRef="U_USD">0</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_bcf0963b-a712-445b-ac2d-dd6ffddc13f8"
      unitRef="U_USD">-40973000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_e402a561-0366-4747-bd71-ed97bbc334a5"
      unitRef="U_USD">13030000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_b0cbc630-8e36-4135-b436-399dc3d89a1e"
      unitRef="U_USD">303000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_9844ff99-6100-4f6d-9004-4645966a8a50"
      unitRef="U_USD">0</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_3452cee4-ad4a-40ee-b18f-952cb1cc28e2"
      unitRef="U_USD">13333000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_bada3f4f-c866-4c7f-b434-2142ff344416"
      unitRef="U_USD">461000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_2631cfdd-3582-4136-9e68-0238801c46de"
      unitRef="U_USD">0</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_5679cf14-7a92-4d91-9318-438ab87e59cd"
      unitRef="U_USD">0</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_d4f0569f-7648-4994-a4a9-01f78cbae12e"
      unitRef="U_USD">461000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_dfa82020-6594-4e9e-a3f3-4ed6b6d7c636"
      unitRef="U_USD">-9803000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_faf3aa36-b1c9-4722-a6c1-c6dda8b25f37"
      unitRef="U_USD">0</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_6006620e-c45a-4937-b52d-2327a1507895"
      unitRef="U_USD">0</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_b159a449-1940-472a-a3fe-b7c18efa6417"
      unitRef="U_USD">-9803000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_c1f13f62-fb75-484e-9c13-23aef28baa83"
      unitRef="U_USD">-27921000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_ffe44243-7d92-4db7-89a0-0d372e3e9c6f"
      unitRef="U_USD">6403000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_2c2f2306-c367-4882-9e34-06be375a8688"
      unitRef="U_USD">0</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_36b6a7e0-b2f6-4bfc-8dd6-6a3b30d72cf8"
      unitRef="U_USD">-21518000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_038999a3-48d0-4634-ab7c-ede050c8f183"
      unitRef="U_USD">-9229000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_418d5d8b-1132-4076-9fa0-83c377f237a0"
      unitRef="U_USD">0</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_3efac2e6-c345-4f91-aac7-651fa2532c45"
      unitRef="U_USD">-3499000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_b2245972-23e6-4818-866e-c24226b816a2"
      unitRef="U_USD">-12728000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_4d2922f9-e83a-46be-a7f7-c58aa833a6ec"
      unitRef="U_USD">87000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_076c4f5d-8698-43a2-a0de-6d47190f2b3e"
      unitRef="U_USD">0</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_c7f069e6-2afd-44c0-899b-6f29b45340dc"
      unitRef="U_USD">0</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_4719b9b2-58c3-4dea-aa5c-67ac41d90e10"
      unitRef="U_USD">87000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_9983aa3b-8908-4cbb-b79e-9f4c8eba7ce9"
      unitRef="U_USD">113918000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_fd65f369-7a18-4e04-b41f-5bdeead82747"
      unitRef="U_USD">0</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_b9ae2e7f-0a7e-465f-87e4-328c1e819ad8"
      unitRef="U_USD">0</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_17208928-29de-4d5b-b7ad-bcb7483d888f"
      unitRef="U_USD">113918000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_286f2c4c-99d6-4297-bee2-9da5beabc3d2"
      unitRef="U_USD">102323000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_c4e4d3f1-18c0-45c7-987a-8298e2e48ddc"
      unitRef="U_USD">0</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_bc70e29c-9ba3-47d7-8d9c-5337337c0856"
      unitRef="U_USD">0</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_ab7ffeff-034c-415d-b0fd-36dd336b1f95"
      unitRef="U_USD">102323000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:PaymentsToAcquireSoftware
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_9a1b3a98-20fb-42df-ab32-e322f85763b1"
      unitRef="U_USD">2766000</us-gaap:PaymentsToAcquireSoftware>
    <us-gaap:PaymentsToAcquireSoftware
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_3d21dcd2-3bd2-44e9-b151-6add91f1bae8"
      unitRef="U_USD">0</us-gaap:PaymentsToAcquireSoftware>
    <us-gaap:PaymentsToAcquireSoftware
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_8d5d0f5c-d0c2-4a1b-989d-e94e306c87d7"
      unitRef="U_USD">0</us-gaap:PaymentsToAcquireSoftware>
    <us-gaap:PaymentsToAcquireSoftware
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_cb3e6d6c-a543-44d9-bc16-e4ba793a1f42"
      unitRef="U_USD">2766000</us-gaap:PaymentsToAcquireSoftware>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_05ac7dbb-aaea-40ae-a7ce-a5862b1ef4cc"
      unitRef="U_USD">186642000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_8b00646a-a40a-4526-8ee1-88b4320c9097"
      unitRef="U_USD">0</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_6652c469-a2b7-4948-a62c-e62809dc02ef"
      unitRef="U_USD">0</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_4e3a7929-7cd0-4049-803f-bb1c5b66bac5"
      unitRef="U_USD">186642000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_99281363-c317-41c2-bd26-22af2dc258db"
      unitRef="U_USD">36222000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_8b4942b2-8761-416b-a8a4-558bcf553172"
      unitRef="U_USD">0</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_0b8f2061-db60-4b87-8f29-bfd0fe0e8ae8"
      unitRef="U_USD">0</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_457878d1-016d-4dd4-9614-15039697eeab"
      unitRef="U_USD">36222000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_d703f136-f248-4bd5-adbe-4b1fad69e418"
      unitRef="U_USD">0</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_bd9d9e3b-5a6c-4a63-a60f-4a206321bcd2"
      unitRef="U_USD">0</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_1c001565-9593-4b54-9ea5-77127d5f4895"
      unitRef="U_USD">0</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_206ce774-81b0-4db2-b28d-38ef3bd65c8b"
      unitRef="U_USD">0</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_afa66df2-b0d8-4a08-a2fa-9f92c36235cd"
      unitRef="U_USD">-32000</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_7f818171-35b9-416c-a6fe-5ec93ca17072"
      unitRef="U_USD">0</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_b72dd001-8f1c-48c7-9514-50dd2fc8314b"
      unitRef="U_USD">0</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_c9f9c793-be88-4385-99b9-846a70ce6341"
      unitRef="U_USD">-32000</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_a72319dc-a686-40cb-8595-6b288f5cec9f"
      unitRef="U_USD">-123275000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_581c2d56-db6f-4a1b-96a8-1140d729c6b6"
      unitRef="U_USD">0</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_b15dafd7-bab9-4703-aac4-8df71a28417c"
      unitRef="U_USD">0</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_5d9b13c6-2d3f-49fb-84c8-288aa61a3da7"
      unitRef="U_USD">-123275000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_a8226898-ee8a-4500-8db2-f41de7bc1c9d"
      unitRef="U_USD">14386000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_5539b8fc-5d66-47b1-88c0-299e27935557"
      unitRef="U_USD">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_bd76de51-762f-4758-9152-df56810f891c"
      unitRef="U_USD">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_7e7f9937-1279-4f2a-8287-004708c70dcd"
      unitRef="U_USD">14386000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_ac67a843-2856-4d56-a837-f002d728c7cc"
      unitRef="U_USD">290094000</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_641aee4a-9c74-429c-9088-b9c65afff940"
      unitRef="U_USD">0</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_3830b50a-fe52-4b3e-88ab-9abc07c2c74b"
      unitRef="U_USD">0</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_00f87f61-b276-4037-8255-88e9344cd744"
      unitRef="U_USD">290094000</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_7f91f017-75cc-4c6d-9c51-5b8e4cf119ec"
      unitRef="U_USD">1076000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_64d887b8-a9e3-43f1-af50-875f476b057a"
      unitRef="U_USD">0</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_6692fd26-4cd1-45cc-b92b-f09dfa6c42e1"
      unitRef="U_USD">0</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_1b10a025-4e90-4e5d-91ea-639134b438f6"
      unitRef="U_USD">1076000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_248673fa-3531-4f55-a125-03e96991abea"
      unitRef="U_USD">7253000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_37c193cc-abb0-46b9-ab41-4ea46c7c4ef6"
      unitRef="U_USD">0</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_f240bbac-661a-4f43-acff-b4992699d27e"
      unitRef="U_USD">0</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_867726b2-1259-4443-9ebe-0431c73f08b4"
      unitRef="U_USD">7253000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_ddb9e68f-ddd3-420b-9cf2-791cabdd4b2b"
      unitRef="U_USD">13227000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_e4bcf393-963b-45f0-82f8-21462f102215"
      unitRef="U_USD">0</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_678a62cd-3f4f-446e-bfcd-7aee837d1a5d"
      unitRef="U_USD">0</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_ae911914-1178-4894-943e-b74c52fba424"
      unitRef="U_USD">13227000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_f817b84c-bd5a-4219-b201-f307b43d6838"
      unitRef="U_USD">7298000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_ec765626-062c-46ba-865d-7becf6d249d2"
      unitRef="U_USD">0</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_5bc551c7-f402-489e-91c5-b950d7185ad6"
      unitRef="U_USD">0</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_bf2127ff-c592-4b8d-b435-5de105af1a10"
      unitRef="U_USD">7298000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:ProceedsFromPaymentsForOtherFinancingActivities
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_ec1bf38a-1b26-47fc-8cb9-a317e01ca767"
      unitRef="U_USD">-45000</us-gaap:ProceedsFromPaymentsForOtherFinancingActivities>
    <us-gaap:ProceedsFromPaymentsForOtherFinancingActivities
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_667fd0b7-ee8f-4996-9b0d-7361682b1a74"
      unitRef="U_USD">0</us-gaap:ProceedsFromPaymentsForOtherFinancingActivities>
    <us-gaap:ProceedsFromPaymentsForOtherFinancingActivities
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_528b8dd9-df79-4a89-a856-63e7fb3d370d"
      unitRef="U_USD">-45000</us-gaap:ProceedsFromPaymentsForOtherFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_f3496e7f-db16-4988-8d16-5780720965f0"
      unitRef="U_USD">248961000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_5872f15e-a9b3-4d70-8f57-01406e9bf812"
      unitRef="U_USD">0</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_d114c116-d383-4232-a85a-94372ad6f181"
      unitRef="U_USD">0</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_0ecb31f1-a5ff-4fe7-a252-dd733a472cd7"
      unitRef="U_USD">248961000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_81fc7cdf-7f24-45b8-8749-d0726b5176a4"
      unitRef="U_USD">-11739000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_1eb1e7a0-961e-4ba1-944d-d0734b31825b"
      unitRef="U_USD">0</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_d1102c37-1529-4761-b6ce-d77af0b0dda1"
      unitRef="U_USD">0</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_e67b71ce-ec05-4f9e-8584-d24caceb6adb"
      unitRef="U_USD">-11739000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_d440173e-d690-4c13-9700-ea1a85f1fb0e"
      unitRef="U_USD">227865000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_c022e90d-0415-4a19-b638-4b6c592f51b7"
      unitRef="U_USD">0</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_eb107f97-d2fa-4b74-ad5b-ae1439bf45fc"
      unitRef="U_USD">0</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_a7349fff-08bd-4a81-9bdb-87a54260db11"
      unitRef="U_USD">227865000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_92fd7898-1fd9-433e-b658-b545abdfd64b"
      decimals="-3"
      id="F_ae2dfec1-dbaf-426a-80c1-f0ac5dafc1d4"
      unitRef="U_USD">523458000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_420f22c2-f005-4a1b-80f6-81fba79b4662"
      decimals="-3"
      id="F_2941a97d-920d-4141-8119-4993e1fd2664"
      unitRef="U_USD">0</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_a0eac4f5-17af-4888-b40b-5756dfe48d35"
      decimals="-3"
      id="F_787b2bc3-d222-4d22-9c0b-f59277615d03"
      unitRef="U_USD">0</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_2f89ac8a-6964-45e7-b7fd-93c39412b87a"
      unitRef="U_USD">523458000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_6d330e6c-613f-463b-8988-d1dd296d67dd"
      decimals="-3"
      id="F_4d2b5030-85ec-447d-9517-0fb575275a05"
      unitRef="U_USD">751323000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_e9f7b9a9-28a2-4c01-8c1f-5dc7e946bbf1"
      decimals="-3"
      id="F_bc154ded-ca36-487b-820a-49877a33139a"
      unitRef="U_USD">0</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_35f79789-29f8-4cab-9109-cfb9d844dbd8"
      decimals="-3"
      id="F_74d13763-63b3-49d6-9d0b-83ebe149d020"
      unitRef="U_USD">0</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_9730a830-e540-481b-87c6-a12d1acebb76"
      unitRef="U_USD">751323000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_ffb6bd38-3b4b-4abb-b6de-12d39d3d605e"
      unitRef="U_USD">26963000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_56b1a67f-0212-4964-b73c-11164c0511e7"
      unitRef="U_USD">0</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_074ae7da-c7ab-416f-b0b1-fccd793c0923"
      unitRef="U_USD">0</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_7b25abce-14fc-48ca-aaea-a47389dfd037"
      unitRef="U_USD">26963000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_fd0abf2c-4443-4868-bc42-d9e1368510b1"
      unitRef="U_USD">988000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_b3d48532-283a-489d-95d9-8d8db883e818"
      unitRef="U_USD">0</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_957ccfee-ed92-4247-b19a-ba51a7107480"
      unitRef="U_USD">0</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_4d1c4511-6e0e-44e7-a13d-5b22186be25c"
      unitRef="U_USD">988000</us-gaap:InterestPaidNet>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_8cdc99fc-02f7-4f6c-ab85-dc961408ea71"
      unitRef="U_USD">4335000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_37fbd3c6-5dcb-443b-86b2-723239c52fee"
      unitRef="U_USD">0</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_4669f4aa-2e96-4508-b67d-ae756f2da27e"
      unitRef="U_USD">0</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_ce0e0fe2-8542-4a34-8223-97a9cdc25998"
      unitRef="U_USD">4335000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:StockIssued1
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_82bbab0b-5be3-4764-bbac-e156d2a4a004"
      unitRef="U_USD">13569000</us-gaap:StockIssued1>
    <us-gaap:StockIssued1
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_6946ec71-f964-42bf-bdc9-45466cc397b2"
      unitRef="U_USD">0</us-gaap:StockIssued1>
    <us-gaap:StockIssued1
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_f26bdbfc-d2b5-4323-8ead-17765c9e9c30"
      unitRef="U_USD">0</us-gaap:StockIssued1>
    <us-gaap:StockIssued1
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_743eaee8-cc27-4129-9d9d-40bfaa9bc5b7"
      unitRef="U_USD">13569000</us-gaap:StockIssued1>
    <rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_d905989e-0df2-4f0b-8af4-d5dfbfd0788c"
      unitRef="U_USD">7229000</rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts>
    <rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_3fc1d8cf-86e9-40cb-83ab-7b439a5d9354"
      unitRef="U_USD">0</rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts>
    <rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_6eebdc6e-7373-4d57-98ba-6ce03f6fea1f"
      unitRef="U_USD">0</rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts>
    <rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_0a2be097-3d00-487c-a2c8-fd7dfc46878d"
      unitRef="U_USD">7229000</rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts>
    <rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_1e7a0d81-6993-4933-8cf5-ce212b1a23f1"
      unitRef="U_USD">6640000</rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts>
    <rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_d8071d91-ec5d-4218-95e1-a3acc78b022b"
      unitRef="U_USD">0</rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts>
    <rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_0ea17e50-a6cd-49d8-84f7-619857aa9e62"
      unitRef="U_USD">0</rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts>
    <rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_dd91d90f-da52-482d-bd5d-14c1027b2284"
      unitRef="U_USD">6640000</rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts>
    <us-gaap:NotesIssued1
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_e3ee1374-4c44-497f-ba80-8c90ae6a8c3f"
      unitRef="U_USD">42179000</us-gaap:NotesIssued1>
    <us-gaap:NotesIssued1
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_73206dda-97d5-4cc4-8662-6d78f5983ee2"
      unitRef="U_USD">0</us-gaap:NotesIssued1>
    <us-gaap:NotesIssued1
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_600507af-0f1e-4a04-b48f-1e58823d7ae7"
      unitRef="U_USD">0</us-gaap:NotesIssued1>
    <us-gaap:NotesIssued1
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_9968260b-9672-4ab7-856b-347613b0099e"
      unitRef="U_USD">42179000</us-gaap:NotesIssued1>
    <us-gaap:ExtinguishmentOfDebtAmount
      contextRef="C_f8079501-8ddb-4196-9cae-e8d19f192855"
      decimals="-3"
      id="F_d8df76c9-5df7-4e8b-9386-0631d41afbf2"
      unitRef="U_USD">29634000</us-gaap:ExtinguishmentOfDebtAmount>
    <us-gaap:ExtinguishmentOfDebtAmount
      contextRef="C_62816c8e-5a04-45aa-96ac-ef7d105e530d"
      decimals="-3"
      id="F_c40f1937-b4e7-4ad7-a4a5-a5503a10153e"
      unitRef="U_USD">0</us-gaap:ExtinguishmentOfDebtAmount>
    <us-gaap:ExtinguishmentOfDebtAmount
      contextRef="C_20e98195-81e5-4a78-b696-46630e4d09a4"
      decimals="-3"
      id="F_ccf807f3-b5f7-4a19-9cb1-24af0a1bc2fa"
      unitRef="U_USD">0</us-gaap:ExtinguishmentOfDebtAmount>
    <us-gaap:ExtinguishmentOfDebtAmount
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_a8a94237-1871-4e9c-836a-06196e5e2414"
      unitRef="U_USD">29634000</us-gaap:ExtinguishmentOfDebtAmount>
    <rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset
      contextRef="C_96331592-f117-43d9-b5ec-35aa5a317f89"
      decimals="-3"
      id="F_b48149c2-4fb6-4352-8de4-4854814e7cc9"
      unitRef="U_USD">24549000</rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset>
    <rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset
      contextRef="C_ae41742b-f99e-42ca-9480-c8113505d556"
      decimals="-3"
      id="F_c5c198cf-a7f1-4d08-9ea6-031f1e0d9ba8"
      unitRef="U_USD">-30576000</rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset>
    <rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_d6b2b4b2-99f1-441f-b114-d7ad0cc0919d"
      unitRef="U_USD">-6027000</rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="C_96331592-f117-43d9-b5ec-35aa5a317f89"
      decimals="-3"
      id="F_c04b6d58-4dcf-4cf8-8b80-fdfed724a321"
      unitRef="U_USD">28623000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="C_ae41742b-f99e-42ca-9480-c8113505d556"
      decimals="-3"
      id="F_c1c612d1-7792-45fd-b2a0-4ee1481be50a"
      unitRef="U_USD">-30576000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_099215af-0970-47a3-ba1a-cbc008d7174d"
      unitRef="U_USD">-1953000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="C_96331592-f117-43d9-b5ec-35aa5a317f89"
      decimals="-3"
      id="F_3c4b54c7-0fb7-4356-9221-c9adce01ed81"
      unitRef="U_USD">172083000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="C_ae41742b-f99e-42ca-9480-c8113505d556"
      decimals="-3"
      id="F_fff2ef8e-f5c7-4253-adf0-01f14de02f4a"
      unitRef="U_USD">0</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_9ffd219b-5a55-4c77-a4b3-021f1ecd010d"
      unitRef="U_USD">172083000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1
      contextRef="C_ae41742b-f99e-42ca-9480-c8113505d556"
      decimals="-3"
      id="F_7541316d-5e73-4ffe-9eaf-03de169166fa"
      unitRef="U_USD">6948000</us-gaap:NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1>
    <us-gaap:NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_5065e4e5-dc42-4c34-8ce7-2364cd012840"
      unitRef="U_USD">6948000</us-gaap:NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired1>
    <rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset
      contextRef="C_02c52a78-79ec-40d7-b349-18e33fddba71"
      decimals="-3"
      id="F_dc4cd17b-27a5-4b48-b27a-ce00944455a0"
      unitRef="U_USD">4315000</rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset>
    <rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset
      contextRef="C_19468930-07e5-4404-a47f-5ed70bd40065"
      decimals="-3"
      id="F_08989c42-ee77-42bf-acff-003ba11dc99b"
      unitRef="U_USD">-14870000</rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset>
    <rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_0b91af35-e9e0-4244-84bb-774ad77a4cc4"
      unitRef="U_USD">-10555000</rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="C_02c52a78-79ec-40d7-b349-18e33fddba71"
      decimals="-3"
      id="F_4905f8f0-8dc1-48f4-b3d6-988724922ef7"
      unitRef="U_USD">6958000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="C_19468930-07e5-4404-a47f-5ed70bd40065"
      decimals="-3"
      id="F_4a7d3d56-5033-4508-8575-d392971d6be7"
      unitRef="U_USD">-14870000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_c1b50f21-77db-4a2b-862c-05983b019a9f"
      unitRef="U_USD">-7912000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="C_02c52a78-79ec-40d7-b349-18e33fddba71"
      decimals="-3"
      id="F_71ebbd9f-0a3a-4499-b0b7-934d24695332"
      unitRef="U_USD">119016000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="C_19468930-07e5-4404-a47f-5ed70bd40065"
      decimals="-3"
      id="F_ce0975d7-c32c-498a-9ced-d544fd1debb8"
      unitRef="U_USD">0</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_91182db2-36df-4fa4-94f0-bdc539b876d3"
      unitRef="U_USD">119016000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NatureOfOperations
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_ef7bfd36-b21f-46f5-9f5c-c3f8288c9049">&lt;div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;2.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Organization and Nature of Busines&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;s&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Repligen Corporation (NASDAQ: RGEN) is a global life sciences company that develops and commercializes highly innovative bioprocessing technologies and systems that increase efficiencies and flexibility in the process of manufacturing biological drugs.  The Company&#x2019;s franchises include filtration, chromatography, process analytics and proteins. See Part I, Item 1. &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Business - Our Products&#x201d;, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;of this report for additional information related to the Company's products. The Company&#x2019;s bioprocessing products are sold to major life sciences companies, biopharmaceutical development companies and contract manufacturing organizations worldwide. The Company operates under one reportable segment. The Company&#x2019;s chief operating decision maker (&#x201c;CODM&#x201d;), its Chief Executive Officer (&#x201c;CEO&#x201d;), reviews financial information presented on a consolidated basis for purposes of allocating resources and evaluating financial performance. See Note 3, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;&#x201c;Summary of Significant Accounting Policies &#x2013; Segment Reporting,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;for more information on the Company&#x2019;s segment.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;A majority of our &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; manufacturing sites are located in the United States (California, Massachusetts, New Hampshire, New Jersey, New York and Texas). Outside the United States, we have manufacturing sites in Estonia, France, Germany, Ireland, the Netherlands and Sweden.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company is subject to a number of risks typically associated with companies in the biotechnology industry. These risks principally include the Company&#x2019;s dependence on key customers, development by the Company or its competitors of new technological innovations, dependence on key personnel, protection of proprietary technology, compliance with the U.S. Food and Drug Association and other governmental regulations and approval requirements, as well as the ability to grow the Company&#x2019;s business and obtain adequate funding to finance this growth.&lt;/span&gt;</us-gaap:NatureOfOperations>
    <rgen:NumberOfManufacturingSites
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="INF"
      id="F_b4b0001b-9d84-4a96-955f-195442af47c6"
      unitRef="U_Sites">19</rgen:NumberOfManufacturingSites>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_e6a3867f-fbae-45e5-944b-12881ac67995">&lt;div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;3.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Summary of Significant Accounting Policies &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Use of Estimates&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The preparation of financial statements in conformity with accounting principles generally accepted in the United States requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting periods.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Significant estimates and assumptions by management affect the Company&#x2019;s revenue recognition for multiple element arrangements, allowance for credit losses, the net realizable value of inventory, valuations and purchase price allocations related to business combinations, contingent consideration, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, estimates related to the fair value of the conversion features of the convertible notes for purposes of assessing whether debt extinguishment or modification accounting applies to the Company&#x2019;s debt exchange, stock-based compensation, tax reserves and recoverability of the Company&#x2019;s net deferred tax assets and related valuation allowance.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Although the Company regularly assesses these estimates, actual results could differ materially from these estimates. Changes in estimates are recorded in the period in which they become known. The Company bases its estimates on historical experience and various other assumptions that it believes to be reasonable under the circumstances.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Basis of Presentation&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All significant intercompany accounts and transactions have been eliminated in consolidation. Certain prior year balances have changed to reflect current year presentation.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Foreign Currency&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company translates the assets and liabilities of its foreign subsidiary at rates in effect at the end of the reporting period. Revenues and expenses are translated at average rates in effect during the reporting period. Translation adjustments include adjustments related to the Company&#x2019;s various intercompany loans with foreign subsidiaries. Intercompany loans determined to be permanent are remeasured at each period end and included in accumulated other comprehensive loss on the consolidated balance sheets. Intercompany loans with foreign subsidiaries determined to be repayable are remeasured at each period end and included in other income (expenses) on the consolidated statements of comprehensive income.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Revenue Recognition&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company generates revenue from the sale of bioprocessing products, equipment devices, and related consumables used with these equipment devices to customers in the life sciences and biopharmaceutical industries. Under Accounting Standard Codification No. (&#x201c;ASC&#x201d;) 606, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Revenue from Contracts with Customers,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;revenue is recognized when, or as, obligations under the terms of a contract are satisfied, which occurs when control of the promised products or services is transferred to customers.  Revenue is measured as the amount of consideration the Company expects to receive in exchange for transferring products or services to a customer (&#x201c;transaction price&#x201d;).  To the extent the transaction price includes variable consideration, the Company estimates the amount of variable consideration that should be included in the transaction price utilizing the expected value method or the most likely amount method, depending on the facts and circumstances relative to the contract.  Variable consideration is included in the transaction price if, in the Company&#x2019;s judgment, it is probable that a significant future reversal of cumulative revenue under the contract will not occur.  Estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on an assessment of the Company&#x2019;s anticipated performance and all information (historical, current and forecasted) that is reasonably available.  Sales, value add, and other taxes collected on behalf of third parties are excluded from revenue.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;When determining the transaction price of a contract, an adjustment is made if payment from a customer occurs either significantly before or significantly after performance, resulting in a significant financing component.  Applying the practical expedient in paragraph 606-10-32-18, the Company does not assess whether a significant financing component exists if the period between when the Company performs its obligations under the contract and when the customer pays is one year or less.  None of the Company&#x2019;s contracts contained a significant financing component as of December 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Contracts with customers may contain multiple performance obligations.  For such arrangements, the transaction price is allocated to each performance obligation based on the estimated relative standalone selling prices of the promised products or services underlying each performance obligation.  The Company determines standalone selling prices based on the price at which the performance obligation is sold separately.  If the standalone selling price is not observable through past transactions, the&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Company estimates the standalone selling price taking into account available information such as market conditions and internally approved pricing guidelines related to the performance obligations.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company recognizes product revenue under the terms of each customer agreement upon transfer of control to the customer, which occurs at a point in time.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Shipping and handling fees are recorded as a component of product revenue, with the associated costs recorded as a component of cost of product revenue.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Risks and Uncertainties&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company evaluates its operations periodically to determine if any risks and uncertainties exist that could impact its operations in the near term. The Company does not believe that there are any significant risks that have not already been disclosed in the consolidated financial statements. A loss of certain suppliers could temporarily disrupt operations, although alternate sources of supply exist for these items. The Company has mitigated these risks by working closely with key suppliers, identifying alternate sources and developing contingency plans.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Cash, Cash Equivalents and Restricted Cash&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Cash and cash equivalents include cash on hand and on deposit. Highly liquid investments in money market mutual funds with an original maturity of three months or less are classified as cash equivalents. All cash equivalents are carried at cost, which approximates fair value. Restricted cash represents cash that is restricted as to withdrawal or usage. There was no restriction on the Company&#x2019;s cash balance as of December 31, 2023 and 2022.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company&#x2019;s cash, cash equivalents and restricted cash total as presented in the Company&#x2019;s consolidated statements of cash flows for the years ended December 31, 2023, 2022 and 2021&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;523.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;603.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Convertible Instruments&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company evaluates the embedded conversion feature within its convertible debt instruments under Accounting Standards Codification (&#x201c;ASC&#x201d;) 815, &#x201d;Derivatives and Hedging.&#x201d; The Company refers to ASC 815-15 and ASC 815-40 to determine if the conversion feature meets the definition of a derivative and, if so, whether to bifurcate the conversion feature and account for it as a separate derivative liability.  Based on the Company&#x2019;s analysis, its Convertible Senior Notes do not have an embedded conversion feature requiring bifurcation under ASC 815-15 and thus are accounted for as a single unit of account, a liability under ASC 470, &#x201d;Debt.&#x201d;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Investment Securities&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;We classify our investment securities in one of three categories: held to maturity, trading, or available for sale. Our investment portfolio at December 31, 2022 consisted of an investment in U.S. treasury bills classified as held to maturity which was included in the Company's consolidated balance sheets under marketable securities held to maturity. These marketable securities matured in June 2023 and there are no comparable investments as of December 31, 2023. Securities that we have the positive intent and ability to hold to maturity are classified as held to maturity and stated at amortized cost in the consolidated balance sheets. Management determines the appropriate classification of securities at the time of purchase based upon management's intent with regards to such investment and reevaluates such designation as of each balance sheet date. The Company's investment policy requires that it only invest in high-rated securities and limit its exposure to any single-user. There were no realized or unrealized gains or losses on investments recorded as of December 31, 2023, 2022 and 2021.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company classifies marketable securities as short-term when they have remaining contractual maturities of one year or less from the balance sheet date. The Company periodically assesses its marketable securities, if any, for impairment or credit losses.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Fair Value Measurement&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In determining the fair value of its assets and liabilities, the Company uses various valuation approaches. The Company employs a hierarchy for inputs used in measuring fair value that maximizes the use of observable inputs and minimizes the use of&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;unobservable inputs by requiring that observable inputs be used when available. Observable inputs are inputs that market participants would use in pricing the asset or liability based on market data obtained from sources independent of the Company. Unobservable inputs are inputs that reflect the Company&#x2019;s assumptions about the inputs that market participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances. The fair value hierarchy is broken down into three levels based on the source of inputs as follows:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:3.333%;border-spacing:0;table-layout:fixed;width:96.0%;border-collapse:separate;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:8.08%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:91.92%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Level 1  &#x2013;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities that the Company has the ability to access.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:5.75pt;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Level 2  &#x2013;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Valuations based on quoted prices for similar assets or liabilities in active markets, quoted prices for identical or similar assets or liabilities.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:5.75pt;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Level 3  &#x2013;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Valuations based on inputs that are unobservable and significant to the overall fair value measurement.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The availability of observable inputs can vary among the various types of financial assets and liabilities. To the extent that the valuation is based on models or inputs that are less observable or unobservable in the market, the determination of fair value requires more judgment. In certain cases, the inputs used to measure fair value may fall into different levels of the fair value hierarchy. In such cases, for financial statement disclosure purposes, the level in the fair value hierarchy within which the fair value measurement is categorized is based on the lowest level input that is significant to the overall fair value measurement.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Allowance for credit losses&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;We establish an allowance for credit losses through a review of several factors, including historical collection experience, current aging status of the customer accounts, and current financial condition of our customers. Losses are charged against the allowance when the customer accounts are determined to be uncollectible.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Inventories&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Inventories relate to the Company&#x2019;s bioprocessing business. The Company values inventory at cost or, if lower, net realizable value, using the first-in, first-out method. The Company reviews its inventories at least quarterly and records a provision for excess and obsolete inventory based on its estimates of expected sales volume, production capacity and expiration dates of raw materials, work-in-process and finished products. The Company writes down inventory that has become obsolete, inventory that has a cost basis in excess of its expected net realizable value, and inventory in excess of expected requirements to cost of product revenue. Manufacturing of bioprocessing finished goods is done to order and tested for quality specifications prior to shipment.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;A change in the estimated timing or amount of demand for the Company&#x2019;s products could result in additional provisions for excess inventory quantities on hand. Any significant unanticipated changes in demand or unexpected quality failures could have a significant impact on the value of inventory and reported operating results. During all periods presented in the accompanying consolidated financial statements, there have been no material adjustments related to a revised estimate of inventory valuations.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Work-in-process and finished products inventories consist of material, labor, outside processing costs and manufacturing overhead.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Lease Accounting&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company adopted Accounting Standards Update No. (&#x201c;ASU&#x201d;) 2016-02, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;&#x201c;Leases (Topic 842)&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x201d; (&#x201c;ASC 842&#x201d;) as of January 1, 2019. Under ASC 842, the Company determines whether the arrangement contains a lease at the inception of an arrangement. If a lease is identified in an arrangement, the Company recognizes a right-of-use asset and liability on its consolidated balance sheets and determines whether the lease should be classified as a finance or operating lease. The Company does not recognize assets or liabilities for leases with lease terms of less than 12 months.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;A lease qualifies as a finance lease if any of the following criteria are met at the inception of the lease: (i) there is a transfer of ownership of the leased asset to the Company by the end of the lease term, (ii) the Company holds an option to purchase the&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;leased asset that it is reasonably certain to exercise, (iii) the lease term is for a major part of the remaining economic life of the leased asset, (iv) the present value of the sum of lease payments equals or exceeds substantially all of the fair value of the leased asset, or (v) the nature of the leased asset is specialized to the point that it is expected to provide the lessor no alternative use at the end of the lease term. All other leases are recorded as operating leases.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Finance and operating lease assets and liabilities are recognized at the lease commencement date based on the present value of the lease payments over the lease term using the discount rate implicit in the lease. If the rate implicit is not readily determinable, the Company utilizes its incremental borrowing rate at the lease commencement date. Operating lease assets are further adjusted for prepaid or accrued lease payments. Operating lease payments are expensed using the straight-line method as an operating expense over the lease term. Finance lease assets are amortized to depreciation expense using the straight-line method over the shorter of the useful life of the related asset or the lease term. Finance lease payments are bifurcated into (i) a portion that is recorded as imputed interest expense and (ii) a portion that reduces the finance liability associated with the lease.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company does not separate lease and non-lease components when determining which lease payments to include in the calculation of its lease assets and liabilities. Variable lease payments are expensed as incurred. If a lease includes an option to extend or terminate the lease, the Company reflects the option in the lease term if it is reasonably certain it will exercise the option.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Finance leases are recorded in property, plant and equipment, net, other current liabilities and long-term finance lease liabilities and operating leases are recorded in operating lease right of use assets, operating lease liability and operating lease liability, long-term on the Company&#x2019;s consolidated balance sheets.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Certain of the Company&#x2019;s operating leases where the Company is the lessee provide for minimum annual payments that increase over the life of the lease. Some of these leases include obligations to pay for other services, such as operations and maintenance. For leases of property, the Company accounts for these other services as a component of the lease. The aggregate minimum annual payments are expensed on the straight-line basis beginning when the Company takes possession of the property and extending over the term of the related lease, including renewal options when the exercise of the option is reasonably certain as an economic penalty may be incurred if the option is not exercised. The Company also accounts in its straight-line computation for the effect of any &#x201c;rental holidays.&#x201d;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Operating lease assets represent the Company&#x2019;s right to use an underlying asset for the lease term and lease liabilities represent the Company&#x2019;s obligation to make lease payments arising from the lease. Operating lease assets and liabilities are recognized at the lease commencement date based on the estimated present value of the fixed lease payments, reduced by landlord incentives using a discount rate based on similarly secured borrowings available to the Company. Most of the leases do not provide implicit interest rates and therefore the Company determines the discount rate based on its incremental borrowing rate. The incremental borrowing rate for the Company&#x2019;s leases is determined based on lease term and currency in which the lease payments are made.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Accrued Liabilities&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company estimates accrued liabilities by identifying services performed on the Company&#x2019;s behalf, estimating the level of service performed and determining the associated cost incurred for such service as of each balance sheet date. For example, the Company would accrue for professional and consulting fees incurred with law firms, audit and accounting service providers and other third-party consultants. These expenses are determined by either requesting those service providers to estimate unbilled services at each reporting date for services incurred or tracking costs incurred by service providers under fixed fee arrangements.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company has processes in place to estimate the appropriate amounts to record for accrued liabilities, which principally involve the applicable personnel reviewing the services provided. In the event that the Company does not identify certain costs that have begun to be incurred or the Company under or over-estimates the level of services performed or the costs of such services, the reported expenses for that period may be too low or too high. The date on which certain services commence, the level of services performed on or before a given date, and the cost of such services often require the exercise of judgment. The Company makes these judgments based upon the facts and circumstances known at the date of the consolidated financial statements.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Income Taxes&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Deferred taxes are determined based on the difference between the consolidated financial statements and tax basis of assets and liabilities using enacted tax rates in effect in the years in which the differences are expected to reverse. Valuation allowances are provided, if, based upon the weight of available evidence, it is more likely than not that some or all of the deferred tax assets will not be realized. The Company accounts for uncertain tax positions using a &#x201c;more-likely-than-not&#x201d; threshold for recognizing and resolving uncertain tax positions. The evaluation of uncertain tax positions is based on factors including, but not limited to, changes in tax law, the measurement of tax positions taken or expected to be taken in tax returns, the effective settlement of matters subject to audit, new audit activity and changes in facts or circumstances related to a tax position. The Company evaluates this tax position on a quarterly basis. The Company also accrues for potential interest and penalties related to unrecognized tax benefits in income tax expense. The Company is subject to a territorial tax system under the Tax Cuts and Jobs Act enacted in December 2017, in which the Company is required to provide for tax on Global Intangible Low-Taxed Income (&#x201c;GILTI&#x201d;) earned by certain foreign subsidiaries. The Company has adopted an accounting policy to provide for the tax expense related to GILTI in the year the tax is incurred as a period expense.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Property, Plant &amp;amp; Equipment&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Property, plant &amp;amp; equipment is recorded at cost less allowances for depreciation. Depreciation is calculated using the straight-line method over the estimated useful life of the asset as follows:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:3.333%;border-spacing:0;table-layout:fixed;width:96.0%;border-collapse:separate;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:45.7%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:53.3%;box-sizing:content-box;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.5pt solid;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Classification&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Estimated Useful Life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Buildings&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Thirty years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Leasehold improvements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_97c658e9-763a-4c74-b869-847703160c86;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Shorter of the term of the lease or estimated useful life&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_951db97f-38a2-4f75-b2a0-786c13d36d24;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Three&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;to &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;twelve years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Furniture, fixtures and office equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_a515c115-d6c2-4112-a709-4feb4a3856a2;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Three&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;to &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;eight years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Computer hardware and software&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_dbc0aa1e-92ac-4d71-9c5b-67e87dcc2701;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Three&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;to &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;seven years&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;or estimated useful life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Vehicles&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Five years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Upon disposal of property, plant &amp;amp; equipment, the cost of the asset and the accumulated depreciation are removed from the accounts and the resulting gain or loss is reflected in our results of operations. Fully depreciated assets are not removed from the accounts until they are physically disposed of.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Certain systems development costs related to the purchase, development and installation of computer software developed or obtained for internal use are capitalized and depreciated over the estimated useful life of the related project. Costs incurred prior to the development stage, as well as maintenance, training costs, and general and administrative expenses are expensed as incurred.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Earnings Per Share&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company reports earnings per share (&#x201c;EPS&#x201d;) in accordance with ASC 260, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;"Earnings Per Share," &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;which establishes standards for computing and presenting EPS. Basic EPS is computed by dividing net income available to common shareholders by the weighted average number of common shares outstanding during the period. Diluted EPS is computed by dividing net income available to common shareholders by the weighted-average number of common shares and dilutive common share equivalents outstanding during the period. Potential common share equivalents consist of restricted stock awards (including performance stock units) and the incremental common shares issuable upon the exercise of stock options and warrants. Under the treasury stock method, unexercised &#x201c;in-the-money&#x201d; stock options are assumed to be exercised at the beginning of the period or at issuance, if later. The assumed proceeds are then used to purchase common shares at the average market price during the period. In periods when the Company has a net loss, stock awards are excluded from the calculation of earnings per share as their inclusion would have an antidilutive effect.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;A reconciliation of basic and diluted weighted average share outstanding is as follows:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
        &lt;table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:57.477%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.399%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:10.776%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.399%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:10.776%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.399%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:10.776%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands, except per share data)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Numerator:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35,596&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;185,959&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;128,291&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Effect of dilutive securities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;Charges associated with convertible debt instruments, net of tax&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;387&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;Numerator for diluted earnings per share - net income available to common stockholders after the effect of dilutive securities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35,596&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;186,346&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;128,291&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Denominator:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Weighted average shares used in computing net income per&lt;br/&gt;&#160;&#160;&#160;share - basic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,720&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,460&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,015&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Effect of dilutive shares:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Options and stock units&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;457&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;608&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;915&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Convertible senior notes&lt;/span&gt;&lt;span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;181&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,360&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,253&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Dilutive effect of unvested performance stock units&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Dilutive potential common shares&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;657&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,995&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,249&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56,377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;57,455&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;57,264&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Earnings per share:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Basic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.64&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.35&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.33&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Diluted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.63&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.24&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.24&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Represents the dilutive impact for the Company's &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.375&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% Convertible Senior Notes due 2024 (the &#x201c; 2019 Notes&#x201d;) and its &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.00&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% Convertible Senior Notes due 2028 (the &#x201c;2023 Notes&#x201d;). As of December 31, 2023, the if-converted value is less than the outstanding principal of the 2023 Notes and are therefore anti-dilutive. Refer to Note 15, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Convertible Senior Notes,&#x201d;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; for more information.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;For the years ended December 31, 2023, 2022 and 2021, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;306,849&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;177,318&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares and &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;white-space:pre-wrap;min-width:fit-content;color:#000000;"&gt;68,968&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares, respectively, of the Company&#x2019;s common stock were excluded from the calculation of diluted earnings per share because they would have had an anti-dilutive effect for years presented.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In July 2019, the Company issued $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;287.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of its 2019 Notes. As provided by the terms of the indenture underlying the 2019 Notes, prior to March 4, 2022, conversion of the 2019 Notes could have been settled in cash, shares of the Company&#x2019;s common stock or a combination thereof, at the Company&#x2019;s election. On March 4, 2022, we entered into the Second Supplemental Indenture for the 2019 Notes, which irrevocably elected to settle the conversion of the 2019 Notes using a combination of cash and shares of the Company's common stock, settling the par value of the 2019 Notes in cash and any excess conversion premium in shares. On December 14, 2023, the Company exchanged, in a privately negotiated exchange, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;309.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million principal amount of 2023 Notes for $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;217.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million principal amount of 2019 Notes and issued $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;290.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of 2023 Notes for $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;290.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in cash. Following the close of the Exchange Transaction, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in aggregate principal amount of 2019 Notes remains outstanding with terms unchanged.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;As provided by the terms of the Second Supplemental Indenture underlying the 2019 Notes, the Company irrevocably elected to settle the conversion obligation for the 2019 Notes in a combination of cash and shares of the Company's common stock. This means the Company will settle the par value of the 2019 Notes in cash and any excess conversion premium in shares. As mentioned in Note 15, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Convertible Senior Notes,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;the &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Company adopted ASU 2020-06 effective January 1, 2022. Under ASU 2020-06, the Company is required to reflect the dilutive effect of the convertible securities by application of the &#x201c;if-converted&#x201d; method, which means the denominator of the EPS calculation would include the total number of shares assuming the 2019 Notes had been fully converted at the beginning of the period. Prior to March 4, 2022, the Company had the choice to settle the&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;conversion &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;of the 2019 Notes in cash, stock or a combination of the two. Therefore, from January 1, 2022 (the date the Company adopted ASU 2020-06) to March 4, 2022, the Company included &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,474,429&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares in the denominator of the EPS calculation, applying the if converted method. Subsequent to March 4, 2022, after the Second Supplemental Indenture became effective, the Company irrevocably elected to settle the conversion obligation for the 2019 Notes in a combination of cash and shares of the Company's common stock, and from March 5, 2022 forward, only the excess premium will be settled with shares. Under the if-converted method of calculating dilutive shares, the Company was also required to exclude amortization of debt issuance costs and interest charges applicable to the convertible debt from the numerator of the dilutive EPS calculation for the period from January 1, 2022 to March 4, 2022, as if the interest on convertible debt was never recognized for that period. As a result, the Company excluded interest charges of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million (net of tax) from the numerator and included &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,359,957&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares in the calculation of diluted earnings as the dilutive effect of the conversion premium for the year ended December 31, 2022. There were no comparable amounts included in 2023 or 2021.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Prior to the adoption of ASU 2020-06, the Company applied the provisions of ASC 260, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Earnings Per Share,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;subsection 10-45-44, to determine the diluted weighted average shares outstanding as it related to the conversion spread on its convertible notes. Accordingly, the par value of the 2019 Notes was not included in the calculation of diluted EPS, but the dilutive effect of the conversion premium was considered in the calculation of diluted EPS using the treasury stock method. The dilutive impact of the 2019 Notes was based on the difference between the Company&#x2019;s current period average stock price and the conversion price of the convertible notes, provided there is a premium. Pursuant to this accounting standard, there was no dilution from the accreted principal of the 2019 Notes.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Segment Reporting&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Operating segments are components of an enterprise that engage in business activities for which discrete financial information is available and regularly reviewed by the CODM in deciding how to allocate resources and assess performance. Our CEO has been identified as our CODM.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company views its operations, makes decisions regarding how to allocate resources and manages its business as &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;one&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; reportable segment and one reporting unit. As a result, the financial information disclosed herein represents all of the material financial information related to the Company.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents product revenues by product line:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:49.24%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.66%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:13.26%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.66%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:13.26%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.66%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:13.26%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;span style="color:#000000;top:-3.752pt;white-space:pre-wrap;font-weight:bold;font-size:5.36pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;span style="color:#000000;top:-3.752pt;white-space:pre-wrap;font-weight:bold;font-size:5.36pt;position:relative;min-width:fit-content;"&gt;(2)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Filtration products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;341,379&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;495,930&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;403,505&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Chromatography products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126,629&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;131,680&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;91,037&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Process analytics products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56,820&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;53,512&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;48,019&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Proteins products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;103,463&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;114,320&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;123,707&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,688&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,741&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,051&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total product revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;631,979&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;801,183&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;670,319&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#x201c;FlexBiosys&#x201d;) from April 17, 2023, as well as Metenova Holding AB (&#x201c;Metenova&#x201d;) from October 2, 2023.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;(2)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;2021 revenue for filtration products includes revenue related to Polymem S.A. (&#x201c;Polymem&#x201d;) from July 1, 2021, as well as BioFlex Solutions LLC (&#x201c;BioFlex&#x201d;) and Newton T&amp;amp;M Corp. (&#x201c;NTM&#x201d;) from December 16, 2021 through December 31, 2021. 2021 revenue for proteins products includes revenue related to Avitide, Inc. (&#x201c;Avitide&#x201d;) from September 20, 2021 through December 31, 2021.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Revenue from filtration products includes the XCell ATF&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; systems and consumables as well as the KrosFlo&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; and SIUS&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; filtration products. Revenue from chromatography products includes the OPUS&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; chromatography pre-packed columns, chromatography resins and ELISA test kits. Revenue from process analytics products includes the SoloVPE&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, FlowVPE&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; RPM&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;and FlowVPX&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; devices. Revenue from protein products includes the Protein A affinity ligands and cell culture growth factors. Other revenue primarily consists of revenue from the sale of operating room products to hospitals as well as freight revenue.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents the Company&#x2019;s total revenue by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented (based on the location of the customer):&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:57.409%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:11.177999999999999%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:11.177999999999999%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:11.238%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Revenue by customers' geographic locations:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;North America&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;43&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Europe&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;36&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;40&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;APAC/Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents the Company&#x2019;s total assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:66.993%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Revised)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total assets by geographic locations:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;North America&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,377,868&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,216,186&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Europe&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;426,148&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;287,543&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;APAC&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,169&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,871&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total assets by geographic location&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,831,185&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,531,600&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents the Company&#x2019;s long-lived assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:66.993%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long-lived assets by geographic locations:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;North America&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;278,033&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;275,151&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Europe&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;43,280&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;38,541&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;APAC&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,919&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,819&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total long-lived assets by geographic location&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;324,232&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;316,511&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Concentrations of Credit Risk and Significant Customers&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Financial instruments that subject the Company to significant concentrations of credit risk primarily consist of cash and cash equivalents, marketable securities and accounts receivable. Per the Company&#x2019;s investment policy, cash equivalents and marketable securities are invested in financial instruments with high credit ratings, limit its credit exposure to any one issuer (with the exception of U.S. treasury obligations) and type of instrument is limited. At December 31, 2023, the Company had no investments associated with foreign exchange contracts, options contracts or other foreign hedging arrangements.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Concentration of credit risk with respect to accounts receivable is limited to customers to whom the Company makes significant sales. While a reserve for the potential write-off of accounts receivable is maintained, the Company has not written off any significant accounts to date. To control credit risk, the Company performs regular credit evaluations of its customers&#x2019; financial condition.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Ther&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;e was &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; revenue from customers that represented &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% or more of the Company's total revenue for the year ended December 31, 2023 or 2022. Revenue from Pfizer Inc. accounted for &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of total revenue for the year ended December 31, 2021.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;No accounts receivable balance from a specific c&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;ustomer represented &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% or more of the Company's total trade accounts receivable at &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;. Significant accounts receivable balances representing &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;or more of the Company&#x2019;s total&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;trade &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;accounts receivable balances at December 31, 2022&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; came from our accounts receivable balance outstanding with Purolite, an Ecolab Inc. company (&#x201c;Purolite&#x201d;), which was &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the Company's total trade accounts receivable balance.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Business Combinations, Goodwill and Intangible Assets&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Business Combinations&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Total consideration transferred for acquisitions is allocated to the tangible and intangible assets acquired and liabilities assumed, if any, based on their fair values at the dates of acquisition. This purchase price allocation process requires management to make significant estimates and assumptions with respect to intangible assets and deferred revenue. The fair value of identifiable intangible assets is based on detailed valuations that use information and assumptions determined by management. Any excess of purchase price over the fair value of the net tangible and intangible assets acquired is allocated to goodwill. While the Company uses its best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as any contingent consideration, where applicable, the Company&#x2019;s estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which may be up to one year from the acquisition date, the Company records adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill.  Upon conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to the Company&#x2019;s consolidated statements of comprehensive income. Any excess of the fair value of the net tangible and intangible assets acquired over the purchase price is recognized in the consolidated statements of comprehensive income. The fair value of contingent consideration includes estimates and judgments made by management regarding the probability that future contingent payments will be made and the extent of royalties to be earned in excess of the defined minimum royalties. Management updates these estimates and the related fair value of contingent consideration at each reporting period. These changes in the fair value of contingent consideration are recorded to contingent consideration in the Company&#x2019;s consolidated statements of comprehensive income. For the years ended December 31, 2023 and 2022&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, we recorded a decrease of $&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;28.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively, to the estimated contingent consideration obligation, primarily related to the acquisition of Avitide (the &#x201c;Avitide Acquisition&#x201d;).&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company uses the income approach to determine the fair value of certain identifiable intangible assets including customer relationships and developed technology. This approach determines fair value by estimating after-tax cash flows attributable to these assets over their respective useful lives and then discounting these after-tax cash flows back to a present value. The Company bases its assumptions on estimates of future cash flows, expected growth rates, expected trends in technology, etc. Discount rates used to arrive at a present value as of the date of acquisition are based on the time value of money and certain industry-specific risk factors. The Company believes the estimated purchased customer relationships, developed technologies, trademark/tradename, patents, non-compete agreements and in-process research and development amounts so determined represent the fair value at the date of acquisition, and do not exceed the amount a third-party would pay for such assets.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Goodwill is not amortized and is tested for impairment at least annually at the reporting unit level. The Company operates as one reporting unit as of the goodwill impairment measurement date of December 31, 2023. &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;During the qualitative assessment of the Company&#x2019;s &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;one&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; reporting unit during the 2023 goodwill impairment testing, it was determined that it was not more likely than not that its fair value was less than its carrying amount. As such, a quantitative impairment assessment was not required as of December 31, 2023. If an event occurs or circumstances change that would more likely than not reduce the fair value of its reporting unit below its carrying value, the Company will evaluate its goodwill for impairment between annual tests. &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;There was &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; impairment to goodwill and therefore &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; impairment charge recorded for the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company has historically tested for impairment on its goodwill annually as of its measurement date of December 31st pursuant to company policy. Subsequent to the 2023 annual impairment test, the Company voluntarily changed its annual impairment assessment date from December 31st to October 1st, the first day of the Company's fourth quarter, beginning on &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;October 1, 2024&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;. &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The change is being made to better align the annual impairment assessment date with the Company's annual planning and budgeting process as well as long-term planning and forecasting process.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; The &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Company has determined this voluntary change in accounting principle is preferable and will not impact its consolidated financial statements nor is it being done to accelerate, avoid or trigger an impairment charge. This change is not going to be applied retrospectively as it is&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;impracticable &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;to do so because retrospective application would require application of significant estimates and assumptions with the use of hindsight. Accordingly, the change will be applied prospectively.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Intangible Assets&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Intangible assets with a definite life are amortized over their useful lives using the straight-line method and the amortization expense is recorded within research and development (&#x201c;R&amp;amp;D&#x201d;) and selling, general and administrative expense in the consolidated statements of comprehensive income. Intangible assets and their related useful lives are reviewed at least annually to determine if any adverse conditions existed that would indicate the carrying value of these assets may not be recoverable. More frequent impairment assessments are conducted if certain conditions exist, including a change in the competitive landscape, any internal decisions to pursue new or different technology strategies, a loss of a significant customer, or a significant change in the marketplace, including changes in the prices paid for the Company&#x2019;s products or changes in the size of the market for the Company&#x2019;s products. If impairment indicators are present, the Company determines whether the underlying intangible asset is recoverable through estimated future undiscounted cash flows. If the asset is not found to be recoverable, it is written down to the estimated fair value of the asset based on the sum of the future discounted cash flows expected to result from the use and disposition of the asset. If the estimate of an intangible asset&#x2019;s remaining useful life is changed, the remaining carrying amount of the intangible asset is amortized prospectively over the revised remaining useful life. The Company continues to believe that its definite-lived intangible assets are recoverable at December 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Indefinite-lived intangible assets are reviewed for impairment at least annually. There has been &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; impairment of our intangible assets for the periods presented.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Stock Based Compensation&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company measures stock-based compensation cost at the grant date based on the estimated fair value of the award and recognizes it as an expense over the employee&#x2019;s requisite service period on a straight-line basis. The Company records the expense for share-based awards subject to performance-based milestone vesting over the remaining service period when management determines that achievement of the milestone is probable. Management evaluates whether the achievement of a performance-based milestone is probable as of the reporting date. The Company has no awards that are subject to market conditions. The Company recognizes stock-based compensation expense based upon options that are ultimately expected to vest, and accordingly, such compensation expense has been adjusted by an amount of estimated forfeitures.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company uses the Black-Scholes option pricing model to calculate the fair value of share-based awards on the grant date. The following assumptions are used in calculating the fair value of share-based awards:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Expected term&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &#x2013; The expected term of options granted represents the period of time for which the options are expected to be outstanding. For purposes of estimating the expected term, the Company has aggregated all individual option awards into one group as the Company does not expect substantial differences in exercise behavior among its employees.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Expected volatility&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &#x2013; The expected volatility is a measure of the amount by which the Company&#x2019;s stock price is expected to fluctuate during the expected term of options granted. The Company determines the expected volatility based primarily upon the historical volatility of the Company&#x2019;s common stock over a period commensurate with the option&#x2019;s expected term.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Risk-free interest rate&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &#x2013; The risk-free interest rate is the implied yield available on U.S. treasury zero-coupon issues with a remaining term equal to the option&#x2019;s expected term on the grant date.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Expected dividend yield&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &#x2013; The Company has never declared or paid any cash dividends on any of its capital stock and does not expect to do so in the foreseeable future. Accordingly, the Company uses an expected dividend yield of zero to calculate the grant-date fair value of a stock option.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Estimated forfeiture rates&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &#x2013; The Company has applied, based on an analysis of its historical forfeitures, annual forfeiture rates of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to non-executive level employees, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to executive level employees and &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to non-employee members of the Board of Directors (&#x201c;Board&#x201d;) to all unvested stock options as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Company reevaluates this analysis periodically and adjusts these estimated forfeiture rates as necessary. Ultimately, the Company will only recognize an expense for those shares that vest.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Advertising Costs&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company expenses advertising costs as they are incurred. Advertising expense for the years ended December 31, 2023, 2022 and 2021&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Recent Accounting Standards Updates&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;We consider the applicability and impact of all ASUs and other accounting guidance on the Company&#x2019;s consolidated financial statements. Updates not listed below were assessed and determined to be either not applicable or are expected to have minimal impact on the Company&#x2019;s consolidated financial position or results of operations. Recently issued accounting guidance that we feel may be applicable to the Company are as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Recently Issued Accounting Guidance &#x2013; Adopted During the Fiscal Year&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In July 2023, the U.S. Securities and Exchange Commission (the &#x201c;SEC&#x201d;) adopted the final rule under SEC Release No. 33-11216, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Cybersecurity Risk Management, Strategy, Governance, and Incident Disclosure,&#x201d;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; requiring current reporting about material cybersecurity incidents and annual disclosures on management&#x2019;s processes for assessing, identifying, and managing material cybersecurity risks, the material impacts of cybersecurity threats and previous cybersecurity incidents, the Board's oversight of cybersecurity risks, and management&#x2019;s role and expertise in assessing and managing material cybersecurity risks. SEC Release No. 33-11216 was effective for us during the third quarter of 2023. The adoption of this guidance did not have a material impact on the Company&#x2019;s consolidated financial statements and disclosures.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In December 2022, the SEC adopted the final rule under SEC Release No. 33-11138,&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; "Insider Trading Arrangements and Related Disclosures&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;," which requires new disclosures regarding insider trading policies and procedures, the use of Rule 10b5-1 plans by directors and officers, and stock option grants issued in close proximity to the release of material nonpublic information. SEC Release No. 33-11138 was effective for us for our second quarter of 2023, and did not have a material impact on our consolidated financial statements and disclosures.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Recently Issued Accounting Guidance &#x2013; Not Yet Adopted&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In December 2023, the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued ASU 2023-09, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Income Taxes (Topic 740) - Improvements to Income Tax Disclosures.&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;ASU 2023-09 enhances the transparency and decision usefulness of income tax disclosures by requiring consistent categories and greater disaggregation of information in the rate reconciliation and income taxes paid disaggregated by jurisdiction. ASU 2023-09 will be effective for the Company in its income tax disclosure included in its 2025 Annual Report on Form 10-K and will be applied on a prospective basis. However, retrospective application is permitted. Early adoption is also permitted. Besides a change in income tax disclosures, the Company does not expect the adoption of ASU 2023-09 to have a material impact on its consolidated financial statements.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;    &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In November 2023, the FASB issued ASU 2023-07, &#x201c;S&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;egment Reporting (Topic 820) - Improvements to Reportable Segment Disclosures.&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;ASU &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;2023-07 will improve reportable segment disclosure requirements, primarily through enhanced annual and interim disclosures about significant segment expenses that are regularly provided to the CODM. The disclosure required under  ASU 2023-07 are also required for public entities with a single reportable segment. ASU 2023-07 will be effective for the Company for annual periods beginning on January 1, 2024 and interim periods beginning on January 1, 2025. The amendments of this guidance apply retrospectively to all prior periods presented in the consolidated financial statements. Early adoption is&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;permitted. &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Besides presentation in the segment footnote for its interim reporting, the Company does not expect the adoption of ASU 2023-07 to have a material impact on its consolidated financial statements.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_aabc0153-70df-4f8c-99ef-ff2f56524117">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Use of Estimates&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The preparation of financial statements in conformity with accounting principles generally accepted in the United States requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting periods.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Significant estimates and assumptions by management affect the Company&#x2019;s revenue recognition for multiple element arrangements, allowance for credit losses, the net realizable value of inventory, valuations and purchase price allocations related to business combinations, contingent consideration, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, estimates related to the fair value of the conversion features of the convertible notes for purposes of assessing whether debt extinguishment or modification accounting applies to the Company&#x2019;s debt exchange, stock-based compensation, tax reserves and recoverability of the Company&#x2019;s net deferred tax assets and related valuation allowance.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Although the Company regularly assesses these estimates, actual results could differ materially from these estimates. Changes in estimates are recorded in the period in which they become known. The Company bases its estimates on historical experience and various other assumptions that it believes to be reasonable under the circumstances.&lt;/span&gt;</us-gaap:UseOfEstimates>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_cb00d731-e54f-4e1c-976e-3ee8036bfa6a">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Basis of Presentation&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All significant intercompany accounts and transactions have been eliminated in consolidation. Certain prior year balances have changed to reflect current year presentation.&lt;/span&gt;&lt;/p&gt;</us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_d76e29b4-2529-40ea-afe4-a20fcedfebfb">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Foreign Currency&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company translates the assets and liabilities of its foreign subsidiary at rates in effect at the end of the reporting period. Revenues and expenses are translated at average rates in effect during the reporting period. Translation adjustments include adjustments related to the Company&#x2019;s various intercompany loans with foreign subsidiaries. Intercompany loans determined to be permanent are remeasured at each period end and included in accumulated other comprehensive loss on the consolidated balance sheets. Intercompany loans with foreign subsidiaries determined to be repayable are remeasured at each period end and included in other income (expenses) on the consolidated statements of comprehensive income.&lt;/span&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:RevenueRecognitionPolicyTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_9ccc9706-4533-4336-a131-8ef85afc6ce6">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Revenue Recognition&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company generates revenue from the sale of bioprocessing products, equipment devices, and related consumables used with these equipment devices to customers in the life sciences and biopharmaceutical industries. Under Accounting Standard Codification No. (&#x201c;ASC&#x201d;) 606, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Revenue from Contracts with Customers,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;revenue is recognized when, or as, obligations under the terms of a contract are satisfied, which occurs when control of the promised products or services is transferred to customers.  Revenue is measured as the amount of consideration the Company expects to receive in exchange for transferring products or services to a customer (&#x201c;transaction price&#x201d;).  To the extent the transaction price includes variable consideration, the Company estimates the amount of variable consideration that should be included in the transaction price utilizing the expected value method or the most likely amount method, depending on the facts and circumstances relative to the contract.  Variable consideration is included in the transaction price if, in the Company&#x2019;s judgment, it is probable that a significant future reversal of cumulative revenue under the contract will not occur.  Estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on an assessment of the Company&#x2019;s anticipated performance and all information (historical, current and forecasted) that is reasonably available.  Sales, value add, and other taxes collected on behalf of third parties are excluded from revenue.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;When determining the transaction price of a contract, an adjustment is made if payment from a customer occurs either significantly before or significantly after performance, resulting in a significant financing component.  Applying the practical expedient in paragraph 606-10-32-18, the Company does not assess whether a significant financing component exists if the period between when the Company performs its obligations under the contract and when the customer pays is one year or less.  None of the Company&#x2019;s contracts contained a significant financing component as of December 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Contracts with customers may contain multiple performance obligations.  For such arrangements, the transaction price is allocated to each performance obligation based on the estimated relative standalone selling prices of the promised products or services underlying each performance obligation.  The Company determines standalone selling prices based on the price at which the performance obligation is sold separately.  If the standalone selling price is not observable through past transactions, the&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Company estimates the standalone selling price taking into account available information such as market conditions and internally approved pricing guidelines related to the performance obligations.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company recognizes product revenue under the terms of each customer agreement upon transfer of control to the customer, which occurs at a point in time.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Shipping and handling fees are recorded as a component of product revenue, with the associated costs recorded as a component of cost of product revenue.&lt;/span&gt;</us-gaap:RevenueRecognitionPolicyTextBlock>
    <rgen:RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_42631e44-01ca-4715-bce9-e74239054f9b">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Risks and Uncertainties&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company evaluates its operations periodically to determine if any risks and uncertainties exist that could impact its operations in the near term. The Company does not believe that there are any significant risks that have not already been disclosed in the consolidated financial statements. A loss of certain suppliers could temporarily disrupt operations, although alternate sources of supply exist for these items. The Company has mitigated these risks by working closely with key suppliers, identifying alternate sources and developing contingency plans.&lt;/span&gt;</rgen:RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock>
    <us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_2ea3645d-7aa6-42c9-9451-82abbbb2f2b7">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Cash, Cash Equivalents and Restricted Cash&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Cash and cash equivalents include cash on hand and on deposit. Highly liquid investments in money market mutual funds with an original maturity of three months or less are classified as cash equivalents. All cash equivalents are carried at cost, which approximates fair value. Restricted cash represents cash that is restricted as to withdrawal or usage. There was no restriction on the Company&#x2019;s cash balance as of December 31, 2023 and 2022.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company&#x2019;s cash, cash equivalents and restricted cash total as presented in the Company&#x2019;s consolidated statements of cash flows for the years ended December 31, 2023, 2022 and 2021&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;523.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;603.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively.&lt;/span&gt;</us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-5"
      id="F_42884275-c404-4189-a99f-87f1c3eb4611"
      unitRef="U_USD">751300000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-5"
      id="F_eed15646-5e64-4163-a6af-98fa2e47c0d4"
      unitRef="U_USD">523500000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_82911078-bdd7-49a5-87bb-adfb316a68b0"
      decimals="-5"
      id="F_330c9c73-5622-4d8a-a94c-244d994c8cf7"
      unitRef="U_USD">603800000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:DerivativesPolicyTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_597fb013-693c-4208-89ba-70f660d3dec0">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Convertible Instruments&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company evaluates the embedded conversion feature within its convertible debt instruments under Accounting Standards Codification (&#x201c;ASC&#x201d;) 815, &#x201d;Derivatives and Hedging.&#x201d; The Company refers to ASC 815-15 and ASC 815-40 to determine if the conversion feature meets the definition of a derivative and, if so, whether to bifurcate the conversion feature and account for it as a separate derivative liability.  Based on the Company&#x2019;s analysis, its Convertible Senior Notes do not have an embedded conversion feature requiring bifurcation under ASC 815-15 and thus are accounted for as a single unit of account, a liability under ASC 470, &#x201d;Debt.&#x201d;&lt;/span&gt;&lt;/p&gt;</us-gaap:DerivativesPolicyTextBlock>
    <us-gaap:MarketableSecuritiesPolicy
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_623cfda9-9868-47a1-b758-9d84b114957d">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Investment Securities&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;We classify our investment securities in one of three categories: held to maturity, trading, or available for sale. Our investment portfolio at December 31, 2022 consisted of an investment in U.S. treasury bills classified as held to maturity which was included in the Company's consolidated balance sheets under marketable securities held to maturity. These marketable securities matured in June 2023 and there are no comparable investments as of December 31, 2023. Securities that we have the positive intent and ability to hold to maturity are classified as held to maturity and stated at amortized cost in the consolidated balance sheets. Management determines the appropriate classification of securities at the time of purchase based upon management's intent with regards to such investment and reevaluates such designation as of each balance sheet date. The Company's investment policy requires that it only invest in high-rated securities and limit its exposure to any single-user. There were no realized or unrealized gains or losses on investments recorded as of December 31, 2023, 2022 and 2021.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company classifies marketable securities as short-term when they have remaining contractual maturities of one year or less from the balance sheet date. The Company periodically assesses its marketable securities, if any, for impairment or credit losses.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;</us-gaap:MarketableSecuritiesPolicy>
    <us-gaap:FairValueMeasurementPolicyPolicyTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_03a470cd-30cf-40ac-ac56-7cd0f254786b">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Fair Value Measurement&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In determining the fair value of its assets and liabilities, the Company uses various valuation approaches. The Company employs a hierarchy for inputs used in measuring fair value that maximizes the use of observable inputs and minimizes the use of&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;unobservable inputs by requiring that observable inputs be used when available. Observable inputs are inputs that market participants would use in pricing the asset or liability based on market data obtained from sources independent of the Company. Unobservable inputs are inputs that reflect the Company&#x2019;s assumptions about the inputs that market participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances. The fair value hierarchy is broken down into three levels based on the source of inputs as follows:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:3.333%;border-spacing:0;table-layout:fixed;width:96.0%;border-collapse:separate;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:8.08%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:91.92%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Level 1  &#x2013;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities that the Company has the ability to access.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:5.75pt;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Level 2  &#x2013;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Valuations based on quoted prices for similar assets or liabilities in active markets, quoted prices for identical or similar assets or liabilities.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:5.75pt;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Level 3  &#x2013;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Valuations based on inputs that are unobservable and significant to the overall fair value measurement.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The availability of observable inputs can vary among the various types of financial assets and liabilities. To the extent that the valuation is based on models or inputs that are less observable or unobservable in the market, the determination of fair value requires more judgment. In certain cases, the inputs used to measure fair value may fall into different levels of the fair value hierarchy. In such cases, for financial statement disclosure purposes, the level in the fair value hierarchy within which the fair value measurement is categorized is based on the lowest level input that is significant to the overall fair value measurement.&lt;/span&gt;</us-gaap:FairValueMeasurementPolicyPolicyTextBlock>
    <us-gaap:CreditLossFinancialInstrumentPolicyTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_0fb928a4-ae7c-46b5-a3ee-c02706f5074e">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Allowance for credit losses&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;We establish an allowance for credit losses through a review of several factors, including historical collection experience, current aging status of the customer accounts, and current financial condition of our customers. Losses are charged against the allowance when the customer accounts are determined to be uncollectible.&lt;/span&gt;&lt;/p&gt;</us-gaap:CreditLossFinancialInstrumentPolicyTextBlock>
    <us-gaap:InventoryPolicyTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_0eb748aa-c61d-4696-bcb2-27de203d2b3d">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Inventories&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Inventories relate to the Company&#x2019;s bioprocessing business. The Company values inventory at cost or, if lower, net realizable value, using the first-in, first-out method. The Company reviews its inventories at least quarterly and records a provision for excess and obsolete inventory based on its estimates of expected sales volume, production capacity and expiration dates of raw materials, work-in-process and finished products. The Company writes down inventory that has become obsolete, inventory that has a cost basis in excess of its expected net realizable value, and inventory in excess of expected requirements to cost of product revenue. Manufacturing of bioprocessing finished goods is done to order and tested for quality specifications prior to shipment.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;A change in the estimated timing or amount of demand for the Company&#x2019;s products could result in additional provisions for excess inventory quantities on hand. Any significant unanticipated changes in demand or unexpected quality failures could have a significant impact on the value of inventory and reported operating results. During all periods presented in the accompanying consolidated financial statements, there have been no material adjustments related to a revised estimate of inventory valuations.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Work-in-process and finished products inventories consist of material, labor, outside processing costs and manufacturing overhead.&lt;/span&gt;</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:LoansAndLeasesReceivableLeaseFinancingPolicy
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_504a6ba6-61e3-4417-b907-ebc3e04734e3">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Lease Accounting&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company adopted Accounting Standards Update No. (&#x201c;ASU&#x201d;) 2016-02, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;&#x201c;Leases (Topic 842)&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x201d; (&#x201c;ASC 842&#x201d;) as of January 1, 2019. Under ASC 842, the Company determines whether the arrangement contains a lease at the inception of an arrangement. If a lease is identified in an arrangement, the Company recognizes a right-of-use asset and liability on its consolidated balance sheets and determines whether the lease should be classified as a finance or operating lease. The Company does not recognize assets or liabilities for leases with lease terms of less than 12 months.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;A lease qualifies as a finance lease if any of the following criteria are met at the inception of the lease: (i) there is a transfer of ownership of the leased asset to the Company by the end of the lease term, (ii) the Company holds an option to purchase the&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;leased asset that it is reasonably certain to exercise, (iii) the lease term is for a major part of the remaining economic life of the leased asset, (iv) the present value of the sum of lease payments equals or exceeds substantially all of the fair value of the leased asset, or (v) the nature of the leased asset is specialized to the point that it is expected to provide the lessor no alternative use at the end of the lease term. All other leases are recorded as operating leases.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Finance and operating lease assets and liabilities are recognized at the lease commencement date based on the present value of the lease payments over the lease term using the discount rate implicit in the lease. If the rate implicit is not readily determinable, the Company utilizes its incremental borrowing rate at the lease commencement date. Operating lease assets are further adjusted for prepaid or accrued lease payments. Operating lease payments are expensed using the straight-line method as an operating expense over the lease term. Finance lease assets are amortized to depreciation expense using the straight-line method over the shorter of the useful life of the related asset or the lease term. Finance lease payments are bifurcated into (i) a portion that is recorded as imputed interest expense and (ii) a portion that reduces the finance liability associated with the lease.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company does not separate lease and non-lease components when determining which lease payments to include in the calculation of its lease assets and liabilities. Variable lease payments are expensed as incurred. If a lease includes an option to extend or terminate the lease, the Company reflects the option in the lease term if it is reasonably certain it will exercise the option.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Finance leases are recorded in property, plant and equipment, net, other current liabilities and long-term finance lease liabilities and operating leases are recorded in operating lease right of use assets, operating lease liability and operating lease liability, long-term on the Company&#x2019;s consolidated balance sheets.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Certain of the Company&#x2019;s operating leases where the Company is the lessee provide for minimum annual payments that increase over the life of the lease. Some of these leases include obligations to pay for other services, such as operations and maintenance. For leases of property, the Company accounts for these other services as a component of the lease. The aggregate minimum annual payments are expensed on the straight-line basis beginning when the Company takes possession of the property and extending over the term of the related lease, including renewal options when the exercise of the option is reasonably certain as an economic penalty may be incurred if the option is not exercised. The Company also accounts in its straight-line computation for the effect of any &#x201c;rental holidays.&#x201d;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Operating lease assets represent the Company&#x2019;s right to use an underlying asset for the lease term and lease liabilities represent the Company&#x2019;s obligation to make lease payments arising from the lease. Operating lease assets and liabilities are recognized at the lease commencement date based on the estimated present value of the fixed lease payments, reduced by landlord incentives using a discount rate based on similarly secured borrowings available to the Company. Most of the leases do not provide implicit interest rates and therefore the Company determines the discount rate based on its incremental borrowing rate. The incremental borrowing rate for the Company&#x2019;s leases is determined based on lease term and currency in which the lease payments are made.&lt;/span&gt;&lt;/p&gt;</us-gaap:LoansAndLeasesReceivableLeaseFinancingPolicy>
    <rgen:AccruedLiabilitiesPolicyTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_8cacef10-3c88-4ed5-befb-416bfdf57af7">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Accrued Liabilities&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company estimates accrued liabilities by identifying services performed on the Company&#x2019;s behalf, estimating the level of service performed and determining the associated cost incurred for such service as of each balance sheet date. For example, the Company would accrue for professional and consulting fees incurred with law firms, audit and accounting service providers and other third-party consultants. These expenses are determined by either requesting those service providers to estimate unbilled services at each reporting date for services incurred or tracking costs incurred by service providers under fixed fee arrangements.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company has processes in place to estimate the appropriate amounts to record for accrued liabilities, which principally involve the applicable personnel reviewing the services provided. In the event that the Company does not identify certain costs that have begun to be incurred or the Company under or over-estimates the level of services performed or the costs of such services, the reported expenses for that period may be too low or too high. The date on which certain services commence, the level of services performed on or before a given date, and the cost of such services often require the exercise of judgment. The Company makes these judgments based upon the facts and circumstances known at the date of the consolidated financial statements.&lt;/span&gt;</rgen:AccruedLiabilitiesPolicyTextBlock>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_54004bf2-39c5-4d0c-ac73-b8c42ab325f1">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Income Taxes&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Deferred taxes are determined based on the difference between the consolidated financial statements and tax basis of assets and liabilities using enacted tax rates in effect in the years in which the differences are expected to reverse. Valuation allowances are provided, if, based upon the weight of available evidence, it is more likely than not that some or all of the deferred tax assets will not be realized. The Company accounts for uncertain tax positions using a &#x201c;more-likely-than-not&#x201d; threshold for recognizing and resolving uncertain tax positions. The evaluation of uncertain tax positions is based on factors including, but not limited to, changes in tax law, the measurement of tax positions taken or expected to be taken in tax returns, the effective settlement of matters subject to audit, new audit activity and changes in facts or circumstances related to a tax position. The Company evaluates this tax position on a quarterly basis. The Company also accrues for potential interest and penalties related to unrecognized tax benefits in income tax expense. The Company is subject to a territorial tax system under the Tax Cuts and Jobs Act enacted in December 2017, in which the Company is required to provide for tax on Global Intangible Low-Taxed Income (&#x201c;GILTI&#x201d;) earned by certain foreign subsidiaries. The Company has adopted an accounting policy to provide for the tax expense related to GILTI in the year the tax is incurred as a period expense.&lt;/span&gt;&lt;/p&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_b7bc02ed-540d-4d3e-bde1-2effce754d28">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Property, Plant &amp;amp; Equipment&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Property, plant &amp;amp; equipment is recorded at cost less allowances for depreciation. Depreciation is calculated using the straight-line method over the estimated useful life of the asset as follows:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:3.333%;border-spacing:0;table-layout:fixed;width:96.0%;border-collapse:separate;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:45.7%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:53.3%;box-sizing:content-box;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.5pt solid;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Classification&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Estimated Useful Life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Buildings&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Thirty years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Leasehold improvements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_97c658e9-763a-4c74-b869-847703160c86;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Shorter of the term of the lease or estimated useful life&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_951db97f-38a2-4f75-b2a0-786c13d36d24;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Three&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;to &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;twelve years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Furniture, fixtures and office equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_a515c115-d6c2-4112-a709-4feb4a3856a2;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Three&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;to &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;eight years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Computer hardware and software&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_dbc0aa1e-92ac-4d71-9c5b-67e87dcc2701;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Three&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;to &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;seven years&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;or estimated useful life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Vehicles&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Five years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Upon disposal of property, plant &amp;amp; equipment, the cost of the asset and the accumulated depreciation are removed from the accounts and the resulting gain or loss is reflected in our results of operations. Fully depreciated assets are not removed from the accounts until they are physically disposed of.&lt;/span&gt;&lt;/p&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Certain systems development costs related to the purchase, development and installation of computer software developed or obtained for internal use are capitalized and depreciated over the estimated useful life of the related project. Costs incurred prior to the development stage, as well as maintenance, training costs, and general and administrative expenses are expensed as incurred.&lt;/span&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <rgen:ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_b27df4ba-246c-403f-a20f-073ea611052b">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Property, plant &amp;amp; equipment is recorded at cost less allowances for depreciation. Depreciation is calculated using the straight-line method over the estimated useful life of the asset as follows:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:3.333%;border-spacing:0;table-layout:fixed;width:96.0%;border-collapse:separate;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:45.7%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:53.3%;box-sizing:content-box;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.5pt solid;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Classification&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Estimated Useful Life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Buildings&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Thirty years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Leasehold improvements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_97c658e9-763a-4c74-b869-847703160c86;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Shorter of the term of the lease or estimated useful life&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_951db97f-38a2-4f75-b2a0-786c13d36d24;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Three&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;to &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;twelve years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Furniture, fixtures and office equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_a515c115-d6c2-4112-a709-4feb4a3856a2;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Three&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;to &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;eight years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Computer hardware and software&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_dbc0aa1e-92ac-4d71-9c5b-67e87dcc2701;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Three&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;to &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;seven years&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;or estimated useful life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:12pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Vehicles&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Five years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;</rgen:ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_86a748c8-c612-4cdb-ae92-87b947f1df49"
      id="F_a214ff37-5b0b-41f7-98d9-65e7406aa091">P30Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_7f338a95-2d65-45f1-9fb3-126f775914f6"
      id="F_27677132-dedc-40b7-aa4e-20ebb3a0216d">P12Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_1e8e8c9a-8ef5-4d29-ad8a-567d523c650e"
      id="F_7113ffea-1cb2-4dfb-b222-eb8b1f51e9fd">P8Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_c5357c8f-638a-4156-89d4-9566b631c253"
      id="F_b0f83ce6-a297-43d9-938f-19407231005e">P7Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_2306aad4-6e30-4ac6-91da-b9012537d38e"
      id="F_2f5f6220-ca3a-49a0-89a4-5d0f08d54a11">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_8ed6fc73-77e4-4417-9c25-7ff2a11ea4c4">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Earnings Per Share&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company reports earnings per share (&#x201c;EPS&#x201d;) in accordance with ASC 260, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;"Earnings Per Share," &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;which establishes standards for computing and presenting EPS. Basic EPS is computed by dividing net income available to common shareholders by the weighted average number of common shares outstanding during the period. Diluted EPS is computed by dividing net income available to common shareholders by the weighted-average number of common shares and dilutive common share equivalents outstanding during the period. Potential common share equivalents consist of restricted stock awards (including performance stock units) and the incremental common shares issuable upon the exercise of stock options and warrants. Under the treasury stock method, unexercised &#x201c;in-the-money&#x201d; stock options are assumed to be exercised at the beginning of the period or at issuance, if later. The assumed proceeds are then used to purchase common shares at the average market price during the period. In periods when the Company has a net loss, stock awards are excluded from the calculation of earnings per share as their inclusion would have an antidilutive effect.&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;A reconciliation of basic and diluted weighted average share outstanding is as follows:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
        &lt;table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:57.477%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.399%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:10.776%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.399%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:10.776%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.399%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:10.776%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands, except per share data)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Numerator:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35,596&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;185,959&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;128,291&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Effect of dilutive securities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;Charges associated with convertible debt instruments, net of tax&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;387&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;Numerator for diluted earnings per share - net income available to common stockholders after the effect of dilutive securities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35,596&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;186,346&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;128,291&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Denominator:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Weighted average shares used in computing net income per&lt;br/&gt;&#160;&#160;&#160;share - basic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,720&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,460&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,015&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Effect of dilutive shares:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Options and stock units&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;457&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;608&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;915&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Convertible senior notes&lt;/span&gt;&lt;span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;181&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,360&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,253&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Dilutive effect of unvested performance stock units&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Dilutive potential common shares&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;657&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,995&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,249&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56,377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;57,455&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;57,264&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Earnings per share:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Basic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.64&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.35&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.33&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Diluted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.63&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.24&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.24&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Represents the dilutive impact for the Company's &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.375&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% Convertible Senior Notes due 2024 (the &#x201c; 2019 Notes&#x201d;) and its &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.00&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% Convertible Senior Notes due 2028 (the &#x201c;2023 Notes&#x201d;). As of December 31, 2023, the if-converted value is less than the outstanding principal of the 2023 Notes and are therefore anti-dilutive. Refer to Note 15, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Convertible Senior Notes,&#x201d;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; for more information.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;For the years ended December 31, 2023, 2022 and 2021, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;306,849&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;177,318&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares and &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;white-space:pre-wrap;min-width:fit-content;color:#000000;"&gt;68,968&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares, respectively, of the Company&#x2019;s common stock were excluded from the calculation of diluted earnings per share because they would have had an anti-dilutive effect for years presented.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In July 2019, the Company issued $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;287.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of its 2019 Notes. As provided by the terms of the indenture underlying the 2019 Notes, prior to March 4, 2022, conversion of the 2019 Notes could have been settled in cash, shares of the Company&#x2019;s common stock or a combination thereof, at the Company&#x2019;s election. On March 4, 2022, we entered into the Second Supplemental Indenture for the 2019 Notes, which irrevocably elected to settle the conversion of the 2019 Notes using a combination of cash and shares of the Company's common stock, settling the par value of the 2019 Notes in cash and any excess conversion premium in shares. On December 14, 2023, the Company exchanged, in a privately negotiated exchange, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;309.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million principal amount of 2023 Notes for $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;217.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million principal amount of 2019 Notes and issued $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;290.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of 2023 Notes for $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;290.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in cash. Following the close of the Exchange Transaction, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in aggregate principal amount of 2019 Notes remains outstanding with terms unchanged.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;As provided by the terms of the Second Supplemental Indenture underlying the 2019 Notes, the Company irrevocably elected to settle the conversion obligation for the 2019 Notes in a combination of cash and shares of the Company's common stock. This means the Company will settle the par value of the 2019 Notes in cash and any excess conversion premium in shares. As mentioned in Note 15, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Convertible Senior Notes,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;the &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Company adopted ASU 2020-06 effective January 1, 2022. Under ASU 2020-06, the Company is required to reflect the dilutive effect of the convertible securities by application of the &#x201c;if-converted&#x201d; method, which means the denominator of the EPS calculation would include the total number of shares assuming the 2019 Notes had been fully converted at the beginning of the period. Prior to March 4, 2022, the Company had the choice to settle the&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;conversion &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;of the 2019 Notes in cash, stock or a combination of the two. Therefore, from January 1, 2022 (the date the Company adopted ASU 2020-06) to March 4, 2022, the Company included &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,474,429&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares in the denominator of the EPS calculation, applying the if converted method. Subsequent to March 4, 2022, after the Second Supplemental Indenture became effective, the Company irrevocably elected to settle the conversion obligation for the 2019 Notes in a combination of cash and shares of the Company's common stock, and from March 5, 2022 forward, only the excess premium will be settled with shares. Under the if-converted method of calculating dilutive shares, the Company was also required to exclude amortization of debt issuance costs and interest charges applicable to the convertible debt from the numerator of the dilutive EPS calculation for the period from January 1, 2022 to March 4, 2022, as if the interest on convertible debt was never recognized for that period. As a result, the Company excluded interest charges of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million (net of tax) from the numerator and included &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,359,957&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares in the calculation of diluted earnings as the dilutive effect of the conversion premium for the year ended December 31, 2022. There were no comparable amounts included in 2023 or 2021.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Prior to the adoption of ASU 2020-06, the Company applied the provisions of ASC 260, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Earnings Per Share,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;subsection 10-45-44, to determine the diluted weighted average shares outstanding as it related to the conversion spread on its convertible notes. Accordingly, the par value of the 2019 Notes was not included in the calculation of diluted EPS, but the dilutive effect of the conversion premium was considered in the calculation of diluted EPS using the treasury stock method. The dilutive impact of the 2019 Notes was based on the difference between the Company&#x2019;s current period average stock price and the conversion price of the convertible notes, provided there is a premium. Pursuant to this accounting standard, there was no dilution from the accreted principal of the 2019 Notes.&lt;/span&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_b1315c7c-5d72-4cea-89d2-2c38929ee22b">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;A reconciliation of basic and diluted weighted average share outstanding is as follows:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
        &lt;table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:57.477%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.399%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:10.776%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.399%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:10.776%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.399%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:10.776%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands, except per share data)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Numerator:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35,596&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;185,959&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;128,291&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Effect of dilutive securities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;Charges associated with convertible debt instruments, net of tax&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;387&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;Numerator for diluted earnings per share - net income available to common stockholders after the effect of dilutive securities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35,596&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;186,346&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;128,291&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Denominator:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Weighted average shares used in computing net income per&lt;br/&gt;&#160;&#160;&#160;share - basic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,720&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,460&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,015&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Effect of dilutive shares:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Options and stock units&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;457&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;608&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;915&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Convertible senior notes&lt;/span&gt;&lt;span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;181&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,360&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,253&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Dilutive effect of unvested performance stock units&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Dilutive potential common shares&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;657&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,995&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,249&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56,377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;57,455&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;57,264&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:5pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Earnings per share:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Basic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.64&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.35&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.33&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Diluted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.63&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.24&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.24&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Represents the dilutive impact for the Company's &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.375&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% Convertible Senior Notes due 2024 (the &#x201c; 2019 Notes&#x201d;) and its &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.00&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% Convertible Senior Notes due 2028 (the &#x201c;2023 Notes&#x201d;). As of December 31, 2023, the if-converted value is less than the outstanding principal of the 2023 Notes and are therefore anti-dilutive. Refer to Note 15, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Convertible Senior Notes,&#x201d;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; for more information.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_6fdeb397-014b-4ad5-a692-6647edd454e3"
      unitRef="U_USD">35596000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_96731ea6-bffa-40e5-b322-7ffd470336cc"
      unitRef="U_USD">185959000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_5a2aaa4b-bad3-4443-be3a-b2dbcc66376a"
      unitRef="U_USD">128291000</us-gaap:NetIncomeLoss>
    <us-gaap:InterestOnConvertibleDebtNetOfTax
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_6f0b6c02-7fc3-4730-a262-bb596b5fd1ab"
      unitRef="U_USD">0</us-gaap:InterestOnConvertibleDebtNetOfTax>
    <us-gaap:InterestOnConvertibleDebtNetOfTax
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_5a548b45-36e7-4334-b9ba-29f5e338c593"
      unitRef="U_USD">387000</us-gaap:InterestOnConvertibleDebtNetOfTax>
    <us-gaap:InterestOnConvertibleDebtNetOfTax
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_c547bf98-83ed-4e75-b56f-cb2ed510071e"
      unitRef="U_USD">0</us-gaap:InterestOnConvertibleDebtNetOfTax>
    <us-gaap:NetIncomeLossAttributableToParentDiluted
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_ce43711e-d332-4c45-af53-2450b36d6353"
      unitRef="U_USD">35596000</us-gaap:NetIncomeLossAttributableToParentDiluted>
    <us-gaap:NetIncomeLossAttributableToParentDiluted
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_7cefec3f-594f-4b36-aada-4f82e6013b86"
      unitRef="U_USD">186346000</us-gaap:NetIncomeLossAttributableToParentDiluted>
    <us-gaap:NetIncomeLossAttributableToParentDiluted
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_0388b4db-29e2-4968-b909-b6e775728217"
      unitRef="U_USD">128291000</us-gaap:NetIncomeLossAttributableToParentDiluted>
    <rgen:NumberOfSharesBasicOutstanding
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="INF"
      id="F_b8e6c8d9-99ed-4008-beec-3161420ed936"
      unitRef="U_shares">55720</rgen:NumberOfSharesBasicOutstanding>
    <rgen:NumberOfSharesBasicOutstanding
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="INF"
      id="F_866815ec-91d4-404a-8b76-5872a6b8f15b"
      unitRef="U_shares">55460</rgen:NumberOfSharesBasicOutstanding>
    <rgen:NumberOfSharesBasicOutstanding
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="INF"
      id="F_5a7e1cc7-0b27-48d6-ada5-d70092b4e8e0"
      unitRef="U_shares">55015</rgen:NumberOfSharesBasicOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesRestrictedStock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="INF"
      id="F_1729b132-f2b1-4bf3-9133-8ac7861de1ce"
      unitRef="U_shares">457</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
    <us-gaap:WeightedAverageNumberOfSharesRestrictedStock
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="INF"
      id="F_6efc2fd2-ed6f-4931-9905-fca28a357cd4"
      unitRef="U_shares">608</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
    <us-gaap:WeightedAverageNumberOfSharesRestrictedStock
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="INF"
      id="F_dc460c07-9d33-49a3-bc5d-e35aa81c5269"
      unitRef="U_shares">915</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
    <rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="INF"
      id="F_861881d7-4892-409d-b731-77fe13d96c22"
      unitRef="U_shares">181</rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes>
    <rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="INF"
      id="F_89b0ea6b-5f84-4ee3-8152-1225892aecf0"
      unitRef="U_shares">1360</rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes>
    <rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="INF"
      id="F_29c76701-e631-4e49-a3b3-279168f10c46"
      unitRef="U_shares">1253</rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes>
    <rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="INF"
      id="F_7a71958b-7fbb-4786-b732-1bd133ecf143"
      unitRef="U_shares">8</rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration>
    <rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="INF"
      id="F_9b5828ba-5d13-444c-8a2b-f138d7b8eaca"
      unitRef="U_shares">11</rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration>
    <rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="INF"
      id="F_aabbe6b5-54b0-4351-89ad-88bf02afac52"
      unitRef="U_shares">0</rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration>
    <rgen:WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="INF"
      id="F_89e7a7f9-bc37-41aa-a50f-805f2457efbd"
      unitRef="U_shares">11</rgen:WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits>
    <rgen:WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="INF"
      id="F_88682bb8-b22d-4529-a708-57e58909223c"
      unitRef="U_shares">16</rgen:WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits>
    <rgen:WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="INF"
      id="F_11b59b4c-4a36-4424-bfca-9de21616782c"
      unitRef="U_shares">81</rgen:WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="INF"
      id="F_233bad57-84b2-47de-9730-baf737fd926b"
      unitRef="U_shares">657</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="INF"
      id="F_8f27bfdd-6d1d-4886-aa39-d120b89669bc"
      unitRef="U_shares">1995</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="INF"
      id="F_c2262554-a115-4632-a186-50c14e4804e3"
      unitRef="U_shares">2249</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="INF"
      id="F_b9651fcf-c803-46f1-a136-3ac94640a4df"
      unitRef="U_shares">56377</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="INF"
      id="F_95cc9958-d53c-456a-afcb-9211a1920605"
      unitRef="U_shares">57455</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="INF"
      id="F_ce23e076-b722-4757-83f3-3c2d279d7518"
      unitRef="U_shares">57264</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="INF"
      id="F_ca568047-05f1-4a82-aa20-54f08c8fe107"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.64</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="INF"
      id="F_ba39475d-61ef-4790-a9bd-067cb5e3d9bd"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">3.35</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="INF"
      id="F_668840f2-b5b4-41f3-aa59-83b4158c6336"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">2.33</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="INF"
      id="F_40792667-6832-4e87-8abd-ecbb5bb99ed6"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.63</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="INF"
      id="F_6a93ffdb-46dc-4767-a37c-d2d508937fe8"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">3.24</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="INF"
      id="F_e4bee34a-cf58-4fe7-9fa3-7b8d61fea64b"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">2.24</us-gaap:EarningsPerShareDiluted>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="C_dd71ae59-f1fd-409e-b94a-3357654f6efd"
      decimals="5"
      id="F_3372c2d6-151c-4506-8390-a2ffc425111c"
      unitRef="U_pure">0.00375</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09"
      decimals="4"
      id="F_101840b5-21a4-41fe-a3c1-839f212b3076"
      unitRef="U_pure">0.01</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="INF"
      id="F_7e5a590f-58e3-468c-9ecf-bcaf57d0354d"
      unitRef="U_shares">306849</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="INF"
      id="F_e945676b-facf-48c2-98bf-cfc4d4833c6b"
      unitRef="U_shares">177318</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="INF"
      id="F_708708c8-a8fa-4123-99ca-a93b99ae877c"
      unitRef="U_shares">68968</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_fb630dbe-e192-4d10-a0bc-d7caa78ff0b7"
      decimals="-5"
      id="F_0e28fbb2-c751-4d31-a31a-9bfccecc1d14"
      unitRef="U_USD">287500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="C_b4d4e915-4714-412b-939b-5521b848cb6e"
      decimals="-5"
      id="F_f4e2e583-cd6c-4b57-8d34-bd07ff96ad73"
      unitRef="U_USD">309900000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="C_29a848f4-ea3f-496e-98fb-674103147d75"
      decimals="-5"
      id="F_2336c732-6b9e-4648-94f7-5fc2bd977194"
      unitRef="U_USD">217700000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_b4d4e915-4714-412b-939b-5521b848cb6e"
      decimals="-5"
      id="F_426370bd-f7c9-4183-a723-a7e59491b52b"
      unitRef="U_USD">290100000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:Cash
      contextRef="C_b4d4e915-4714-412b-939b-5521b848cb6e"
      decimals="-5"
      id="F_f75ccb96-fbb2-45c7-8611-ec220c9d4d7f"
      unitRef="U_USD">290100000</us-gaap:Cash>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_29a848f4-ea3f-496e-98fb-674103147d75"
      decimals="-5"
      id="F_fac7548c-70a1-44dc-9761-b2066ddbe0a2"
      unitRef="U_USD">69700000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_0da3fa68-d185-4ccd-acca-ba79deaa1e03"
      decimals="INF"
      id="F_5081fab1-ad10-446a-beb2-59c61c582f84"
      unitRef="U_shares">3474429</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:InterestOnConvertibleDebtNetOfTax
      contextRef="C_4b6f2d99-6a60-4eb8-98f6-539b51a3bc51"
      decimals="-5"
      id="F_63787f5c-4c21-454c-9c5d-eb2dfc085f4a"
      unitRef="U_USD">400000</us-gaap:InterestOnConvertibleDebtNetOfTax>
    <rgen:DilutiveEffectOnSharesOfConversionPremium
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="INF"
      id="F_09c177e3-5f51-4ace-aff1-1cb7be4e3850"
      unitRef="U_shares">1359957</rgen:DilutiveEffectOnSharesOfConversionPremium>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_1353f9aa-ce15-4408-b6d7-71d84a4696ec">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Segment Reporting&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Operating segments are components of an enterprise that engage in business activities for which discrete financial information is available and regularly reviewed by the CODM in deciding how to allocate resources and assess performance. Our CEO has been identified as our CODM.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company views its operations, makes decisions regarding how to allocate resources and manages its business as &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;one&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; reportable segment and one reporting unit. As a result, the financial information disclosed herein represents all of the material financial information related to the Company.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents product revenues by product line:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:49.24%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.66%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:13.26%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.66%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:13.26%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.66%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:13.26%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;span style="color:#000000;top:-3.752pt;white-space:pre-wrap;font-weight:bold;font-size:5.36pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;span style="color:#000000;top:-3.752pt;white-space:pre-wrap;font-weight:bold;font-size:5.36pt;position:relative;min-width:fit-content;"&gt;(2)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Filtration products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;341,379&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;495,930&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;403,505&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Chromatography products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126,629&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;131,680&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;91,037&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Process analytics products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56,820&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;53,512&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;48,019&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Proteins products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;103,463&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;114,320&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;123,707&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,688&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,741&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,051&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total product revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;631,979&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;801,183&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;670,319&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#x201c;FlexBiosys&#x201d;) from April 17, 2023, as well as Metenova Holding AB (&#x201c;Metenova&#x201d;) from October 2, 2023.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;(2)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;2021 revenue for filtration products includes revenue related to Polymem S.A. (&#x201c;Polymem&#x201d;) from July 1, 2021, as well as BioFlex Solutions LLC (&#x201c;BioFlex&#x201d;) and Newton T&amp;amp;M Corp. (&#x201c;NTM&#x201d;) from December 16, 2021 through December 31, 2021. 2021 revenue for proteins products includes revenue related to Avitide, Inc. (&#x201c;Avitide&#x201d;) from September 20, 2021 through December 31, 2021.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Revenue from filtration products includes the XCell ATF&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; systems and consumables as well as the KrosFlo&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; and SIUS&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; filtration products. Revenue from chromatography products includes the OPUS&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; chromatography pre-packed columns, chromatography resins and ELISA test kits. Revenue from process analytics products includes the SoloVPE&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, FlowVPE&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; RPM&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;and FlowVPX&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; devices. Revenue from protein products includes the Protein A affinity ligands and cell culture growth factors. Other revenue primarily consists of revenue from the sale of operating room products to hospitals as well as freight revenue.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents the Company&#x2019;s total revenue by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented (based on the location of the customer):&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:57.409%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:11.177999999999999%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:11.177999999999999%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:11.238%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Revenue by customers' geographic locations:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;North America&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;43&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Europe&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;36&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;40&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;APAC/Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents the Company&#x2019;s total assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:66.993%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Revised)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total assets by geographic locations:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;North America&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,377,868&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,216,186&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Europe&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;426,148&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;287,543&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;APAC&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,169&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,871&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total assets by geographic location&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,831,185&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,531,600&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents the Company&#x2019;s long-lived assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:66.993%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long-lived assets by geographic locations:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;North America&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;278,033&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;275,151&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Europe&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;43,280&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;38,541&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;APAC&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,919&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,819&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total long-lived assets by geographic location&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;324,232&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;316,511&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;/div&gt;</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="INF"
      id="F_2d7e1264-8659-4a8e-9650-a0e8cfc7cc13"
      unitRef="U_Segment">1</us-gaap:NumberOfOperatingSegments>
    <us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_1734bf15-96fb-47dc-aa1b-f9b343ad9267">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents product revenues by product line:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:49.24%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.66%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:13.26%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.66%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:13.26%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.66%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:13.26%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;span style="color:#000000;top:-3.752pt;white-space:pre-wrap;font-weight:bold;font-size:5.36pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;span style="color:#000000;top:-3.752pt;white-space:pre-wrap;font-weight:bold;font-size:5.36pt;position:relative;min-width:fit-content;"&gt;(2)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Filtration products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;341,379&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;495,930&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;403,505&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Chromatography products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126,629&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;131,680&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;91,037&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Process analytics products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56,820&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;53,512&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;48,019&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Proteins products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;103,463&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;114,320&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;123,707&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,688&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,741&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,051&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total product revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;631,979&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;801,183&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;670,319&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#x201c;FlexBiosys&#x201d;) from April 17, 2023, as well as Metenova Holding AB (&#x201c;Metenova&#x201d;) from October 2, 2023.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;(2)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;2021 revenue for filtration products includes revenue related to Polymem S.A. (&#x201c;Polymem&#x201d;) from July 1, 2021, as well as BioFlex Solutions LLC (&#x201c;BioFlex&#x201d;) and Newton T&amp;amp;M Corp. (&#x201c;NTM&#x201d;) from December 16, 2021 through December 31, 2021. 2021 revenue for proteins products includes revenue related to Avitide, Inc. (&#x201c;Avitide&#x201d;) from September 20, 2021 through December 31, 2021.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_45d4a4e0-a4ed-4901-b2d3-5c70924ea702"
      decimals="-3"
      id="F_f509d41c-5da8-4fd0-a453-24a05f8530a4"
      unitRef="U_USD">341379000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_f1ac95cc-2a2f-4c6d-b070-857146dea57d"
      decimals="-3"
      id="F_5f36d84a-245e-404c-b507-338fd78c2105"
      unitRef="U_USD">495930000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_21cb6274-03c5-4f2c-bc2e-1ae30fc4b8c4"
      decimals="-3"
      id="F_ceef037b-2330-4938-b3cb-47e73627807d"
      unitRef="U_USD">403505000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_828b60f1-7f4c-41de-ab48-de2fad2baddf"
      decimals="-3"
      id="F_b1ffe4ea-7316-444c-b857-e041ec38f9e6"
      unitRef="U_USD">126629000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_c7bf4bbb-9480-4f18-a942-b0bebb57bcd5"
      decimals="-3"
      id="F_5ca081fb-58f5-492b-83ad-8d6fd5445c74"
      unitRef="U_USD">131680000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_dfb4eed7-fb35-4d58-9cc6-904dd41d7feb"
      decimals="-3"
      id="F_17d8eb53-fd7c-41c5-9e34-f0fd5696908a"
      unitRef="U_USD">91037000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_8e95ff1f-a37f-43db-b5d6-e6c7d5095abb"
      decimals="-3"
      id="F_f6e945f7-13e4-49b2-a13c-dcfb5e5be255"
      unitRef="U_USD">56820000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_aa029d8a-3fde-4c72-8a40-44437d26696c"
      decimals="-3"
      id="F_80852761-1b85-44f6-b8da-063dacc01eb1"
      unitRef="U_USD">53512000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_3cda38b9-3bf9-4a27-ba89-447c16d2f99b"
      decimals="-3"
      id="F_1b2d0dfc-a3ee-4825-a26b-a787d26cd88c"
      unitRef="U_USD">48019000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_43d07d1c-4638-4ece-a12c-72e135a3b500"
      decimals="-3"
      id="F_97909c0e-34ec-4899-a634-334a9e5d2901"
      unitRef="U_USD">103463000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_93e23824-4001-4d83-b57f-abe01e7a1cec"
      decimals="-3"
      id="F_082b113d-9974-4d50-84f7-101a837d9964"
      unitRef="U_USD">114320000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_2ebdc143-b937-4a25-8992-2d85226e2e5e"
      decimals="-3"
      id="F_38637e94-aeb7-4644-b22e-530ae275b15a"
      unitRef="U_USD">123707000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_ae758623-b001-4707-b9da-c6ce9ead2177"
      decimals="-3"
      id="F_41b171e9-8ee9-4d07-8cdf-b85a169968d2"
      unitRef="U_USD">3688000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_6fbf62a7-4be7-4e53-824d-972254971729"
      decimals="-3"
      id="F_b39d4e19-4daa-4383-9c4d-72fa5b24e8a1"
      unitRef="U_USD">5741000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_15cb21fa-c992-46f4-b1c5-079db171c763"
      decimals="-3"
      id="F_a7e85f61-3695-4b3d-bbf0-5a31e53af7bc"
      unitRef="U_USD">4051000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_986f06fb-599d-441f-bf85-de13b571525e"
      decimals="-3"
      id="F_587f9d8b-5ff8-439b-a202-ab2e518b9139"
      unitRef="U_USD">631979000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_63d4e2c0-13f1-4b63-a2b4-ed1c5a642163"
      decimals="-3"
      id="F_168a85ec-9893-4170-983e-5eeb5d78e54d"
      unitRef="U_USD">801183000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_56b5ac01-5af9-4a1e-ae71-eebdd534d000"
      decimals="-3"
      id="F_10b7aaf5-58f9-4d2d-bbd4-86ba3f3b8400"
      unitRef="U_USD">670319000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock
      contextRef="C_d517e436-774e-430b-b7a9-215ae3774a7e"
      id="F_8c58cba7-86c4-4080-b2a4-7265143bda46">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents the Company&#x2019;s total revenue by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented (based on the location of the customer):&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:57.409%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:11.177999999999999%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:11.177999999999999%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:11.238%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Revenue by customers' geographic locations:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;North America&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;43&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Europe&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;36&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;40&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;APAC/Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;</us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_d80d597c-3ac0-45b9-a4a1-fbd9ed9072ce"
      decimals="2"
      id="F_f1c792ee-b2d1-40c0-b6a9-6a3aafb4997e"
      unitRef="U_pure">0.44</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_458045ff-bf6d-4fbc-9e9e-1b2c8f456dd2"
      decimals="2"
      id="F_724b3e13-4464-4083-9487-1d483d3a5bf1"
      unitRef="U_pure">0.43</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_18de3830-8e4b-43b1-b769-f4d6404c6044"
      decimals="2"
      id="F_03423379-ef60-453c-a1dd-e9348c1307d5"
      unitRef="U_pure">0.41</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_a40eb5ba-0a80-41bb-a4de-c91b4e73a339"
      decimals="2"
      id="F_403ba4e7-a4a5-4483-931a-bb4409041c5c"
      unitRef="U_pure">0.36</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_f200702d-3542-4b3f-b0cd-72b379dcd4de"
      decimals="2"
      id="F_41fa8e80-0b0c-411c-8892-97acc895025a"
      unitRef="U_pure">0.37</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_de576b41-579e-486b-b67a-91a0de11cca0"
      decimals="2"
      id="F_d2a3d3c9-e4cf-49ac-a42c-377b125eff87"
      unitRef="U_pure">0.40</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_7c8ecffb-e521-43b6-9f00-cf54e50c4240"
      decimals="2"
      id="F_47b67124-2129-4f5d-a1e0-6b7fe9c45e17"
      unitRef="U_pure">0.20</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_57a31b66-c67f-42d7-a0fe-f939794d67d6"
      decimals="2"
      id="F_1398004d-3e2a-4335-b17b-8486a96a2be5"
      unitRef="U_pure">0.20</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_5571093e-15b6-44fc-977a-a5b348d7b236"
      decimals="2"
      id="F_7c85e7ab-f9f8-42f7-8758-f7f72626df02"
      unitRef="U_pure">0.19</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_7f11107d-8c42-4922-babc-75a59b58c2c2"
      decimals="2"
      id="F_3b7df6fa-be00-45ca-8523-a9d24476cc37"
      unitRef="U_pure">1</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_a34f5856-042c-46e8-a686-e88ec78ac42e"
      decimals="2"
      id="F_f88011a0-fbac-4427-84f4-a12844fc2469"
      unitRef="U_pure">1</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_c72349fb-9b16-4d54-ab39-870ba6ec83a3"
      decimals="2"
      id="F_e0774460-34ea-4229-9664-0cfe7cab0592"
      unitRef="U_pure">1</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_49db2a38-95ba-42f0-9b7f-cc4af7a7d80c">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents the Company&#x2019;s total assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:66.993%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Revised)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total assets by geographic locations:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;North America&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,377,868&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,216,186&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Europe&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;426,148&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;287,543&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;APAC&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,169&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,871&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total assets by geographic location&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,831,185&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,531,600&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;</us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock>
    <us-gaap:Assets
      contextRef="C_028f0a92-fc2f-4765-8d45-da300d48f16f"
      decimals="-3"
      id="F_87266b2d-7140-43ba-89c8-986133d9eda5"
      unitRef="U_USD">2377868000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="C_731ef2bc-8693-4fa5-b925-51d077ac24fe"
      decimals="-3"
      id="F_a3d74dfd-a080-4d6c-8721-58b98feba473"
      unitRef="U_USD">2216186000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="C_63483dd9-9699-4dae-8b4d-61ed89fe7e2b"
      decimals="-3"
      id="F_b323dca8-0863-4187-84c6-9dc09013e249"
      unitRef="U_USD">426148000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="C_36242248-d8f6-4cc4-a6d9-f748120d033b"
      decimals="-3"
      id="F_f983b08b-f9bf-42e2-80e2-891c61778bad"
      unitRef="U_USD">287543000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="C_4983baff-0876-4143-a902-ebc910164077"
      decimals="-3"
      id="F_ba59b5aa-57fa-4a5d-afa4-bc5c3c8ea91a"
      unitRef="U_USD">27169000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="C_5db82e18-d6a0-4194-a855-2452c0c03355"
      decimals="-3"
      id="F_19f9339b-5bd8-468a-b3fd-c35c3f2510f0"
      unitRef="U_USD">27871000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_07f10edf-6ba3-4ce0-b726-957a414aff24"
      unitRef="U_USD">2831185000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_a72d3d79-531c-4ba7-a4c3-207b7eb28b5d"
      unitRef="U_USD">2531600000</us-gaap:Assets>
    <us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_4a0c34bf-5c07-48ab-8cda-6fdfea5f0462">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents the Company&#x2019;s long-lived assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:66.993%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long-lived assets by geographic locations:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;North America&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;278,033&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;275,151&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Europe&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;43,280&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;38,541&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;APAC&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,919&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,819&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total long-lived assets by geographic location&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;324,232&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;316,511&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;</us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock>
    <rgen:AssetsNonCurrentExcludingDifferedTaxAssets
      contextRef="C_028f0a92-fc2f-4765-8d45-da300d48f16f"
      decimals="-3"
      id="F_80e2ae04-41ca-4a66-a96f-ed28932d05f4"
      unitRef="U_USD">278033000</rgen:AssetsNonCurrentExcludingDifferedTaxAssets>
    <rgen:AssetsNonCurrentExcludingDifferedTaxAssets
      contextRef="C_731ef2bc-8693-4fa5-b925-51d077ac24fe"
      decimals="-3"
      id="F_c47fb7aa-8f09-4901-87d5-008c25ab86cf"
      unitRef="U_USD">275151000</rgen:AssetsNonCurrentExcludingDifferedTaxAssets>
    <rgen:AssetsNonCurrentExcludingDifferedTaxAssets
      contextRef="C_63483dd9-9699-4dae-8b4d-61ed89fe7e2b"
      decimals="-3"
      id="F_15636578-6fb7-4371-8a40-f36897293e02"
      unitRef="U_USD">43280000</rgen:AssetsNonCurrentExcludingDifferedTaxAssets>
    <rgen:AssetsNonCurrentExcludingDifferedTaxAssets
      contextRef="C_36242248-d8f6-4cc4-a6d9-f748120d033b"
      decimals="-3"
      id="F_e701ad5d-0c39-4a6e-bda1-bf3e75497aa8"
      unitRef="U_USD">38541000</rgen:AssetsNonCurrentExcludingDifferedTaxAssets>
    <rgen:AssetsNonCurrentExcludingDifferedTaxAssets
      contextRef="C_4983baff-0876-4143-a902-ebc910164077"
      decimals="-3"
      id="F_1416d88f-1964-46b2-a3ff-cdfa2532e63b"
      unitRef="U_USD">2919000</rgen:AssetsNonCurrentExcludingDifferedTaxAssets>
    <rgen:AssetsNonCurrentExcludingDifferedTaxAssets
      contextRef="C_5db82e18-d6a0-4194-a855-2452c0c03355"
      decimals="-3"
      id="F_dc7b16fc-3bc6-4663-b844-70d9680f3d02"
      unitRef="U_USD">2819000</rgen:AssetsNonCurrentExcludingDifferedTaxAssets>
    <rgen:AssetsNonCurrentExcludingDifferedTaxAssets
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_1caae79c-c707-4122-8acf-be2f500cf977"
      unitRef="U_USD">324232000</rgen:AssetsNonCurrentExcludingDifferedTaxAssets>
    <rgen:AssetsNonCurrentExcludingDifferedTaxAssets
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_2f6e0fd4-36d6-44b2-8675-dd83801c6a92"
      unitRef="U_USD">316511000</rgen:AssetsNonCurrentExcludingDifferedTaxAssets>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_89a0ba58-6831-41e1-bea1-8976e7e2d141">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Concentrations of Credit Risk and Significant Customers&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Financial instruments that subject the Company to significant concentrations of credit risk primarily consist of cash and cash equivalents, marketable securities and accounts receivable. Per the Company&#x2019;s investment policy, cash equivalents and marketable securities are invested in financial instruments with high credit ratings, limit its credit exposure to any one issuer (with the exception of U.S. treasury obligations) and type of instrument is limited. At December 31, 2023, the Company had no investments associated with foreign exchange contracts, options contracts or other foreign hedging arrangements.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Concentration of credit risk with respect to accounts receivable is limited to customers to whom the Company makes significant sales. While a reserve for the potential write-off of accounts receivable is maintained, the Company has not written off any significant accounts to date. To control credit risk, the Company performs regular credit evaluations of its customers&#x2019; financial condition.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Ther&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;e was &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; revenue from customers that represented &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% or more of the Company's total revenue for the year ended December 31, 2023 or 2022. Revenue from Pfizer Inc. accounted for &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of total revenue for the year ended December 31, 2021.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;No accounts receivable balance from a specific c&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;ustomer represented &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% or more of the Company's total trade accounts receivable at &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;. Significant accounts receivable balances representing &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;or more of the Company&#x2019;s total&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;trade &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;accounts receivable balances at December 31, 2022&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; came from our accounts receivable balance outstanding with Purolite, an Ecolab Inc. company (&#x201c;Purolite&#x201d;), which was &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the Company's total trade accounts receivable balance.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_80f872bc-1413-411b-896e-4fd151e4eea3"
      decimals="-6"
      id="F_e68db123-b876-440f-a86c-99e8fc42e5e4"
      unitRef="U_USD">0</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_3192f6c5-626e-4de8-9965-0ec8fdfb47b9"
      decimals="-6"
      id="F_c7226cd4-ba3c-4268-aaba-a9c64a09f39f"
      unitRef="U_USD">0</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_60fa6f45-39ec-43c5-adac-3320c3d8a679"
      decimals="2"
      id="F_a724e0d9-9bfb-4cb5-a134-1a9952ca18c3"
      unitRef="U_pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_2ee23860-329f-4620-b83a-78ee0abbc74c"
      decimals="2"
      id="F_d9a7fc26-3e6c-421b-a758-3baa138334a8"
      unitRef="U_pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_30f269ef-88ed-48fb-a4fe-70aa91245eb7"
      decimals="2"
      id="F_20140a3d-7a4e-4b72-a465-5f5c51562ac7"
      unitRef="U_pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_fc678d8d-1280-471c-b5dd-e8b0f6b74a55"
      decimals="2"
      id="F_22f6bf83-51f0-486f-8322-25629e33bdcd"
      unitRef="U_pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_bc92bded-7ed3-40b1-9afd-fef7811fe1c0"
      decimals="2"
      id="F_35d117b1-b5a2-4488-bfa8-f76777026e96"
      unitRef="U_pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_65b08794-f7d8-4059-ac5e-94d03811f466"
      decimals="3"
      id="F_a8325dcb-a343-4ae6-a061-70f0e4c96ce3"
      unitRef="U_pure">0.127</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_d0ef2ae5-dc3d-4d92-9edb-709cd628f7b2">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Business Combinations, Goodwill and Intangible Assets&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Business Combinations&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Total consideration transferred for acquisitions is allocated to the tangible and intangible assets acquired and liabilities assumed, if any, based on their fair values at the dates of acquisition. This purchase price allocation process requires management to make significant estimates and assumptions with respect to intangible assets and deferred revenue. The fair value of identifiable intangible assets is based on detailed valuations that use information and assumptions determined by management. Any excess of purchase price over the fair value of the net tangible and intangible assets acquired is allocated to goodwill. While the Company uses its best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as any contingent consideration, where applicable, the Company&#x2019;s estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which may be up to one year from the acquisition date, the Company records adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill.  Upon conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to the Company&#x2019;s consolidated statements of comprehensive income. Any excess of the fair value of the net tangible and intangible assets acquired over the purchase price is recognized in the consolidated statements of comprehensive income. The fair value of contingent consideration includes estimates and judgments made by management regarding the probability that future contingent payments will be made and the extent of royalties to be earned in excess of the defined minimum royalties. Management updates these estimates and the related fair value of contingent consideration at each reporting period. These changes in the fair value of contingent consideration are recorded to contingent consideration in the Company&#x2019;s consolidated statements of comprehensive income. For the years ended December 31, 2023 and 2022&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, we recorded a decrease of $&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;28.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively, to the estimated contingent consideration obligation, primarily related to the acquisition of Avitide (the &#x201c;Avitide Acquisition&#x201d;).&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company uses the income approach to determine the fair value of certain identifiable intangible assets including customer relationships and developed technology. This approach determines fair value by estimating after-tax cash flows attributable to these assets over their respective useful lives and then discounting these after-tax cash flows back to a present value. The Company bases its assumptions on estimates of future cash flows, expected growth rates, expected trends in technology, etc. Discount rates used to arrive at a present value as of the date of acquisition are based on the time value of money and certain industry-specific risk factors. The Company believes the estimated purchased customer relationships, developed technologies, trademark/tradename, patents, non-compete agreements and in-process research and development amounts so determined represent the fair value at the date of acquisition, and do not exceed the amount a third-party would pay for such assets.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Goodwill is not amortized and is tested for impairment at least annually at the reporting unit level. The Company operates as one reporting unit as of the goodwill impairment measurement date of December 31, 2023. &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;During the qualitative assessment of the Company&#x2019;s &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;one&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; reporting unit during the 2023 goodwill impairment testing, it was determined that it was not more likely than not that its fair value was less than its carrying amount. As such, a quantitative impairment assessment was not required as of December 31, 2023. If an event occurs or circumstances change that would more likely than not reduce the fair value of its reporting unit below its carrying value, the Company will evaluate its goodwill for impairment between annual tests. &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;There was &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; impairment to goodwill and therefore &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; impairment charge recorded for the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company has historically tested for impairment on its goodwill annually as of its measurement date of December 31st pursuant to company policy. Subsequent to the 2023 annual impairment test, the Company voluntarily changed its annual impairment assessment date from December 31st to October 1st, the first day of the Company's fourth quarter, beginning on &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;October 1, 2024&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;. &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The change is being made to better align the annual impairment assessment date with the Company's annual planning and budgeting process as well as long-term planning and forecasting process.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; The &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Company has determined this voluntary change in accounting principle is preferable and will not impact its consolidated financial statements nor is it being done to accelerate, avoid or trigger an impairment charge. This change is not going to be applied retrospectively as it is&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;impracticable &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;to do so because retrospective application would require application of significant estimates and assumptions with the use of hindsight. Accordingly, the change will be applied prospectively.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Intangible Assets&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Intangible assets with a definite life are amortized over their useful lives using the straight-line method and the amortization expense is recorded within research and development (&#x201c;R&amp;amp;D&#x201d;) and selling, general and administrative expense in the consolidated statements of comprehensive income. Intangible assets and their related useful lives are reviewed at least annually to determine if any adverse conditions existed that would indicate the carrying value of these assets may not be recoverable. More frequent impairment assessments are conducted if certain conditions exist, including a change in the competitive landscape, any internal decisions to pursue new or different technology strategies, a loss of a significant customer, or a significant change in the marketplace, including changes in the prices paid for the Company&#x2019;s products or changes in the size of the market for the Company&#x2019;s products. If impairment indicators are present, the Company determines whether the underlying intangible asset is recoverable through estimated future undiscounted cash flows. If the asset is not found to be recoverable, it is written down to the estimated fair value of the asset based on the sum of the future discounted cash flows expected to result from the use and disposition of the asset. If the estimate of an intangible asset&#x2019;s remaining useful life is changed, the remaining carrying amount of the intangible asset is amortized prospectively over the revised remaining useful life. The Company continues to believe that its definite-lived intangible assets are recoverable at December 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Indefinite-lived intangible assets are reviewed for impairment at least annually. There has been &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; impairment of our intangible assets for the periods presented.&lt;/span&gt;&lt;/p&gt;</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <rgen:ContingentConsiderationObligationEstimated
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-5"
      id="F_c30f6dbe-c91a-4893-af61-4dda950d143e"
      unitRef="U_USD">-30600000</rgen:ContingentConsiderationObligationEstimated>
    <rgen:ContingentConsiderationObligationEstimated
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-5"
      id="F_8169fe30-b76d-4ad6-a6ce-5f23ee34cb32"
      unitRef="U_USD">-28700000</rgen:ContingentConsiderationObligationEstimated>
    <us-gaap:NumberOfReportingUnits
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="INF"
      id="F_4bcb8b03-4c7d-4f98-8370-c36ab59568d4"
      unitRef="U_ReportingUnit">1</us-gaap:NumberOfReportingUnits>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-6"
      id="F_800b2d9f-ed94-4003-96e1-8debcaf54543"
      unitRef="U_USD">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-6"
      id="F_35d493ca-4608-4da4-8da4-d1f0c4b174ab"
      unitRef="U_USD">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-6"
      id="F_cfd772b1-967f-4e01-bfc6-359edb21add7"
      unitRef="U_USD">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:AssetImpairmentCharges
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-6"
      id="F_7633176d-a9ec-4db6-8660-2233bab54bea"
      unitRef="U_USD">0</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-6"
      id="F_d622c344-dbb2-47c6-aaec-830a906ecb32"
      unitRef="U_USD">0</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-6"
      id="F_02f2095d-ada4-4104-9321-a2f44cc9bff9"
      unitRef="U_USD">0</us-gaap:AssetImpairmentCharges>
    <us-gaap:NewDateOfAnnualGoodwillImpairmentTest
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_099311a1-912d-4d04-84f1-fcc629df7164">October 1, 2024</us-gaap:NewDateOfAnnualGoodwillImpairmentTest>
    <us-gaap:GoodwillImpairedFactsAndCircumstancesLeadingToImpairment
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_b420ed46-eb74-4892-bab4-6d5efc9b9b08">The change is being made to better align the annual impairment assessment date with the Company's annual planning and budgeting process as well as long-term planning and forecasting process.</us-gaap:GoodwillImpairedFactsAndCircumstancesLeadingToImpairment>
    <us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-6"
      id="F_b4ed6c4d-ed63-4351-a656-c5a72b0739c7"
      unitRef="U_USD">0</us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_484f1b07-02ce-4028-9eb2-b4fdb6801928">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Stock Based Compensation&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company measures stock-based compensation cost at the grant date based on the estimated fair value of the award and recognizes it as an expense over the employee&#x2019;s requisite service period on a straight-line basis. The Company records the expense for share-based awards subject to performance-based milestone vesting over the remaining service period when management determines that achievement of the milestone is probable. Management evaluates whether the achievement of a performance-based milestone is probable as of the reporting date. The Company has no awards that are subject to market conditions. The Company recognizes stock-based compensation expense based upon options that are ultimately expected to vest, and accordingly, such compensation expense has been adjusted by an amount of estimated forfeitures.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company uses the Black-Scholes option pricing model to calculate the fair value of share-based awards on the grant date. The following assumptions are used in calculating the fair value of share-based awards:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Expected term&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &#x2013; The expected term of options granted represents the period of time for which the options are expected to be outstanding. For purposes of estimating the expected term, the Company has aggregated all individual option awards into one group as the Company does not expect substantial differences in exercise behavior among its employees.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Expected volatility&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &#x2013; The expected volatility is a measure of the amount by which the Company&#x2019;s stock price is expected to fluctuate during the expected term of options granted. The Company determines the expected volatility based primarily upon the historical volatility of the Company&#x2019;s common stock over a period commensurate with the option&#x2019;s expected term.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Risk-free interest rate&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &#x2013; The risk-free interest rate is the implied yield available on U.S. treasury zero-coupon issues with a remaining term equal to the option&#x2019;s expected term on the grant date.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Expected dividend yield&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &#x2013; The Company has never declared or paid any cash dividends on any of its capital stock and does not expect to do so in the foreseeable future. Accordingly, the Company uses an expected dividend yield of zero to calculate the grant-date fair value of a stock option.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Estimated forfeiture rates&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &#x2013; The Company has applied, based on an analysis of its historical forfeitures, annual forfeiture rates of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to non-executive level employees, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to executive level employees and &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to non-employee members of the Board of Directors (&#x201c;Board&#x201d;) to all unvested stock options as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Company reevaluates this analysis periodically and adjusts these estimated forfeiture rates as necessary. Ultimately, the Company will only recognize an expense for those shares that vest.&lt;/span&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <rgen:PercentageOfSharesSubjectToForfeiture
      contextRef="C_d3d3487c-fcb3-4a02-bfae-0d51403d51fa"
      decimals="2"
      id="F_85a378a9-1fa1-416b-bf23-b7fa6a56f848"
      unitRef="U_pure">0.08</rgen:PercentageOfSharesSubjectToForfeiture>
    <rgen:PercentageOfSharesSubjectToForfeiture
      contextRef="C_4fe67a58-54bc-4aef-a0c3-06b74b3c59ed"
      decimals="2"
      id="F_19bb1802-576a-4c2d-8dfd-7e42b6ec67b6"
      unitRef="U_pure">0.03</rgen:PercentageOfSharesSubjectToForfeiture>
    <rgen:PercentageOfSharesSubjectToForfeiture
      contextRef="C_2a39499c-96c9-4ec2-a199-753949caf542"
      decimals="2"
      id="F_c9ff88ed-e3b3-458f-b38a-dc56d3a40874"
      unitRef="U_pure">0</rgen:PercentageOfSharesSubjectToForfeiture>
    <us-gaap:AdvertisingCostsPolicyTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_2d4c35d3-001d-4d70-8262-560035394580">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Advertising Costs&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company expenses advertising costs as they are incurred. Advertising expense for the years ended December 31, 2023, 2022 and 2021&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively.&lt;/span&gt;&lt;/p&gt;</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:AdvertisingExpense
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-5"
      id="F_8a6012e2-9656-4c2e-be2b-f79e3b600db1"
      unitRef="U_USD">800000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-5"
      id="F_3d6b0ab0-41a6-4a7e-8488-307d3e5e0f32"
      unitRef="U_USD">600000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-5"
      id="F_91e73f9d-674c-462e-8be7-f7c206d99d46"
      unitRef="U_USD">600000</us-gaap:AdvertisingExpense>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_3dc8fcbd-04a5-4db8-9b56-9b9e54332d66">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Recent Accounting Standards Updates&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;We consider the applicability and impact of all ASUs and other accounting guidance on the Company&#x2019;s consolidated financial statements. Updates not listed below were assessed and determined to be either not applicable or are expected to have minimal impact on the Company&#x2019;s consolidated financial position or results of operations. Recently issued accounting guidance that we feel may be applicable to the Company are as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Recently Issued Accounting Guidance &#x2013; Adopted During the Fiscal Year&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In July 2023, the U.S. Securities and Exchange Commission (the &#x201c;SEC&#x201d;) adopted the final rule under SEC Release No. 33-11216, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Cybersecurity Risk Management, Strategy, Governance, and Incident Disclosure,&#x201d;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; requiring current reporting about material cybersecurity incidents and annual disclosures on management&#x2019;s processes for assessing, identifying, and managing material cybersecurity risks, the material impacts of cybersecurity threats and previous cybersecurity incidents, the Board's oversight of cybersecurity risks, and management&#x2019;s role and expertise in assessing and managing material cybersecurity risks. SEC Release No. 33-11216 was effective for us during the third quarter of 2023. The adoption of this guidance did not have a material impact on the Company&#x2019;s consolidated financial statements and disclosures.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In December 2022, the SEC adopted the final rule under SEC Release No. 33-11138,&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; "Insider Trading Arrangements and Related Disclosures&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;," which requires new disclosures regarding insider trading policies and procedures, the use of Rule 10b5-1 plans by directors and officers, and stock option grants issued in close proximity to the release of material nonpublic information. SEC Release No. 33-11138 was effective for us for our second quarter of 2023, and did not have a material impact on our consolidated financial statements and disclosures.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Recently Issued Accounting Guidance &#x2013; Not Yet Adopted&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In December 2023, the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued ASU 2023-09, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Income Taxes (Topic 740) - Improvements to Income Tax Disclosures.&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;ASU 2023-09 enhances the transparency and decision usefulness of income tax disclosures by requiring consistent categories and greater disaggregation of information in the rate reconciliation and income taxes paid disaggregated by jurisdiction. ASU 2023-09 will be effective for the Company in its income tax disclosure included in its 2025 Annual Report on Form 10-K and will be applied on a prospective basis. However, retrospective application is permitted. Early adoption is also permitted. Besides a change in income tax disclosures, the Company does not expect the adoption of ASU 2023-09 to have a material impact on its consolidated financial statements.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;    &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In November 2023, the FASB issued ASU 2023-07, &#x201c;S&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;egment Reporting (Topic 820) - Improvements to Reportable Segment Disclosures.&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;ASU &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;2023-07 will improve reportable segment disclosure requirements, primarily through enhanced annual and interim disclosures about significant segment expenses that are regularly provided to the CODM. The disclosure required under  ASU 2023-07 are also required for public entities with a single reportable segment. ASU 2023-07 will be effective for the Company for annual periods beginning on January 1, 2024 and interim periods beginning on January 1, 2025. The amendments of this guidance apply retrospectively to all prior periods presented in the consolidated financial statements. Early adoption is&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;permitted. &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Besides presentation in the segment footnote for its interim reporting, the Company does not expect the adoption of ASU 2023-07 to have a material impact on its consolidated financial statements.&lt;/span&gt;&lt;/p&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_201a74a4-cca2-4868-ab55-f50aaa4ee9bf">&lt;div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;4.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Fair Value Measurements&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Cash, Cash Equivalents and Marketable Securities Held to Maturity&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table summarizes the Company's cash, cash equivalents and marketable securities held to maturity as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023:&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:95.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:46.731%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.78%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.538%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.78%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.538%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.78%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.538%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.78%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.538%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As of December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amortized&lt;br/&gt;&#160;Costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Gains&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Losses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Estimated&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Cash and cash equivalents:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and money market funds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As of December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amortized &lt;br/&gt;Cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Gains&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Losses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Estimated&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Cash and cash equivalents:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and money market funds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;523,458&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;523,458&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;523,458&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;523,458&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Marketable securities held to maturity:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;U.S. treasury bills - short-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100,299&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total cash, cash equivalents and marketable securities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;623,757&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;623,781&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;During the fourth quarter of 2022, the Company purchased $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of 6-month U.S. treasury bills with &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;the positive intent and ability to hold them until maturity. Therefore, the Company classified this investment as held to maturity and stated it at amortized cost on the consolidated balance sheets. There is no comparable investment as of December 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The amortized cost and fair value of the Company's held to maturity securities by contractual maturity at December 31, 2022 are summarized below. There were no comparable investments as of December 31, 2023:&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:56.949%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:2.699%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.477%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:2.699%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.477%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:2.699%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amortized&lt;br/&gt;&#160;Costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Estimated&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Maturity of one year or less&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100,299&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;word-break:break-word;"&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100,299&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#ffffff;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Fair Value Measured on a Recurring Basis&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Financial assets and financial liabilities measured at fair value on a recurring basis consist of the following as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 and 2022:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:47.819%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.24%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.24%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.24%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.24%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As of December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Level 1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Level 2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Level 3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Assets:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Money market accounts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;658,574&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;658,574&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Liabilities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Short-term contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,983&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,983&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long-term contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,070&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,070&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As of December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Level 1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Level 2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Level 3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Assets:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Money market accounts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;343,929&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;343,929&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Liabilities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Short-term contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,950&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,950&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long-term contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;51,559&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;51,559&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Contingent Consideration &#x2013; Earnout&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;As of December 31, 2023, the maximum amount of future contingent consideration (undiscounted) that the Company could be required to pay in connection with each of the completed acquisitions is; $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;125.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million over a three-year earnout period for Avitide, which was acquired in September 2021 and for which the earnout periods run from January 1, 2022 through December 31, 2024; $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;42.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million over a two-year earnout period for FlexBiosys, which was acquired in April 2023 and for which the earnout periods run from January 1, 2023 through December 31, 2024; and approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million over a one-year earnout period for Metenova, which was acquired in October 2023 and for which the earnout period runs from January 1, 2024 through December 31, 2024. See Note 5, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Acquisitions&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;to this report for more information on the contingent consideration earnouts.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;During 2023, expected results and change in market inputs used to calculate the discount rate, resulted in a decrease in amounts reported as of December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;. &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;A reconciliation of the change in fair value of contingent consideration &#x2013; earnout is included in the following table (amounts in thousands):&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:78.56%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:2.1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:17.34%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance at December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;65,509&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Acquisition date fair value of contingent consideration earnouts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,640&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Payment of contingent consideration earnouts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,527&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Decrease in fair value of contingent consideration earnouts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,569&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,053&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The recurring Level 3 fair value measurement of our contingent consideration &#x2013; earnout that we expect to be required to settle our 2023, 2024 and 2025 contingent consideration obligation for Avitide, FlexBiosys and Metenova include the following significant unobservable inputs (amounts in thousands, except percent data):&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:18.524%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.74%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.08%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:13.903%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.163%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:16.383%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.74%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:11.942%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:13.283%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Contingent Consideration Earnout&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="3" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair Value as of&lt;br/&gt;&#160;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Valuation Technique&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Unobservable Input&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Range&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Weighted Average&lt;/span&gt;&lt;span style="color:#000000;top:-4.221pt;white-space:pre-wrap;font-weight:bold;font-size:6.03pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Probability of&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Success&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Commercialization-based payments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,094&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Monte Carlo&lt;br/&gt;Simulation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Earnout Discount Rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%-&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Volatility&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%-&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Revenue and Volume-&lt;br/&gt;based payments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,454&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Monte Carlo&lt;br/&gt;Simulation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Revenue &amp;amp; Volume&lt;br/&gt;Discount Rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%-&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Earnout Discount Rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%-&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Probability of&lt;br/&gt;&#160;Success&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Manufacturing line expansions&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,505&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Probability-weighted present value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Earnout Discount Rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%-&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;Unobservable inputs were weighted by the relative fair value of the contingent consideration liability.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company estimates the fair value of the contingent consideration earnouts using a Monte Carlo simulation. Changes in the projected performance of the acquired business could result in a higher or lower contingent consideration obligation in the future.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Fair Value Measured on a Nonrecurring Basis&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;During 2023, there were no re-measurements to fair value of financial assets and liabilities that are measured at fair value on a nonrecurring basis.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Convertible Senior Notes&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In July 2019, the Company issued $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;287.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of the 2019 Notes. Interest is payable &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;semi-annually&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; in arrears on January 15 and July 15 of each year. The 2019 Notes will mature on July 15, 2024, unless earlier converted or repurchased in accordance with their terms. At &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 and 2022, subsequent to the adoption of ASU 2020-06, the carrying value of the 2019 Notes was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;284.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively, net of unamortized debt issuance costs and the fair value of the 2019 Notes was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;109.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;452.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively. The fair value of the 2019 Notes is a Level 1 valuation and was determined based on the most recent trade activity of the 2019 Notes as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 and 2022. The 2019 Notes are discussed in more detail in Note 15, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;&#x201c;Convertible Senior Notes,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;to these consolidated financial statements.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;On December 14, 2023, the Company issued $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;600.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of its 2023 Notes in a private placement pursuant to separate, privately negotiated exchange and subscription agreements (the &#x201c;Exchange and Subscription Agreements&#x201d;) with a limited number of holders of its outstanding 2019 Notes and certain other qualified institutional buyers pursuant to Rule 144A under the Securities Act of 1933, as amended (&#x201c;Securities Act&#x201d;). Pursuant to the Exchange and Subscription Agreements, the Company exchanged $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;217.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of its 2019 Notes for $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;309.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of the 2023 Notes (the &#x201c;Exchange Transaction&#x201d;) and issued $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;290.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of the 2023 Notes (the &#x201c;Subscription Transactions&#x201d;) for $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;290.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in cash. At December 31, 2023, the carrying value of the 2023 Notes was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;510.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, net of unamortized debt issuance costs, and the fair value of the 2023 Notes was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;596.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. The fair value of the 2023 Notes is a Level 1 valuation and was determined based on the most recent trade activity of the 2023 Notes as of December 31, 2023. The 2023 Notes are discussed in more detail in Note 15, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Convertible Senior Notes,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;to these consolidated financial statements.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <rgen:CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_19fff8a4-0e35-4135-9626-88d3d84bfab0">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table summarizes the Company's cash, cash equivalents and marketable securities held to maturity as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023:&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:95.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:46.731%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.78%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.538%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.78%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.538%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.78%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.538%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.78%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.538%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As of December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amortized&lt;br/&gt;&#160;Costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Gains&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Losses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Estimated&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Cash and cash equivalents:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and money market funds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As of December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amortized &lt;br/&gt;Cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Gains&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Losses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Estimated&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Cash and cash equivalents:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and money market funds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;523,458&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;523,458&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;523,458&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;523,458&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Marketable securities held to maturity:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;U.S. treasury bills - short-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100,299&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total cash, cash equivalents and marketable securities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;623,757&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;623,781&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</rgen:CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock>
    <rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts
      contextRef="C_be9d030f-78a2-4010-a51c-2a17318bea4f"
      decimals="-3"
      id="F_e749752e-d331-4ac7-874f-abcb1f46e1fa"
      unitRef="U_USD">751323000</rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts>
    <rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue
      contextRef="C_be9d030f-78a2-4010-a51c-2a17318bea4f"
      decimals="-3"
      id="F_771866d8-75bb-4348-91c3-722a62776b01"
      unitRef="U_USD">751323000</rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue>
    <rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts
      contextRef="C_533fde4c-b9a5-449d-bd18-10f5117f2dbd"
      decimals="-3"
      id="F_8e1272e0-4424-43ed-9000-7269374536f9"
      unitRef="U_USD">751323000</rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts>
    <rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue
      contextRef="C_533fde4c-b9a5-449d-bd18-10f5117f2dbd"
      decimals="-3"
      id="F_45ce8965-e26e-4ee6-a470-0ac79ae5cdbc"
      unitRef="U_USD">751323000</rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue>
    <rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts
      contextRef="C_d9562d39-4385-4173-ba25-d5d0094e6ea9"
      decimals="-3"
      id="F_f18868e3-c32f-4f53-bd1e-39b85ae51903"
      unitRef="U_USD">523458000</rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts>
    <rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue
      contextRef="C_d9562d39-4385-4173-ba25-d5d0094e6ea9"
      decimals="-3"
      id="F_dcd3f428-bc5f-4530-b8d2-1f72d9e8471e"
      unitRef="U_USD">523458000</rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue>
    <rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts
      contextRef="C_937a64bd-6ee4-4148-827a-f4988711ba0f"
      decimals="-3"
      id="F_1bc820d1-608e-463b-b92b-a6838679ff97"
      unitRef="U_USD">523458000</rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts>
    <rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue
      contextRef="C_937a64bd-6ee4-4148-827a-f4988711ba0f"
      decimals="-3"
      id="F_8c7cca4d-a95f-4497-a0bb-5b63f93b7acb"
      unitRef="U_USD">523458000</rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue>
    <rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts
      contextRef="C_8de54cac-61d7-4b01-8623-866bf3400eff"
      decimals="-3"
      id="F_856720bc-402e-44b2-b9d0-1bfdab9e0e0b"
      unitRef="U_USD">100299000</rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts>
    <rgen:DebtSecuritiesHeldToMaturityGrossUnrealizedGain
      contextRef="C_8de54cac-61d7-4b01-8623-866bf3400eff"
      decimals="-3"
      id="F_4b7febcb-280c-44ce-b43b-f0fba987d310"
      unitRef="U_USD">24000</rgen:DebtSecuritiesHeldToMaturityGrossUnrealizedGain>
    <rgen:DebtSecuritiesHeldToMaturityEstimatedFairValue
      contextRef="C_8de54cac-61d7-4b01-8623-866bf3400eff"
      decimals="-3"
      id="F_0276b2c4-6a7a-43d3-b85a-609ede1f9292"
      unitRef="U_USD">100323000</rgen:DebtSecuritiesHeldToMaturityEstimatedFairValue>
    <rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts
      contextRef="C_79d7ac14-41d7-4dd7-93cf-7d251a407a89"
      decimals="-3"
      id="F_dc3e512c-9d69-4048-835a-3b6eeb77331d"
      unitRef="U_USD">623757000</rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts>
    <rgen:DebtSecuritiesHeldToMaturityGrossUnrealizedGain
      contextRef="C_79d7ac14-41d7-4dd7-93cf-7d251a407a89"
      decimals="-3"
      id="F_8b9b5056-29ca-48dd-aae2-01584380ad42"
      unitRef="U_USD">24000</rgen:DebtSecuritiesHeldToMaturityGrossUnrealizedGain>
    <rgen:AvailableForSaleSecuritiesEstimatedFairValue
      contextRef="C_79d7ac14-41d7-4dd7-93cf-7d251a407a89"
      decimals="-3"
      id="F_ce377788-0229-41d2-ace7-7596788a09e2"
      unitRef="U_USD">623781000</rgen:AvailableForSaleSecuritiesEstimatedFairValue>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="C_e0310568-ba23-447a-89dc-cc0078b4a0d9"
      decimals="-5"
      id="F_9cdd4f94-9244-4ffa-81cb-c3f44f9bc5f5"
      unitRef="U_USD">100000000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <rgen:ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_10cff186-438f-40d5-a2d2-c227cc2d3780">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The amortized cost and fair value of the Company's held to maturity securities by contractual maturity at December 31, 2022 are summarized below. There were no comparable investments as of December 31, 2023:&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:56.949%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:2.699%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.477%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:2.699%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.477%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:2.699%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amortized&lt;br/&gt;&#160;Costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Estimated&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Maturity of one year or less&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100,299&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;word-break:break-word;"&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100,299&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#ffffff;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;</rgen:ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock>
    <rgen:DebtSecuritiesMaturityWithinOneYearAmortizedCost
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_122f9a2f-afe4-430f-85db-624921f27d79"
      unitRef="U_USD">100299000</rgen:DebtSecuritiesMaturityWithinOneYearAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_1507fdbe-2963-42b3-9b36-6c31bb403826"
      unitRef="U_USD">100323000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <rgen:DebtSecuritiesMaturityWithinOneYearAmortizedCost
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_e05fb451-0b5a-4e0a-b65f-c4b233c81adc"
      unitRef="U_USD">100299000</rgen:DebtSecuritiesMaturityWithinOneYearAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_312128d4-9f8b-468e-b0c9-770d59c3629d"
      unitRef="U_USD">100323000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_c1cdcf04-fc8e-4193-96ee-df275627141c">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Financial assets and financial liabilities measured at fair value on a recurring basis consist of the following as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 and 2022:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:47.819%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.24%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.24%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.24%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.24%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.804%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As of December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Level 1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Level 2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Level 3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Assets:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Money market accounts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;658,574&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;658,574&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Liabilities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Short-term contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,983&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,983&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long-term contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,070&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,070&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As of December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Level 1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Level 2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Level 3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Assets:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Money market accounts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;343,929&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;343,929&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Liabilities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Short-term contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,950&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,950&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long-term contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;51,559&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;51,559&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="C_cef25962-2aac-42c1-aec4-f4841404e3d1"
      decimals="-3"
      id="F_4876de0d-2dfa-4b45-bda7-bbab650da556"
      unitRef="U_USD">658574000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="C_ddd10db0-03d4-4d03-9e8c-2914b3b666f0"
      decimals="-3"
      id="F_91176e7c-541e-4a51-bea4-ae4d751728ff"
      unitRef="U_USD">658574000</us-gaap:AssetsFairValueDisclosure>
    <rgen:ShortTermContingentConsideration
      contextRef="C_bcb710f7-000c-4e37-a3eb-32503afc8b07"
      decimals="-3"
      id="F_ac9c65bc-e9b0-444d-b1f3-a2eed0017c7a"
      unitRef="U_USD">12983000</rgen:ShortTermContingentConsideration>
    <rgen:ShortTermContingentConsideration
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_c3dbbf94-2687-45bc-b37f-4a82eca2b2a1"
      unitRef="U_USD">12983000</rgen:ShortTermContingentConsideration>
    <rgen:LongTermContingentConsideration
      contextRef="C_bcb710f7-000c-4e37-a3eb-32503afc8b07"
      decimals="-3"
      id="F_22039aaa-3727-43a8-be54-a9e78f8343d0"
      unitRef="U_USD">14070000</rgen:LongTermContingentConsideration>
    <rgen:LongTermContingentConsideration
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_a1a3a8a8-f9a2-40df-ab8a-aac7331f2ed4"
      unitRef="U_USD">14070000</rgen:LongTermContingentConsideration>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="C_89c3f917-9344-45fe-8e0b-9a68f965636b"
      decimals="-3"
      id="F_88e478fa-70a8-4f5d-b6c1-d2d953f96236"
      unitRef="U_USD">343929000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="C_1737730b-9d9b-4c4f-bd00-8f491b41a9d1"
      decimals="-3"
      id="F_07b2d66c-f928-451b-85c5-8191e5861343"
      unitRef="U_USD">343929000</us-gaap:AssetsFairValueDisclosure>
    <rgen:ShortTermContingentConsideration
      contextRef="C_f8bb04aa-ddc7-4367-a928-cad669795554"
      decimals="-3"
      id="F_577476a7-9c89-4185-a1fb-c3b96fb4e8c7"
      unitRef="U_USD">13950000</rgen:ShortTermContingentConsideration>
    <rgen:ShortTermContingentConsideration
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_f17612e5-026d-4d47-afbb-11e1d0a9338f"
      unitRef="U_USD">13950000</rgen:ShortTermContingentConsideration>
    <rgen:LongTermContingentConsideration
      contextRef="C_f8bb04aa-ddc7-4367-a928-cad669795554"
      decimals="-3"
      id="F_dee313b2-76a9-4b3d-8b9f-adb8060692b8"
      unitRef="U_USD">51559000</rgen:LongTermContingentConsideration>
    <rgen:LongTermContingentConsideration
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_55acf5c2-e468-46a7-9e16-24c4c2011039"
      unitRef="U_USD">51559000</rgen:LongTermContingentConsideration>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="C_5f034394-cf78-4eb4-8ff9-9f23954cccd0"
      decimals="-5"
      id="F_54872f27-bdb4-4a1e-80cb-0c5380ba61cf"
      unitRef="U_USD">125000000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="C_29eef544-91ed-4d72-864a-9119c13364c8"
      decimals="-5"
      id="F_c6786e50-63dd-4aa7-a213-98fc5cf54d66"
      unitRef="U_USD">42000000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="C_1a3669c7-edae-4d97-bd42-a06f7bc215b9"
      decimals="-6"
      id="F_9c256b9b-dffc-4789-88b2-8d655a547e50"
      unitRef="U_USD">10000000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_e8a1d5b1-bc02-4db8-92fe-a028dda8cab9">&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;A reconciliation of the change in fair value of contingent consideration &#x2013; earnout is included in the following table (amounts in thousands):&lt;/span&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:78.56%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:2.1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:17.34%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance at December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;65,509&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Acquisition date fair value of contingent consideration earnouts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,640&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Payment of contingent consideration earnouts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,527&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Decrease in fair value of contingent consideration earnouts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,569&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,053&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="C_45414736-003e-4605-ac98-b13a2377daa3"
      decimals="-3"
      id="F_8031c783-9346-4bca-b735-395ce5152ea4"
      unitRef="U_USD">65509000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
      contextRef="C_c3b98cb2-71c9-4900-851c-19332d055ff6"
      decimals="-3"
      id="F_24c31412-5dda-4d68-a55e-2b6b51c79469"
      unitRef="U_USD">6640000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="C_c3b98cb2-71c9-4900-851c-19332d055ff6"
      decimals="-3"
      id="F_ce8c328f-3fe2-4401-a515-2409e6d41371"
      unitRef="U_USD">-14527000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="C_c3b98cb2-71c9-4900-851c-19332d055ff6"
      decimals="-3"
      id="F_a3e048ad-5238-4cb0-883b-ad00083a9292"
      unitRef="U_USD">30569000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="C_ade650d3-99e2-445d-912a-b1fa113c189b"
      decimals="-3"
      id="F_c5d339c7-4b0c-44d7-879b-5129d66fc6f8"
      unitRef="U_USD">27053000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_9852119c-2072-465c-8665-bec63a4ef31e">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The recurring Level 3 fair value measurement of our contingent consideration &#x2013; earnout that we expect to be required to settle our 2023, 2024 and 2025 contingent consideration obligation for Avitide, FlexBiosys and Metenova include the following significant unobservable inputs (amounts in thousands, except percent data):&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:18.524%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.74%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.08%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:13.903%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.163%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:16.383%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.74%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:11.942%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:13.283%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Contingent Consideration Earnout&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="3" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair Value as of&lt;br/&gt;&#160;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Valuation Technique&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Unobservable Input&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Range&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Weighted Average&lt;/span&gt;&lt;span style="color:#000000;top:-4.221pt;white-space:pre-wrap;font-weight:bold;font-size:6.03pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Probability of&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Success&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Commercialization-based payments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,094&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Monte Carlo&lt;br/&gt;Simulation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Earnout Discount Rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%-&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Volatility&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%-&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Revenue and Volume-&lt;br/&gt;based payments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,454&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Monte Carlo&lt;br/&gt;Simulation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Revenue &amp;amp; Volume&lt;br/&gt;Discount Rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%-&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Earnout Discount Rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%-&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Probability of&lt;br/&gt;&#160;Success&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Manufacturing line expansions&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,505&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Probability-weighted present value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Earnout Discount Rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%-&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;Unobservable inputs were weighted by the relative fair value of the contingent consideration liability.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock>
    <rgen:ProbabilityOfSuccess
      contextRef="C_fd1dc4c0-461d-4328-b57e-2aff96e9a0a7"
      decimals="2"
      id="F_1f53b011-c94d-426e-a593-5950ecafb9db"
      unitRef="U_pure">1</rgen:ProbabilityOfSuccess>
    <rgen:WeightedAverageDiscountRate
      contextRef="C_62ee8892-57c4-4b40-bfbb-bc710d3f7bac"
      decimals="2"
      id="F_c7f20c0c-a323-45d1-8e73-0a598b2eda21"
      unitRef="U_pure">1</rgen:WeightedAverageDiscountRate>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="C_fd1dc4c0-461d-4328-b57e-2aff96e9a0a7"
      decimals="-3"
      id="F_30d77639-f97f-4d72-8603-1a9a619a509e"
      unitRef="U_USD">20094000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="C_e4db7810-9e58-430e-a904-ed67c8356fb0"
      decimals="3"
      id="F_2f8ae61f-e4a4-4bfa-b808-e7e095db629e"
      unitRef="U_pure">0.058</us-gaap:DerivativeFixedInterestRate>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="C_d57a8ced-7509-4082-a3ca-2ccd9891343a"
      decimals="3"
      id="F_245eac3c-7440-42c5-984a-3578b89dc730"
      unitRef="U_pure">0.059</us-gaap:DerivativeFixedInterestRate>
    <rgen:WeightedAverageDiscountRate
      contextRef="C_2b4e0f3a-856b-4d30-9b74-ecd78010640c"
      decimals="3"
      id="F_3793dfaa-ae57-4cd7-bba1-9f8fc002bcda"
      unitRef="U_pure">0.059</rgen:WeightedAverageDiscountRate>
    <rgen:VolatilityRateOfContingentConsideration
      contextRef="C_47283da4-d33d-452b-905b-fcae0fd0bc2c"
      decimals="3"
      id="F_7b0d8caa-5f09-4615-9295-dcec646b9e22"
      unitRef="U_pure">0.125</rgen:VolatilityRateOfContingentConsideration>
    <rgen:VolatilityRateOfContingentConsideration
      contextRef="C_9bb8eaca-94f5-49ee-9d54-6eef6dfaf8ff"
      decimals="3"
      id="F_72f70251-a2f0-4169-830b-655fb172f0a9"
      unitRef="U_pure">0.246</rgen:VolatilityRateOfContingentConsideration>
    <rgen:WeightedAverageDiscountRate
      contextRef="C_9a8c889c-19a3-4f28-9b85-0ca6b5d4d96d"
      decimals="3"
      id="F_28109e6d-9e04-4005-920b-66cf31fd627f"
      unitRef="U_pure">0.219</rgen:WeightedAverageDiscountRate>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="C_4b95d4be-6015-49f9-a615-2a5f36704184"
      decimals="-3"
      id="F_b4d1bed6-d535-42dd-99b7-5af19846d554"
      unitRef="U_USD">1454000</us-gaap:LiabilitiesFairValueDisclosure>
    <rgen:RevenueAndVolumeDiscountRate
      contextRef="C_47283da4-d33d-452b-905b-fcae0fd0bc2c"
      decimals="3"
      id="F_1ec420b4-2e1c-4b61-a5c8-c050db5195c5"
      unitRef="U_pure">0.025</rgen:RevenueAndVolumeDiscountRate>
    <rgen:RevenueAndVolumeDiscountRate
      contextRef="C_9bb8eaca-94f5-49ee-9d54-6eef6dfaf8ff"
      decimals="3"
      id="F_0db8e9e4-b9c0-4bdf-8b13-529b88b47638"
      unitRef="U_pure">0.093</rgen:RevenueAndVolumeDiscountRate>
    <rgen:WeightedAverageDiscountRate
      contextRef="C_2e9572fd-807d-405f-b7b3-e7ebfd30dbcc"
      decimals="3"
      id="F_912db92f-8af1-432f-9d9c-e155c2b67b42"
      unitRef="U_pure">0.083</rgen:WeightedAverageDiscountRate>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="C_47283da4-d33d-452b-905b-fcae0fd0bc2c"
      decimals="3"
      id="F_71bbad4a-211f-4dd2-b8b1-f75036593f7c"
      unitRef="U_pure">0.058</us-gaap:DerivativeFixedInterestRate>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="C_9bb8eaca-94f5-49ee-9d54-6eef6dfaf8ff"
      decimals="3"
      id="F_6694713f-7b43-4d41-ab1e-cf28c3d156f7"
      unitRef="U_pure">0.072</us-gaap:DerivativeFixedInterestRate>
    <rgen:WeightedAverageDiscountRate
      contextRef="C_4efbc7e3-ffdf-49cf-9231-6e9cd054deeb"
      decimals="3"
      id="F_8f549153-45c9-4a57-ad1c-4634125d18d7"
      unitRef="U_pure">0.061</rgen:WeightedAverageDiscountRate>
    <rgen:ProbabilityOfSuccess
      contextRef="C_5cafeb64-d914-401d-bf4c-d45df9d3ea60"
      decimals="2"
      id="F_d09a5594-6021-43c8-a3d3-f293664eb3b1"
      unitRef="U_pure">1</rgen:ProbabilityOfSuccess>
    <rgen:WeightedAverageDiscountRate
      contextRef="C_fec4765a-86f8-4ef3-b39a-a5083a207150"
      decimals="2"
      id="F_0afbca3f-5b03-47f1-a186-aa0a448603a4"
      unitRef="U_pure">1</rgen:WeightedAverageDiscountRate>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="C_e6aacc32-5791-4b11-9df3-2bff916ddb5a"
      decimals="-3"
      id="F_b06be254-ac99-4bbb-a088-494fb7c24b8e"
      unitRef="U_USD">5505000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="C_b8e12f24-a00c-4ecf-98c5-08e540d70eb1"
      decimals="3"
      id="F_4eb4d066-69ee-488d-860c-b279dad54cdf"
      unitRef="U_pure">0.061</us-gaap:DerivativeFixedInterestRate>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="C_357e55f3-c316-406e-b1eb-308c55345fdf"
      decimals="3"
      id="F_eb962ac7-d573-4ca0-b08a-c88c424e8ca2"
      unitRef="U_pure">0.064</us-gaap:DerivativeFixedInterestRate>
    <rgen:WeightedAverageDiscountRate
      contextRef="C_ccbed23e-b536-4c0d-b083-8e75690759fd"
      decimals="3"
      id="F_b8426ec9-5701-42d1-83d6-5095bc976f9c"
      unitRef="U_pure">0.063</rgen:WeightedAverageDiscountRate>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_e577c14f-0a88-47c6-b306-33ee91d44b1b"
      decimals="-5"
      id="F_f17ef9ff-80ca-43b2-8ab7-902fc92ab3a4"
      unitRef="U_USD">287500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFrequencyOfPeriodicPayment
      contextRef="C_067a6114-4b5a-4053-96f4-f46a5a9efe53"
      id="F_7f3655e9-bbc2-43ae-a9c9-a05b651b111a">semi-annually</us-gaap:DebtInstrumentFrequencyOfPeriodicPayment>
    <us-gaap:LongTermDebt
      contextRef="C_cc30fe8f-8f76-40be-9d6f-5f22734651e2"
      decimals="-5"
      id="F_761c2500-6d04-4340-a682-378eeec05b3b"
      unitRef="U_USD">69500000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="C_2275e601-d650-4815-a23e-bb50cf4ced4b"
      decimals="-5"
      id="F_f6c9cb47-6142-434e-a312-e0ccd918fc8f"
      unitRef="U_USD">284600000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtFairValue
      contextRef="C_cc30fe8f-8f76-40be-9d6f-5f22734651e2"
      decimals="-5"
      id="F_f988992b-c1f7-42f4-8c52-dda0e9b5b910"
      unitRef="U_USD">109800000</us-gaap:LongTermDebtFairValue>
    <us-gaap:LongTermDebtFairValue
      contextRef="C_2275e601-d650-4815-a23e-bb50cf4ced4b"
      decimals="-5"
      id="F_05aca758-d616-4ad7-976c-1d52fc0ded01"
      unitRef="U_USD">452000000</us-gaap:LongTermDebtFairValue>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_2ecdb204-949b-48a4-8e49-b9f444873ce3"
      decimals="-5"
      id="F_8b695ecb-e813-4e5b-b138-263abfef09f0"
      unitRef="U_USD">600000000</us-gaap:DebtInstrumentFaceAmount>
    <rgen:DebtInstrumentExchangeAmount
      contextRef="C_c8400b9c-a292-460d-9ec9-8b21c8adc9ba"
      decimals="-5"
      id="F_701b2987-ae87-4fcb-ae8f-f6231dc229c8"
      unitRef="U_USD">217700000</rgen:DebtInstrumentExchangeAmount>
    <rgen:DebtInstrumentExchangedAmountCancelled
      contextRef="C_11d24eba-5e1b-4e9b-ae8e-2f7ef5ef6006"
      decimals="-5"
      id="F_bc73cd89-d5a2-470f-b5a5-5adfca10eba1"
      unitRef="U_USD">309900000</rgen:DebtInstrumentExchangedAmountCancelled>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_9b397362-a50f-409a-8150-574b325acafc"
      decimals="-5"
      id="F_ee66c9be-747a-447a-ac45-f09334927c44"
      unitRef="U_USD">290100000</us-gaap:DebtInstrumentFaceAmount>
    <rgen:DebtInstrumentIssuedForCash
      contextRef="C_b4d4e915-4714-412b-939b-5521b848cb6e"
      decimals="-5"
      id="F_299dacdf-f5a3-4173-bcba-7eafbb2e7359"
      unitRef="U_USD">290100000</rgen:DebtInstrumentIssuedForCash>
    <us-gaap:LongTermDebt
      contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09"
      decimals="-5"
      id="F_a881ba39-d124-4219-9347-13d03e3a23d9"
      unitRef="U_USD">510100000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtFairValue
      contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09"
      decimals="-5"
      id="F_cf55173e-e9d1-4de1-b946-decba7f03efb"
      unitRef="U_USD">596000000</us-gaap:LongTermDebtFairValue>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_b152780f-f619-4ea3-b0e7-562830f36a5c">&lt;div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;5.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Acquisitions&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;2023 Acquisitions&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Metenova Holding AB&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;On October 2, 2023, the Company's subsidiary, Repligen Sweden AB acquired Metenova from the former shareholders of Metenova (the &#x201c;Metenova Seller&#x201d;) pursuant to a Share Sale and Purchase Agreement (the &#x201c;Share Purchase Agreement&#x201d;), dated as of September 23, 2023 (such acquisition, the &#x201c;Metenova Acquisition&#x201d;), by and among Repligen Sweden AB, the Metenova Seller, and the Company, in its capacity as guarantor of the obligations of Repligen Sweden AB under the Share Purchase Agreement.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Metenova, which is headquartered in Molndal, Sweden, offers magnetic mixing and drive train technologies that are widely used by global biopharmaceutical companies and contract development and manufacturing organizations. The Metenova Acquisition further strengthens our fluid management portfolio with these products.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Consideration Transferred&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company accounted for the Metenova Acquisition as a purchase of business under ASC 805, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Business Combinations,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;and the Company engaged a third-party valuation firm to assist with the valuation of Metenova. Under the Share Purchase Agreement, all outstanding equity interests of Metenova were acquired for consideration with a value totaling $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;172.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. The Metenova Acquisition was funded through payment of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;164.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in cash, the issuance of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;52,299&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; unregistered shares of the Company's common stock totaling $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and contingent consideration with an immaterial fair value.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Under the acquisition method of accounting, the assets acquired and liabilities assumed of Metenova were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net liabilities acquired is estimated to be $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, the fair value of the intangible assets acquired is estimated to be $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;58.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and the residual goodwill is estimated to be $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. The estimated consideration and preliminary purchase price information has been prepared using a preliminary valuation. Acquisition-related costs are not included as a component of consideration transferred but are expensed in the periods in which costs are incurred. The Company has incurred $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of transaction and integration costs associated with the Metenova Acquisition from the date of acquisition to December 31, 2023. The transaction costs are included in operating expenses in the consolidated statements of comprehensive income in 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Fair Value of Net Assets Acquired&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The preliminary allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date. As of December 31, 2023, the purchase accounting for this acquisition had not been finalized. As additional information becomes available, the Company may further revise its preliminary purchase price allocation during the remainder of the measurement period. Besides tax implications of the purchase price allocation, the final allocation may result in changes to other assets and liabilities.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components and estimated allocation of the purchase price consist of the following (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,768&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts receivable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,730&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,421&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;470&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Property and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;433&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;615&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,659&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44,377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;939&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;787&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115,778&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,432&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accrued liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,934&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;275&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred tax liability, long-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,481&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability, long-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;255&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair value of net assets acquired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;172,600&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Acquired Goodwill&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The goodwill of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million represents future economic benefits expected to arise from anticipated synergies from the integration of Metenova into the Company. These synergies include operating efficiencies and strategic benefits projected to be achieved as a result of the Metenova Acquisition. Substantially all of the goodwill recorded is expected to be nondeductible for income tax purposes.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Intangible Assets&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:11pt;font-family:'Calibri',sans-serif;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table sets forth the components of the identified intangible assets associated with the Metenova Acquisition and their estimated useful lives:&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:53.871%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:19.884%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:20.604%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Useful life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,659&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44,377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;939&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;787&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;58,762&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;FlexBiosys, Inc.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;On &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;April 17, 2023&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, the Company completed its acquisition of all of the outstanding equity interests in FlexBiosys, pursuant to an Equity Purchase Agreement with FlexBiosys, TSAP Holdings Inc. (&#x201c;NJ Seller&#x201d;), Gayle Tarry and Stanley Tarry, as individuals (collectively with NJ Seller, the &#x201c;FlexBiosys Sellers&#x201d;), and Stanley Tarry, in his capacity as the representative of the FlexBiosys Sellers (the &#x201c;FlexBiosys Acquisition&#x201d;).&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;FlexBiosys, which is headquartered in Branchburg, New Jersey, offers expert design and custom manufacturing of single-use bioprocessing products and a comprehensive range of products that include bioprocessing bags, bottles, and tubing assemblies. These products will complement and expand our fluid management portfolio of offerings.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Consideration transferred&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The FlexBiosys Acquisition was accounted for as a purchase of a business under ASC 805, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Business Combinations,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;and the Company engaged a third-party valuation firm to assist with the valuation of FlexBiosys. Under the terms of the EPA, all outstanding equity interests of FlexBiosys were acquired for consideration with a value totaling $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. The FlexBiosys Acquisition was funded through payment of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in cash, which includes $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million deposited in escrow for future payments, the issuance of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;31,415&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; unregistered shares of the Company's common stock totaling $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and contingent consideration with fair value of approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Under the acquisition method of accounting, the assets acquired and liabilities assumed of FlexBiosys were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net assets acquired is estimated to be $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, the fair value of the intangible assets acquired is estimated to be $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and the residual goodwill is estimated to be $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. The estimated consideration and preliminary purchase price information has been prepared using a preliminary valuation. Acquisition-related costs are not included as a component of consideration transferred but are expensed in the periods in which costs are incurred. The Company has incurred $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of transaction and integration costs associated with the FlexBiosys Acquisition from the date of acquisition to December 31, 2023 with $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of the transaction and integration costs incurred during the three months ended December 31, 2023. The transaction costs are included in operating expenses in the consolidated statements of comprehensive income in 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Fair Value of Net Assets Acquired&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The preliminary allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date. As of December 31, 2023, the purchase accounting for this acquisition had not been finalized. As additional information becomes available, the Company may further revise its preliminary purchase price allocation during the remainder of the measurement period, which ends on April 17, 2024. The final allocation may result in changes to other assets and liabilities.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components and estimated allocation of the purchase price consist of the following (amounts in thousands):&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,090&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts receivable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;683&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;667&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Property and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,034&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,537&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,530&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,860&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;220&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,321&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other long-term assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;136&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accrued liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;314&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;39&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability, long-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,498&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair value of net assets acquired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41,030&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;During 2023, the Company recorded an immaterial net working capital adjustment related to the FlexBiosys Acquisition, which is included in goodwill in the table above.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Acquired Goodwill&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The goodwill of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million represents future economic benefits expected to arise from anticipated synergies from the integration of FlexBiosys into the Company. These synergies include operating efficiencies and strategic benefits projected to be achieved as a result of the FlexBiosys Acquisition. Substantially all of the goodwill recorded is expected to be deductible for income tax purposes.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Intangible Assets&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table sets forth the components of the identified intangible assets associated with the FlexBiosys Acquisition and their estimated useful lives:&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:11pt;font-family:'Calibri',sans-serif;"&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:53.871%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:19.884%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:20.604%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Useful life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,530&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,860&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;220&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,640&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;2021 Acquisitions&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;BioFlex Solutions LLC and Newton T&amp;amp;M Corp.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;On November 29, 2021, the Company entered into an Equity Purchase Agreement with BioFlex (&#x201c;BioFlex EPA&#x201d;), NTM and each of Ralph Meola and Jason Nisler, to acquire &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the outstanding securities of BioFlex and NTM (collectively, the &#x201c;NTM Acquisition&#x201d;). The transaction closed on December 16, 2021.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;NTM, which is headquartered in Newton, New Jersey, is the parent company of BioFlex and focuses on manufacturing of products, while BioFlex, also headquartered in Newton, New Jersey, commercializes branded products to biotech customers. The NTM Acquisition complements and expands our filtration offering paths as the industry migrates to single-use flow paths solutions for monoclonal antibody (&#x201c;mAb&#x201d;), vaccine and cell and gene therapy (&#x201c;C&amp;amp;GT&#x201d;) applications, with a focus on single-use fluid management components, including single-use clamps, adapters, end caps and hose assemblies. The NTM Acquisition streamlines and increases control over many components in our single-use supply chain which ultimately should drive reduced lead-times for Repligen customers in the coming years.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Consideration Transferred&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The NTM Acquisition was accounted for as a purchase of businesses under ASC 805, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;&#x201c;Business Combinations&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;and the Company engaged a third-party valuation firm to assist with the valuation of the business acquired. Under the terms of the BioFlex EPA, all outstanding shares of capital stock of BioFlex were acquired for consideration with a value totaling $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;31.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, which includes $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million deposited into an escrow against which the Company may make claims for indemnification.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Under the acquisition method of accounting, the assets acquired and liabilities assumed of BioFlex were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net assets acquired is $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, the fair value of the intangible assets acquired is $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, and the residual goodwill is $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million.  Acquisition-related costs are not included as a component of consideration transferred but are expensed in the periods in which costs are incurred. The Company incurred &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of transaction and integration costs associated with the NTM Acquisition from the date of acquisition to December 31, 2022, with $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of transaction and integration costs incurred in 2022 and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million incurred in 2021. The transaction and integration costs are included in operating expenses in the consolidated statements of comprehensive income for the periods ended December 31, 2022 and 2021.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Fair Value of Net Assets Acquired&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date, based on the final valuation. The Company has made appropriate adjustments to the purchase price allocation during the measurement period, which ended December 16, 2022.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components and estimated allocation of the purchase price consist of the following (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,870&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts receivable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,408&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;741&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Property and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;34&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,034&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,540&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;310&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;60&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,834&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long term deferred tax asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;224&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accrued liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;450&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,030&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability, long-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair value of net assets acquired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;31,571&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;During 2022, the Company recorded net working capital adjustments of approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million related to pre-acquisition liabilities, which are included in goodwill and accrued liabilities in the table above.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Acquired Goodwill&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The goodwill of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million represents future economic benefits expected to arise from anticipated synergies from the integration of BioFlex and NTM into the Company. These synergies include certain operating efficiencies and strategic benefits projected to be achieved as a result of the NTM Acquisition. Substantially all of the goodwill recorded is expected to be deductible for income tax purposes.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Intangible Assets&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table sets forth the components of the identified intangible assets associated with the NTM Acquisition and their estimated useful lives:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:53.871%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:19.884%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:20.604%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Useful life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,540&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;310&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;60&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,150&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Avitide, Inc.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;On September 16, 2021, the Company entered into an Agreement and Plan of Merger and Reorganization (&#x201c;Avitide Merger Agreement&#x201d;) with Avalon Merger Sub, Inc., a Delaware corporation and a wholly owned direct subsidiary of the Company, Avalon Merger Sub LLC, a Delaware limited liability company and a wholly owned direct subsidiary of the Company, Avitide, a Delaware corporation, and Shareholder Representative Services LLC, a Colorado limited liability company, solely in its capacity as the representative, agent and attorney-in-fact of Avitide's securityholders to purchase Avitide. The transaction closed on September 20, 2021, and on the terms set forth in the Avitide Merger Agreement.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Avitide, which is headquartered in Lebanon, New Hampshire, offers diverse libraries and leading technology in affinity ligand discovery and development resulting in best-in-class ligand discovery and development lead-times. The acquisition gives the&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Company a new platform for affinity resin development, including C&amp;amp;GT, and advances and expands the Company&#x2019;s proteins and chromatography franchises to address the unique purification needs of gene therapies and other emerging modalities.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Consideration Transferred&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Avitide Acquisition was accounted for as a purchase of a business under ASC 805, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;&#x201c;Business Combinations&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;and the Company engaged a third-party valuation firm to assist with the valuation of the business acquired. Under the terms of the Avitide Merger Agreement, all outstanding shares of capital stock of Avitide were cancelled and converted into the right to receive merger consideration with a value totaling up to $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;275.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, which consisted of upfront payments in aggregate of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;150.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million ($&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;149.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, net of cash acquired) and up to an additional $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;125.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million (undiscounted) in contingent consideration earnout payments if certain performance targets are achieved. Total consideration paid also included $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million deposited into an escrow account against which the Company may make claims for indemnification. The Avitide Acquisition was funded through payment of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;75.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in cash, the issuance of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;271,096&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; unregistered shares of the Company&#x2019;s common stock totaling $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;83.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and contingent consideration with fair value of approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;88.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Under the acquisition method of accounting, the assets acquired and liabilities assumed of Avitide were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net assets acquired is $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, fair value of the intangible assets acquired is $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;46.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, and the residual goodwill is $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;197.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million.  The Company has incurred &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of transaction and integration costs associated with the Avitide Acquisition from the date of acquisition to December 31, 2022, with &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;million of transaction and integration costs incurred in 2022 and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in 2021. The transaction costs are included in operating expenses in the consolidated statements of comprehensive income for the periods ended December 31, 2022 and 2021.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The preparation of the valuation required the use of significant assumptions and estimates. Critical estimates included, but were not limited to, future expected cash flows, including projected revenues and expenses, and the applicable discount rates. These estimates were based on assumptions that the Company believes to be reasonable. However, actual results may differ from these estimates.&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Total consideration transferred is as follows (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;74,962&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Equity consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;82,968&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Contingent consideration - earnout&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;88,373&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair value of net assets acquired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;246,303&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;       Fair Value of Net Assets Acquired&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date, based on the final valuation of Avitide. The Company has made appropriate adjustments to the purchase price allocation during the measurement period, which ended on September 20, 2022.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components and estimated allocation of the purchase price consist of the following (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;572&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts receivable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;228&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;332&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;114&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Property and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,862&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,648&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24,580&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,650&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,210&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;210&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;197,476&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long term deferred tax asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,525&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;215&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accrued liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,183&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;698&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability, long-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,950&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;58&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair value of net assets acquired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;246,303&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Acquired Goodwill&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The goodwill of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;197.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million represents future economic benefits expected to arise from anticipated synergies from the integration of Avitide. These synergies include certain cost savings, operating efficiencies and other strategic benefits projected to be achieved as a result of the Avitide Acquisition. Substantially all of the goodwill recorded is expected to be nondeductible for income tax purposes. During 2022, the Company recorded adjustments to goodwill of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million related to a change in estimated tax benefits associated with the net operating loss carryforward filed on the Avitide pre-acquisition tax return. The offset of these adjustments is included in long term deferred tax asset in the table above.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Intangible Assets&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table sets forth the components of the identified intangible assets associated with the Avitide Acquisition and their estimated useful lives:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:53.871%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:19.884%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:20.604%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Useful life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24,580&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,650&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;18 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,210&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;210&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;46,650&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Polymem S.A.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;On June 22, 2021, the Company entered into a Stock Purchase Agreement with Polymem, a company organized under the laws of France, and Jean-Michel Espenan and Franc Saux, acting together jointly and severally as the representatives of the sellers pursuant to which Repligen acquired all of the outstanding common stock of Polymem for $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;47.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in cash.  The transaction closed on July 1, 2021 (the &#x201c;Polymem Acquisition.&#x201d;).&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Polymem, which is headquartered in, Toulouse, France, is a manufacturer of hollow fiber (&#x201c;HF&#x201d;) membranes, membrane modules and systems for industrial and bioprocessing applications. Polymem products will complement and expand the Company&#x2019;s portfolio of HF systems and consumables. The acquisition substantially increases Repligen&#x2019;s membrane and module manufacturing capacity and establishes a world-class center of excellence in Europe to address the accelerating global demand for these innovative products.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Consideration Transferred&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company accounted for the Polymem Acquisition as a purchase of a business under ASC 805 and the Company engaged a third-party valuation firm to assist with the valuation of the business acquired. Payment for the transaction was denominated in Euros but is reflected here in U.S. dollars for presentation purposes based on an exchange rate of 0.8437 as of July 1, 2021, the date of acquisition. Total consideration paid was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;47.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, which included $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million deposited into an escrow account against which the Company may make claims for indemnification.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Under the acquisition method of accounting, the assets acquired and liabilities assumed of Polymem were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net assets acquired is $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, the fair value of the intangible assets acquired is $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, and the residual goodwill is $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. Acquisition-related costs are not included as a component of consideration transferred but are expensed in the periods in which costs are incurred. The Company incurred &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;million of transaction and integration costs associated with the Polymem Acquisition from the date of acquisition to December 31, 2022, with &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million incurred in 2022 and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million incurred from the date of acquisition to &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2021. The transaction costs are included in operating expenses in the consolidated statements of comprehensive income for the periods ended December 31, 2022 and 2021.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Fair Value of Net Assets Acquired&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date, based on the final valuation of Polymem. The Company has made appropriate adjustments to the purchase price allocation during the measurement period, which ended on July 1, 2022.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components and final allocation of the purchase price consist of the following (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;353&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net working capital (excluding cash and inventory&lt;br/&gt;&#160;&#160;&#160;&#160;&#160;step-up)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;414&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory step-up&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;543&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,424&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Property and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,145&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,274&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradenames&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;510&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-compete agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;312&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35,680&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,253&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long term deferred tax liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,327&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other long-term liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;143&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair value of net assets acquired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-weight:bold;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;46,973&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Acquired Goodwill&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The goodwill of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million represents future economic benefits expected to arise from anticipated synergies from the integration of Polymem. These synergies include certain operating efficiencies and strategic benefits projected to be achieved as a result of the Polymem Acquisition. Substantially all of the goodwill recorded is expected to be nondeductible for income tax purposes.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Intangible Assets&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table sets forth the components of the identified intangible assets associated with the Polymem Acquisition and their estimated useful lives:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:53.871%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:19.884%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:20.604%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Useful life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,274&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;510&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;312&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,096&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="C_a82de08f-7d1d-4d1d-b664-f03878b55e70"
      decimals="-5"
      id="F_ee17f6d9-0cd9-46dc-9612-e8b326de27c9"
      unitRef="U_USD">172600000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="C_a82de08f-7d1d-4d1d-b664-f03878b55e70"
      decimals="-5"
      id="F_8437cdf2-6f90-4bb3-a2ec-5df3059a019c"
      unitRef="U_USD">164500000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued
      contextRef="C_a82de08f-7d1d-4d1d-b664-f03878b55e70"
      decimals="0"
      id="F_320553e7-235f-4b95-9a37-7bc79849668b"
      unitRef="U_shares">52299</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="C_4262f47e-b7af-4b7a-a6c9-99632074c7bb"
      decimals="-5"
      id="F_8404ce18-aff9-4cad-b299-215e48aaef9e"
      unitRef="U_USD">8100000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities
      contextRef="C_e4f5cb18-a0e8-4e04-bab9-b673b7dd06ae"
      decimals="-5"
      id="F_778ca369-d62c-47f0-a1d1-771823f00019"
      unitRef="U_USD">2000000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_e4f5cb18-a0e8-4e04-bab9-b673b7dd06ae"
      decimals="-5"
      id="F_cb69508f-8731-48be-b20a-845d7a53c5be"
      unitRef="U_USD">58800000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue
      contextRef="C_e4f5cb18-a0e8-4e04-bab9-b673b7dd06ae"
      decimals="-5"
      id="F_e2039fee-7afe-4c9a-8957-6e6c8737a305"
      unitRef="U_USD">115800000</us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62"
      decimals="-5"
      id="F_622bc47e-8340-41a9-b383-4f1db017f7b7"
      unitRef="U_USD">3500000</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock
      contextRef="C_1a3669c7-edae-4d97-bd42-a06f7bc215b9"
      id="F_99a2f396-474c-46e5-94e1-50f86eac7e37">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components and estimated allocation of the purchase price consist of the following (amounts in thousands):&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,768&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts receivable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,730&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,421&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;470&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Property and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;433&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;615&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,659&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44,377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;939&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;787&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115,778&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,432&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accrued liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,934&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;275&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred tax liability, long-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,481&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability, long-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;255&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair value of net assets acquired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;172,600&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62"
      decimals="-3"
      id="F_0e94bcf1-a4e3-4418-a663-5605dd681c20"
      unitRef="U_USD">5768000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62"
      decimals="-3"
      id="F_47fe43d7-4aec-4f40-80ca-feae482fb397"
      unitRef="U_USD">3730000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62"
      decimals="-3"
      id="F_d2e870e5-24de-4089-9c09-7280181fe7d4"
      unitRef="U_USD">4421000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62"
      decimals="-3"
      id="F_0dab7971-090f-472b-b5b5-6b01d8cf380a"
      unitRef="U_USD">470000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62"
      decimals="-3"
      id="F_f8a0d477-ed47-4cc9-8cec-535ddb35776a"
      unitRef="U_USD">433000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset
      contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62"
      decimals="-3"
      id="F_c275c82e-a157-4d02-848f-7c3ebf63a89d"
      unitRef="U_USD">615000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_b9ac2779-f189-44a9-a97c-13ae9a156480"
      decimals="-3"
      id="F_b63fe699-21f9-4ba1-9b99-3478657e960b"
      unitRef="U_USD">12659000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_eba96294-5ae5-40e7-9508-1239e17102bb"
      decimals="-3"
      id="F_2973823c-b65c-4a82-9a64-8afd011986b3"
      unitRef="U_USD">44377000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_0788b2db-3193-4735-87b4-2ebcc611c50e"
      decimals="-3"
      id="F_bdd61bb5-da85-47e5-b297-b4a8bb3d2013"
      unitRef="U_USD">939000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_468b46f7-ee57-40de-be00-b230bf3bcc7d"
      decimals="-3"
      id="F_0def3c9f-cb09-4240-8ba5-1358eb593184"
      unitRef="U_USD">787000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62"
      decimals="-3"
      id="F_e1b7317a-a728-4d65-80b1-49b842072652"
      unitRef="U_USD">115778000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62"
      decimals="-3"
      id="F_7aaac466-4114-4ba3-9797-ce517295cc03"
      unitRef="U_USD">1432000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities
      contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62"
      decimals="-3"
      id="F_96ac2a34-c033-423c-9eca-385dc74f7bfc"
      unitRef="U_USD">2934000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent
      contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62"
      decimals="-3"
      id="F_12d1e53e-acd7-462d-b7cf-6d74cbdd6f4d"
      unitRef="U_USD">275000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent
      contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62"
      decimals="-3"
      id="F_5eaa6a61-b5f4-4fa4-b62a-2c4eb7e3cf1e"
      unitRef="U_USD">12481000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent
      contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62"
      decimals="-3"
      id="F_1ddffe55-3307-49dc-961c-7b5aae21bd45"
      unitRef="U_USD">255000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62"
      decimals="-3"
      id="F_8adcfa2b-817a-498b-8e46-ac70c66d2d9d"
      unitRef="U_USD">172600000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:Goodwill
      contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62"
      decimals="-5"
      id="F_4423d0df-22e7-43e7-b4e4-590764e2c973"
      unitRef="U_USD">115800000</us-gaap:Goodwill>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock
      contextRef="C_1a3669c7-edae-4d97-bd42-a06f7bc215b9"
      id="F_5e1283b4-58ad-4999-9ce8-a01aaae5baaf">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table sets forth the components of the identified intangible assets associated with the Metenova Acquisition and their estimated useful lives:&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:53.871%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:19.884%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:20.604%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Useful life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,659&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44,377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;939&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;787&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;58,762&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_1ea7cfd9-b67e-4786-a857-c751e74895fc"
      id="F_ec5819b5-b910-4128-8660-b7dda7c4b5a6">P15Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_b9ac2779-f189-44a9-a97c-13ae9a156480"
      decimals="-3"
      id="F_1fdfdefc-024e-4d81-93cd-658872079226"
      unitRef="U_USD">12659000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_24150723-7711-48f4-98ec-4f54e99b7614"
      id="F_bb471dbc-47a9-40c6-b846-3548a95bae9a">P15Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_eba96294-5ae5-40e7-9508-1239e17102bb"
      decimals="-3"
      id="F_86ac4ebb-ca0a-4961-b5d9-b7fca50b2604"
      unitRef="U_USD">44377000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_db4a7269-67e4-4aba-8cef-e29da396221e"
      id="F_ac3632e0-57c7-4fda-94d2-4417abb92378">P15Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_dcb0ae5a-6042-446a-b135-e56632d03469"
      decimals="-3"
      id="F_61532fe9-bde9-4673-b7ec-a8b22b9f26a4"
      unitRef="U_USD">939000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_d43babec-e112-4a4e-bd41-99b5e5a5370e"
      id="F_0836d913-6308-47e3-a953-c992dc5a6a74">P2Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_468b46f7-ee57-40de-be00-b230bf3bcc7d"
      decimals="-3"
      id="F_e045659d-a334-4a01-90fd-19fca6b38f01"
      unitRef="U_USD">787000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_e3f82ff6-645c-423c-9c11-f15ada748e62"
      decimals="-3"
      id="F_3cd4eff1-38ac-4d07-a82a-b1e61311694d"
      unitRef="U_USD">58762000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessAcquisitionEffectiveDateOfAcquisition1
      contextRef="C_79e62abb-7c94-41a6-814c-90254943c565"
      id="F_bd29b2ec-fb6f-4da5-aee6-9a08e76df5b5">2023-04-17</us-gaap:BusinessAcquisitionEffectiveDateOfAcquisition1>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="C_79e62abb-7c94-41a6-814c-90254943c565"
      decimals="-5"
      id="F_96391252-ca10-420b-9d1f-c8eb56805c4c"
      unitRef="U_USD">41000000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="C_79e62abb-7c94-41a6-814c-90254943c565"
      decimals="-5"
      id="F_19d891c7-3443-4a75-93c0-bf7800204ea3"
      unitRef="U_USD">29000000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh
      contextRef="C_7975b29f-6b21-4987-8e7c-b58d2df11b0e"
      decimals="-5"
      id="F_35459020-b391-42f6-82e9-5d5a33acefc3"
      unitRef="U_USD">6300000</us-gaap:BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh>
    <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued
      contextRef="C_79e62abb-7c94-41a6-814c-90254943c565"
      decimals="INF"
      id="F_821e6e8e-a229-4cb6-af36-3e509c3fab6f"
      unitRef="U_shares">31415</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="C_1eea2353-4969-4ce8-9058-2e8547d6c132"
      decimals="-5"
      id="F_d30af69e-6ab6-4b97-98f1-dea0317f2092"
      unitRef="U_USD">5400000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="C_79e62abb-7c94-41a6-814c-90254943c565"
      decimals="-5"
      id="F_719fed68-e749-4459-aa88-144db96b89c1"
      unitRef="U_USD">6600000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities
      contextRef="C_7975b29f-6b21-4987-8e7c-b58d2df11b0e"
      decimals="-5"
      id="F_36bd7d72-8dd1-405b-b0f4-226894317ab0"
      unitRef="U_USD">14100000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_7975b29f-6b21-4987-8e7c-b58d2df11b0e"
      decimals="-5"
      id="F_3091c39e-a0eb-4771-b230-230617ce3ba0"
      unitRef="U_USD">12600000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue
      contextRef="C_7975b29f-6b21-4987-8e7c-b58d2df11b0e"
      decimals="-5"
      id="F_248dbdae-bc8c-45d2-98e1-5ba114b727ee"
      unitRef="U_USD">14300000</us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5"
      decimals="-5"
      id="F_74361673-bc27-4354-90ca-c5618c874e16"
      unitRef="U_USD">1100000</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="C_a85a323e-95db-4086-a929-bcaabf49c967"
      decimals="-5"
      id="F_002bdecf-4d53-4f72-b187-bcbee69c5bf8"
      unitRef="U_USD">200000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock
      contextRef="C_29eef544-91ed-4d72-864a-9119c13364c8"
      id="F_036833e7-714f-4848-b74d-73b629694cb2">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components and estimated allocation of the purchase price consist of the following (amounts in thousands):&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,090&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts receivable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;683&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;667&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Property and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,034&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,537&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,530&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,860&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;220&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,321&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other long-term assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;136&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accrued liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;314&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;39&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability, long-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,498&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair value of net assets acquired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41,030&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5"
      decimals="-3"
      id="F_f498efe1-36e9-4d43-a838-f65891809f0a"
      unitRef="U_USD">1090000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5"
      decimals="-3"
      id="F_3790005b-a951-43d2-92ef-95df934dae62"
      unitRef="U_USD">683000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5"
      decimals="-3"
      id="F_1addf947-d66a-4aa2-9e59-eabbb5c91040"
      unitRef="U_USD">667000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5"
      decimals="-3"
      id="F_4f4fbe17-03bc-471f-87ec-32676255a1b7"
      unitRef="U_USD">35000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5"
      decimals="-3"
      id="F_d631307a-d278-4949-a144-f5b844dbe18e"
      unitRef="U_USD">12034000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset
      contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5"
      decimals="-3"
      id="F_2272e769-1b16-47d5-9fb8-76cff11cf05c"
      unitRef="U_USD">3537000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_8d0cc9f9-4286-45fb-8903-515fb81aacb1"
      decimals="-3"
      id="F_6c75a8f7-fb1b-4882-bbd5-f29f592d91d2"
      unitRef="U_USD">2530000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_9b13cfe3-1b2a-4a9b-880a-9ddb6149f09e"
      decimals="-3"
      id="F_a54cf4ce-1e43-4088-b696-1b2c38e9205d"
      unitRef="U_USD">9860000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_d52b9952-ec66-4682-9c8a-39eb7b430fe1"
      decimals="-3"
      id="F_b0f58611-e885-459c-a9c4-0d92fdda48db"
      unitRef="U_USD">30000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_511030e1-8f3a-44ca-8fda-31bd3de6c203"
      decimals="-3"
      id="F_debe2e50-9f79-4531-95c1-53c3e9efe5df"
      unitRef="U_USD">220000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5"
      decimals="-3"
      id="F_3815de17-c5f9-4b9e-b95f-dc97cc5426c1"
      unitRef="U_USD">14321000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5"
      decimals="-3"
      id="F_898b8732-5690-4f14-afb0-bb007cc5d06b"
      unitRef="U_USD">10000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5"
      decimals="-3"
      id="F_d4d2c961-977c-47e0-91ca-a704a141f316"
      unitRef="U_USD">136000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities
      contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5"
      decimals="-3"
      id="F_9185f72a-eb33-4b01-a172-49f85da6f833"
      unitRef="U_USD">314000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent
      contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5"
      decimals="-3"
      id="F_467ee8a3-9c07-473d-a630-a351a4917081"
      unitRef="U_USD">39000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent
      contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5"
      decimals="-3"
      id="F_325fdbec-d3e7-40f1-8d97-943f7840a41f"
      unitRef="U_USD">3498000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5"
      decimals="-3"
      id="F_8e36a594-4cea-434e-b9dc-449a7ced50bd"
      unitRef="U_USD">41030000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:Goodwill
      contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5"
      decimals="-5"
      id="F_22f2668a-42f0-4783-903a-56feafddac81"
      unitRef="U_USD">14300000</us-gaap:Goodwill>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock
      contextRef="C_29eef544-91ed-4d72-864a-9119c13364c8"
      id="F_cf201f3f-5397-4e37-9721-ea2075a937ed">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table sets forth the components of the identified intangible assets associated with the FlexBiosys Acquisition and their estimated useful lives:&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:53.871%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:19.884%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:20.604%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Useful life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,530&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,860&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;220&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,640&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_4abf8ec1-5831-417f-a7a0-df8d261e5250"
      id="F_ea364bc5-7379-4159-9730-5c5747517a77">P12Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_8d0cc9f9-4286-45fb-8903-515fb81aacb1"
      decimals="-3"
      id="F_30e5b542-9374-44a9-85c0-81d0b0b4e5af"
      unitRef="U_USD">2530000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_8a126f1d-fe79-4bb7-9205-98984f6392f7"
      id="F_87cac108-1a6c-4d71-ab07-cde7f0d789a3">P16Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_9b13cfe3-1b2a-4a9b-880a-9ddb6149f09e"
      decimals="-3"
      id="F_2acd4a55-1927-4c5d-a4c3-3309b56cffc8"
      unitRef="U_USD">9860000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_f8ce4662-639c-43a7-9c32-7def0ed265ec"
      id="F_661600af-64f5-4c88-972b-36c28333fae2">P4Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_0265e8fb-5e58-4f2d-a6c9-2fa91822cfc7"
      decimals="-3"
      id="F_e65549be-29d9-401b-8637-574c96ac57d0"
      unitRef="U_USD">30000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_7d52f340-2312-47b8-b669-dcdf99df683e"
      id="F_cbbe38b2-d09a-49d0-ac2e-ac55cf4e8d24">P5Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_511030e1-8f3a-44ca-8fda-31bd3de6c203"
      decimals="-3"
      id="F_4df30578-a2ba-4a27-b3b7-563193e3ea7d"
      unitRef="U_USD">220000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_66c5c94b-5fc1-406e-a13d-7b1398cb97b5"
      decimals="-3"
      id="F_d09ca27d-6d6d-4c1c-99ec-656a115e916d"
      unitRef="U_USD">12640000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="C_be871d4a-3756-4b33-ab96-659992a35015"
      decimals="INF"
      id="F_772bc283-832d-4daf-acb7-ce631d0a1973"
      unitRef="U_pure">1</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="C_6510b4a8-454d-4c05-903f-a7055df45cb9"
      decimals="-5"
      id="F_714f2ac4-3ae6-45bb-aa41-1b82a8b1b1f1"
      unitRef="U_USD">31600000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <rgen:BusinessCombinationConsiderationIndemnificationEscrow
      contextRef="C_6510b4a8-454d-4c05-903f-a7055df45cb9"
      decimals="-5"
      id="F_0ebf473d-423b-4d5b-a85a-5ab6348a2b5c"
      unitRef="U_USD">3000000</rgen:BusinessCombinationConsiderationIndemnificationEscrow>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets
      contextRef="C_be871d4a-3756-4b33-ab96-659992a35015"
      decimals="-5"
      id="F_1aa48b2d-e9b2-4661-a143-8b8450b3e4c3"
      unitRef="U_USD">4600000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_be871d4a-3756-4b33-ab96-659992a35015"
      decimals="-5"
      id="F_e339a523-3836-486a-a9a8-928c72852d9e"
      unitRef="U_USD">17200000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue
      contextRef="C_be871d4a-3756-4b33-ab96-659992a35015"
      decimals="-5"
      id="F_2878f612-b99d-420c-b796-e76fc5bd8a15"
      unitRef="U_USD">9800000</us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2"
      decimals="-5"
      id="F_3086b7a0-d9f8-4ee3-aa92-6c5f231b941d"
      unitRef="U_USD">3000000</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-5"
      id="F_f7a70738-1ba6-4f5b-9faa-5ebd42565ec6"
      unitRef="U_USD">2700000</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="C_82911078-bdd7-49a5-87bb-adfb316a68b0"
      decimals="-5"
      id="F_7800e64e-33b1-481d-9970-8735c756372f"
      unitRef="U_USD">300000</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock
      contextRef="C_932c309b-51cb-44b3-bc0b-590bd77b766c"
      id="F_d6b0a49a-f531-4e52-8205-36dc291f453c">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components and estimated allocation of the purchase price consist of the following (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,870&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts receivable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,408&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;741&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Property and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;34&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,034&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,540&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;310&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;60&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,834&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long term deferred tax asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;224&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accrued liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;450&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,030&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability, long-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair value of net assets acquired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;31,571&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2"
      decimals="-3"
      id="F_70f1a5ef-4970-4416-94a3-f048ab5c7371"
      unitRef="U_USD">2870000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2"
      decimals="-3"
      id="F_b52478bc-717d-4e55-9f01-14efbb498b83"
      unitRef="U_USD">1408000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2"
      decimals="-3"
      id="F_bc014fe6-4959-4ca7-84af-c2b7599a2e6f"
      unitRef="U_USD">741000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2"
      decimals="-3"
      id="F_b78b984c-6f17-4f18-b4e5-9084ba967bf9"
      unitRef="U_USD">126000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2"
      decimals="-3"
      id="F_01ebdf16-a327-4983-bcb5-666f1357255b"
      unitRef="U_USD">34000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset
      contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2"
      decimals="-3"
      id="F_2ca9def1-a37a-42f3-84df-2c4f23071bc6"
      unitRef="U_USD">1034000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_4ece218e-ea24-4147-b907-3f5bb672e770"
      decimals="-3"
      id="F_ce7ee763-e9d3-4f89-877e-a6b60bff135b"
      unitRef="U_USD">13240000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_f2669897-cafb-4b1e-8549-28ba2a50496b"
      decimals="-3"
      id="F_5c0be24d-1fb3-4372-9be6-bd65dbd6fbed"
      unitRef="U_USD">3540000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_abc21ae5-4e05-4e1a-b86b-4aabbb320074"
      decimals="-3"
      id="F_d4d369a6-1c3b-4c70-9119-48166910f4b2"
      unitRef="U_USD">310000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_8f21fc99-0e7a-4bd4-9d0f-1ad39154124c"
      decimals="-3"
      id="F_71c5a351-bba6-4f6a-9f09-9b93da06f65d"
      unitRef="U_USD">60000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2"
      decimals="-3"
      id="F_44b01b32-db74-4c33-b0be-456640fb578c"
      unitRef="U_USD">9834000</us-gaap:Goodwill>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent
      contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2"
      decimals="-3"
      id="F_b9379722-ecec-4f74-9919-e20bd2105887"
      unitRef="U_USD">81000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2"
      decimals="-3"
      id="F_71883027-c1c1-4d8c-bf9a-df6a021079b2"
      unitRef="U_USD">224000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities
      contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2"
      decimals="-3"
      id="F_7fba2669-7321-4fe6-9af1-e2b369d0f353"
      unitRef="U_USD">450000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent
      contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2"
      decimals="-3"
      id="F_720a94d5-d773-4f25-aa1f-7a6f20d2dcaa"
      unitRef="U_USD">1030000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent
      contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2"
      decimals="-3"
      id="F_2b8a4056-9a9a-4456-b42b-86613c2eff1a"
      unitRef="U_USD">3000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2"
      decimals="-3"
      id="F_39ba7b90-25c6-427b-ae5f-c31edd90ea31"
      unitRef="U_USD">31571000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <rgen:BusinessAcquisitionWorkingCapitalAdjustments
      contextRef="C_05ebe28c-5ee0-42ff-b7aa-c238426453d1"
      decimals="-5"
      id="F_d2a9ef56-fab0-429a-ab06-b4ee892b2c4a"
      unitRef="U_USD">300000</rgen:BusinessAcquisitionWorkingCapitalAdjustments>
    <us-gaap:Goodwill
      contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2"
      decimals="-5"
      id="F_dfcbabd8-b6d7-4c46-a193-44808abb923f"
      unitRef="U_USD">9800000</us-gaap:Goodwill>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock
      contextRef="C_932c309b-51cb-44b3-bc0b-590bd77b766c"
      id="F_611b7791-b345-41c2-aca8-77e762bab9e7">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table sets forth the components of the identified intangible assets associated with the NTM Acquisition and their estimated useful lives:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:53.871%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:19.884%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:20.604%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Useful life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,540&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;310&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;60&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,150&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_13d41b52-dc6f-40b2-b68b-8be806556dc4"
      id="F_b7a3a48c-74d2-4a37-a127-e9712d32ba2a">P10Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_4ece218e-ea24-4147-b907-3f5bb672e770"
      decimals="-3"
      id="F_08ddc1eb-7e39-47f5-bfa2-73745be0a2e9"
      unitRef="U_USD">13240000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_4a29c368-0c77-4046-977c-d443e13aff4e"
      id="F_2e208ed0-6891-48a5-9460-451ad62cc296">P11Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_f2669897-cafb-4b1e-8549-28ba2a50496b"
      decimals="-3"
      id="F_f6a67fbd-575e-4c30-b863-4173cc78298a"
      unitRef="U_USD">3540000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_6fb54043-1aab-4aa6-bca1-093388f54d18"
      id="F_04f43269-ee9d-4b3b-8a5a-a1a4fd78bef1">P15Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_23640028-5b90-4cc8-b258-9a033867cf65"
      decimals="-3"
      id="F_194ff804-291f-45e8-84ed-be646d49f997"
      unitRef="U_USD">310000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_34a9826a-c845-4d3c-afab-416c4c140419"
      id="F_a7773300-e7bd-4741-b9d0-f16876d54fee">P3Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_8f21fc99-0e7a-4bd4-9d0f-1ad39154124c"
      decimals="-3"
      id="F_7200a92e-b34b-41e6-9891-64450e5e01d2"
      unitRef="U_USD">60000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_e9eec42b-f045-4cbb-8dc9-a3faf3fc70d2"
      decimals="-3"
      id="F_d7aea39a-40ea-4460-9669-d7bbe0a285f6"
      unitRef="U_USD">17150000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="C_739f2499-5a6e-4497-a335-0b687d7c1206"
      decimals="-5"
      id="F_5f09f0cd-9108-4262-bf18-ee25ef46875f"
      unitRef="U_USD">275000000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="C_739f2499-5a6e-4497-a335-0b687d7c1206"
      decimals="-5"
      id="F_2c3728b2-f78e-4ed6-a22f-5c5084df0baf"
      unitRef="U_USD">150000000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="C_739f2499-5a6e-4497-a335-0b687d7c1206"
      decimals="-5"
      id="F_41793cd8-3a49-4c33-a809-9f284c185c52"
      unitRef="U_USD">149400000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="C_739f2499-5a6e-4497-a335-0b687d7c1206"
      decimals="-5"
      id="F_ee288431-70ba-4310-b6e6-042886a56bfd"
      unitRef="U_USD">125000000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <rgen:BusinessCombinationConsiderationIndemnificationEscrow
      contextRef="C_739f2499-5a6e-4497-a335-0b687d7c1206"
      decimals="-5"
      id="F_291375c2-411a-4651-8313-4a5cc6f17d96"
      unitRef="U_USD">800000</rgen:BusinessCombinationConsiderationIndemnificationEscrow>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="C_bd45c841-c1b1-43de-9cf5-7b66118f6d51"
      decimals="-5"
      id="F_cd2f0e0a-ea1d-474f-9e8d-73da35bf296c"
      unitRef="U_USD">75000000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued
      contextRef="C_bd45c841-c1b1-43de-9cf5-7b66118f6d51"
      decimals="INF"
      id="F_3b8e01fd-03db-40c9-883f-37422be6fa8b"
      unitRef="U_shares">271096</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="C_bd45c841-c1b1-43de-9cf5-7b66118f6d51"
      decimals="-5"
      id="F_504273d3-d571-4408-af61-8ecf0c58f4c5"
      unitRef="U_USD">83000000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="C_bd45c841-c1b1-43de-9cf5-7b66118f6d51"
      decimals="-5"
      id="F_14917ff9-c9bd-46b5-a207-01a9f2a237ec"
      unitRef="U_USD">88400000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities
      contextRef="C_85787cd2-cc97-4fa0-9dc9-8c12203050fb"
      decimals="-5"
      id="F_29f9f28d-3ec8-4e5c-a310-75e1d42f16bd"
      unitRef="U_USD">2100000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_85787cd2-cc97-4fa0-9dc9-8c12203050fb"
      decimals="-5"
      id="F_5c58e83c-555f-4ec9-a84c-90c634966ddb"
      unitRef="U_USD">46700000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue
      contextRef="C_85787cd2-cc97-4fa0-9dc9-8c12203050fb"
      decimals="-5"
      id="F_bceec413-e81a-452a-92b3-d532fa5bb5ce"
      unitRef="U_USD">197500000</us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07"
      decimals="-5"
      id="F_e03b5e4a-385f-4486-bd5a-8d22a386dbfe"
      unitRef="U_USD">5600000</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="C_5b2f98f0-5aaf-47f7-a6c3-eb82a9a19723"
      decimals="-5"
      id="F_73cd7330-af06-4a9f-ad6e-c53f5b36b91f"
      unitRef="U_USD">3000000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="C_3b03e0b4-2f2a-44a7-b962-8f45b78cdb25"
      decimals="-5"
      id="F_9d7b2a55-d418-4b91-ba46-9d7367c8fca7"
      unitRef="U_USD">2600000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <rgen:ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock
      contextRef="C_5f034394-cf78-4eb4-8ff9-9f23954cccd0"
      id="F_92151a46-5a2b-4e88-b8d2-6015e8a955de">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Total consideration transferred is as follows (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;74,962&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Equity consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;82,968&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Contingent consideration - earnout&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;88,373&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair value of net assets acquired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;246,303&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</rgen:ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock>
    <rgen:CashConsiderationExcludingRestrictedCash
      contextRef="C_5b2f98f0-5aaf-47f7-a6c3-eb82a9a19723"
      decimals="-3"
      id="F_3b7a6536-cf0a-4173-a539-12d9dc573435"
      unitRef="U_USD">74962000</rgen:CashConsiderationExcludingRestrictedCash>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="C_5b2f98f0-5aaf-47f7-a6c3-eb82a9a19723"
      decimals="-3"
      id="F_57b34f9b-da1b-458e-91da-b806d0f49262"
      unitRef="U_USD">82968000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="C_5b2f98f0-5aaf-47f7-a6c3-eb82a9a19723"
      decimals="-3"
      id="F_0557422e-c5a7-4f11-824f-4b16691b029d"
      unitRef="U_USD">88373000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="C_5b2f98f0-5aaf-47f7-a6c3-eb82a9a19723"
      decimals="-3"
      id="F_94e1d8c2-5839-4a24-bf1e-ddd6e8644655"
      unitRef="U_USD">246303000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock
      contextRef="C_5f034394-cf78-4eb4-8ff9-9f23954cccd0"
      id="F_ca931bd5-9a11-49fc-84eb-9b2393cd8ca2">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components and estimated allocation of the purchase price consist of the following (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;572&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts receivable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;228&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;332&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;114&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Property and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,862&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,648&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24,580&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,650&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,210&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;210&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;197,476&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long term deferred tax asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,525&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;215&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accrued liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,183&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;698&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability, long-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,950&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;58&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair value of net assets acquired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;246,303&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07"
      decimals="-3"
      id="F_bd714bc2-301e-439e-aac4-7653a198a088"
      unitRef="U_USD">572000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07"
      decimals="-3"
      id="F_97e43761-d8d1-4f66-b518-4a6c9e21080b"
      unitRef="U_USD">228000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07"
      decimals="-3"
      id="F_43975ff5-7f2d-4f48-b668-0830ff7c37cd"
      unitRef="U_USD">332000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07"
      decimals="-3"
      id="F_8de2c992-f32a-4faf-b88a-f65301a00c49"
      unitRef="U_USD">114000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07"
      decimals="-3"
      id="F_e66c8aa7-1025-4be6-94bb-a1d3d9259509"
      unitRef="U_USD">1862000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset
      contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07"
      decimals="-3"
      id="F_8abf98d5-a8c3-449d-a849-3070e68f486a"
      unitRef="U_USD">3648000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_e5346cff-daa3-4b88-af43-66a2dfc7c4cc"
      decimals="-3"
      id="F_adedc4b1-2f82-4eb3-94e8-c904df84a825"
      unitRef="U_USD">24580000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_13a377e5-c54c-40c1-8862-a75c34f185ad"
      decimals="-3"
      id="F_415a7d56-f0df-4106-a837-0762dfc7824c"
      unitRef="U_USD">20650000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_65474625-14e9-4073-bb51-8a868ee6020c"
      decimals="-3"
      id="F_74358af2-39b8-48e7-889d-d9f7aa8dc3ce"
      unitRef="U_USD">1210000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_5b80df83-7025-491e-a539-f48cf74a13a9"
      decimals="-3"
      id="F_1ebd81c4-acf4-4ed0-83c5-2297abc2ea47"
      unitRef="U_USD">210000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07"
      decimals="-3"
      id="F_486b02e9-c7c5-4736-aa27-f2d1c562f3c7"
      unitRef="U_USD">197476000</us-gaap:Goodwill>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent
      contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07"
      decimals="-3"
      id="F_a6f7fe76-3844-4346-930c-1e03187bfc9c"
      unitRef="U_USD">1525000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07"
      decimals="-3"
      id="F_c6df9ccd-7ec3-46fe-a491-3e78924bb65f"
      unitRef="U_USD">215000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities
      contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07"
      decimals="-3"
      id="F_d90ca595-f1ba-4f9f-9cdd-cef86e4df82b"
      unitRef="U_USD">2183000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent
      contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07"
      decimals="-3"
      id="F_7b5dffb0-d185-482f-ae4a-6d6f9d5d688e"
      unitRef="U_USD">698000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent
      contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07"
      decimals="-3"
      id="F_576f5560-e71e-439d-88ac-4de25924fba1"
      unitRef="U_USD">2950000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07"
      decimals="-3"
      id="F_7fb8545d-19f3-4a0b-8b63-cc29fec2d48b"
      unitRef="U_USD">58000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07"
      decimals="-3"
      id="F_84279c65-13d8-46ef-b250-1700053514f8"
      unitRef="U_USD">246303000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:Goodwill
      contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07"
      decimals="-5"
      id="F_572c0dfd-e645-45e9-8de3-adeebc948934"
      unitRef="U_USD">197500000</us-gaap:Goodwill>
    <rgen:BusinessAcquisitionWorkingCapitalAdjustments
      contextRef="C_5b2f98f0-5aaf-47f7-a6c3-eb82a9a19723"
      decimals="-5"
      id="F_a4de73ec-59c2-4644-9b75-644dcd572b99"
      unitRef="U_USD">1800000</rgen:BusinessAcquisitionWorkingCapitalAdjustments>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock
      contextRef="C_5f034394-cf78-4eb4-8ff9-9f23954cccd0"
      id="F_1bc81a19-02b9-4404-a214-3f9092287eba">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table sets forth the components of the identified intangible assets associated with the Avitide Acquisition and their estimated useful lives:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:53.871%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:19.884%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:20.604%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Useful life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24,580&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,650&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;18 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,210&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;210&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;46,650&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_6e6a7aa0-d26c-47ef-8006-274f7962495e"
      id="F_e3c048aa-a2c8-41f1-a089-b383e84acd06">P13Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_e5346cff-daa3-4b88-af43-66a2dfc7c4cc"
      decimals="-3"
      id="F_63f7c0f3-0b2d-493b-ac1b-a519e959fb86"
      unitRef="U_USD">24580000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_4839da60-958e-407b-9bba-2302adbf97ff"
      id="F_201948b6-59b5-432f-a597-2af9f9fc1b97">P15Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_13a377e5-c54c-40c1-8862-a75c34f185ad"
      decimals="-3"
      id="F_042760f6-ae47-4857-b01d-e97951190cca"
      unitRef="U_USD">20650000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_8e03f0b0-cf7e-45ef-9176-62d85b8565f6"
      id="F_f859b46d-bffe-498b-ae07-4e2c5d0cef8a">P18Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_50824066-db96-4e9c-89be-2187ed9c8b5b"
      decimals="-3"
      id="F_ed357044-eb9b-40e4-85af-30d5116a80d0"
      unitRef="U_USD">1210000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_c70e20b7-1a61-4956-9fe7-3c9acd47cfe1"
      id="F_dc823522-3fcc-4357-ae46-634c40e51e52">P3Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_5b80df83-7025-491e-a539-f48cf74a13a9"
      decimals="-3"
      id="F_50e1d935-52fa-448b-9739-147d75d69e18"
      unitRef="U_USD">210000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_ab1ccc2b-89d7-46a0-ba0e-302dbab7ef07"
      decimals="-3"
      id="F_fe043705-0df5-4004-8ccb-7fd2404cf499"
      unitRef="U_USD">46650000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="C_020d7343-3d39-48c4-9787-a80d017b01ba"
      decimals="-5"
      id="F_d35e51f1-3adb-4636-b2ce-05fd45777e9b"
      unitRef="U_USD">47000000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="C_f7a6ff66-09a2-410c-aeb3-270cfd6996c1"
      decimals="-5"
      id="F_4e56e8bb-3fd9-4bfa-8c2c-0c148032fdf2"
      unitRef="U_USD">47000000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <rgen:BusinessCombinationConsiderationIndemnificationEscrow
      contextRef="C_f7a6ff66-09a2-410c-aeb3-270cfd6996c1"
      decimals="-5"
      id="F_f6196682-a4eb-454d-ad76-ad7d8d287228"
      unitRef="U_USD">4300000</rgen:BusinessCombinationConsiderationIndemnificationEscrow>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities
      contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff"
      decimals="-5"
      id="F_56cda14a-36e7-4df6-b13e-a012bed1e4d0"
      unitRef="U_USD">2200000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff"
      decimals="-5"
      id="F_5de76c3c-98bc-4c8b-857b-71c39e887738"
      unitRef="U_USD">9100000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue
      contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff"
      decimals="-5"
      id="F_f620f5c4-cc57-4825-af4e-19b53ddcb730"
      unitRef="U_USD">35700000</us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff"
      decimals="-5"
      id="F_af39906d-237f-4a37-9a74-511bc8c55e51"
      unitRef="U_USD">8200000</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="C_f7a6ff66-09a2-410c-aeb3-270cfd6996c1"
      decimals="-5"
      id="F_bea5a565-1ea1-428a-bcd1-d2b8e0fbc5c0"
      unitRef="U_USD">5100000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="C_576509cb-8cb1-4c91-aa64-e0e06b940d7f"
      decimals="-5"
      id="F_3a0dc14a-cb4d-487c-952c-ccb382ee4d5d"
      unitRef="U_USD">3100000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock
      contextRef="C_0e1f33d7-90de-41d5-8921-1d2474bea169"
      id="F_6c66abc1-76d0-4a83-a8c1-fae4775730b8">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components and final allocation of the purchase price consist of the following (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;353&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net working capital (excluding cash and inventory&lt;br/&gt;&#160;&#160;&#160;&#160;&#160;step-up)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;414&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory step-up&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;543&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,424&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Property and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,145&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,274&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradenames&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;510&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-compete agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;312&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35,680&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,253&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long term deferred tax liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,327&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other long-term liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;143&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair value of net assets acquired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-weight:bold;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;46,973&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff"
      decimals="-3"
      id="F_21cf9e89-c6b1-471e-b5e2-0b6a47679120"
      unitRef="U_USD">353000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <rgen:NetWorkingCapitalExcludingCashAndInventory
      contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff"
      decimals="-3"
      id="F_57391490-7cea-4b85-8cf8-3760d75fb066"
      unitRef="U_USD">414000</rgen:NetWorkingCapitalExcludingCashAndInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff"
      decimals="-3"
      id="F_9639d882-dd04-43c2-9faa-3d68c8dcab86"
      unitRef="U_USD">543000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset
      contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff"
      decimals="-3"
      id="F_f41039f1-4ca7-4243-892f-e7c3460cb281"
      unitRef="U_USD">1424000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff"
      decimals="-3"
      id="F_9a72bd42-7ed3-4de5-a2df-edd881f90e05"
      unitRef="U_USD">3145000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff"
      decimals="-3"
      id="F_28407443-331e-466f-96f2-fc1e52138e55"
      unitRef="U_USD">41000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_1b2adbd2-5edf-464c-8fe3-ae19e88561b9"
      decimals="-3"
      id="F_d3fb8397-7fd4-44aa-b809-1d55331f28b5"
      unitRef="U_USD">8274000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_b9b4b5d6-de5d-476c-9e99-40894c80f091"
      decimals="-3"
      id="F_15d4ca27-1515-41a5-aa69-725f601a33b5"
      unitRef="U_USD">510000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_cdf74e2b-c5e8-4335-b70c-b1908a440d75"
      decimals="-3"
      id="F_30fa530b-418d-407f-ac37-71839695ff21"
      unitRef="U_USD">312000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff"
      decimals="-3"
      id="F_565ab39b-4379-422e-884e-6684a9087ba3"
      unitRef="U_USD">35680000</us-gaap:Goodwill>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent
      contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff"
      decimals="-3"
      id="F_34a80373-4d6f-4043-b081-513e4b4773bb"
      unitRef="U_USD">1253000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent
      contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff"
      decimals="-3"
      id="F_e5bbfce0-c33e-432e-b210-aaecad4bf61e"
      unitRef="U_USD">2327000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff"
      decimals="-3"
      id="F_e581433b-e252-42d7-87bf-df151ce2712b"
      unitRef="U_USD">143000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff"
      decimals="-3"
      id="F_b29bca77-eeb5-4e84-b145-d894c62dbcd7"
      unitRef="U_USD">46973000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue
      contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff"
      decimals="-5"
      id="F_2aa213fa-b952-43f0-95cf-efac4b30ba46"
      unitRef="U_USD">35700000</us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock
      contextRef="C_0e1f33d7-90de-41d5-8921-1d2474bea169"
      id="F_a561eafa-b9f3-45f5-8e6f-c9db4ae46a8d">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table sets forth the components of the identified intangible assets associated with the Polymem Acquisition and their estimated useful lives:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:53.871%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:19.884%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:20.604%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Useful life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,274&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;510&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;312&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,096&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_b863eea6-61f9-4978-952d-7f6d07797f95"
      id="F_4a8bebd8-4454-40b4-a225-e8676961e0be">P13Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_1b2adbd2-5edf-464c-8fe3-ae19e88561b9"
      decimals="-3"
      id="F_e0a58b5c-cc15-4331-8d62-80be75118012"
      unitRef="U_USD">8274000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_85168802-14e7-4bb1-8535-42c2d678584c"
      id="F_378916f4-51a4-4c36-9c79-3c1a23d363a2">P14Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_949b3acc-6542-40a4-86dc-c30d10c3f573"
      decimals="-3"
      id="F_98dabca4-f6f8-493b-9ef4-11a6fdfd75f2"
      unitRef="U_USD">510000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_9614fa2e-d8aa-45a3-912e-33c6febbd59a"
      id="F_597a6359-f9ef-48c8-9adf-a81afb63fc5e">P5Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_cdf74e2b-c5e8-4335-b70c-b1908a440d75"
      decimals="-3"
      id="F_dc993ab9-e80a-44e3-ac0c-70a6d77be441"
      unitRef="U_USD">312000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_4903e3a8-6af5-45f1-a44d-32b065baadff"
      decimals="-3"
      id="F_a6f31412-2fe3-4c5c-b18d-a8eca7cacc7a"
      unitRef="U_USD">9096000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_6ec64eff-1eaf-4b28-94ad-a43423c42166">&lt;div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;6.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Restructuring Plan&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In July 2023, the Board authorized the Company's management team to undertake restructuring activities to simplify and streamline our organization and strengthen the overall effectiveness of our operations. In addition to the initial streamlining and re-balancing efforts contemplated in July, the Company is undertaking further restructuring activities (collectively, the &#x201c;Restructuring Plan&#x201d;) which include consolidating a portion of our manufacturing operations between certain U.S. locations, discontinuing the sale of certain product SKUs, and evaluating the fair value of finished goods and raw materials, mostly secured during the 2020-2022 COVID-19 pandemic period (the &#x201c;COVID-19 Period&#x201d;) to meet increasing demand during a challenging supply chain environment in the industry.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company recorded pre-tax costs of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in 2023 related to the Restructuring Plan and expects the Restructuring Plan to be completed by the end of the third quarter of 2024. Of the $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in pre-tax costs in 2023, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million is non-cash, relating primarily to inventory adjustments to record inventory at net realizable value and accelerated depreciation on equipment related to the shutdown of manufacturing facilities and production lines, the remaining costs are cash expenses, primarily related to severance and employee-related costs.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table summarizes the charges related to restructuring activities by type of cost:&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:28.071%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.281%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:11.825%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.281%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.905%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.281%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.624%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.281%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.264%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.281%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.904%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="18" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Year Ended December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Severance &amp;amp; Employee-Related Costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Inventory Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Accelerated Depreciation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Facility and Other Exit Costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="18" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cost of product revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,077&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;23,588&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,788&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;933&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,386&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Research and development&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;116&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;116&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Selling, general and administrative&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,532&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;28&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;138&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,698&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,725&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;23,588&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,816&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,071&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,200&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Severance and employee-related costs under the Restructuring Plan are associated with actual headcount reductions. Costs incurred include cash severance and non-cash severance, including other termination benefits. Severance and other termination benefit packages are based on established benefit arrangements or local statutory requirements and we recognized the contractual component of these benefits when payment was probable and could be reasonably estimated.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The inventory adjustments include the impact of the Company discontinuing the sale of certain product SKUs and the impact of having proactively secured materials during the COVID-19 Period to meet accelerated demand during a challenging supply chain environment in the industry. Where demand has reduced, finished goods and raw materials, whose value exceeded the projected requirements to be used before reaching their expiration date, were written down to their realizable value. The Restructuring Plan also includes the closing of manufacturing facilities and production lines, which included inventory that could not be repurposed.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Non-cash charges for accelerated depreciation were recognized on long-lived assets that were taken out of service before the end of their normal service due to the shutdown of manufacturing facilities and production lines, in which case depreciation estimates were revised to reflect the use of the assets over their shortened useful life.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The restructuring accrual is included in accrued liabilities on the condensed consolidated balance sheets as of December 31, 2023 and the balance has been paid as of that date. &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Activity related to the Restructuring Plan for 2023 was as follows (amounts in thousands):&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:32.326%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:13.903%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.143%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.523%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.102%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Restructuring Costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amounts Paid in 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Non-Cash Restructuring Items&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Restructuring Liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;word-break:break-word;"&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Severance &amp;amp; employee-related costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,725&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,044&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;217&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#ffffff;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;464&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;23,588&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;23,588&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;word-break:break-word;"&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accelerated depreciation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,816&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,816&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#ffffff;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Facility exit and other exit costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,071&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,061&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;word-break:break-word;"&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,200&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,105&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,631&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#ffffff;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;464&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;</us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock>
    <us-gaap:RestructuringCosts
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-5"
      id="F_b1e3078f-b6f0-4695-b42d-8b617e0ea5ab"
      unitRef="U_USD">32200000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-5"
      id="F_5f0e3cf7-eda4-42db-96ca-8403bf6489e2"
      unitRef="U_USD">32200000</us-gaap:RestructuringCosts>
    <rgen:NoncashInventoryAdjustments
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-5"
      id="F_215debfd-3c79-416f-9b44-931cd4d871f6"
      unitRef="U_USD">27600000</rgen:NoncashInventoryAdjustments>
    <us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_456d0d27-144e-4ff2-b4a7-e8c3eac3d0c6">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table summarizes the charges related to restructuring activities by type of cost:&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:28.071%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.281%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:11.825%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.281%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.905%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.281%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.624%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.281%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.264%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.281%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.904%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="18" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Year Ended December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Severance &amp;amp; Employee-Related Costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Inventory Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Accelerated Depreciation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Facility and Other Exit Costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="18" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cost of product revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,077&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;23,588&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,788&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;933&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,386&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Research and development&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;116&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;116&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Selling, general and administrative&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,532&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;28&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;138&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,698&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,725&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;23,588&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,816&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,071&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,200&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock>
    <us-gaap:RestructuringCosts
      contextRef="C_28500612-427e-471d-b740-4cc7b18f89d7"
      decimals="-3"
      id="F_cdf80320-9ec7-45a1-8057-e66724f46f79"
      unitRef="U_USD">2077000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_25a2b16a-f8ca-44e2-8a64-59fa3cd82225"
      decimals="-3"
      id="F_b32c064b-0d39-4f04-9697-f8e41fc6f701"
      unitRef="U_USD">23588000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_8fced8db-a45c-4846-b4db-2af4d62c8042"
      decimals="-3"
      id="F_160ba5d4-e680-4a8d-9e47-f22e61f34b24"
      unitRef="U_USD">3788000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_dbd9f53d-3a19-4241-9998-df54acb4c40d"
      decimals="-3"
      id="F_8405dd82-0dae-41de-a49e-54942f1d8851"
      unitRef="U_USD">933000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_e72c853e-3631-476f-86e5-4087f150e6bf"
      decimals="-3"
      id="F_1027147d-42c7-46c2-9130-dc0ff52a3af4"
      unitRef="U_USD">30386000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_19af5bfa-4a9e-4d9a-9713-c650fb8e8606"
      decimals="-3"
      id="F_d8308ac5-63db-4989-af04-5f9164ae2767"
      unitRef="U_USD">116000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_ba73e25b-8f33-452a-85c5-38d65f326340"
      decimals="-3"
      id="F_a33a24e6-b690-4f40-a291-9c233e0ff5f4"
      unitRef="U_USD">0</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_aeca4317-2ca1-473a-8ffb-a7b7c0feef85"
      decimals="-3"
      id="F_8e101b7c-47a0-4344-8e49-8fed8b1718b2"
      unitRef="U_USD">0</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_fcb4125e-273a-44fd-9d09-9ff01cda4870"
      decimals="-3"
      id="F_5dbf7d66-efad-4a2b-9708-b58aefae2764"
      unitRef="U_USD">0</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_b9fb015c-5324-4b79-bfca-e8473e117f1a"
      decimals="-3"
      id="F_9c658af5-c1e8-42d7-b0fe-56a50cb1934e"
      unitRef="U_USD">116000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_72048d64-eb68-45f7-b7ba-737b8cff5b6b"
      decimals="-3"
      id="F_6c6d62aa-8ca9-4a6b-8a29-f7c75b0649ec"
      unitRef="U_USD">1532000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_791f88a3-f366-4b27-9da7-3798d8ba6d29"
      decimals="-3"
      id="F_1c632375-989d-4b36-baf2-a752ec0b9113"
      unitRef="U_USD">0</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_2b4b3769-11d4-47f9-9499-c663372feec5"
      decimals="-3"
      id="F_86ae584c-e0a7-4d97-8015-b3f214c5deca"
      unitRef="U_USD">28000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_91f7bf51-7cf8-4978-ad2a-98d4d87806f5"
      decimals="-3"
      id="F_b88b1ea0-7fa7-492e-a2f0-2ce07fd1f423"
      unitRef="U_USD">138000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_81a9bdaf-6f7f-436c-8bb2-848fff93f096"
      decimals="-3"
      id="F_3be4c3c2-5556-4d8d-8915-fb40a65faa8b"
      unitRef="U_USD">1698000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_517b62b2-f94a-484b-bdad-beee620b135b"
      decimals="-3"
      id="F_6074dc8a-a2be-4e5d-8130-dd7ff13e9ee7"
      unitRef="U_USD">3725000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_5ef98629-d348-419f-9d8d-a7b6418a6220"
      decimals="-3"
      id="F_4ed2b96a-19de-4cff-9377-ec30da8eee47"
      unitRef="U_USD">23588000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_b9bd2956-55b6-4630-90c7-778486ff7c89"
      decimals="-3"
      id="F_42fa8383-01b8-4e7d-bf84-08acc71c8d55"
      unitRef="U_USD">3816000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_ea2f159d-1ada-4375-89ef-69b597936bc6"
      decimals="-3"
      id="F_d84eb7db-cb92-4631-8c2a-ffb165aadf96"
      unitRef="U_USD">1071000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_2e8497ad-a01d-4600-845c-09de1ce07dc3"
      unitRef="U_USD">32200000</us-gaap:RestructuringCosts>
    <us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_a77fb783-64b6-451e-92f6-1e75a07d6938">&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Activity related to the Restructuring Plan for 2023 was as follows (amounts in thousands):&lt;/span&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:32.326%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:13.903%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.143%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.523%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.102%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Restructuring Costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amounts Paid in 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Non-Cash Restructuring Items&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Restructuring Liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;word-break:break-word;"&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Severance &amp;amp; employee-related costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,725&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,044&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;217&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#ffffff;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;464&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;23,588&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;23,588&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;word-break:break-word;"&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accelerated depreciation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,816&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,816&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#ffffff;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Facility exit and other exit costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,071&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,061&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;word-break:break-word;"&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,200&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,105&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,631&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#ffffff;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;464&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock>
    <us-gaap:RestructuringCosts
      contextRef="C_517b62b2-f94a-484b-bdad-beee620b135b"
      decimals="-3"
      id="F_19e44525-a042-4eac-ab46-2e18ef7670a0"
      unitRef="U_USD">3725000</us-gaap:RestructuringCosts>
    <us-gaap:PaymentsForRestructuring
      contextRef="C_517b62b2-f94a-484b-bdad-beee620b135b"
      decimals="-3"
      id="F_129b28ad-d844-4d39-9ea8-bc3e56d4833a"
      unitRef="U_USD">3044000</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserveSettledWithoutCash2
      contextRef="C_517b62b2-f94a-484b-bdad-beee620b135b"
      decimals="-3"
      id="F_2b1683c9-7d3f-4deb-bf50-79a7b6c6a138"
      unitRef="U_USD">217000</us-gaap:RestructuringReserveSettledWithoutCash2>
    <us-gaap:RestructuringReserve
      contextRef="C_919fcf36-dcc9-43dc-bd7c-15e27130551b"
      decimals="-3"
      id="F_cb6a779b-3934-45b2-adcd-7b066658e921"
      unitRef="U_USD">464000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringCosts
      contextRef="C_5ef98629-d348-419f-9d8d-a7b6418a6220"
      decimals="-3"
      id="F_3c6a0d33-5838-4f36-bbde-5141efd00b18"
      unitRef="U_USD">23588000</us-gaap:RestructuringCosts>
    <us-gaap:PaymentsForRestructuring
      contextRef="C_5ef98629-d348-419f-9d8d-a7b6418a6220"
      decimals="-3"
      id="F_d2e798bd-2f30-4cb5-a8c8-9a11124f0ee6"
      unitRef="U_USD">0</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserveSettledWithoutCash2
      contextRef="C_5ef98629-d348-419f-9d8d-a7b6418a6220"
      decimals="-3"
      id="F_e5e14b55-4263-40a3-a6c6-3017c7f99088"
      unitRef="U_USD">23588000</us-gaap:RestructuringReserveSettledWithoutCash2>
    <us-gaap:RestructuringReserve
      contextRef="C_ff827794-7d38-4589-8b07-a404dba527d3"
      decimals="-3"
      id="F_cdb94a45-c4f8-429a-b2ed-bd034e781967"
      unitRef="U_USD">0</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringCosts
      contextRef="C_b9bd2956-55b6-4630-90c7-778486ff7c89"
      decimals="-3"
      id="F_8e824257-3f35-4d5f-b91b-368612ac22ee"
      unitRef="U_USD">3816000</us-gaap:RestructuringCosts>
    <us-gaap:PaymentsForRestructuring
      contextRef="C_b9bd2956-55b6-4630-90c7-778486ff7c89"
      decimals="-3"
      id="F_2d1621e8-3643-4168-896a-d244c3751b57"
      unitRef="U_USD">0</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserveSettledWithoutCash2
      contextRef="C_b9bd2956-55b6-4630-90c7-778486ff7c89"
      decimals="-3"
      id="F_885f7b7d-54d6-4e41-b81d-e70f7555a9f4"
      unitRef="U_USD">3816000</us-gaap:RestructuringReserveSettledWithoutCash2>
    <us-gaap:RestructuringReserve
      contextRef="C_671f6d21-2dad-434b-b963-a3e1c9829454"
      decimals="-3"
      id="F_abb63676-39a7-4682-a519-3448915bb7a3"
      unitRef="U_USD">0</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringCosts
      contextRef="C_6779d872-37d7-4981-91a5-220b5cc323ab"
      decimals="-3"
      id="F_66b918d5-5f29-4dae-8cb1-a192bd080c11"
      unitRef="U_USD">1071000</us-gaap:RestructuringCosts>
    <us-gaap:PaymentsForRestructuring
      contextRef="C_6779d872-37d7-4981-91a5-220b5cc323ab"
      decimals="-3"
      id="F_e4a4c86b-59c4-43aa-82ef-2b5cab3ba0df"
      unitRef="U_USD">1061000</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserveSettledWithoutCash2
      contextRef="C_6779d872-37d7-4981-91a5-220b5cc323ab"
      decimals="-3"
      id="F_df7313f5-ab61-442b-b2ae-672bbb8ec39a"
      unitRef="U_USD">10000</us-gaap:RestructuringReserveSettledWithoutCash2>
    <us-gaap:RestructuringReserve
      contextRef="C_f5dceb75-ed26-453b-8b03-a5e5608716ba"
      decimals="-3"
      id="F_51cc6e5e-7167-46ac-b367-eb407c7ef7bd"
      unitRef="U_USD">0</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringCosts
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_1d8f4685-2b51-4f22-ae45-aa98df0f68f3"
      unitRef="U_USD">32200000</us-gaap:RestructuringCosts>
    <us-gaap:PaymentsForRestructuring
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_12627e0c-3372-4922-aa85-5d9ec72b6230"
      unitRef="U_USD">4105000</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserveSettledWithoutCash2
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_f80dc9d1-bfc7-4f22-b530-fe30256b087b"
      unitRef="U_USD">27631000</us-gaap:RestructuringReserveSettledWithoutCash2>
    <us-gaap:RestructuringReserve
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_8a0b0dcb-2082-49c4-b17b-e00298bd85a8"
      unitRef="U_USD">464000</us-gaap:RestructuringReserve>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_f5578cfc-b79e-4428-8710-1844b8340f9d">&lt;div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;7.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Leases&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company is a lessee under leases of manufacturing facilities, office spaces, machinery, certain office equipment and vehicles. A majority of the Company&#x2019;s leases are operating leases with remaining lease terms between one month and 13 years. Finance leases are immaterial to the Company&#x2019;s consolidated financial statements. The Company determines if an arrangement qualifies as a lease and what type of lease it is at inception. The Company elected the package of practical expedients permitted under the transition guidance within the new lease standard, which among other things, allowed it to continue to account for existing leases based on the historical lease classification. The Company also elected the practical expedients to combine lease and non-lease components and to exclude right of use assets and lease liabilities for leases with an initial term of 12 months or less from the balance sheet.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Some of the lease agreements the Company enters into include Company options to either extend and/or early terminate the lease, the costs of which are included in the Company&#x2019;s operating lease liabilities to the extent that such options are reasonably certain of being exercised. Leases with renewal options allow the Company to extend the lease term typically between 1 and 5 years per option, some of its leases have multiple options to extend. When determining if a renewal option is reasonably certain of being exercised, the Company considers several economic factors, including but not limited to, the significance of leasehold improvements incurred on the property, whether the asset is difficult to replace, underlying contractual obligations, or specific characteristics unique to that particular lease that would make it reasonably certain that the Company would exercise such options.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;As of December 31, 2023 and 2022, operating lease right of use assets wer&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;e $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; m&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;illion and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;125.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively and operating lease liabilities were &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;132.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;138.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively. The addition of FlexBiosys and Metenova in 2023 added &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;43,833&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; square feet to our leased properties and as a result of that and the expansion in Toulouse, France, the operating right of use asset balance increased $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in 2023, as compared to 2022. However, the consolidated right of use assets balance decreased due to the normal amortization of existing leases during 2023.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;   &lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The maturities of the Company&#x2019;s operating lease liabilities as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 are as follows (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:72.84%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:2.2%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:22.959999999999997%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As of December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,585&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2025&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,645&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2026&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,406&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2027&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;23,944&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2028&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24,382&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2029 and thereafter&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;79,435&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total future minimum lease payments&lt;/span&gt;&lt;span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;201,397&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Less lease incentives&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,765&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Less amount of lease payment representing interest&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,595&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total operating lease liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;159,037&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;The future minimum lease payments include obligations for leases not yet commenced of $&lt;/span&gt;&lt;span style="font-size:9pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;26.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt; million for manufacturing, office and warehouse facilities. These leases have terms of between &lt;/span&gt;&lt;span style="font-size:9pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;5&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt; and &lt;/span&gt;&lt;span style="font-size:9pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt; years and commence during the first quarter of 2024.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Total operating lease liabilities included on the Company&#x2019;s consolidated balance sheets are as follows (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.28%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.74%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:17.619999999999997%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.74%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:17.619999999999997%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,631&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,957&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability, long-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126,578&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;131,389&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Minimum operating lease payments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;132,209&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;138,346&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Lease expense for these leases is recognized on a straight-line basis over the lease term, with variable lease payments recognized in the period those payments are incurred. &lt;/span&gt;&lt;span style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;For the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021, total lease cost is comprised of the following:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:44.489%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.083%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.083%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.26%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.083%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Lease Cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,981&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,833&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,838&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Variable operating lease cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,075&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11,317&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,118&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Lease cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,056&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29,150&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16,956&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following information represents supplemental disclosure for the consolidated statements of cash flows related to operating leases (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:44.489%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.083%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.083%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.26%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.083%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,862&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,757&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,863&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Most of the leases do not provide implicit interest rates and therefore the Company determines the discount rate based on its incremental borrowing rate. The incremental borrowing rate for the Company&#x2019;s leases is determined based on lease term and currency in which the lease payments are made.&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The weighted average remaining lease term and the weighted average discount rate used to measure the Company&#x2019;s operating lease liabilities as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, were:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:75.735%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.42%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:20.844%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Weighted average remaining lease term (years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7.74&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Weighted average discount rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.13&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-5"
      id="F_c9451f03-6a43-4c46-8e67-d493db2efe86"
      unitRef="U_USD">115500000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-5"
      id="F_5bfe8047-409e-4415-a1fe-5c90b8408572"
      unitRef="U_USD">125000000</us-gaap:OperatingLeaseRightOfUseAsset>
    <rgen:OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-5"
      id="F_9e843a07-306b-4c96-89d3-cc18011423d5"
      unitRef="U_USD">132200000</rgen:OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases>
    <us-gaap:OperatingLeaseLiability
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-5"
      id="F_b563c547-5a43-4e4f-adf8-49f805acafd6"
      unitRef="U_USD">138300000</us-gaap:OperatingLeaseLiability>
    <us-gaap:AreaOfLand
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="INF"
      id="F_f24f1df3-9990-4140-bf59-7e1415dd1b4d"
      unitRef="U_sqft">43833</us-gaap:AreaOfLand>
    <rgen:IncreaseDecreaseInOperatingLeaseAsset
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-5"
      id="F_63f83f8d-b0f7-4160-b34b-b6e736264858"
      unitRef="U_USD">4000000</rgen:IncreaseDecreaseInOperatingLeaseAsset>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_d495f79c-28cc-43fc-8155-fee81de15b50">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The maturities of the Company&#x2019;s operating lease liabilities as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 are as follows (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:72.84%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:2.2%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:22.959999999999997%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As of December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,585&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2025&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,645&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2026&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,406&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2027&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;23,944&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2028&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24,382&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2029 and thereafter&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;79,435&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total future minimum lease payments&lt;/span&gt;&lt;span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;201,397&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Less lease incentives&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,765&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Less amount of lease payment representing interest&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,595&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total operating lease liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;159,037&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;The future minimum lease payments include obligations for leases not yet commenced of $&lt;/span&gt;&lt;span style="font-size:9pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;26.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt; million for manufacturing, office and warehouse facilities. These leases have terms of between &lt;/span&gt;&lt;span style="font-size:9pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;5&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt; and &lt;/span&gt;&lt;span style="font-size:9pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt; years and commence during the first quarter of 2024.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_c2f643a0-a3d7-4da1-9e0b-b23434c53747"
      unitRef="U_USD">22585000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_608d5d46-8b5f-4ee9-87ee-769fb0abdc9d"
      unitRef="U_USD">25645000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_1b4b704a-e8be-4971-8fce-397a9834a2ab"
      unitRef="U_USD">25406000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_4e174a41-5073-4c31-814d-e7e07bb792aa"
      unitRef="U_USD">23944000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_fdf86a78-5827-42ae-a1d0-a98c2f7c761b"
      unitRef="U_USD">24382000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_7bc930f4-b9ae-4c56-aa1d-a6db14f8819c"
      unitRef="U_USD">79435000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_cbc19316-10fa-43a3-8235-b087ff1401de"
      unitRef="U_USD">201397000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <rgen:LeaseIncentives
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_3d6c65f0-b954-420f-b08f-21dd2e64993c"
      unitRef="U_USD">9765000</rgen:LeaseIncentives>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_d767a864-85bd-4d8e-a2bc-88d927736c5a"
      unitRef="U_USD">32595000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_1b1a22a6-282b-42e4-8965-4d3a3659538e"
      unitRef="U_USD">159037000</us-gaap:OperatingLeaseLiability>
    <rgen:LeaseObligationsNotYetCommenced
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-5"
      id="F_55564328-f008-4f33-9238-b5105985cc42"
      unitRef="U_USD">26800000</rgen:LeaseObligationsNotYetCommenced>
    <us-gaap:LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1
      contextRef="C_bd84582a-077d-43ef-b178-9dc980053e29"
      id="F_9b4531b8-d0ec-46fb-b3d1-c4248b0b6b9b">P5Y</us-gaap:LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1>
    <us-gaap:LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1
      contextRef="C_b6fe10fa-8ab1-47b1-a63f-17b042a6b447"
      id="F_fea39440-5853-453c-bcb4-11bb897a5593">P10Y</us-gaap:LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1>
    <rgen:AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_ac4b80a0-dc5b-424e-b4a9-882e2cef0072">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Total operating lease liabilities included on the Company&#x2019;s consolidated balance sheets are as follows (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.28%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.74%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:17.619999999999997%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.74%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:17.619999999999997%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,631&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,957&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability, long-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126,578&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;131,389&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Minimum operating lease payments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;132,209&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;138,346&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</rgen:AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_e1e8b023-9506-429f-bd85-42ee9eedf096"
      unitRef="U_USD">5631000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_947ab538-e8ed-41af-bb04-a8ae9fdc2f59"
      unitRef="U_USD">6957000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_4d24fd7e-e45d-4ead-9e59-fa4bff73bc4e"
      unitRef="U_USD">126578000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_6c884139-3a2a-4f98-9e67-7f564da55aa8"
      unitRef="U_USD">131389000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <rgen:OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_fda5ee48-25e2-4688-a1b2-53e4469c8f3b"
      unitRef="U_USD">132209000</rgen:OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases>
    <rgen:OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_6e3f97d1-6fe5-4382-b6e9-201635f17a9b"
      unitRef="U_USD">138346000</rgen:OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_5e20cd00-b039-43ee-8d6e-3bf7fca59253">&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;For the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021, total lease cost is comprised of the following:&lt;/span&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:44.489%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.083%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.083%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.26%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.083%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Lease Cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,981&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,833&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,838&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Variable operating lease cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,075&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11,317&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,118&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Lease cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,056&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29,150&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16,956&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_7b6a49a4-7b79-42a8-81e9-ccb112ce07ea"
      unitRef="U_USD">20981000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_a70a60e7-1433-4e46-9163-d69b421ce879"
      unitRef="U_USD">17833000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_dcaba1d3-3e73-434d-8595-bf7b51daba26"
      unitRef="U_USD">9838000</us-gaap:OperatingLeaseCost>
    <rgen:VariableOperatingLeaseCost
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_207d6b43-42e2-42ac-a838-dabb5c7f9a34"
      unitRef="U_USD">4075000</rgen:VariableOperatingLeaseCost>
    <rgen:VariableOperatingLeaseCost
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_cfef7307-7f3a-4a5d-9fa3-2d425fc7a921"
      unitRef="U_USD">11317000</rgen:VariableOperatingLeaseCost>
    <rgen:VariableOperatingLeaseCost
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_42332912-44b0-4326-8fc7-7a50e7284ca8"
      unitRef="U_USD">7118000</rgen:VariableOperatingLeaseCost>
    <us-gaap:LeaseCost
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_7d783f4a-6519-40cd-9ad1-29224012a2c2"
      unitRef="U_USD">25056000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_6038ec93-0c95-487e-9c94-61006c57b9e8"
      unitRef="U_USD">29150000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_5fee4957-1a15-463a-8024-51ec516e47f4"
      unitRef="U_USD">16956000</us-gaap:LeaseCost>
    <rgen:ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_e95db668-cd2f-4e0d-9651-70651199b8f7">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following information represents supplemental disclosure for the consolidated statements of cash flows related to operating leases (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:44.489%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.083%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.083%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.26%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.083%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,862&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,757&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,863&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</rgen:ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock>
    <us-gaap:OperatingLeasePayments
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_b7e48acf-7ae5-4a17-a089-fdea6646c2b1"
      unitRef="U_USD">17862000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_b30f863d-1aa8-4ce9-b176-8b32b5cc56ca"
      unitRef="U_USD">13757000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_22f4246a-2c12-4c23-a046-f1eaf4dfdfa4"
      unitRef="U_USD">8863000</us-gaap:OperatingLeasePayments>
    <rgen:ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_3ee3f045-816a-4b06-b05e-18ae4d193866">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The weighted average remaining lease term and the weighted average discount rate used to measure the Company&#x2019;s operating lease liabilities as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, were:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:75.735%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.42%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:20.844%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Weighted average remaining lease term (years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7.74&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Weighted average discount rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.13&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</rgen:ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      id="F_c302a534-8f4c-4291-b5dd-b25db0f53393">P7Y8M26D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="4"
      id="F_f33b58b4-d22a-4189-b467-810e6597fc6a"
      unitRef="U_pure">0.0413</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_781bc270-2e3b-41e1-8db6-5d7703838193">&lt;div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;8.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Revenue Recognition &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company generates revenue from the sale of bioprocessing products, equipment devices, and related consumables used with these equipment devices to customers in the life science and biopharmaceutical industries. Under ASC 606, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;&#x201c;Revenue from Contracts with Customers,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;revenue is recognized when, or as, obligations under the terms of a contract are satisfied, which occurs when control of the promised products or services is transferred to customers.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Disaggregation of Revenue (As Restated)&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Revenue for the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021 was as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:49.24%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.66%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:13.26%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.66%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:13.26%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.66%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:13.26%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Product revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;631,979&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;801,183&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;670,319&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Royalty and other income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;383&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;353&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;215&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;632,362&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;801,536&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;670,534&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;When disaggregating revenue, the Company considered all of the economic factors that may affect its revenues.  Because its revenues are from bioprocessing customers, there are no differences in the nature, timing and uncertainty of the Company&#x2019;s revenues and cash flows from any of its product lines. However, given that the Company&#x2019;s revenues are generated in different geographic regions, factors such as regulatory and geopolitical factors within those regions could impact the nature, timing and uncertainty of the Company&#x2019;s revenues and cash flows.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Disaggregated revenue from contracts with customers by geographic region can be found in Note 3, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;&#x201c;Summary of Significant Accounting Policies &#x2013; Segment Reporting,&#x201d;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; above.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;There was &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; revenue from customers that represented &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% or more of the Company's total revenue for the year ended December 31, 2023 and 2022. Revenue from Pfizer Inc. was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;68.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, or &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;%, of the Company's total revenue for the year ended December 31, 2021.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Filtration Products&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company&#x2019;s filtration products generate revenue through the sale of KrosFlo and ARTeSYN tangential flow filtration (&#x201c;TFF&#x201d;) systems, TangenX&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; flat sheet (&#x201c;FS") cassettes, Spectrum&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; HF filters, membranes and modules, XCell ATF systems and related consumables. Supporting our systems, we also sell ProConnex&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; Flow Path assemblies and custom silicone-based, single-use flow path assemblies and components from Metenova, FlexBiosys, BioFlex, Polymem, ARTeSYN Biosolutions Holdings Ireland Limited, NMS and EMT, seven acquisitions completed since 2020.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company&#x2019;s KrosFlo and ARTeSYN systems are used in the filtration, isolation, purification and concentration of biologics and diagnostic products.  TFF is a rapid and efficient method for separation and purification of biomolecules that is widely used in laboratory, process development and process scale applications in biopharmaceutical manufacturing. Sales of large-scale systems generally include components and consumables as well as training and installation services at the request of the customer.  Because the initial sale of components and consumables is necessary for the operation of the system, such items are combined with the systems as a single performance obligation.  Training and installation services do not significantly modify or customize these systems and therefore represent a distinct performance obligation.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company&#x2019;s TangenX FS cassettes (SIUS, SIUS Gamma&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; and PRO) are not highly interdependent on one another and are therefore considered distinct products that represent separate performance obligations. Product revenue from the sale of TangenX FS cassettes is generally recognized at a point in time upon transfer of control of the customer.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company&#x2019;s other filtration product offerings are not highly interdependent of one another and are therefore considered distinct products that represent separate performance obligations.  Revenue on these products is generally recognized at a point in time upon transfer of control to the customer. The Company invoices the customer for the installation and training services in an&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;amount that directly corresponds with the value to the customer of the Company&#x2019;s performance to date; therefore, revenue recognized is based on the amount billable to the customer in accordance with the practical expedient under ASC 606-10-55-18.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company also markets XCell ATF controllers, which are technologically advanced filtration devices used in upstream processes to continuously remove cellular metabolic waste products during the course of a fermentation run, freeing healthy cells to continue producing the biologic drug of interest. XCell ATF controllers are typically sold with consumables (i.e., tubing sets, metal stands) as well as training and installation services at the request of the customer. The controllers and consumables are considered distinct products and therefore represent separate performance obligations. First time purchasers of the controllers typically purchase a controller that is shipped with the tubing set(s) and metal stand(s). The training and installation services do not significantly modify or customize the XCell ATF controllers and therefore represent a distinct performance obligation. XCell ATF product revenue related to controllers and consumables is generally recognized at a point in time upon transfer of control to the customer.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Chromatography Products&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company&#x2019;s chromatography products include a number of products used in the downstream purification and quality control of biological drugs. The majority of chromatography revenue relates to the OPUS pre-packed chromatography column product line. OPUS columns are designed to be disposable following a production campaign. Each OPUS column is delivered pre-packaged with the customer&#x2019;s choice of chromatography resin, which is either provided by the Company for the customer or is customer supplied. Chromatography product revenue is generally recognized at a point in time upon transfer of control to the customer and represents a single performance obligation.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Process Analytics Products&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The process analytics franchise generates revenue primarily through the sale of the SoloVPE and FlowVPX slope spectroscopy systems, consumables and service. These products complement and support the Company&#x2019;s existing filtration, chromatography and proteins franchises as they allow end-users to make in-line protein concentration measurements in filtration, chromatography and fill-finish applications, designed to allow for real-time process management. Process analytics product revenue is generally recognized at a point in time upon transfer of control to the customer.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Protein Products&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company&#x2019;s protein franchise generates revenue primarily through the sale of Protein A affinity ligands and growth factors. Protein A ligands are an essential component of Protein A chromatography resins (media) used in the purification of virtually all mAb-based drugs on the market or in development. The Company manufactures multiple forms of Protein A ligands under long-term supply agreements with major life sciences companies, who in turn sell their Protein A chromatography media to end users (biopharmaceutical manufacturers). The Company also manufactures growth factors for sale under long-term supply agreements with certain life sciences companies as well as for direct sales to its customers.  Each protein product is considered distinct and therefore represents a separate performance obligation. Protein product revenue is generally recognized at a point in time upon transfer of control to the customer.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In 2021, the Company completed the Avitide Acquisition and added its diverse libraries and leading technology in affinity ligand discovery and development to its proteins franchise. The acquisition gives the Company a new platform for affinity resin development, including C&amp;amp;GT, and advances and expands the Company&#x2019;s proteins and chromatography franchises to address the unique purification needs of gene therapies and other emerging modalities.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Other Products&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company&#x2019;s other products include operating room products sold to hospitals. Other product revenue is generally recognized at a point in time upon transfer of control to the customer.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Transaction Price Allocated to Future Performance Obligations&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Remaining performance obligations represent the transaction price of contracts for which work has not been performed or has been partially performed.  The Company&#x2019;s future performance obligations relate primarily to the installation and training of&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;certain of its systems sold to customers.  These performance obligations are completed within one year of receipt of a purchase order from its customers.  Accordingly, the Company has elected to not disclose the value of these unsatisfied performance obligations as provided under ASC 606-10-50-14.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Contract Balances from Contracts with Customers&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table provides information about receivables and deferred revenue from contracts with customers as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 (amounts in thousands):&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:70.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:67.72%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.64%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:13.040000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.64%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:11.96%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balances from contracts with customers only:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts receivable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;124,161&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;116,247&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred revenue (included in accrued liabilities and&lt;br/&gt;&#160;&#160;&#160;other noncurrent liabilities in the consolidated &lt;br/&gt;&#160;&#160;&#160;balance sheets)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,536&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,631&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Revenue recognized during periods presented relating to:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;The beginning deferred revenue balance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;18,751&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,390&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The timing of revenue recognition, billings and cash collections results in the accounts receivable and deferred revenue balances on the Company&#x2019;s consolidated balance sheets.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;A contract asset is created when the Company satisfies a performance obligation by transferring a promised good to the customer. Contract assets may represent conditional or unconditional rights to consideration.  The right is conditional and recorded as a contract asset if the Company must first satisfy another performance obligation in the contract before it is entitled to payment from the customer. Contract assets are transferred to billed receivables once the right becomes unconditional. If the Company has the unconditional right to receive consideration from the customer, the contract asset is accounted for as a billed receivable and presented separately from other contract assets. A right is unconditional if nothing other than the passage of time is required before payment of that consideration is due.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;When consideration is received, or such consideration is unconditionally due, from a customer prior to transferring goods or services to the customer under the terms of a contract, a contract liability is recorded. Contract liabilities are recognized as revenue after control of the products or services is transferred to the customer and all revenue recognition criteria have been met.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Costs to Obtain or Fulfill a Customer Contract&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company&#x2019;s sales commission structure is based on achieving revenue targets. The commissions are driven by revenue derived from customer purchase orders which are short term in nature.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Applying the practical expedient in paragraph 340-40-25-4, the Company recognizes the incremental costs of obtaining contracts as an expense when incurred if the amortization period of the assets that the Company otherwise would have recognized is one year or less. These costs are included in selling, general, and administrative expenses in our consolidated statements of comprehensive income. When shipping and handling costs are incurred after a customer obtains control of the products, the Company accounts for these as costs to fulfill the promise and not as a separate performance obligation.&lt;/span&gt;&lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_ad085e65-db41-4d7c-87ae-71e46d9d7022">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Revenue for the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021 was as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:49.24%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.66%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:13.26%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.66%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:13.26%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.66%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:13.26%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Product revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;631,979&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;801,183&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;670,319&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Royalty and other income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;383&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;353&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;215&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;632,362&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;801,536&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;670,534&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_986f06fb-599d-441f-bf85-de13b571525e"
      decimals="-3"
      id="F_c611c37a-9f15-45fd-908a-fc1b6ff668f5"
      unitRef="U_USD">631979000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_63d4e2c0-13f1-4b63-a2b4-ed1c5a642163"
      decimals="-3"
      id="F_3a0d8e84-1385-4d72-9ea8-e1d9b8a1e49b"
      unitRef="U_USD">801183000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_56b5ac01-5af9-4a1e-ae71-eebdd534d000"
      decimals="-3"
      id="F_a8f955cc-8df5-4fba-a743-db7f1134cf82"
      unitRef="U_USD">670319000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_47d99feb-bd92-4150-b94c-3d6e4128c1aa"
      decimals="-3"
      id="F_47fe9689-5493-43f1-814a-bcb16b6f47a0"
      unitRef="U_USD">383000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_b394aa78-5ae7-4528-8866-e5b57064eba4"
      decimals="-3"
      id="F_7c61399a-4bc5-42e9-a7d2-e7c1abc6506a"
      unitRef="U_USD">353000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_2eb61456-3e86-445c-b113-c64ce244019d"
      decimals="-3"
      id="F_e0ea0a0b-2ca6-4d20-9543-08b3c445cb94"
      unitRef="U_USD">215000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_f1595d92-8088-47c1-a5ef-15c813e2da63"
      unitRef="U_USD">632362000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_19c3bccd-d225-45d3-9435-971d1a0d4b9e"
      unitRef="U_USD">801536000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_1b3ce0c9-5e49-4258-86d0-ac88035ea575"
      unitRef="U_USD">670534000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_78d29b32-606c-4039-99bd-59c6cf363ebc"
      decimals="INF"
      id="F_33eda6c8-0b61-4953-aeed-b39eda028b74"
      unitRef="U_USD">0</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_3e29b877-8159-42fb-bc68-58494762c0f2"
      decimals="INF"
      id="F_b74a6ec6-0091-45c2-a8c5-9c77ceea264c"
      unitRef="U_USD">0</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_60fa6f45-39ec-43c5-adac-3320c3d8a679"
      decimals="2"
      id="F_2dbed956-e72c-4885-8652-1e693949e8e2"
      unitRef="U_pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_2ee23860-329f-4620-b83a-78ee0abbc74c"
      decimals="2"
      id="F_7071937b-ab3a-4cba-bc2c-19d4f742eb2c"
      unitRef="U_pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_8ca10399-0d85-4d81-b159-3b54834efd4e"
      decimals="-5"
      id="F_7ff85fa3-2ca5-4df4-b894-908346db078a"
      unitRef="U_USD">68300000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_11c09de6-fe8a-4729-9991-f7b437a64e5d"
      decimals="2"
      id="F_844752ca-1380-4f4a-a8c2-cfcef24c783a"
      unitRef="U_pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_bbee4626-2fed-4aec-a22c-740443d00d8d">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table provides information about receivables and deferred revenue from contracts with customers as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 (amounts in thousands):&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:70.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:67.72%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.64%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:13.040000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.64%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:11.96%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balances from contracts with customers only:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts receivable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;124,161&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;116,247&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred revenue (included in accrued liabilities and&lt;br/&gt;&#160;&#160;&#160;other noncurrent liabilities in the consolidated &lt;br/&gt;&#160;&#160;&#160;balance sheets)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,536&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,631&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Revenue recognized during periods presented relating to:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;The beginning deferred revenue balance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;18,751&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,390&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerReceivableAfterAllowanceForCreditLoss
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_b2e0ecea-78a9-42f4-884e-ad17277062c3"
      unitRef="U_USD">124161000</us-gaap:ContractWithCustomerReceivableAfterAllowanceForCreditLoss>
    <us-gaap:ContractWithCustomerReceivableAfterAllowanceForCreditLoss
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_a2a9f68c-9b9c-4dc2-88ae-1a9e81956ce6"
      unitRef="U_USD">116247000</us-gaap:ContractWithCustomerReceivableAfterAllowanceForCreditLoss>
    <us-gaap:DeferredRevenue
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_e594ace8-36a7-4fcf-a7c1-c28828e3d140"
      unitRef="U_USD">17536000</us-gaap:DeferredRevenue>
    <us-gaap:DeferredRevenue
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_d5798f79-b5dc-4231-8c1a-fd27b784eed3"
      unitRef="U_USD">19631000</us-gaap:DeferredRevenue>
    <us-gaap:ContractWithCustomerLiability
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_f55c9fec-48f8-47fd-92ea-735f752f2443"
      unitRef="U_USD">18751000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_7b1a26e2-02fa-4bb0-92b8-d12e5e7796e2"
      unitRef="U_USD">13390000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:CreditLossFinancialInstrumentTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_47f6d257-11f8-4288-9dc1-767457a9aeff">&lt;div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;9.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Credit Losses&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company is exposed to credit losses primarily through sales of products and services. The Company&#x2019;s expected loss allowance methodology for accounts receivable is developed using historical collection experience, current and future economic and market conditions and a review of the current status of customers' trade accounts receivable. Customers are pooled based on sharing specific risk factors, including geographic location.  Due to the short-term nature of such receivables, the estimated accounts receivable that may not be collected is based on aging of the accounts receivable balances.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Customers are assessed for credit worthiness upfront through a credit review, which includes assessment based on the Company&#x2019;s analysis of their financial statements when a credit rating is not available.  The Company evaluates contract terms and conditions,&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;country and political risk, and may require prepayment to mitigate risk of loss. Specific allowance amounts are established to record the appropriate provision for customers that have a higher probability of default.  The Company monitors changes to the receivables balance on a timely basis, and balances are written off as they are determined to be uncollectible after all collection efforts have been exhausted.  Estimates of potential credit losses are used to determine the allowance. It is based on assessment of anticipated payment and all other historical, current and future information that is reasonably available.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The accounts receivable balance on the Company&#x2019;s consolidated balance sheets as of December 31, 2023 was&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;124.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, net o&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;f $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of allowances. &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table provides a roll-forward of the allowance for credit losses in 2023 and 2022 that is deducted from the amortized cost basis of accounts receivable to present the net amount expected to be collected (amounts in thousands):&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.993%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance of allowance for credit losses, beginning of period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,365&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,417&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Current period change for write-offs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;82&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Current period change for expected credit losses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;839&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;74&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance of allowance for credit losses, end of period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,122&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,365&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;</us-gaap:CreditLossFinancialInstrumentTextBlock>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-5"
      id="F_4cb4f264-9fd8-4554-a350-882dd53020be"
      unitRef="U_USD">124200000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-5"
      id="F_aa63244b-7e80-43bf-9cd6-511b49a54131"
      unitRef="U_USD">2100000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_18197e59-2d70-49f2-bd6e-b7d9f09bd27a">&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table provides a roll-forward of the allowance for credit losses in 2023 and 2022 that is deducted from the amortized cost basis of accounts receivable to present the net amount expected to be collected (amounts in thousands):&lt;/span&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.993%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance of allowance for credit losses, beginning of period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,365&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,417&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Current period change for write-offs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;82&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Current period change for expected credit losses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;839&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;74&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance of allowance for credit losses, end of period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,122&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,365&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_5e9fc7c3-b315-4827-9ce1-34cfbff18a43"
      unitRef="U_USD">1365000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="C_82911078-bdd7-49a5-87bb-adfb316a68b0"
      decimals="-3"
      id="F_2a6252a9-fbc0-461f-90f8-25e3149a44a9"
      unitRef="U_USD">1417000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_b9b6ac00-c051-4f75-94c9-886e8c931534"
      unitRef="U_USD">82000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_6ca69360-0eba-4a49-a723-f889990818c0"
      unitRef="U_USD">126000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_f0d8b375-0383-49fd-8d89-b903fc9fcbe0"
      unitRef="U_USD">-839000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_10c78994-5f9e-445e-8e59-1798b5c87214"
      unitRef="U_USD">-74000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_a960de61-5c38-40ef-8755-3e9af7f2c553"
      unitRef="U_USD">2122000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_f9908ae2-9fea-4375-9a5f-35bb75d5b79d"
      unitRef="U_USD">1365000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_78983722-a98a-4d4a-8d1c-187f50dc478e">&lt;div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;10.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Goodwill and Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Goodwill represents the difference between the purchase price and the estimated fair value of identifiable assets acquired and liabilities assumed. Goodwill acquired in a business combination and determined to have an indefinite useful life is not amortized, but instead is tested for impairment at least annually in accordance with ASC 350. &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents the changes in the carrying value of goodwill for the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 and 2022 (amounts in thousands):&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance as of December 31, 2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;860,362&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Measurement period adjustment - BioFlex&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;346&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Measurement period adjustment - Avitide&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,768&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cumulative translation adjustment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,735&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance as of December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;855,513&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Acquisition of FlexBiosys, Inc.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,321&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Acquisition of Metenova Holding AB&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115,778&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cumulative translation adjustment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,508&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance as of December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;987,120&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;During each of the fourth quarters of 2023, 2022 and 2021, the Company completed its annual impairment assessments and concluded that goodwill was not impaired in any of those years.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Intangible Assets (As Restated)&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Intangible assets with a definitive life are amortized over their useful lives using the straight-line method, and the amortization expense is recorded within research and development (&#x201c;R&amp;amp;D&#x201d;) and selling, general and administrative expense in the Company&#x2019;s consolidated statements of comprehensive income. Intangible assets and their related useful lives are reviewed at least annually to determine if any adverse conditions existed that would indicate the carrying value of these assets may not be recoverable. More frequent impairment assessments are conducted if certain conditions exist, including a change in the competitive landscape, any internal decisions to pursue new or different technology strategies, a loss of a significant customer, or a significant change in the marketplace, including changes in the prices paid for the Company&#x2019;s products or changes in the size of the market for the Company&#x2019;s products. If impairment indicators are present, the Company determines whether the underlying intangible asset is recoverable through estimated future undiscounted cash flows. If the asset is not found to be recoverable, it is written down to the estimated fair value of the asset based on the sum of the future discounted cash flows expected to result from the use and disposition of the asset. If the estimate of an intangible asset&#x2019;s remaining useful life is changed, the remaining carrying amount of&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;the intangible asset is amortized prospectively over the revised remaining useful life. The Company continues to believe that its definite-lived intangible assets are recoverable at December 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Indefinite-lived intangible assets are tested for impairment at least annually. There has been &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; impairment of our intangible assets for the periods presented.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Intangible assets, net consisted of the following at &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:50.31%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.258000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.278%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.2%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.298%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.16%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.138%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Useful Life&lt;br/&gt;(in years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Finite-lived intangible assets:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Technology - developed&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;256,536&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44,633&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;211,903&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Patents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;269,949&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;83,963&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;185,986&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademarks&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,757&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,789&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,968&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other intangibles&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,914&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,514&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,400&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total finite-lived intangible assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;539,396&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;133,139&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;406,257&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Indefinite-lived intangible asset:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademarks&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total intangible assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;540,096&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;133,139&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;406,957&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Intangible assets consisted of the following at December 31, 2022:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:50.31%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.258000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.278%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.2%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.298%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.16%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.138%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Useful Life&lt;br/&gt;(in years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Finite-lived intangible assets:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Revised)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Revised)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Technology - developed&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;197,405&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,992&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;166,413&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Patents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;252,934&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;66,559&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;186,375&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademarks&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,682&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,319&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,363&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other intangibles&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,811&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,044&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;767&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total finite-lived intangible assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;461,072&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;101,154&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;359,918&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Indefinite-lived intangible asset:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademarks&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total intangible assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;461,772&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;101,154&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;360,618&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Amortization expense for finite-lived intangible assets was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;31.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million for the years ended December 31, 2023, 2022 and 2021&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, respectively. &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;As of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, the Company expects to record the following amortization expense (amounts in thousands): &lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Estimated&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Expense&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;34,785&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2025&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;34,350&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2026&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,995&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2027&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,892&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2028&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,160&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2029 and thereafter&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;236,075&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;406,257&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_4fa3680c-ee6f-475c-b772-5aa03de71d79">&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents the changes in the carrying value of goodwill for the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 and 2022 (amounts in thousands):&lt;/span&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance as of December 31, 2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;860,362&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Measurement period adjustment - BioFlex&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;346&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Measurement period adjustment - Avitide&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,768&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cumulative translation adjustment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,735&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance as of December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;855,513&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Acquisition of FlexBiosys, Inc.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,321&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Acquisition of Metenova Holding AB&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115,778&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cumulative translation adjustment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,508&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance as of December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;987,120&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="C_82911078-bdd7-49a5-87bb-adfb316a68b0"
      decimals="-3"
      id="F_d4b31439-89be-4826-b307-9ee5ab4b39e5"
      unitRef="U_USD">860362000</us-gaap:Goodwill>
    <us-gaap:GoodwillPurchaseAccountingAdjustments
      contextRef="C_40d2c774-50ed-4f1d-a778-947bd9f7ae40"
      decimals="-3"
      id="F_e991247c-4cc8-42a3-949e-f20a20d67473"
      unitRef="U_USD">-346000</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <us-gaap:GoodwillPurchaseAccountingAdjustments
      contextRef="C_5b2f98f0-5aaf-47f7-a6c3-eb82a9a19723"
      decimals="-3"
      id="F_85e9ca07-743d-4301-811d-5cd529205bb9"
      unitRef="U_USD">-1768000</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_55d6d778-d26d-4264-8b54-38bd760e441f"
      unitRef="U_USD">2735000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_216e230d-00f6-4830-899f-a0daa3223532"
      unitRef="U_USD">855513000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="C_29eef544-91ed-4d72-864a-9119c13364c8"
      decimals="-3"
      id="F_f26e05cb-0469-4d9e-914a-620c26d74842"
      unitRef="U_USD">14321000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="C_1a3669c7-edae-4d97-bd42-a06f7bc215b9"
      decimals="-3"
      id="F_564f5ef0-1d66-465b-a44b-094434c4a965"
      unitRef="U_USD">115778000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_34f2bd91-f459-4960-b1d5-11fe6d57d0ec"
      unitRef="U_USD">-1508000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_4b888287-9a98-4fcb-833b-f3906c23bc64"
      unitRef="U_USD">987120000</us-gaap:Goodwill>
    <us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-6"
      id="F_2abfe942-9a6d-451e-9cc1-c80c80397b53"
      unitRef="U_USD">0</us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill>
    <rgen:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_a26f0414-f19e-4c16-85ef-45dba6f8625c">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Intangible assets, net consisted of the following at &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:50.31%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.258000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.278%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.2%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.298%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.16%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.138%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Useful Life&lt;br/&gt;(in years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Finite-lived intangible assets:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Technology - developed&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;256,536&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44,633&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;211,903&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Patents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;269,949&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;83,963&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;185,986&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademarks&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,757&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,789&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,968&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other intangibles&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,914&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,514&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,400&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total finite-lived intangible assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;539,396&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;133,139&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;406,257&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Indefinite-lived intangible asset:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademarks&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total intangible assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;540,096&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;133,139&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;406,957&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Intangible assets consisted of the following at December 31, 2022:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:50.31%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.258000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.278%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.2%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.298%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.16%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.138%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Useful Life&lt;br/&gt;(in years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Finite-lived intangible assets:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Revised)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Revised)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:middle;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Technology - developed&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;197,405&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,992&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;166,413&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Patents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;252,934&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;66,559&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;186,375&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademarks&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,682&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,319&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,363&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other intangibles&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,811&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,044&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;767&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total finite-lived intangible assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;461,072&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;101,154&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;359,918&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Indefinite-lived intangible asset:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademarks&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:middle;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:middle;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total intangible assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;461,772&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;101,154&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;360,618&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</rgen:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_42f1d04a-ae48-4d01-803b-289f4eca102c"
      decimals="-3"
      id="F_d5510402-4632-455a-bfae-3d97e519077a"
      unitRef="U_USD">256536000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_42f1d04a-ae48-4d01-803b-289f4eca102c"
      decimals="-3"
      id="F_71823012-f2c9-43f0-89d5-6d314e742338"
      unitRef="U_USD">44633000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_42f1d04a-ae48-4d01-803b-289f4eca102c"
      decimals="-3"
      id="F_03521fb6-bc28-4d13-a8af-11da292ab54e"
      unitRef="U_USD">211903000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_42f1d04a-ae48-4d01-803b-289f4eca102c"
      id="F_3e0e1de5-7d44-416a-b62d-f35851d88ca0">P16Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_be70101a-f1d6-4048-827d-4d1a06fdc729"
      decimals="-3"
      id="F_95f97975-4ffe-4f1f-a603-1d88f9d95077"
      unitRef="U_USD">240000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_be70101a-f1d6-4048-827d-4d1a06fdc729"
      decimals="-3"
      id="F_00d5d8ff-4937-4825-baa4-a21b0c28712e"
      unitRef="U_USD">240000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_be70101a-f1d6-4048-827d-4d1a06fdc729"
      decimals="-3"
      id="F_38d5e3e3-5c7b-48a9-8ab5-44dc39dd943d"
      unitRef="U_USD">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_be70101a-f1d6-4048-827d-4d1a06fdc729"
      id="F_55592b5e-0388-4b5b-a9a6-43214f649bd2">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_f8950647-cae8-463b-9c4c-0abefaa69b9a"
      decimals="-3"
      id="F_186ec3e9-1925-4e73-b30c-c46aee875492"
      unitRef="U_USD">269949000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_f8950647-cae8-463b-9c4c-0abefaa69b9a"
      decimals="-3"
      id="F_42a58b13-d2db-494c-8971-90cb34978a74"
      unitRef="U_USD">83963000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_f8950647-cae8-463b-9c4c-0abefaa69b9a"
      decimals="-3"
      id="F_87cbc60d-5c28-464e-b979-80502e33fbd2"
      unitRef="U_USD">185986000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_f8950647-cae8-463b-9c4c-0abefaa69b9a"
      id="F_f7283a56-d385-49c9-ba1b-3e4b7c1fea5c">P15Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_ebf73946-9c8b-45db-a425-8abb4b7e6f67"
      decimals="-3"
      id="F_c62a00ec-07e7-4d17-9db9-f00f48e32b79"
      unitRef="U_USD">8757000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_ebf73946-9c8b-45db-a425-8abb4b7e6f67"
      decimals="-3"
      id="F_6663827f-f5b1-4f4c-b78e-cefb92322433"
      unitRef="U_USD">1789000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_ebf73946-9c8b-45db-a425-8abb4b7e6f67"
      decimals="-3"
      id="F_4a9cdfdf-4cff-4d1a-ab25-b64ed2f70345"
      unitRef="U_USD">6968000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_ebf73946-9c8b-45db-a425-8abb4b7e6f67"
      id="F_225547e3-308d-424c-a1d5-8b69eab594fa">P19Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_0cd8d8e6-3c55-4902-aefd-5c9145f4ccd3"
      decimals="-3"
      id="F_2f1a06e6-f653-4c89-895f-a08f7b0d303f"
      unitRef="U_USD">3914000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_0cd8d8e6-3c55-4902-aefd-5c9145f4ccd3"
      decimals="-3"
      id="F_7641b6ca-5d54-4a86-b2ab-4445489bec52"
      unitRef="U_USD">2514000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_0cd8d8e6-3c55-4902-aefd-5c9145f4ccd3"
      decimals="-3"
      id="F_3695ed0b-d2ec-47d4-aaef-33c3558afb26"
      unitRef="U_USD">1400000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_0cd8d8e6-3c55-4902-aefd-5c9145f4ccd3"
      id="F_d06a1a56-454c-4a89-8cd0-aa8583e888e7">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_f955bbf5-4db5-40e8-a109-d1d3a2ffc3a8"
      unitRef="U_USD">539396000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_c87ec9fc-2028-4639-9bb7-ade55ec655e6"
      unitRef="U_USD">133139000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_c455f1c6-77c6-4582-b6c4-a3a0cfa8526d"
      unitRef="U_USD">406257000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      id="F_dab48f7d-1f76-4f05-9abb-87a987de0f88">P15Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="C_6ea81ff8-25fd-4a5f-8209-58c3ebd49b7a"
      decimals="-3"
      id="F_38257c15-0a8b-4317-8f1b-75b6ecdce727"
      unitRef="U_USD">700000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <rgen:IndefiniteLivedIntangibleAssetsNet
      contextRef="C_6ea81ff8-25fd-4a5f-8209-58c3ebd49b7a"
      decimals="-3"
      id="F_f694bf71-bdf7-4ca7-ae39-7273ee0f35e3"
      unitRef="U_USD">700000</rgen:IndefiniteLivedIntangibleAssetsNet>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_fa35d575-dbe7-4716-bbd5-81cb85b7d6c4"
      unitRef="U_USD">540096000</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <rgen:IndefiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_b117bbc8-198a-4077-a91c-023c89de706e"
      unitRef="U_USD">-133139000</rgen:IndefiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_4e3b3791-7e91-402e-9858-f914ffcb32ab"
      unitRef="U_USD">406957000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_489407cd-f3b2-4917-8258-215fa2e47534"
      decimals="-3"
      id="F_84aeb2fd-32f9-4ddf-8da1-623315bde7fc"
      unitRef="U_USD">197405000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_489407cd-f3b2-4917-8258-215fa2e47534"
      decimals="-3"
      id="F_0612443c-5051-43ba-b336-5b81624190d9"
      unitRef="U_USD">30992000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_489407cd-f3b2-4917-8258-215fa2e47534"
      decimals="-3"
      id="F_c88330ac-fecb-4b40-97c4-c65abd762172"
      unitRef="U_USD">166413000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_489407cd-f3b2-4917-8258-215fa2e47534"
      id="F_f71cf8ec-f0d4-402c-a583-82d6884ff4a6">P16Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_780dac2a-fde7-43bd-b2ba-0b966b73e453"
      decimals="-3"
      id="F_9675a4d1-814e-4069-ac3b-e72f18a11b16"
      unitRef="U_USD">240000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_780dac2a-fde7-43bd-b2ba-0b966b73e453"
      decimals="-3"
      id="F_33e565a5-a229-43d4-9c54-c9a4067a0584"
      unitRef="U_USD">240000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_780dac2a-fde7-43bd-b2ba-0b966b73e453"
      decimals="-3"
      id="F_b317a113-3e7a-40cf-9fa1-e49bb0a1c883"
      unitRef="U_USD">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_780dac2a-fde7-43bd-b2ba-0b966b73e453"
      id="F_3760a8e6-fcea-4d6c-95e9-754ee7267962">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_de8e1d50-1d95-4fd7-9b3b-1618b3b52f84"
      decimals="-3"
      id="F_de2ef8b0-8fac-4dc1-a35f-6bc18c6bbbfa"
      unitRef="U_USD">252934000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_de8e1d50-1d95-4fd7-9b3b-1618b3b52f84"
      decimals="-3"
      id="F_0cf5240f-3431-4d46-867e-dbfa30ed3709"
      unitRef="U_USD">66559000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_de8e1d50-1d95-4fd7-9b3b-1618b3b52f84"
      decimals="-3"
      id="F_b4824f7f-7ebd-4011-bade-1861a82b4b97"
      unitRef="U_USD">186375000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_de8e1d50-1d95-4fd7-9b3b-1618b3b52f84"
      id="F_2ae4689b-f7f3-4813-ae38-a764c0d8bcf1">P15Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_6bd616b5-e130-4840-9988-8b44cfef48a5"
      decimals="-3"
      id="F_8ab282fc-7952-44f7-831f-e93d2a7d73e8"
      unitRef="U_USD">7682000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_6bd616b5-e130-4840-9988-8b44cfef48a5"
      decimals="-3"
      id="F_169f8395-d7f9-404c-bc33-59f9177e9f4b"
      unitRef="U_USD">1319000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_6bd616b5-e130-4840-9988-8b44cfef48a5"
      decimals="-3"
      id="F_7ae5ef0c-d732-4326-b74d-af3110e44a79"
      unitRef="U_USD">6363000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_6bd616b5-e130-4840-9988-8b44cfef48a5"
      id="F_b09bdc5c-003f-464e-bf09-b25c6c9bea80">P19Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_73cba0e2-763b-42fc-91ab-cfbb6869181e"
      decimals="-3"
      id="F_0eb90744-7131-4a82-9ee1-8b802cbb3aed"
      unitRef="U_USD">2811000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_73cba0e2-763b-42fc-91ab-cfbb6869181e"
      decimals="-3"
      id="F_a362b343-9f89-4269-a697-0bcd9d1cce3f"
      unitRef="U_USD">2044000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_73cba0e2-763b-42fc-91ab-cfbb6869181e"
      decimals="-3"
      id="F_2be35cb8-60f2-415a-888b-20de63bfe296"
      unitRef="U_USD">767000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_73cba0e2-763b-42fc-91ab-cfbb6869181e"
      id="F_1465a51a-56a2-4142-87f0-a43367ffe365">P4Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_b7584a15-455c-46ef-8446-83b4f60f03fe"
      unitRef="U_USD">461072000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_447144fb-f073-43b5-984a-1bb17055f29d"
      unitRef="U_USD">101154000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_587e757f-3e1c-4944-acb3-66f8921dc162"
      unitRef="U_USD">359918000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      id="F_7b3b2e75-24fa-41a2-9b2d-03ee97ed0e28">P16Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="C_7984018d-c393-468e-8f40-342d128d5015"
      decimals="-3"
      id="F_5b1feb9c-4b3e-4327-ba45-5b8f0c6295c0"
      unitRef="U_USD">700000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <rgen:IndefiniteLivedIntangibleAssetsNet
      contextRef="C_7984018d-c393-468e-8f40-342d128d5015"
      decimals="-3"
      id="F_4da7a470-4dd0-4c0a-914c-e02f0fcb6931"
      unitRef="U_USD">700000</rgen:IndefiniteLivedIntangibleAssetsNet>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_9b9a063d-3c5d-48b7-80b9-3d69197076af"
      unitRef="U_USD">461772000</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <rgen:IndefiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_1285cd0d-52e8-4a5e-8bfc-2f52d25fef80"
      unitRef="U_USD">-101154000</rgen:IndefiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_3e60b2ea-956b-448b-b18f-265b76012cf7"
      unitRef="U_USD">360618000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-5"
      id="F_144c4d15-4e8b-4223-9157-815e0fad66d3"
      unitRef="U_USD">31600000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-5"
      id="F_76387df6-a5dc-4da4-bb14-f4e31b3cf6dd"
      unitRef="U_USD">27100000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-5"
      id="F_0a183bd8-bd41-4b76-8ed8-3ba690a6ccb0"
      unitRef="U_USD">22100000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_8094fdab-49f9-4565-9bd9-02c0b38561a5">&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;As of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, the Company expects to record the following amortization expense (amounts in thousands): &lt;/span&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Estimated&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Expense&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;34,785&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2025&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;34,350&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2026&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,995&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2027&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,892&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2028&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,160&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2029 and thereafter&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;236,075&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;406,257&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_930ed9e7-eac0-4019-af6b-520fb7a51528"
      unitRef="U_USD">34785000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_522e2acc-1ed8-4786-bf85-3ab8c93edbd8"
      unitRef="U_USD">34350000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_8af6a022-459e-4f7f-8d82-dd3ea780fe75"
      unitRef="U_USD">33995000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_70397942-7373-4a54-8d33-becd377b4f97"
      unitRef="U_USD">33892000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_b6681ba7-5871-4689-b765-a9986132c62a"
      unitRef="U_USD">33160000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_79f8a873-f46d-445f-9c1a-da92ab1875e4"
      unitRef="U_USD">236075000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_75f28172-8eab-402a-888c-becfedd13b5a"
      unitRef="U_USD">406257000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:SupplementalBalanceSheetDisclosuresTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_342c7f19-2f11-49b3-9307-e88aea2da1b9">&lt;div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;11.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Consolidated Balance Sheet Detail &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Inventories, net&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Inventories, net consists of the following:&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.993%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Raw materials&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;123,598&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;149,438&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Work-in-process&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,492&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,183&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Finished products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;74,231&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;82,656&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total inventories, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;202,321&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;238,277&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Prepaid Expenses and Other Current Assets&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Prepaid expenses and other current assets consist of the following:&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.993%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Equipment maintenance and services&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,605&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,135&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid income taxes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,532&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;519&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid insurance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,087&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,909&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,317&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,274&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total prepaid expenses and other current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,541&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,837&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Property, Plant and Equipment&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Property, plant and equipment consist of the following:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.993%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Land&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;992&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,003&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Buildings&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,667&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,599&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Leasehold improvements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126,663&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115,672&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;114,606&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;94,613&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Furniture, fixtures and office equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,077&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,307&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Computer hardware and software&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35,528&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29,813&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Construction in progress&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;47,086&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;31,553&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;544&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;420&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total property, plant and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;336,163&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;282,980&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Less - Accumulated depreciation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;128,723&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;92,307&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total property, plant and equipment, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;207,440&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;190,673&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Depreciation expense totaled $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;23.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in the fiscal years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021, respectively.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Accrued Liabilities&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Accrued liabilities consist of the following:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.993%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Employee compensation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16,660&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,522&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,067&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,283&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Income taxes payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,814&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,459&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16,772&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15,856&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total accrued liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;57,313&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;71,120&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;</us-gaap:SupplementalBalanceSheetDisclosuresTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_58f548f9-820a-40eb-9674-bb5b238d7f2e">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Inventories, net&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Inventories, net consists of the following:&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.993%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Raw materials&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;123,598&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;149,438&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Work-in-process&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,492&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,183&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Finished products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;74,231&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;82,656&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total inventories, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;202,321&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;238,277&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_41fb9831-dd8c-44b9-a0bf-2def8bf96582"
      unitRef="U_USD">123598000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_7fecd56d-cd24-499d-8f8d-c7e4933917be"
      unitRef="U_USD">149438000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_5e071324-1da8-4b0c-a5d4-5714e6595eef"
      unitRef="U_USD">4492000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_b3594d32-e052-4ba5-b917-e1e434d102ba"
      unitRef="U_USD">6183000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_f31a31c2-bca4-4296-8951-8c6c9e051785"
      unitRef="U_USD">74231000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_b2cb576c-97a7-42ce-b945-12507bbf0a9a"
      unitRef="U_USD">82656000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_e5d76d73-f124-4c34-9fe9-e80f17a23e5a"
      unitRef="U_USD">202321000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_d57606fa-e086-435e-9dee-2dc8ef48e213"
      unitRef="U_USD">238277000</us-gaap:InventoryNet>
    <us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_25b925df-0f2a-4664-87cb-812fa599a5ef">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Prepaid Expenses and Other Current Assets&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Prepaid expenses and other current assets consist of the following:&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.993%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Equipment maintenance and services&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,605&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,135&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid income taxes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,532&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;519&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid insurance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,087&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,909&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,317&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,274&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total prepaid expenses and other current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,541&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,837&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;</us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock>
    <rgen:PrepaidServicesAndProfessionalFees
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_b52939a1-765f-4f4d-9906-4a055a11bfd1"
      unitRef="U_USD">6605000</rgen:PrepaidServicesAndProfessionalFees>
    <rgen:PrepaidServicesAndProfessionalFees
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_49b46a2a-0763-48dd-b661-f6f7b87ab1a9"
      unitRef="U_USD">7135000</rgen:PrepaidServicesAndProfessionalFees>
    <us-gaap:PrepaidTaxes
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_b00ec45c-7478-4105-a5a3-5c413d013dc5"
      unitRef="U_USD">10532000</us-gaap:PrepaidTaxes>
    <us-gaap:PrepaidTaxes
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_2f94d483-5665-4b71-bfe6-ea98bdc7c548"
      unitRef="U_USD">519000</us-gaap:PrepaidTaxes>
    <us-gaap:PrepaidInsurance
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_40e47e94-59c5-46f2-9ead-6245a7bb64ec"
      unitRef="U_USD">3087000</us-gaap:PrepaidInsurance>
    <us-gaap:PrepaidInsurance
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_00340393-38f8-4069-a8cd-9de8d3501812"
      unitRef="U_USD">1909000</us-gaap:PrepaidInsurance>
    <us-gaap:OtherAssetsCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_4544a679-8ce8-4327-9c6b-07ef5c432112"
      unitRef="U_USD">13317000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_4a15d740-5248-4cb6-954e-e55f81ea0d9d"
      unitRef="U_USD">10274000</us-gaap:OtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_9ebe968e-fd14-44b1-8440-d9651bee9335"
      unitRef="U_USD">33541000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_07da211b-bf8f-4934-98f9-cf328f70ca1b"
      unitRef="U_USD">19837000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_5e61b441-6e93-41fc-8b4f-f31720d52636">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Property, Plant and Equipment&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Property, plant and equipment consist of the following:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.993%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Land&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;992&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,003&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Buildings&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,667&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,599&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Leasehold improvements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126,663&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115,672&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;114,606&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;94,613&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Furniture, fixtures and office equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,077&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,307&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Computer hardware and software&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35,528&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29,813&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Construction in progress&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;47,086&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;31,553&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;544&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;420&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total property, plant and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;336,163&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;282,980&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Less - Accumulated depreciation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;128,723&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;92,307&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total property, plant and equipment, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;207,440&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;190,673&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:Land
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_36dc8b0a-6a24-468b-9cc1-55e5ab1e253d"
      unitRef="U_USD">992000</us-gaap:Land>
    <us-gaap:Land
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_d68b8b9b-e9c6-4aca-a66c-0a2484a8a24b"
      unitRef="U_USD">1003000</us-gaap:Land>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_25a0c59c-d423-4313-95ab-0a53321077a9"
      unitRef="U_USD">1667000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_f28a1561-8e6e-497d-83ac-6669cdd7f61f"
      unitRef="U_USD">1599000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:LeaseholdImprovementsGross
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_15c7761e-a0bd-48ff-bde5-713cbb7dae79"
      unitRef="U_USD">126663000</us-gaap:LeaseholdImprovementsGross>
    <us-gaap:LeaseholdImprovementsGross
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_68826dd1-8e5a-45e9-9def-8cbebd0d2706"
      unitRef="U_USD">115672000</us-gaap:LeaseholdImprovementsGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_26b239c9-3ade-455d-9888-7b1d147a8d70"
      unitRef="U_USD">114606000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_4a162e18-b66a-4a9d-aa00-0279007c95ef"
      unitRef="U_USD">94613000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:FurnitureAndFixturesGross
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_2a977606-e2ea-41e0-bb91-c6b6cb8f3005"
      unitRef="U_USD">9077000</us-gaap:FurnitureAndFixturesGross>
    <us-gaap:FurnitureAndFixturesGross
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_ddcc5ffc-9b7e-40f2-8e34-12bb1bfc9714"
      unitRef="U_USD">8307000</us-gaap:FurnitureAndFixturesGross>
    <us-gaap:CapitalizedComputerSoftwareGross
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_330075e3-4fc0-4811-a111-bafb135f6485"
      unitRef="U_USD">35528000</us-gaap:CapitalizedComputerSoftwareGross>
    <us-gaap:CapitalizedComputerSoftwareGross
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_87d1212c-6e4a-4da1-a8d4-4d5a26bd401d"
      unitRef="U_USD">29813000</us-gaap:CapitalizedComputerSoftwareGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_a881fc1c-f266-4c72-82d5-720390a78757"
      unitRef="U_USD">47086000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_ee8cd8be-e8f4-4c5b-b327-35ea9756403a"
      unitRef="U_USD">31553000</us-gaap:ConstructionInProgressGross>
    <us-gaap:PropertyPlantAndEquipmentOther
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_69462335-ee82-4335-8f52-f1ea8e05e500"
      unitRef="U_USD">544000</us-gaap:PropertyPlantAndEquipmentOther>
    <us-gaap:PropertyPlantAndEquipmentOther
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_e9978388-bff3-489b-b0a6-4fb113370677"
      unitRef="U_USD">420000</us-gaap:PropertyPlantAndEquipmentOther>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_9e8f09fc-ee76-476b-b493-180d1dd7d8c2"
      unitRef="U_USD">336163000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_388c0dbf-9163-4beb-bbe6-31d974e17ac0"
      unitRef="U_USD">282980000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_ed703156-bac8-4422-970b-89aba78ce134"
      unitRef="U_USD">128723000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_7705a181-cc7f-4696-a0c8-ae4b5553bf9c"
      unitRef="U_USD">92307000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_64f798b4-15e9-4540-8f57-b5c33f7c6fb3"
      unitRef="U_USD">207440000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_8af0b3d0-6233-4e88-8e66-b7a635c9695a"
      unitRef="U_USD">190673000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-5"
      id="F_e56d02c4-681c-4843-a120-eb69923fe2d4"
      unitRef="U_USD">37000000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-5"
      id="F_2ea59c95-aefb-47ee-a708-ffed080ac00c"
      unitRef="U_USD">23900000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-5"
      id="F_f523beeb-aec5-4044-90d8-0a62a4be1b79"
      unitRef="U_USD">16400000</us-gaap:Depreciation>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_93a7e744-8dc2-4f8f-b116-50efe9672e52">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Accrued Liabilities&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Accrued liabilities consist of the following:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.993%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Employee compensation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16,660&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,522&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,067&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,283&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Income taxes payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,814&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,459&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16,772&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15,856&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total accrued liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;57,313&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;71,120&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_6792e9ff-e54b-4c92-b53c-21eaf843c81b"
      unitRef="U_USD">16660000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_9231593b-63c7-4627-880c-8aa6913f62a0"
      unitRef="U_USD">33522000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:DeferredRevenueCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_43cd7921-8e41-43da-a99c-64bef0ab77e4"
      unitRef="U_USD">17067000</us-gaap:DeferredRevenueCurrent>
    <us-gaap:DeferredRevenueCurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_479a34b3-8a7c-4edc-a283-828b5012a499"
      unitRef="U_USD">19283000</us-gaap:DeferredRevenueCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_7f725527-06d6-4519-862e-df2d21e77407"
      unitRef="U_USD">6814000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_88410122-3411-475e-8528-405aa92beadc"
      unitRef="U_USD">2459000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_6524768d-91ed-43c3-887f-f8cb445ac2ae"
      unitRef="U_USD">16772000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_364e53f1-5c18-4975-bda6-b4de3a863edb"
      unitRef="U_USD">15856000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_b4e75f6f-ed71-4dfd-bca0-ea5c716641b0"
      unitRef="U_USD">57313000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_80cf8d07-c826-4451-afc3-050a0ee5aee5"
      unitRef="U_USD">71120000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_e5015aef-0610-4507-90eb-492fb1544138">&lt;div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;12.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Income Taxes (As Restated)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components of income before income taxes are as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.477%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.399%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.776%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.399%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.776%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.399%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.776%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Domestic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24,888&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;153,446&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81,984&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Foreign&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81,595&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;65,694&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;71,559&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Income before income taxes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56,707&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;219,140&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;153,543&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components of the income tax provision are as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.477%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.399%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.776%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.399%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.776%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.399%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.776%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Components of the income tax provision:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Current&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,941&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;34,800&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,166&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,170&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,619&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,086&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21,111&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,181&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,252&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Jurisdictional components of the income tax provision:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Federal&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,272&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,662&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,321&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;State&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;26&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,381&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,251&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Foreign&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;18,865&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,138&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15,680&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21,111&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,181&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,252&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;At December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, the Company had federal net operating loss carryforwards of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;31.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, state net operating loss carryforwards of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, and foreign net operating loss carryforwards of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. The state net operating loss carryforwards will expire &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;at various dates through 2043&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, while the federal and foreign net operating loss carryforwards have unlimited carryforward periods and do not expire. At &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, the Company had federal and state business tax credits carryforwards of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million available to reduce future federal and state income taxes. The business tax credit carryforwards will expire at various dates through 2043. The net operating loss and business tax credit carryforwards are subject to review and possible adjustment by the Internal Revenue Service and may be limited in the event of certain changes in the ownership interest of significant shareholders.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components of deferred income taxes are as follows:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.993%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred tax assets:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Revised)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Stock-based compensation expense&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,120&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating leases&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,727&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;31,564&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Capitalized research and development&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,568&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,102&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,131&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,983&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net operating loss carryforwards&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,648&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,808&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Business tax credit carryforwards&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,531&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,639&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,063&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,061&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total deferred tax assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;83,788&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;70,480&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Less: valuation allowance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net deferred tax assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;83,768&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;70,461&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred tax liabilities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Fixed assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,716&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;18,965&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Acquired intangible assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;58,467&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;45,170&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;26,373&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;28,486&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Debt discount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,006&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total deferred tax liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;121,562&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;92,621&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total net deferred tax liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37,794&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,160&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:1.667%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The net change in the total valuation allowance for the year ended December 31, 2023 and 2022&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; was an increase of approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; and a decrease of approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:1.667%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The reconciliation of the federal statutory rate to the effective income tax rate for the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021 is as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:92.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:33.94%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.04%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:7.54%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:8.44%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.04%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:7.54%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:8.44%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.04%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:7.54%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:8.44%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="22" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="22" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands, except percentages)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Income before income taxes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56,707&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;219,140&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;153,543&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Expected tax at statutory rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11,910&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;46,020&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,247&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Adjustments due to:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Difference between U.S. and foreign tax&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,078&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.9&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;530&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;State income taxes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,224&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,509&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.6&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,462&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Business tax credits&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,522&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,139&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,239&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Stock-based compensation expense&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,461&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,638&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.6&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,049&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.9&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;U.S. taxation of foreign earnings&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;539&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;83&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Foreign-derived intangible income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,042&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,547&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.7&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Executive compensation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,084&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,441&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,397&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,412&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,033&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,232&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Loss on extinguishment of debt&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,634&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.6&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Debt discount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16,650&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29.4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Foreign exchange loss&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,288&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Uncertain tax provisions&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;165&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;234&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;443&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Change in valuation allowance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;688&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;48&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Return to provision adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,255&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;498&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;50&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;765&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;92&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;730&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Income tax provision&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21,111&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,181&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15.1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,252&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16.4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company&#x2019;s tax returns are subject to examination by federal, state and foreign tax authorities. The Company&#x2019;s two major tax jurisdictions are subject to examination for the following periods:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:78.98%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:2.06%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:18.96%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Jurisdiction&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fiscal Years Subject to Examination&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;United States - federal and state&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_b3baf8b7-ef1b-4f8a-837f-4cd1d791b6a7;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2019-2023&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Sweden&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_4d9bd1d4-0a18-4e8f-a46b-04210d4baa9b;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2018-2023&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following is a tabular reconciliation of the total amounts of unrecognized tax benefits:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:65.266%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.701%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:13.665000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.701%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:13.665000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance of gross unrecognized tax benefits, beginning of period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,996&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,786&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Gross amounts of increases in unrecognized tax benefits as a result &lt;br/&gt;&#160;&#160;&#160;&#160;&#160;of tax positions taken in the current period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;178&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;146&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Gross amounts of increases in unrecognized tax benefits as a result &lt;br/&gt;&#160;&#160;&#160;&#160;&#160;of tax positions taken in the prior period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;53&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;64&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Gross amounts of decreases due to release&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;88&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance of gross unrecognized tax benefits, end of period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,139&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,996&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Included in the balance of unrecognized tax benefits as of December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, are $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of tax benefits that, if recognized, would affect the effective tax rate. The Company classifies interest and penalties related to income taxes as components of its income tax provision. In 2023, a net expense of approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, was recorded to the income tax provision related to interest and penalties while in 2022, a net expense of approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; was recorded. The amount of interest and penalties recorded in the accompanying consolidated balance sheets was approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;67,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;52,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 and 2022&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, respectively. In the next twelve months, it is reasonably possible the Company will reduce its gross unrecognized tax benefits, excluding interest by up to $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million due to expiring statutes of limitations.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In 2021, the Organization of Economic Co-operation and Development announced an Inclusive Framework on Base Erosion and Profit Sharing with the goal of achieving consensus around substantial changes to international tax policies, including the implementation of a minimum global effective tax rate of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;%. We continue to evaluate the impacts of enacted legislation and pending legislation in the tax jurisdictions in which we operate. While various countries have implemented the legislation as of January 1, 2024, we do not expect a resulting material change to our income tax provision for the 2024 fiscal year.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;As of December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, the Company has accumulated undistributed earnings generated by its foreign subsidiaries of approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;212.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. Because $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of such earnings have previously been subject to the one-time transition tax on foreign earnings required by the Tax Cuts and Jobs Act enacted in December 2017, any additional taxes due with respect to such earnings or the excess of the amount for financial reporting over the tax basis of our foreign investments would generally be limited to foreign and state taxes. At &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, the Company has not provided for taxes on outside basis differences of its foreign subsidiaries as it is not practicable and the Company has the ability and intent to indefinitely reinvest the undistributed earnings of its foreign subsidiaries, and there are no needs for such earnings in the United States that would contradict its plan to indefinitely reinvest.&lt;/span&gt;&lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_7e8f3c86-b166-4e91-8bc5-1654397ca2e3">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components of income before income taxes are as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.477%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.399%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.776%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.399%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.776%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.399%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.776%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Domestic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24,888&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;153,446&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81,984&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Foreign&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81,595&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;65,694&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;71,559&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Income before income taxes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56,707&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;219,140&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;153,543&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_46e139cc-b88a-43a4-a8ac-ff9eb1086d05"
      unitRef="U_USD">-24888000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_baea2dc2-4693-4168-ba4c-4ef35a5b5a6d"
      unitRef="U_USD">153446000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_aaafa49e-a7f9-4e30-b4c7-72df4a679e60"
      unitRef="U_USD">81984000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_6a395e91-e88a-4bf7-911f-540644c187b0"
      unitRef="U_USD">81595000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_62764855-506d-4db6-98ea-5d6c4e15ddac"
      unitRef="U_USD">65694000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_9948021b-5756-4e67-8377-a3e4e606233d"
      unitRef="U_USD">71559000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_ef4ceeae-1e05-48ac-845f-46ab47e6993e"
      unitRef="U_USD">56707000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_8da14e01-859d-4954-821f-9068453deb85"
      unitRef="U_USD">219140000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_2673111e-9472-4a26-a08f-6ef6a0515fa3"
      unitRef="U_USD">153543000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_363fd117-a95a-43af-95f0-12ec9847fc02">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components of the income tax provision are as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.477%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.399%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.776%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.399%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.776%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.399%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.776%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Components of the income tax provision:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Current&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,941&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;34,800&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,166&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,170&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,619&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,086&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21,111&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,181&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,252&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Jurisdictional components of the income tax provision:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Federal&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,272&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,662&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,321&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;State&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;26&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,381&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,251&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Foreign&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;18,865&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,138&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15,680&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:20pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21,111&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,181&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,252&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_4f6b26ce-09bd-4076-83a6-a7b404150cd2"
      unitRef="U_USD">19941000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_0a04dac8-27d2-41d7-931a-9f3dab359108"
      unitRef="U_USD">34800000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_37c87165-edff-478c-94c5-98df18ea2cb8"
      unitRef="U_USD">20166000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <rgen:ProvisionForDeferredIncomeTaxExpenseBenefit
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_cb04c452-9784-41dd-b170-b4214f64c507"
      unitRef="U_USD">1170000</rgen:ProvisionForDeferredIncomeTaxExpenseBenefit>
    <rgen:ProvisionForDeferredIncomeTaxExpenseBenefit
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_78144ab6-6bc5-43ba-abe3-3449b739e4e1"
      unitRef="U_USD">-1619000</rgen:ProvisionForDeferredIncomeTaxExpenseBenefit>
    <rgen:ProvisionForDeferredIncomeTaxExpenseBenefit
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_20bb598a-cb21-49a9-9f7f-c01c0ad28884"
      unitRef="U_USD">5086000</rgen:ProvisionForDeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_6e1f257e-d52d-4e08-8aae-90899976e82f"
      unitRef="U_USD">21111000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_7fdeb8a3-3240-459e-8311-6d44e3bb46a3"
      unitRef="U_USD">33181000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_03e135de-167b-40eb-917a-8463d3e09944"
      unitRef="U_USD">25252000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_36a09eb4-27bf-42ba-ae1e-0607d7d1f3ec"
      unitRef="U_USD">2272000</us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_430d57f4-985a-4f8b-a38b-4146d68c5306"
      unitRef="U_USD">17662000</us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_8510742d-c541-4356-b2a9-7772bc8f0e97"
      unitRef="U_USD">8321000</us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_bf8c78dd-ed7c-4d8e-8f9f-b1eba5cd6dc5"
      unitRef="U_USD">-26000</us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_2d3eff4c-091d-4e2a-83f1-25b713b8f756"
      unitRef="U_USD">1381000</us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_f776311b-3de9-40e5-9fd3-0c6198250834"
      unitRef="U_USD">1251000</us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_9ba4840a-ee2f-4217-9ed6-722d0e42a2db"
      unitRef="U_USD">18865000</us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_98f8a5ab-e31f-4193-9b5b-a0a929394c03"
      unitRef="U_USD">14138000</us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_341559a8-e81d-46a7-8955-4b761e97ec0c"
      unitRef="U_USD">15680000</us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_44fb2d1a-aa1c-485b-b6f6-3be75eea566e"
      unitRef="U_USD">21111000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_bc63cf47-f1c0-4af3-b44f-0582d9aee6f9"
      unitRef="U_USD">33181000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_7558f656-2975-4aca-b70f-49474f3b78ff"
      unitRef="U_USD">25252000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:OperatingLossCarryforwards
      contextRef="C_c2c7db4c-193d-4dc7-a354-b30106aa6f74"
      decimals="-5"
      id="F_218104e1-c226-4f04-9110-239caab5ae16"
      unitRef="U_USD">31100000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="C_8cf48f98-19ef-4e21-8519-39e04de60145"
      decimals="-5"
      id="F_776d215c-438f-447a-90dd-98b3b25a20f8"
      unitRef="U_USD">4800000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-5"
      id="F_fdb04bd6-c6d5-497b-a282-654456124da6"
      unitRef="U_USD">4900000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OtherInformationPertainingToIncomeTaxes
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_3bbf482e-507e-4775-b0d6-4eb9e7b48f7f">at various dates through 2043</us-gaap:OtherInformationPertainingToIncomeTaxes>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="C_2c95baea-6254-4024-a6cf-e640d90e6e8a"
      decimals="-5"
      id="F_101685d5-b426-43da-a9ad-935b42882260"
      unitRef="U_USD">5800000</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_9ccc1122-3786-4ca1-ba03-2436dc1389af">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components of deferred income taxes are as follows:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.993%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred tax assets:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Revised)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Stock-based compensation expense&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,120&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating leases&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,727&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;31,564&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Capitalized research and development&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,568&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,102&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,131&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,983&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net operating loss carryforwards&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,648&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,808&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Business tax credit carryforwards&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,531&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,639&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,063&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,061&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total deferred tax assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;83,788&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;70,480&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Less: valuation allowance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net deferred tax assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;83,768&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;70,461&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred tax liabilities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Fixed assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,716&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;18,965&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Acquired intangible assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;58,467&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;45,170&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;26,373&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;28,486&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Debt discount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,006&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total deferred tax liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;121,562&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;92,621&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total net deferred tax liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37,794&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,160&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_d32eadb6-818d-4d23-aec4-03f4e75dd00d"
      unitRef="U_USD">5120000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_5d7b731c-c8df-4b79-afd2-7fa326d1d769"
      unitRef="U_USD">5323000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <rgen:DeferredTaxAssetsOperatingLeases
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_b7438d2c-fba2-4bae-acf3-ae0d1a214fc2"
      unitRef="U_USD">30727000</rgen:DeferredTaxAssetsOperatingLeases>
    <rgen:DeferredTaxAssetsOperatingLeases
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_a62d6fba-d883-4971-afde-716655c970b2"
      unitRef="U_USD">31564000</rgen:DeferredTaxAssetsOperatingLeases>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_0f7d37cf-c764-4427-a66b-b6f27cdeb46c"
      unitRef="U_USD">17568000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_9c4137cf-064f-49bc-809d-64a4c769d1dd"
      unitRef="U_USD">9102000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_f19ce22f-0980-4c21-986a-30cdf8f32d3f"
      unitRef="U_USD">10131000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_491fc172-40b1-456e-a583-73437d34c133"
      unitRef="U_USD">5983000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_4171ff36-b393-41b4-bb06-80b3f1d468ef"
      unitRef="U_USD">7648000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_15d9d11a-e621-445c-8162-e4d8d41e350a"
      unitRef="U_USD">9808000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_f2d5c846-1b71-4a90-96e2-14381f3cd7f3"
      unitRef="U_USD">5531000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_490a896e-903e-45bf-89e4-022f451a2e3f"
      unitRef="U_USD">2639000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_08d00655-0637-452a-9610-4b87b1c7cbda"
      unitRef="U_USD">7063000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_2159dc08-1aff-4b8a-8873-cef17d97d9dc"
      unitRef="U_USD">6061000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_37703765-c51f-4af9-a6f0-73dc81393e7c"
      unitRef="U_USD">83788000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_d3daf9f9-443c-4b88-86cd-31e3973bac6c"
      unitRef="U_USD">70480000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_99e1a9be-a7b6-4146-8a4b-101ea60068b6"
      unitRef="U_USD">20000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_c4926d56-8a06-41d5-8ba4-594a1e602222"
      unitRef="U_USD">19000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_bf43e12b-b407-41d0-9d8e-122ab72465f7"
      unitRef="U_USD">83768000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_05d4f7e6-9420-44aa-baf7-1c72fc739ac7"
      unitRef="U_USD">70461000</us-gaap:DeferredTaxAssetsNet>
    <rgen:DeferredIncomeTaxLiabilitiesFixedAssets
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_29c2407b-d607-48be-9e8d-a72ac2170e41"
      unitRef="U_USD">-17716000</rgen:DeferredIncomeTaxLiabilitiesFixedAssets>
    <rgen:DeferredIncomeTaxLiabilitiesFixedAssets
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_b378f668-ff32-4d66-a62b-1ff12803a5b0"
      unitRef="U_USD">-18965000</rgen:DeferredIncomeTaxLiabilitiesFixedAssets>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_7e72b480-b5a9-4955-a706-cafdc7cf06b4"
      unitRef="U_USD">58467000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_ef7462a7-54b8-41ce-a809-49b5343215e9"
      unitRef="U_USD">45170000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <rgen:DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_fed57a7d-5315-420e-a9cf-fff3bc51bf12"
      unitRef="U_USD">-26373000</rgen:DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets>
    <rgen:DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_74d0040b-bfcd-4372-ac83-a63d3c015bdd"
      unitRef="U_USD">-28486000</rgen:DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets>
    <rgen:DeferredTaxLiabilitiesDebtDiscount
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_04e64839-e55b-4b48-bbff-ae7664f97c35"
      unitRef="U_USD">19006000</rgen:DeferredTaxLiabilitiesDebtDiscount>
    <rgen:DeferredTaxLiabilitiesDebtDiscount
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_d842c5d1-4ce7-4199-8c9a-d4139eadf01e"
      unitRef="U_USD">0</rgen:DeferredTaxLiabilitiesDebtDiscount>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_f63ab387-8d83-486f-84b9-78d4de17ef41"
      unitRef="U_USD">121562000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_202693d2-0e6f-4362-92a5-d1044e8d2915"
      unitRef="U_USD">92621000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_8e0c2d57-5ce7-492b-b18d-36fbb1cae994"
      unitRef="U_USD">37794000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_a8396e07-0b4e-457e-82bd-f80a090a913a"
      unitRef="U_USD">22160000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_530bea0b-4ca6-405f-b278-056a47933227"
      unitRef="U_USD">1000000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-5"
      id="F_1a024e1d-310f-4d0c-b454-ba71e0e54eba"
      unitRef="U_USD">700000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_0588b026-35a4-422c-a450-3acdcd9ff5ac">&lt;p style="margin-left:1.667%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The reconciliation of the federal statutory rate to the effective income tax rate for the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021 is as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:92.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:33.94%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.04%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:7.54%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:8.44%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.04%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:7.54%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:8.44%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.04%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:7.54%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:8.44%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="22" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="22" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands, except percentages)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(As Restated)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Income before income taxes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56,707&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;219,140&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;153,543&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Expected tax at statutory rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11,910&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;46,020&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,247&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Adjustments due to:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Difference between U.S. and foreign tax&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,078&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.9&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;530&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;State income taxes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,224&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,509&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.6&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,462&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Business tax credits&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,522&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,139&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,239&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Stock-based compensation expense&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,461&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,638&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.6&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,049&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.9&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;U.S. taxation of foreign earnings&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;539&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;83&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Foreign-derived intangible income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,042&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,547&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.7&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Executive compensation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,084&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,441&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,397&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,412&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,033&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,232&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Loss on extinguishment of debt&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,634&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.6&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Debt discount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16,650&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29.4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Foreign exchange loss&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,288&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Uncertain tax provisions&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;165&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;234&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;443&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Change in valuation allowance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;688&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;48&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Return to provision adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,255&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;498&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;50&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;765&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;92&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;730&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Income tax provision&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21,111&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,181&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15.1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,252&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16.4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_a0378e4c-a3f5-4bf7-8378-69ea72b36bab"
      unitRef="U_USD">56707000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_5c2146a3-d021-4345-a1f6-a4e709bbdc48"
      unitRef="U_USD">219140000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_d284dd50-a639-4556-b40e-945294a8af7c"
      unitRef="U_USD">153543000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_3e1becc4-a509-4658-9e05-48857e3818e7"
      unitRef="U_USD">11910000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="3"
      id="F_06e1b213-e249-4da4-b02a-1ab461d471c6"
      unitRef="U_pure">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_771f3bd0-a5e8-45a1-8c5e-4e97bb4f84a7"
      unitRef="U_USD">46020000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="3"
      id="F_8530e99b-fe5a-4413-94a5-f8a4fa5bf8b3"
      unitRef="U_pure">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_5368dfea-124a-42d1-af06-a32550215403"
      unitRef="U_USD">32247000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="3"
      id="F_4e83b373-905b-4a8d-923d-b17797d17d3b"
      unitRef="U_pure">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_4c9ef49b-f458-401c-9886-d4dd03aad175"
      unitRef="U_USD">1078000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="3"
      id="F_bd1c5032-d58a-46f5-a3e3-f79cc885f736"
      unitRef="U_pure">0.019</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_e62f4bda-4f7e-4c5f-8843-c2974a2de9ad"
      unitRef="U_USD">1024000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="3"
      id="F_72b2e394-886e-465d-bcc5-0282d6a2d29a"
      unitRef="U_pure">0.005</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_67a31303-c7a1-4a40-9ea8-2b2a96d0361e"
      unitRef="U_USD">530000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="3"
      id="F_493a4495-44f3-4ef6-bcdc-7ccacb50225b"
      unitRef="U_pure">0.003</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_0d023049-515f-4332-a233-0ab5a8a3b2dd"
      unitRef="U_USD">1224000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="3"
      id="F_8b62db47-b2dd-4764-97e5-a28db409b022"
      unitRef="U_pure">0.022</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_495b6f9f-43b0-4733-840e-92c341c3354e"
      unitRef="U_USD">3509000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="3"
      id="F_231637a2-858e-4107-ab05-19fe1ad5efda"
      unitRef="U_pure">0.016</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_1321a4ff-cea9-429f-9a17-b3e7d3dfae7b"
      unitRef="U_USD">1462000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="3"
      id="F_95c15780-51bb-435c-a520-6dd6b1e4b059"
      unitRef="U_pure">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationTaxCredits
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_3d056f6b-7df6-424a-801b-738146f68d1b"
      unitRef="U_USD">4522000</us-gaap:IncomeTaxReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="3"
      id="F_525c7dec-b4d6-4d59-b876-dde0c244db7c"
      unitRef="U_pure">0.08</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:IncomeTaxReconciliationTaxCredits
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_8612e022-05ae-49fa-9a56-3d13d8636abd"
      unitRef="U_USD">5139000</us-gaap:IncomeTaxReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="3"
      id="F_0f914eac-2124-4e55-af17-a9f0d13032f6"
      unitRef="U_pure">0.023</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:IncomeTaxReconciliationTaxCredits
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_792f00a0-0ea3-4ad8-bbca-2da0ae5baf0f"
      unitRef="U_USD">2239000</us-gaap:IncomeTaxReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="3"
      id="F_5d318784-3f7f-474e-a152-066967c921a5"
      unitRef="U_pure">0.015</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_caee9320-581f-4594-9968-df325cf995c6"
      unitRef="U_USD">-2461000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="3"
      id="F_2e0e52aa-4980-4799-bf65-793df0f97956"
      unitRef="U_pure">-0.043</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_d68ec472-7d1d-4818-9790-71c7b74f8ece"
      unitRef="U_USD">-5638000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="3"
      id="F_8780af68-ee32-4ba4-af52-1901eee606c7"
      unitRef="U_pure">-0.026</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_f796398b-a976-440d-b139-db6283c74068"
      unitRef="U_USD">-9049000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="3"
      id="F_d17f1bbd-af6c-4d01-800b-e5caf0fd64f7"
      unitRef="U_pure">-0.059</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_a97c5347-a7a9-4e70-8e4b-81349f14f41b"
      unitRef="U_USD">539000</us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings>
    <us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="3"
      id="F_c9e95042-0d70-4137-8b9a-0a564bbc6700"
      unitRef="U_pure">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings>
    <us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_f0019270-3346-4bfd-a70a-f9bad5136654"
      unitRef="U_USD">83000</us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings>
    <us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="3"
      id="F_0d9f96f1-afd3-4f89-9f6e-9629f7041d7d"
      unitRef="U_pure">0</us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings>
    <us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_b88203ce-3c0c-4e82-8f9e-12a062162172"
      unitRef="U_USD">30000</us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings>
    <us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="3"
      id="F_b7588131-f1a0-4201-a0f5-bf271d310aee"
      unitRef="U_pure">0</us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings>
    <us-gaap:EffectiveIncomeTaxRateReconciliationFdiiAmount
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_e9c7e555-9337-454a-b2fd-36a21fac1839"
      unitRef="U_USD">0</us-gaap:EffectiveIncomeTaxRateReconciliationFdiiAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="3"
      id="F_2a1dbf4d-2621-4e55-a162-940d3fedc2e4"
      unitRef="U_pure">0</us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationFdiiAmount
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_f4667a73-9746-401c-b11c-b00b06acf700"
      unitRef="U_USD">5042000</us-gaap:EffectiveIncomeTaxRateReconciliationFdiiAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="3"
      id="F_1d26b41d-bc96-4e25-830f-2bd20c7e08de"
      unitRef="U_pure">0.023</us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationFdiiAmount
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_89c68f9e-1148-4c46-b129-8e3e7a94a729"
      unitRef="U_USD">2547000</us-gaap:EffectiveIncomeTaxRateReconciliationFdiiAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="3"
      id="F_c013cbe2-0b29-442f-8343-ecd4c07de888"
      unitRef="U_pure">0.017</us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent>
    <rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_70702676-a3eb-4010-b041-2631b65d0427"
      unitRef="U_USD">3084000</rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation>
    <rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="3"
      id="F_904f6937-d980-45f5-afa7-627eebd089ed"
      unitRef="U_pure">0.054</rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation>
    <rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_45b29b17-2568-4942-bf27-15b9278db3da"
      unitRef="U_USD">5441000</rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation>
    <rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="3"
      id="F_16f6722a-3ef5-4cc1-a874-54c8086a59df"
      unitRef="U_pure">0.025</rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation>
    <rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_7382c112-5275-49c7-a600-81d7bcdb9704"
      unitRef="U_USD">3397000</rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation>
    <rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="3"
      id="F_ded145f7-6419-483d-85db-bcf41ac5d0b3"
      unitRef="U_pure">0.022</rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation>
    <rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_12fa4ed3-34e4-4e86-9154-7db8015ae829"
      unitRef="U_USD">-6412000</rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount>
    <rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="3"
      id="F_1ae9c2d8-06ba-4b8f-ac93-f9c36d9d8d9e"
      unitRef="U_pure">-0.113</rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent>
    <rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_e0d3742c-1225-4499-9ba4-ca24ee0a1f4f"
      unitRef="U_USD">-6033000</rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount>
    <rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="3"
      id="F_c89d2b88-cf1f-4965-b505-37d3711c2217"
      unitRef="U_pure">-0.028</rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent>
    <rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_6b0feaa1-693c-4705-984f-6a8aca23ffbf"
      unitRef="U_USD">1232000</rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount>
    <rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="3"
      id="F_09fcea0f-8d8d-49d1-92da-22ab71eef682"
      unitRef="U_pure">0.008</rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent>
    <rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchange
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_577f885f-8488-466d-a25c-8719b0a669eb"
      unitRef="U_USD">2634000</rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchange>
    <rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="3"
      id="F_84e5b549-b2c5-44be-984b-acfdfc1191f4"
      unitRef="U_pure">0.046</rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent>
    <rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchange
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_273c65c6-1ecb-43b4-8e15-82ed6389f7d0"
      unitRef="U_USD">0</rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchange>
    <rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="3"
      id="F_76b87a50-a6b1-473f-802e-1b55ff402001"
      unitRef="U_pure">0</rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent>
    <rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchange
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_83dd7815-38be-48bc-8819-b5287f2e9f4b"
      unitRef="U_USD">0</rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchange>
    <rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="3"
      id="F_a8682d5d-b207-402c-aaf8-d595002522bf"
      unitRef="U_pure">0</rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent>
    <rgen:EffectiveIncomeTaxRateReconciliationDebtDiscount
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_9a4df6d6-b76c-47c1-96d4-2752b07de179"
      unitRef="U_USD">16650000</rgen:EffectiveIncomeTaxRateReconciliationDebtDiscount>
    <rgen:EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="3"
      id="F_0fd62974-2305-4022-b26d-85f9d9e5ee12"
      unitRef="U_pure">0.294</rgen:EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage>
    <rgen:EffectiveIncomeTaxRateReconciliationDebtDiscount
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_9097e158-1689-4709-a9dc-735411e7aced"
      unitRef="U_USD">0</rgen:EffectiveIncomeTaxRateReconciliationDebtDiscount>
    <rgen:EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="3"
      id="F_94c68c1f-d6c9-412d-8468-2de151eff0f5"
      unitRef="U_pure">0</rgen:EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage>
    <rgen:EffectiveIncomeTaxRateReconciliationDebtDiscount
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_fff034c8-86fe-42cf-836c-dc13f8395492"
      unitRef="U_USD">0</rgen:EffectiveIncomeTaxRateReconciliationDebtDiscount>
    <rgen:EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="3"
      id="F_f396f934-a1f2-46ba-9878-b9caf560155c"
      unitRef="U_pure">0</rgen:EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage>
    <rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLoss
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_4f46f9a3-b531-413c-b1dc-48916c9b9538"
      unitRef="U_USD">2288000</rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLoss>
    <rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="3"
      id="F_8ceb3667-e6e9-41c9-93f9-2b827b23b7e9"
      unitRef="U_pure">-0.04</rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent>
    <rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLoss
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_bba3c927-f435-4dc5-a0cc-4c19d52fdec6"
      unitRef="U_USD">0</rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLoss>
    <rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="3"
      id="F_25c6387e-ee09-4275-8ad6-000be36b9ca1"
      unitRef="U_pure">0</rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent>
    <rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLoss
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_bd4c6e1f-8ce5-4749-8858-45050f5be05c"
      unitRef="U_USD">0</rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLoss>
    <rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="3"
      id="F_51873ffc-e893-4633-b614-c42998c69728"
      unitRef="U_pure">0</rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent>
    <us-gaap:IncomeTaxReconciliationTaxContingencies
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_1329dcaa-7d5f-43e4-ba80-5c5fef667b19"
      unitRef="U_USD">165000</us-gaap:IncomeTaxReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="3"
      id="F_2120b63e-a738-43d7-b736-7f4e7b98b716"
      unitRef="U_pure">0.003</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:IncomeTaxReconciliationTaxContingencies
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_67831420-cbbf-4a50-8fd0-0e4bff6a61a2"
      unitRef="U_USD">234000</us-gaap:IncomeTaxReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="3"
      id="F_8f0674a0-a8d5-411b-ac75-b3eb2ea867d9"
      unitRef="U_pure">0.001</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:IncomeTaxReconciliationTaxContingencies
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_0c54ba9f-bcdb-43c0-b19f-73fbbf81b8b3"
      unitRef="U_USD">-443000</us-gaap:IncomeTaxReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="3"
      id="F_9655895a-d108-4f1b-8475-b42edde9a9ad"
      unitRef="U_pure">-0.003</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_482aff8d-faf7-46e2-900d-86225002aff5"
      unitRef="U_USD">0</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="3"
      id="F_e59c2dad-d90e-4779-9c74-3c95c8c75bac"
      unitRef="U_pure">0</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_3257c129-752f-4f23-8ac4-a3c122206a1d"
      unitRef="U_USD">-688000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="3"
      id="F_be0e6015-19c0-431e-9222-418262ded012"
      unitRef="U_pure">-0.003</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_991321ac-5b14-442f-9b09-f0ccadcb996c"
      unitRef="U_USD">-48000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="3"
      id="F_6727a5c2-1ac0-4cbe-b09e-91260f001e16"
      unitRef="U_pure">0</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <rgen:IncomeTaxReconciliationReturnToProvisionAdjustments
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_be5983ea-b9b4-4c5a-b604-453f4f85e899"
      unitRef="U_USD">-1255000</rgen:IncomeTaxReconciliationReturnToProvisionAdjustments>
    <rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="3"
      id="F_618e6ac0-ffb8-4e91-bf1b-7a0674ccdacc"
      unitRef="U_pure">-0.022</rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments>
    <rgen:IncomeTaxReconciliationReturnToProvisionAdjustments
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_d012d25f-efb7-4c2e-99b3-bf3359a48d2b"
      unitRef="U_USD">-498000</rgen:IncomeTaxReconciliationReturnToProvisionAdjustments>
    <rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="3"
      id="F_c60dbd67-c8b0-4ad3-a898-9b92291e51cd"
      unitRef="U_pure">-0.002</rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments>
    <rgen:IncomeTaxReconciliationReturnToProvisionAdjustments
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_d695150b-2d8f-4b97-adba-18ac02511de5"
      unitRef="U_USD">-50000</rgen:IncomeTaxReconciliationReturnToProvisionAdjustments>
    <rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="3"
      id="F_a6a6df0c-992d-4992-9089-798e59ca554e"
      unitRef="U_pure">0</rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherReconcilingItems
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_138f1bb6-982b-4f84-b182-e3e1f1da9c6a"
      unitRef="U_USD">765000</us-gaap:IncomeTaxReconciliationOtherReconcilingItems>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="3"
      id="F_487b1c16-358f-4845-a379-c4f637f12601"
      unitRef="U_pure">0.012</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherReconcilingItems
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_66cc9b25-b662-487b-a343-ebaf73a7494d"
      unitRef="U_USD">-92000</us-gaap:IncomeTaxReconciliationOtherReconcilingItems>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="3"
      id="F_58293b98-92d4-4dae-9784-28cb1452ebd8"
      unitRef="U_pure">0</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherReconcilingItems
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_1504b4e7-8ba3-44d0-b3d5-4298d2731402"
      unitRef="U_USD">730000</us-gaap:IncomeTaxReconciliationOtherReconcilingItems>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="3"
      id="F_24d87d7b-3bc2-4e00-9790-24d6c27d60ba"
      unitRef="U_pure">0.005</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_2c7cda31-9e8c-4fb3-afbd-a4b8064ed0d0"
      unitRef="U_USD">21111000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="3"
      id="F_2b559011-aa33-4c53-988f-acf8aefc0707"
      unitRef="U_pure">0.372</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_955cdc2c-ed06-4977-b914-b1acc2396be7"
      unitRef="U_USD">33181000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="3"
      id="F_71e2a06a-6149-4739-8fb6-5cde4ac34b45"
      unitRef="U_pure">0.151</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_e24a1b90-d4b1-4bf2-8d3b-5419bdc58582"
      unitRef="U_USD">25252000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="3"
      id="F_c1269368-1cbd-4b11-9d89-039a2d9e1e9b"
      unitRef="U_pure">0.164</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:SummaryOfIncomeTaxExaminationsTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_43d363b8-6f2d-4663-b321-5c53d126caa3">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company&#x2019;s tax returns are subject to examination by federal, state and foreign tax authorities. The Company&#x2019;s two major tax jurisdictions are subject to examination for the following periods:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:78.98%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:2.06%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:18.96%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Jurisdiction&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fiscal Years Subject to Examination&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;United States - federal and state&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_b3baf8b7-ef1b-4f8a-837f-4cd1d791b6a7;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2019-2023&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Sweden&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_4d9bd1d4-0a18-4e8f-a46b-04210d4baa9b;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2018-2023&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:SummaryOfIncomeTaxExaminationsTextBlock>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_c9cd361b-64bf-4598-b643-c79bd6817607">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following is a tabular reconciliation of the total amounts of unrecognized tax benefits:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:65.266%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.701%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:13.665000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.701%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:13.665000000000001%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance of gross unrecognized tax benefits, beginning of period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,996&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,786&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Gross amounts of increases in unrecognized tax benefits as a result &lt;br/&gt;&#160;&#160;&#160;&#160;&#160;of tax positions taken in the current period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;178&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;146&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Gross amounts of increases in unrecognized tax benefits as a result &lt;br/&gt;&#160;&#160;&#160;&#160;&#160;of tax positions taken in the prior period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;53&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;64&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Gross amounts of decreases due to release&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;88&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance of gross unrecognized tax benefits, end of period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,139&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,996&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_9b49aa0c-7fdf-4b0a-aada-7a772df12367"
      unitRef="U_USD">2996000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="C_82911078-bdd7-49a5-87bb-adfb316a68b0"
      decimals="-3"
      id="F_89971db5-1355-4c2c-accd-3ddf38a53f70"
      unitRef="U_USD">2786000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_55148ff9-01c6-4766-8a21-de36fa9002bc"
      unitRef="U_USD">178000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_b994cf5a-eedf-4a1a-9b4f-67eaa098fa10"
      unitRef="U_USD">146000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_8bd8756b-d717-4494-a100-18d11df3680a"
      unitRef="U_USD">53000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_72a5eb91-a99c-4bea-8381-44633b44fa9d"
      unitRef="U_USD">64000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <rgen:UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_b18bcfa3-fa81-4afb-8cac-62fc27705b48"
      unitRef="U_USD">88000</rgen:UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease>
    <rgen:UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_07756b63-b8b5-4a8d-bb76-5adcaac9b549"
      unitRef="U_USD">0</rgen:UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_aae20beb-a141-4cff-8753-2995f4f93313"
      unitRef="U_USD">3139000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_bb93f9b7-5c8e-4897-b2ad-462d3881b531"
      unitRef="U_USD">2996000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-5"
      id="F_32b98f82-6737-4d09-8df5-6e6b5f007496"
      unitRef="U_USD">3100000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_f328def8-b5de-42b9-9b64-997c33527527"
      unitRef="U_USD">15000000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_c1e156d4-c39c-461d-9f33-f3fb581f9611"
      unitRef="U_USD">24000000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_b0d95887-fb73-4322-abbc-ad29325a4bf1"
      unitRef="U_USD">67000000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="-3"
      id="F_b3c34a50-0afc-44f8-9bad-de3131d0476e"
      unitRef="U_USD">52000000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-5"
      id="F_f028f99d-12ae-4d00-a048-6d92721befd7"
      unitRef="U_USD">1100000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions>
    <rgen:PercentageOfCurrentFederalTaxExpenseBenefit
      contextRef="C_75129c4a-5fb9-4163-9852-625a1aa895c9"
      decimals="2"
      id="F_599f72bf-5d8b-43af-b3a5-61cbbb2e6b31"
      unitRef="U_pure">0.15</rgen:PercentageOfCurrentFederalTaxExpenseBenefit>
    <us-gaap:UndistributedEarningsOfForeignSubsidiaries
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-5"
      id="F_35dece41-e43b-42e2-ac92-1aae5b5a9c7f"
      unitRef="U_USD">212400000</us-gaap:UndistributedEarningsOfForeignSubsidiaries>
    <rgen:ForeignEarningsSubjectToOneTimeTransitionTax
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-5"
      id="F_27de0a88-439b-41a6-b679-3da283d0e01a"
      unitRef="U_USD">5700000</rgen:ForeignEarningsSubjectToOneTimeTransitionTax>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_f4074f69-4948-4221-9a78-9715ff10729f">&lt;div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;13.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Stockholders&#x2019; Equity &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Share Repurchases&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In December 2023, the Board authorized and approved a stock repurchase of up to $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of the Company's common stock concurrent with the issuance of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;600.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of its 2023 Notes. See Note 15, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Convertible Senior Notes,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;for more information on the issuance. The Company used $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of the proceeds from the issuance of the 2023 Notes to repurchase &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;92,090&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares at a price of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;156.22&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, including transaction costs, to offset the impact of dilution from the issuance of 2023 Notes and equity compensation programs as well as to reduce its outstanding share count. The Company has elected to retire the shares repurchased to date. Retired shares become part of the pool of authorized but unissued shares. The purchase price of the retired shares in excess of par value, including transaction costs, is recorded as a decrease to additional paid-in capital in the Company's consolidated balance sheets as of December 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Stock Option and Incentive Plans&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;At the Company&#x2019;s 2018 Annual Meeting of Stockholders held on May 16, 2018, the Company&#x2019;s shareholders approved the 2018 Stock Option and Incentive Plan (the &#x201c;2018 Plan&#x201d;). Under the 2018 Plan the number of shares of the Company&#x2019;s common stock that are reserved and available for issuance shall be &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,778,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; plus the number of shares of common stock available for issuance under the Company&#x2019;s Amended and Restated 2012 Stock Option and Incentive Plan (the &#x201c;2012 Plan&#x201d;). The shares of common stock underlying any awards under the 2018 Plan and 2012 Plan that are forfeited, canceled or otherwise terminated (other than by exercise) shall be added back to the shares of stock available for issuance under the 2018 Plan. At &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,671,408&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares were available for future grants under the 2018 Plan.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Stock Issued for Earnout Payment&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In May 2023, the Company issued &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;42,621&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares of its common stock to former securityholders of Avitide to satisfy the contingent consideration obligation established under the Agreement and Plan of Merger and Reorganization (the &#x201c;Avitide Agreement&#x201d;) which the Company entered into as part of the Avitide Acquisition. See Note 5, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Acquisitions&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;above for additional information on the Avitide Acquisition and the contingent consideration. The shares represent &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;50&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the earnout consideration earned in the First Earnout Year (as defined in the Avitide Agreement).&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Stock-Based Compensation&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company recorded stock-based compensation expense of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million for the years ended December 31, 2023, 2022 and 2021&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, respectively, for share-based awards granted under the Plans. &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table presents stock-based compensation expense in the Company&#x2019;s consolidated statements of comprehensive income: &lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.437%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.339%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.816%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.339%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.836%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.339%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.896%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cost of product revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,933&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,525&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Research and development&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,855&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,622&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,856&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Selling, general and administrative&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,787&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,169&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,623&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total stock-based compensation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,575&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,316&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,500&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Stock Options&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company uses the Black-Scholes option pricing model to calculate the fair value of stock option awards on the grant date, and measures stock-based compensation costs of stock options at the grant date based on the estimated fair value of the award. The Company recognizes expense on awards with service-based vesting over the employee&#x2019;s requisite service period on a straight-line basis. The Company recognizes stock-based compensation expense for options that are ultimately expected to vest, and accordingly, such compensation expense has been adjusted for estimated forfeitures.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The fair value of stock option awards granted during the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021 were calculated using the following estimated assumptions:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:51.27%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.6%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:14.643%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.6%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:14.643%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.6%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:14.643%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="5" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Expected term (in years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.14&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.5&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.5&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.5&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.5&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.5&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Expected volatility (range)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44.78&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;46.58&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41.44&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;43.96&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44.57&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;45.27&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Risk-free interest rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.56&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.71&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.86&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.07&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.77&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.07&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Expected dividend yield&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Information regarding option activity for the year ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, under the Plans is summarized below:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:50.11%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.662%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.22%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:8.942%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.662%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.22%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.182%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Shares&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Weighted&lt;br/&gt;average&lt;br/&gt;exercise&lt;br/&gt;price&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Remaining&lt;br/&gt;Contractual&lt;br/&gt;Term&lt;br/&gt;(in Years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value&lt;br/&gt;(in Thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Options outstanding at December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;609,965&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;71.74&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Granted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;90,305&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;168.22&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Exercised&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;40,211&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;26.76&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Forfeited/expired/cancelled&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,929&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;189.46&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Options outstanding at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;649,130&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;85.97&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Options exercisable at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;364,443&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;65.53&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Vested and expected to vest at December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;635,834&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;85.49&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.59&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;61,888&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="margin-left:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div class="item-list-element-wrapper" style="margin-left:6.667%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.571084182443509%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Represents the number of vested options as of December 31, 2023 plus the number of unvested options expected to vest as of December 31, 2023, based on the unvested outstanding options at &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; adjusted for estimated forfeiture rates of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to non-executive level employees and &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to executive level employees.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The aggregate intrinsic value in the table above represents the total pre-tax intrinsic value (the difference between the closing price of the common stock on December 29, 2023, the last business day of 2023, of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;179.80&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; per share and the exercise price of each in-the-money option) that would have been received by the option holders had all option holders exercised their options on&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023. The aggregate intrinsic value of stock options exercised during the years ended December 31, 2023, 2022 and 2021 was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The weighted average grant date fair value of options granted during the years ended December 31, 2023, 2022 and 2021 was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;84.37&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;87.40&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;88.01&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, respectively. The total fair value of stock options that vested during the years ended December 31, 2023, 2022 and 2021 was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Stock Units&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The fair value of stock units is calculated using the closing price of the Company&#x2019;s common stock on the date of grant. The Company recognizes expense on awards with service-based vesting over the employee's requisite service period on a straight-line basis. The Company recognizes expense on performance-based awards over the vesting period based on the probability that the performance metrics will be achieved. &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Information regarding stock unit activity, which includes activity for restricted stock units and performance stock units, for the year ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 under the Plans is summarized below:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:65.92%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.12%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:13.12%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.6%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.64%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.6%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Shares&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Weighted Average&lt;br/&gt;Grant Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Unvested at December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;531,034&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;142.57&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Awarded&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;212,338&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;170.03&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Vested&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;195,672&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;124.58&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Forfeited/cancelled&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;73,380&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;177.81&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Unvested at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;474,320&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;155.59&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Vested and expected to vest at December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;413,249&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;152.74&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="margin-left:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Represents the number of vested stock units as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, plus the number of unvested stock units expected to vest as of December 31, 2023, based on the unvested outstanding stock units at December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; adjusted for estimated forfeiture rates of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to non-executive level employees and &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to executive level employees.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The aggregate intrinsic value of stock units vested during the years ended December 31, 2023, 2022 and 2021 was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;43.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;46.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively. The total fair value of stock units that vested during the years ended December 31, 2023, 2022 and 2021 was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;26.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;As of December 31, 2023, there was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;63.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of total unrecognized compensation cost related to unvested share-based awards. This cost is expected to be recognized over a weighted average remaining requisite service period of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;2.84&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; years. The Company expects &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;white-space:pre-wrap;min-width:fit-content;color:#000000;"&gt;2,185,873&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; unvested options and stock units to vest over the next &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;five years&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <srt:StockRepurchaseProgramAuthorizedAmount1
      contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09"
      decimals="-5"
      id="F_8d6dd1a1-d1b5-4dea-8ebe-400a0a74ac1b"
      unitRef="U_USD">25000000</srt:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09"
      decimals="-5"
      id="F_ddc5f6ad-7bb2-4197-b8e4-811a6699b8a9"
      unitRef="U_USD">600000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="C_36bed660-6879-4a10-a8d0-cabdb6f904bf"
      decimals="-5"
      id="F_1f8c3583-9526-4bb5-b5c3-077bd322735e"
      unitRef="U_USD">14400000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="C_36bed660-6879-4a10-a8d0-cabdb6f904bf"
      decimals="INF"
      id="F_661e7bbc-7bd6-4225-95c9-38b342190d89"
      unitRef="U_shares">92090</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:SharePrice
      contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09"
      decimals="2"
      id="F_bda004e5-d8c5-4c58-9d29-8dd2121909a0"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">156.22</us-gaap:SharePrice>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="C_845310a5-6efc-457b-9ec0-0b358e5f16f7"
      decimals="INF"
      id="F_f56487bb-f7e0-41f0-ac04-ea6d484eea71"
      unitRef="U_shares">2778000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="C_0dcda174-8051-4377-bd2a-edaa9e45dee0"
      decimals="INF"
      id="F_0f1e2964-db79-4619-b185-797f8dc1d92e"
      unitRef="U_shares">1671408</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:CommonStockSharesIssued
      contextRef="C_b0b4c7e7-1ac3-49a0-a8b7-f455bfebd99c"
      decimals="0"
      id="F_7e420c6b-d784-41a9-b940-1323fa634c81"
      unitRef="U_shares">42621</us-gaap:CommonStockSharesIssued>
    <rgen:EarnoutConsiderationEarned
      contextRef="C_b0b4c7e7-1ac3-49a0-a8b7-f455bfebd99c"
      decimals="2"
      id="F_12aed9a6-516e-420d-acb2-94273a29b950"
      unitRef="U_pure">0.50</rgen:EarnoutConsiderationEarned>
    <us-gaap:ShareBasedCompensation
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-5"
      id="F_daef6b9d-17e7-4dfc-a51b-a0759775e057"
      unitRef="U_USD">25600000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-5"
      id="F_c2b330e7-4bdb-4ba6-982a-c309c93f0f69"
      unitRef="U_USD">27300000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-5"
      id="F_19eac735-cab8-4289-ad9b-615327729255"
      unitRef="U_USD">27500000</us-gaap:ShareBasedCompensation>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_25eaefa7-adb0-4f25-8747-f5b6c72d38c1">&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table presents stock-based compensation expense in the Company&#x2019;s consolidated statements of comprehensive income: &lt;/span&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.437%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.339%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.816%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.339%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.836%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.339%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:10.896%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cost of product revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,933&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,525&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Research and development&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,855&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,622&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,856&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:10pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Selling, general and administrative&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,787&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,169&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,623&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:15pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total stock-based compensation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,575&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,316&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,500&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:ShareBasedCompensation
      contextRef="C_e72c853e-3631-476f-86e5-4087f150e6bf"
      decimals="-3"
      id="F_12b74d78-e9cf-49ac-b83f-7c1e025ad017"
      unitRef="U_USD">1933000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_67ac9dab-11e7-4558-9fbf-0eb049eb4fc0"
      decimals="-3"
      id="F_64e9efc6-4d2a-4f20-bf36-9b145cb03b28"
      unitRef="U_USD">2525000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_fc3aec69-23cc-429b-992d-5f7d2d41ab86"
      decimals="-3"
      id="F_9aff0328-a823-41ed-a20d-758c3c318440"
      unitRef="U_USD">2021000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_b9fb015c-5324-4b79-bfca-e8473e117f1a"
      decimals="-3"
      id="F_034fd80c-2e61-49f6-aa67-ae5a670fbba5"
      unitRef="U_USD">2855000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_ad627738-a5b9-4155-a591-ee1573e8d09f"
      decimals="-3"
      id="F_35a97d12-209e-4e09-8b79-8eae1046da12"
      unitRef="U_USD">2622000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_19155d0d-8624-4d4f-a65f-9a82a960d492"
      decimals="-3"
      id="F_d74deef4-a900-4732-b0a9-edcde5ce8370"
      unitRef="U_USD">2856000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_81a9bdaf-6f7f-436c-8bb2-848fff93f096"
      decimals="-3"
      id="F_f8efb898-8306-48bd-b324-da223cdaf1fb"
      unitRef="U_USD">20787000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_665c3d96-ac6a-4e64-96ae-87dd4f478598"
      decimals="-3"
      id="F_a14acdd2-8c0e-457e-839f-a78c11604da2"
      unitRef="U_USD">22169000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_9bc9fb58-59c1-4a41-a872-11298ff6fd4a"
      decimals="-3"
      id="F_23207761-54c1-49cc-b27e-24a43c69e3e2"
      unitRef="U_USD">22623000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-3"
      id="F_e5c9731e-ea98-4f3b-9be8-d392bf6d3f3a"
      unitRef="U_USD">25575000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-3"
      id="F_593b6bfd-fb45-49fe-85fa-5a5601906ce3"
      unitRef="U_USD">27316000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-3"
      id="F_605d930c-4c53-4ee6-9131-0e8c2975d2fa"
      unitRef="U_USD">27500000</us-gaap:ShareBasedCompensation>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_cc36450a-0be5-442d-9aa0-b31f9299cdfc">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The fair value of stock option awards granted during the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021 were calculated using the following estimated assumptions:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:51.27%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.6%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:14.643%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.6%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:14.643%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.6%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:14.643%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="5" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Expected term (in years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.14&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.5&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.5&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.5&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.5&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.5&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Expected volatility (range)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44.78&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;46.58&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41.44&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;43.96&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44.57&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;45.27&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Risk-free interest rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.56&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.71&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.86&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.07&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.77&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.07&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Expected dividend yield&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="C_7054cf9e-e4b9-48bb-8db8-51dc67555cab"
      id="F_ab976e04-6b9d-44ba-abe1-65ba2e6b4724">P5Y1M20D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="C_79d26bb3-2f4a-4d23-ba89-b74276d4a86f"
      id="F_73c3e47e-2617-4ca8-b114-eb52c56f14bf">P6Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="C_ccef2e4d-3d90-4a9b-9125-b2eff4191dae"
      id="F_572a19fd-2645-45d6-8b63-646d7dc0a5ba">P5Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="C_7fcf606d-08e7-4899-8811-abfdc010d8c5"
      id="F_769bde72-bf35-4be0-88cb-29f89615f613">P6Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="C_a863024f-fdbb-4c77-915f-c7c678373077"
      id="F_a0880044-dec4-4a06-8a62-3a5b77e0d956">P5Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="C_e988d382-f53c-4068-9be1-96ff58c3ec5b"
      id="F_14d3443e-1b73-429f-b8cc-27c18bc1e281">P6DT12H</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="4"
      id="F_35dfd0cd-1106-451e-981b-894f3496cb23"
      unitRef="U_pure">0.4478</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="4"
      id="F_6309c32d-44d7-4ef8-8b16-200daaa175a6"
      unitRef="U_pure">0.4658</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="4"
      id="F_d5522e56-dcd3-44fa-a7c9-99fbc3b1c641"
      unitRef="U_pure">0.4144</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="4"
      id="F_fed60fd9-e259-4ca7-8869-e6ae8c69c893"
      unitRef="U_pure">0.4396</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="4"
      id="F_992049fc-f0f1-4d56-aa05-6c87b4f315f0"
      unitRef="U_pure">0.4457</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="4"
      id="F_14acc2fc-2bc0-4600-b781-c25edfb5b556"
      unitRef="U_pure">0.4527</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="4"
      id="F_b8386148-dae1-4ff6-ad68-85b80b23262a"
      unitRef="U_pure">0.0356</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="4"
      id="F_7d6d75c5-6293-4d2c-8245-4ffda3029af3"
      unitRef="U_pure">0.0471</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="4"
      id="F_e8bd2482-a221-4e10-bb04-757c9d16a2f5"
      unitRef="U_pure">0.0186</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="4"
      id="F_ae2b443a-b580-4e67-8f49-ef5cf35be213"
      unitRef="U_pure">0.0407</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="4"
      id="F_6bdd0758-bfb1-4e1a-a6b2-10ca8ba0f771"
      unitRef="U_pure">0.0077</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="4"
      id="F_6b273486-a7df-4cc9-ad9e-c42719c0be9a"
      unitRef="U_pure">0.0107</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="2"
      id="F_aaa4c28a-8f0c-415e-a3bc-69906eb58def"
      unitRef="U_pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="2"
      id="F_991b9370-d34c-4e89-8e63-ee9fd4378b49"
      unitRef="U_pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="2"
      id="F_d788c7ee-f4c8-4331-b17e-d7aacbeffc34"
      unitRef="U_pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_ce8c2c7c-11ad-4c11-9bd0-faa646a1a465">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Information regarding option activity for the year ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, under the Plans is summarized below:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:50.11%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.662%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.22%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:8.942%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.662%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.22%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:9.182%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Shares&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Weighted&lt;br/&gt;average&lt;br/&gt;exercise&lt;br/&gt;price&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Remaining&lt;br/&gt;Contractual&lt;br/&gt;Term&lt;br/&gt;(in Years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value&lt;br/&gt;(in Thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Options outstanding at December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;609,965&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;71.74&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Granted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;90,305&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;168.22&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Exercised&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;40,211&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;26.76&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Forfeited/expired/cancelled&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,929&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;189.46&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Options outstanding at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;649,130&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;85.97&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Options exercisable at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;364,443&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;65.53&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Vested and expected to vest at December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;635,834&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;85.49&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.59&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;61,888&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="margin-left:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div class="item-list-element-wrapper" style="margin-left:6.667%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.571084182443509%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Represents the number of vested options as of December 31, 2023 plus the number of unvested options expected to vest as of December 31, 2023, based on the unvested outstanding options at &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; adjusted for estimated forfeiture rates of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to non-executive level employees and &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to executive level employees.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="INF"
      id="F_614c6190-362c-44bc-9c70-bb19c335067d"
      unitRef="U_shares">609965</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="2"
      id="F_4f01c904-9c35-4219-82a0-b380541f8ee2"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">71.74</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="INF"
      id="F_f9a9a7f5-4a42-4764-8d9a-2d619df10804"
      unitRef="U_shares">90305</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="2"
      id="F_8d07e67c-59ed-4576-a550-b7775cde55b9"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">168.22</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="INF"
      id="F_6a378aeb-d454-4f65-a02a-b4f5d2f12103"
      unitRef="U_shares">40211</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="2"
      id="F_e3bb8ac3-1e47-478f-a81b-3882c20adb77"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">26.76</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="INF"
      id="F_b9257391-d590-4c01-a6be-54dde16919ae"
      unitRef="U_shares">10929</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="2"
      id="F_df120005-fc99-457d-becb-890e2a755fdc"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">189.46</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="INF"
      id="F_ca7f5322-2d8b-444b-99fd-be5cf1a91def"
      unitRef="U_shares">649130</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="2"
      id="F_54d67f0c-24b8-4987-b5b8-01064545effc"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">85.97</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="INF"
      id="F_81d0d5b5-6481-4fde-af8f-14f6a111c1ea"
      unitRef="U_shares">364443</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="2"
      id="F_bdedee51-0938-41c3-aba6-2f1d13a9fd11"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">65.53</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="INF"
      id="F_b6b05d08-1a0f-417d-8c4c-e42415e27c3f"
      unitRef="U_shares">635834</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="2"
      id="F_b73f4a6b-6c4c-454c-bf9f-3f185acf3714"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">85.49</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_d91b7692-9daa-4538-8540-ee126221c22d">P5Y7M2D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-3"
      id="F_2ae9ce51-6958-456f-8699-6b39ac47d900"
      unitRef="U_USD">61888000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <rgen:PercentageOfSharesSubjectToForfeiture
      contextRef="C_d3d3487c-fcb3-4a02-bfae-0d51403d51fa"
      decimals="2"
      id="F_fd6715db-f91f-4f9d-80f8-3fc24b78bf4c"
      unitRef="U_pure">0.08</rgen:PercentageOfSharesSubjectToForfeiture>
    <rgen:PercentageOfSharesSubjectToForfeiture
      contextRef="C_4fe67a58-54bc-4aef-a0c3-06b74b3c59ed"
      decimals="2"
      id="F_c78aafd0-c4d8-4296-b969-86cc4721a105"
      unitRef="U_pure">0.03</rgen:PercentageOfSharesSubjectToForfeiture>
    <us-gaap:SharePrice
      contextRef="C_feec9274-0957-47f7-8e88-a29b76cdde90"
      decimals="INF"
      id="F_c5ed2c08-ca92-4bf0-96f0-91f7da266a69"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">179.80</us-gaap:SharePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-5"
      id="F_ac66282a-8144-4806-95a8-35d51e3e1a39"
      unitRef="U_USD">5800000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-5"
      id="F_18f0179b-b63f-4897-9344-93229c497bb9"
      unitRef="U_USD">14100000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-5"
      id="F_940953ce-fc9c-471e-810e-503d3bf5fa73"
      unitRef="U_USD">20300000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="2"
      id="F_7c7cad55-8188-4607-bef0-2fbc9dad7f55"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">84.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="2"
      id="F_0da48c96-4bba-4c55-9034-edbcbbd898f8"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">87.40</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="2"
      id="F_c0ae81a9-7f85-4da1-876d-05589d41e5aa"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">88.01</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-5"
      id="F_f11d1301-3464-4cbd-83e2-6d663dd870cd"
      unitRef="U_USD">4700000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
      contextRef="C_fca9e7be-b5e9-48d2-a590-994404346f46"
      decimals="-5"
      id="F_a4a34741-4845-46f1-97b5-3cb390678585"
      unitRef="U_USD">3100000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
      contextRef="C_df5247e5-2442-4adf-8606-6abbdd94079a"
      decimals="-5"
      id="F_3ab06de1-f562-4d60-9b84-36e2d133e518"
      unitRef="U_USD">3000000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_840e8f7f-9f2d-41d6-b850-aedaa0ffc920">&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Information regarding stock unit activity, which includes activity for restricted stock units and performance stock units, for the year ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 under the Plans is summarized below:&lt;/span&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:65.92%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.12%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:13.12%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.6%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.64%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.6%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Shares&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Weighted Average&lt;br/&gt;Grant Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Unvested at December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;531,034&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;142.57&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Awarded&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;212,338&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;170.03&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Vested&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;195,672&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;124.58&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Forfeited/cancelled&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;73,380&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;177.81&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Unvested at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;474,320&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;155.59&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Vested and expected to vest at December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;413,249&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;152.74&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="margin-left:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div class="item-list-element-wrapper" style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Represents the number of vested stock units as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, plus the number of unvested stock units expected to vest as of December 31, 2023, based on the unvested outstanding stock units at December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; adjusted for estimated forfeiture rates of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to non-executive level employees and &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to executive level employees.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="INF"
      id="F_4334781b-16f4-4be7-b2fb-51b89b1c026a"
      unitRef="U_shares">531034</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="C_afc15e9e-909f-4bd6-be74-63ca7d294c34"
      decimals="2"
      id="F_330cab98-2c61-4a83-a2b3-d7b1637171fa"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">142.57</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="INF"
      id="F_a9d62de9-1e5a-4438-a3ff-ae85f5d5b5ea"
      unitRef="U_shares">212338</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="2"
      id="F_79d69776-14f1-42ff-83de-74ca55e2011b"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">170.03</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="INF"
      id="F_4d86ff74-dd4a-48c2-92b9-75e25c743581"
      unitRef="U_shares">195672</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="2"
      id="F_246ce31e-6e22-4fe4-ae56-431d84b1cae4"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">124.58</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="INF"
      id="F_3975f003-82ad-4cb6-8bcf-079c6405b948"
      unitRef="U_shares">73380</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="2"
      id="F_3fe194bb-d495-4cb9-afa4-f5a7657c9a7e"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">177.81</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="INF"
      id="F_9aaac3f6-17fe-456d-b0b8-e5f4b422311b"
      unitRef="U_shares">474320</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="2"
      id="F_2074dcb0-a527-4dd6-aac6-fd792e9561aa"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">155.59</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <rgen:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="INF"
      id="F_ad476f8d-bb39-42fb-87da-cfae99a54d33"
      unitRef="U_shares">413249</rgen:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber>
    <rgen:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="2"
      id="F_1401dbd3-3dfa-4538-8773-c147b5711b17"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">152.74</rgen:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue>
    <rgen:PercentageOfSharesSubjectToForfeiture
      contextRef="C_8b6b3e18-3b6d-4098-aefd-43335a60deea"
      decimals="2"
      id="F_e024c5fe-86e6-4c94-b155-69a687c10235"
      unitRef="U_pure">0.08</rgen:PercentageOfSharesSubjectToForfeiture>
    <rgen:PercentageOfSharesSubjectToForfeiture
      contextRef="C_ee3e1150-0f15-446e-bd18-065f49eb472b"
      decimals="2"
      id="F_03c0cc53-8f37-417c-a0e0-96ecb9315198"
      unitRef="U_pure">0.03</rgen:PercentageOfSharesSubjectToForfeiture>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
      contextRef="C_e6bc1264-f000-44b1-a506-8904a1ccc81c"
      decimals="-5"
      id="F_af982a5b-6420-45f1-86b4-c114713fcad9"
      unitRef="U_USD">35700000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
      contextRef="C_d2824928-d973-486a-a65b-45df3e8d84e4"
      decimals="-5"
      id="F_33f5610f-489d-4f31-80d8-790de19c232f"
      unitRef="U_USD">43900000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
      contextRef="C_4cbaf6f8-a32e-4825-b3da-968aeb9a7acb"
      decimals="-5"
      id="F_58ab7ff8-dd54-4960-a933-360d3c23b8a5"
      unitRef="U_USD">46500000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="C_e6bc1264-f000-44b1-a506-8904a1ccc81c"
      decimals="-5"
      id="F_7c4fe31b-4890-4f96-b7b0-9f2ff27303cc"
      unitRef="U_USD">26200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="C_d2824928-d973-486a-a65b-45df3e8d84e4"
      decimals="-5"
      id="F_b114774d-a5d2-4e84-96da-dbb73fea1d18"
      unitRef="U_USD">22700000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="C_4cbaf6f8-a32e-4825-b3da-968aeb9a7acb"
      decimals="-5"
      id="F_822c1e4e-c691-4374-bf9e-06905736f9af"
      unitRef="U_USD">13900000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-5"
      id="F_735cbe05-2055-4b16-9263-8e0094b8950f"
      unitRef="U_USD">63800000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_3a19151d-01e8-409e-ad9d-9a27f4e91e55">P2Y10M2D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <rgen:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="INF"
      id="F_53233840-d08c-4a9b-afd7-ec33e681fa81"
      unitRef="U_shares">2185873</rgen:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="C_9c8f8b2b-e150-4163-849f-9abbf6fa2b4e"
      id="F_9a12be86-fd67-42d1-8354-94c0e8bcdd0b">P5Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_fec13b4a-b081-41a6-8c2d-03fb5c4fa725">&lt;div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;14.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Commitments and Contingencies &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;License Agreement&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;On September 19, 2022, the Company entered into a 15-year exclusive License Agreement (the &#x201c;Daylight Agreement&#x201d;) with DRS Daylight Solutions, Inc. (&#x201c;Daylight&#x201d;), giving the Company exclusive license and commercialization rights to use certain technology and intellectual property subject to conditions set forth in the Daylight Agreement. The Company agreed to pay Daylight (i) an initial, one-time, non-refundable, non-creditable upfront cash payment and (ii) certain quarterly royalty payments.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Pursuant to the Daylight Agreement, the Company obtains the exclusive, non-transferrable, right and license to use specifically in the field of bioprocessing, the Daylight intellectual property called Culpeo&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; QCL-IR Liquid Analyzer (&#x201c;Culpeo&#x201d;), which is a compact, intelligent spectrometer that uses the power of quantum cascade lasers to analyze and identify chemicals. Under the Daylight Agreement, the Company assumes responsibility for the commercialization and sale of Culpeo, in addition to the ability&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;to incorporate the intellectual property into optimized products over the term of the Daylight Agreement. Daylight will continue to sell the products in the specified fields of Aerospace and Defense.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Collaboration Agreements&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company licenses certain technologies that are, or may be, incorporated into its technology under several agreements and also has entered into several clinical research agreements that require the Company to fund certain research projects. Generally, the license agreements require the Company to pay annual maintenance fees and royalties on product sales once a product has been established using the technologies. R&amp;amp;D expenses associated with license agreements were immaterial amounts for the years ended December 31, 2023, 2022 and 2021.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In June 2018, the Company secured an agreement with Navigo Proteins GmbH (&#x201c;Navigo&#x201d;) for the exclusive co-development of multiple affinity ligands for which Repligen holds commercialization rights. The Company is manufacturing and supplying the first of these ligands, NGL-Impact&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, exclusively to Purolite, who is pairing the Company&#x2019;s high-performance ligand with Purolite&#x2019;s agarose jetting base bead technology used in their Jetted A50 Protein A resin product. The Company also signed a long-term supply agreement with Purolite for NGL-Impact and other potential additional affinity ligands that may advance from the Company&#x2019;s Navigo collaboration. In September 2020, the Company and Navigo successfully completed co-development of an affinity ligand targeting the SARS-CoV-2 spike protein, to be utilized in the purification of vaccines for the COVID-19 pandemic, including emerging variants of the SARS-CoV-2 coronavirus. The Company has proceeded with scaling up and manufacturing this ligand and the development and validation of the related affinity chromatography resin, which is marketed by the Company. In September 2021, the Company and Navigo successfully completed co-development of a novel affinity ligand that addresses aggregation issues associated with pH sensitive antibodies and Fc-fusion proteins. The Company is manufacturing and supplying this ligand, NGL-Impact&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; HipH, to Purolite. The Navigo and Purolite agreements are supportive of the Company&#x2019;s strategy to secure and reinforce the Company&#x2019;s proteins business.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; The Company made royalty payments to Navigo of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021, respectively, in connection with this program, which are recorded to research and development expenses in the Company&#x2019;s consolidated statements of comprehensive income.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Purchase Orders, Supply Agreements and Other Contractual Obligations&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In the normal course of business, the Company has entered into purchase orders and other agreements with manufacturers, distributors and others. Outstanding obligations at December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;34.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million are expected to be completed within one year.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Legal Proceedings&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;From time to time, in the normal course of its operations, the Company is subject to litigation matters and claims relating to employee relations, business practices and patent infringement. Litigation can be expensive and disruptive to normal business operations. Moreover, the results of complex legal proceedings are difficult to predict, and the Company&#x2019;s view of these matters may change in the future as the litigation and events related thereto unfold. The Company expenses legal fees as incurred. The Company records a provision for contingent losses when it is both probable that a liability has been incurred and the amount of the loss can be reasonably estimated. An unfavorable outcome to any legal matter, if material, could have an adverse effect on the Company&#x2019;s operations or its financial results.&lt;/span&gt;&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:RoyaltyExpense
      contextRef="C_fdd28a2c-e6ea-45f6-aec7-7ca27f89295f"
      decimals="-5"
      id="F_94bc6ca2-e05d-4c2d-85de-bb6381a18a25"
      unitRef="U_USD">3800000</us-gaap:RoyaltyExpense>
    <us-gaap:RoyaltyExpense
      contextRef="C_31c8d921-4040-49c4-a0c3-be3ff971ac14"
      decimals="-5"
      id="F_979f0b1f-2ca9-4a40-bcf5-b1be759fbbe6"
      unitRef="U_USD">2600000</us-gaap:RoyaltyExpense>
    <us-gaap:RoyaltyExpense
      contextRef="C_4ba51dce-d20f-417b-aab5-b623a8d23880"
      decimals="-5"
      id="F_9f182352-9bb9-41f9-87a0-da2410e03b87"
      unitRef="U_USD">2300000</us-gaap:RoyaltyExpense>
    <us-gaap:ContractualObligationDueInNextTwelveMonths
      contextRef="C_3df3d059-d5c7-4da9-8a61-fe6695a2f828"
      decimals="-5"
      id="F_3b2186a8-227c-4974-bf8c-c6021e3e9292"
      unitRef="U_USD">34300000</us-gaap:ContractualObligationDueInNextTwelveMonths>
    <us-gaap:LongTermDebtTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_0541d654-b50f-429b-a05e-a39f26d737ad">&lt;div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;15.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Convertible Senior Notes &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The carrying value of the Company&#x2019;s convertible senior notes is as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:67.08%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.84%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.84%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;0.375% Convertible Senior Notes due 2024:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Principal amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69,700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;287,470&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Unamortized debt issuance costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;248&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,855&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Carrying amount - Convertible Senior Notes due 2024, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69,452&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;284,615&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;1.00% Convertible Senior Notes due 2028:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Principal amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;600,000&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Unamortized debt discount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81,457&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Unamortized debt issuance costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,400&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Carrying amount - Convertible Senior Notes due 2028, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;510,143&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;1.00% Convertible Senior Notes due 2028&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;On December 14, 2023, the Company issued $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;600.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of its 2023 Notes in the Exchange and Subscription Agreements with a limited number of holders of its outstanding 2019 Notes and certain other qualified institutional buyers pursuant to Rule 144A under the Securities Act. Pursuant to the Exchange and Subscription Agreements, the Company exchanged $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;217.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of its 2019 Notes, which were cancelled upon exchange, for $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;309.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of the 2023 Notes (the &#x201c;Exchange Transaction&#x201d;) and issued $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;290.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of the 2023 Notes in a private placement to accredited institutional buyers (the &#x201c;Subscription Transactions&#x201d;) for $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;290.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in cash.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company evaluated the Exchange Transaction and determined approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of the $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;217.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million principal of the exchanged 2019 Notes should be accounted for as extinguishments of debt and approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;188.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million should be accounted for as modification of debt. As a result, we recognized a $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million loss on extinguishment of debt in our consolidated statements of comprehensive income for the year ended December 31, 2023, inclusive of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of unamortized debt issuance costs. Under modification accounting, the carrying amount of the modified 2019 Notes was reduced by $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, with a corresponding increase to additional paid-in capital, to account for the increase in the fair value of the embedded conversion option, representing a debt discount of the modified 2019 Notes. The aggregate debt discount of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;82.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, comprised of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;79.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million increase in principal of the modified 2019 Notes and a $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million increase in the fair value of the embedded conversion option, is as a direct reduction from the carrying value of the convertible debt on our consolidated balance sheets. This amount will be accreted into interest expense in the consolidated statements of comprehensive income using the effective interest method over the term of the 2023 Notes.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Proceeds from the Subscription Transactions were $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;276.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, net of debt issuance costs of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. The Exchange Transaction resulted in $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of the debt issuance costs related to the modified 2019 Notes, which were expensed as incurred in accordance with modification accounting, and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of deferred debt issuance costs related to the 2023 Notes, which were recorded as a direct deduction to the carrying value of the 2023 Notes on the Company&#x2019;s consolidated balance sheets. The Company will amortize the $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of debt issuance costs of the 2023 Notes into amortization of debt issuance costs in the Company&#x2019;s consolidated statements of comprehensive income over the remaining term of the 2023 Notes. The carrying value of the 2023 Notes of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;510.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million is included in long-term debt on the Company's consolidated balance sheets as of December 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company used &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of the proceeds from the Subscription Transactions to repurchase shares of its common stock from certain purchasers of the 2023 Notes. See Note 13, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;&#x201c;Stockholders&#x2019; Equity - Share Repurchases&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;for additional information related to this repurchase. The Company will also use a portion of the proceeds to finance in part, the settlement upon conversion or repurchase of the remaining 2019 Notes at or prior to maturity. The remainder of the proceeds will be used for working capital&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;and general corporate purposes, including to fund possible acquisitions of, or investments in, complementary businesses, products, services and technologies.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The 2023 Notes are senior, unsecured obligations of the Company, and bear interest at a rate of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.00&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% per year. &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Interest is payable semi-annually in arrears on each June 15 and December 15, commencing on June 15, 2024&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;. The 2023 Notes will mature on &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 15, 2028&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, unless earlier redeemed, repurchased or converted. The initial conversion rate for the 2023 Notes is &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.9247&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares of the Company's common stock per $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; principal amount of 2023 Notes, which is equivalent to an initial conversion price of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;203.06&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; per share and represents a &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% premium over the last reported sale price of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;156.20&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; per share on December 6, 2023, the date on which the 2023 Notes were priced. Prior to the close of business on the business day immediately preceding September 15, 2028, the 2023 Notes will be convertible at the options of the holders of 2023 Notes only upon the satisfaction of specified conditions and during certain periods into cash up to their principal amount, and into cash, shares of the Company's common stock or a combination thereof, at the Company's election, for the conversion value above the principal amount, if any. Thereafter until the close of business on the second scheduled trading day immediately preceding the maturity date, the 2023 Notes will be convertible at the option of the holders of 2023 Notes at any time regardless of these conditions. The Company may redeem for cash, all or a portion of the 2023 Notes, at its option, on or after December 18, 2026 and prior to the 21st scheduled trading day immediately preceding the maturity date at a redemption price of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the principal amount of the 2023 Notes to be redeemed, plus accrued and unpaid interest to, but excluding the redemption date, if certain conditions are met in accordance to the indenture governing the 2023 Notes (the &#x201c;2023 Notes Indenture&#x201d;).&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;If the Company undergoes a &#x201c;fundamental change&#x201d; (as defined in the 2023 Notes Indenture), the holders of the 2023 Notes may require the Company to repurchase for cash all or part of their 2023 Notes at a purchase price equal to &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the principal amount of the 2023 Notes to be repurchased, plus accrued and unpaid interest, if any, up to, but excluding, the fundamental change repurchase date. In addition, if certain &#x201c;make-whole fundamental changes&#x201d; (as defined in 2023 Notes Indenture) occur or the Company calls all or a portion of the 2023 Notes for redemption, the Company will, in certain circumstances, increase the conversion rate for any 2023 Notes converted in connection with such make-whole fundamental change or any 2023 Notes called for redemption that are converted during the related redemption period.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Interest expense recognized on the 2023 Notes in 2023 wa&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;s $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million for the contractual coupon interest and accretion of the debt discount, respectively. Amortization of debt issuance costs recorded in 2023 related to the 2023 Notes was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; mill&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;ion, which includes the $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of debt issuance costs recorded under modification accounting mentioned above and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million amortization of debt issuance costs related to the capitalized portion of the costs. The effective interest rate on the 2023 Notes is &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.39&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;%,&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; which included the interest on the 2023 Notes and amortization of the debt discount and issuance costs. As of December 31, 2023, the carrying value of the 2023 Notes was&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;510.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;million and the fair value of the principal was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;596.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. The fair value of the 2023 Notes was determined based on the most recent trade activity of the 2023 Notes as of December 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The 2023 Notes Indenture contains customary terms and events of default. If an event of default (other than certain events of bankruptcy, insolvency or reorganization involving the Company) occurs and is continuing, the holders of at least &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% in aggregate principal amount of the outstanding 2023 Notes may declare &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the principal of, and any accrued and unpaid interest on, all of the 2023 Notes to be due and payable. Upon the occurrence of certain events of bankruptcy, insolvency or reorganization involving the Company, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the principal of and accrued and unpaid interest, if any, on all of the 2023 Notes will become due and payable automatically.  Notwithstanding the foregoing, the 2023 Notes provide that, to the extent the Company elects and for up to 365 days, the sole remedy for an event of default relating to certain failures by the Company to comply with certain reporting covenants consist exclusively of the right to receive additional interest on the 2023 Notes. The Company is not aware of any events of default that would allow holders to declare the principal of, and any accrued and unpaid interest on, all of the 2023 Notes to be due and payable.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;0.375% Convertible Senior Notes due 2024&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;T&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;he Company issued $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;287.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of the 2019 Notes on July 19, 2019 in a transaction which included the underwriters&#x2019; exercise in full of an option to purchase an additional $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;aggregate principal amount of 2019 Notes (the &#x201c;Notes Offering&#x201d;). The net proceeds of the Notes Offering, after deducting underwriting discounts and&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;commissions &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;and other related offering expenses payable by the Company, were approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;278.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Immediately following the closing of the Exchange Transaction mentioned above, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in aggregate principal amount of the 2019 Notes remain outstanding.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The 2019 Notes are senior, unsecured obligations of the Company, and bear interest at a rate of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.375&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% per year. &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Interest is payable semi-annually in arrears on January 15 and July 15 of each year, beginning on January 15, 2020&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;. The remaining 2019 Notes will mature on &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;July 15, 2024&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, unless earlier repurchased or converted in accordance with their terms. The initial conversion rate for the 2019 Notes is &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8.6749&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares of the Company&#x2019;s common stock per $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; principal amount of 2019 Notes (which is equivalent to an initial conversion price of approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115.28&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; per share). Prior to the close of business on the business day immediately preceding April 15, 2024, the 2019 Notes will be convertible at the option of the holders of 2019 Notes only upon the satisfaction of specified conditions and during certain periods. Thereafter until the close of business on the second scheduled trading day immediately preceding the maturity date, the remaining 2019 Notes will be convertible at the options of the holders of 2019 Notes at any time regardless of these conditions. Prior to March 4, 2022, conversion of the 2019 Notes could have been settled in cash, shares of the Company&#x2019;s common stock or a combination thereof, at the Company&#x2019;s election. On March 4, 2022, the Company entered into the Second Supplemental Indenture for the 2019 Notes, which irrevocably elected to settle the conversion of the 2019 Notes using a combination of cash and the Company&#x2019;s common stock, settling the par value of the 2019 Notes in cash and any excess conversion premium in shares. The 2019 Notes are not redeemable by the Company prior to maturity.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Holders of 2019 Notes may require the Company to repurchase their 2019 Notes upon the occurrence of a fundamental change prior to maturity at a repurchase price equal to &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the principal amount thereof, plus accrued and unpaid interest to, but excluding, the date of repurchase. In connection with certain corporate events, the Company will, under certain circumstances, increase the conversion rate for holders of 2019 Notes who elect to convert their 2019 Notes in connection with such corporate events.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;During the fourth quarter of 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, the closing price of the Company&#x2019;s common stock exceeded &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;130&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the conversion price of the 2019 Notes for more than &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; trading days of the last &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; consecutive trading days of the quarter. As a result, the 2019 Notes are convertible at the option of the holders of the 2019 Notes during the first quarter of 2024, the quarter immediately following the quarter when conditions are met, as stated in the terms of the 2019 Notes. These conditions have been met each quarter since the third quarter of 2020. As a result, as of the date of this filing and prior to the Exchange Transaction mentioned above, the Company received requests to convert $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of the 2019 Notes and all but $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of the requests have been settled as of December 31, 2023. The remaining outstanding requests for conversions will settle in the first quarter of 2024. The conversions resulted in the issuance of a nominal number of shares of the Company&#x2019;s common stock to the note holders. Because the 2019 Notes mature within one year of the report date, the Company classifies the carrying value of the 2019 Notes of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million as current liabilities on the Company's consolidated balance sheets at &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Prior to the adoption of ASU 2020-06, the Company accounted for the 2019 Notes as a liability and equity component where the carrying value of the liability component was valued based on a similar debt instrument. In accounting for the issuance of the 2019 Notes, the Company separated the 2019 Notes into liability and equity components. The carrying value of the liability component was calculated as the present value of its cash flows using a discount rate of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% based on comparative convertible transactions for similar companies. The carrying value of the equity component representing the conversion option was determined by deducting the fair value of the liability component from the par value of the 2019 Notes as a whole. The excess of the principal amount of the liability component over its carrying value amount, referred to as the debt discount, was amortized to interest expense on our consolidated statements of comprehensive income over the five-year term of the 2019 Notes. The equity component was not re-measured as long as it continued to meet the conditions for equity classification. The equity component related to the 2019 Notes recorded at issuance was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;52.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, which was recorded in additional paid-in capital on the Company's consolidated balance sheets.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In accounting for the transaction costs related to the issuance of the 2019 Notes, the Company allocated the total costs incurred to the liability and equity components of the 2019 Notes using the same proportions as the initial carrying value of the 2019 Notes. Transaction costs related to the liability component were $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and are amortized to interest expense using the effective interest method over the five-year term of the 2019 Notes. Transaction costs attributable to the equity component were $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.6&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;and are netted with the equity component of the 2019 Notes in stockholders' equity of the Company's consolidated balance sheets. Additionally, the Company recorded a net deferred tax liability of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Effective January 1, 2022, the Company adopted ASU 2020-06. After adoption, the Company now accounts for the 2019 Notes, and any convertible debt issued going forward, as a single liability measured at amortized cost. As the equity component is no longer required to be split into a separate component, the Company recorded a net adjustment for the initial $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;50.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million that was allocated to additional paid-in capital and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of life-to-date interest expense recorded as amortization of debt discount. Additionally, the net deferred tax liability recorded for the 2019 Notes was reversed. The principal amount of the liability over its carrying amount is amortized to interest expense over the five-year term of the 2019 Notes. Since the 2019 Notes are classified as a single liability, there is no debt discount required to be amortized in 2022.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Contractual coupon interest expense related to the 2019 Notes was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in 2023 &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;and the Company recorded $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; mill&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;ion of amortization of the debt issuance costs related to the 2019 Notes as well. The effective interest rate on the 2019 Notes is &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.02&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;%, which included the interest on the 2019 Notes and amortization of the debt issuance costs. As of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, the carrying value of the 2019 Notes was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and the fair value of the principal was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;109.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. The fair value of the 2019 Notes was determined based on the most recent trade activity of the 2019 Notes as of December 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The indenture governing the 2019 Notes contains customary terms and events of default. If an event of default (other than certain events of bankruptcy, insolvency or reorganization involving the Company) occurs and is continuing, the holders of at least &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% in aggregate principal amount of the outstanding 2019 Notes may declare &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the principal of, and any accrued and unpaid interest on, all of the 2019 Notes to be due and payable. Upon the occurrence of certain events of bankruptcy, insolvency or reorganization involving the Company, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the principal of and accrued and unpaid interest, if any, on all of the 2019 Notes will become due and payable automatically.  Notwithstanding the foregoing, the 2019 Notes provide that, to the extent the Company elects and for up to 360 days, the sole remedy for an event of default relating to certain failures by the Company to comply with certain reporting covenants consist exclusively of the right to receive additional interest on the 2019 Notes.  The Company is not aware of any events of default, current events or market conditions that would allow holders to declare the principal of, and any accrued and unpaid interest on, all of 2019 Notes to be due and payable.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;</us-gaap:LongTermDebtTextBlock>
    <us-gaap:ConvertibleDebtTableTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_d2e5143e-8aed-444a-852c-8d88170513a0">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The carrying value of the Company&#x2019;s convertible senior notes is as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:67.08%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.84%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:12.84%;box-sizing:content-box;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;box-sizing:content-box;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;0.375% Convertible Senior Notes due 2024:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Principal amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69,700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;287,470&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Unamortized debt issuance costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;248&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,855&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Carrying amount - Convertible Senior Notes due 2024, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69,452&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;284,615&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;1.00% Convertible Senior Notes due 2028:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Principal amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;600,000&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Unamortized debt discount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81,457&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;text-indent:5pt;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Unamortized debt issuance costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,400&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:top;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Carrying amount - Convertible Senior Notes due 2028, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;510,143&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:pre-wrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="padding-top:0in;white-space:nowrap;vertical-align:bottom;padding-bottom:0in;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ConvertibleDebtTableTextBlock>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="C_dd71ae59-f1fd-409e-b94a-3357654f6efd"
      decimals="-3"
      id="F_e2549d64-a05b-4329-957c-16f41208b5e1"
      unitRef="U_USD">69700000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="C_3f1c7f78-aa24-40ad-9b77-159847ac2854"
      decimals="-3"
      id="F_29e6d63c-0e19-4d61-8d91-91bc90f75f7a"
      unitRef="U_USD">287470000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="C_dd71ae59-f1fd-409e-b94a-3357654f6efd"
      decimals="-3"
      id="F_c5ff0ded-f106-433e-8c13-0a182a6fcbba"
      unitRef="U_USD">248000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="C_3f1c7f78-aa24-40ad-9b77-159847ac2854"
      decimals="-3"
      id="F_b3b9c906-dc8a-4af2-9933-6f4c5189dd89"
      unitRef="U_USD">2855000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="C_dd71ae59-f1fd-409e-b94a-3357654f6efd"
      decimals="-3"
      id="F_8797aecc-633a-4e12-b494-c6a134789af8"
      unitRef="U_USD">69452000</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="C_3f1c7f78-aa24-40ad-9b77-159847ac2854"
      decimals="-3"
      id="F_8e4575d3-7733-42e1-bc18-33fd1c4fdb69"
      unitRef="U_USD">284615000</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09"
      decimals="-3"
      id="F_62b58ecd-8dca-4cee-b29d-eafeb3eba082"
      unitRef="U_USD">600000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="C_f9676ca9-4b37-4d7e-bad6-23d8b3b406ff"
      decimals="-3"
      id="F_d3809e08-4d76-4f4a-9200-8a452c102f03"
      unitRef="U_USD">0</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09"
      decimals="-3"
      id="F_614a36cf-7f03-4b7f-a0b5-3a3fce94da47"
      unitRef="U_USD">81457000</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="C_f9676ca9-4b37-4d7e-bad6-23d8b3b406ff"
      decimals="-3"
      id="F_5896021e-ad6c-4488-872d-19a50b09bf8a"
      unitRef="U_USD">0</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09"
      decimals="-3"
      id="F_3a8945da-b9c0-4799-a747-b01925790ca8"
      unitRef="U_USD">8400000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="C_f9676ca9-4b37-4d7e-bad6-23d8b3b406ff"
      decimals="-3"
      id="F_b9efb1c5-c9ca-4280-b355-e536d902be96"
      unitRef="U_USD">0</us-gaap:DeferredFinanceCostsNet>
    <rgen:ConvertibleSeniorNotes
      contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09"
      decimals="-3"
      id="F_b093c415-018c-4de6-a892-a8592de547fa"
      unitRef="U_USD">510143000</rgen:ConvertibleSeniorNotes>
    <rgen:ConvertibleSeniorNotes
      contextRef="C_f9676ca9-4b37-4d7e-bad6-23d8b3b406ff"
      decimals="-3"
      id="F_94aa0f56-afdf-455b-bda3-d2593299ce9b"
      unitRef="U_USD">0</rgen:ConvertibleSeniorNotes>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_65ffba7c-18cb-4d91-820d-905df26ad0a9"
      decimals="-5"
      id="F_ee0d2953-7f2d-497b-a2cb-2b2614a7fa90"
      unitRef="U_USD">600000000</us-gaap:DebtInstrumentFaceAmount>
    <rgen:DebtInstrumentExchangedAmount
      contextRef="C_c1f94eba-83e9-4529-939a-128892f1ed5e"
      decimals="-5"
      id="F_52c82d6a-da04-4601-a7e1-e38a5d4eea46"
      unitRef="U_USD">217700000</rgen:DebtInstrumentExchangedAmount>
    <rgen:DebtInstrumentExchangedAmountCancelled
      contextRef="C_efaa8ca3-1e5a-4bd7-bb27-e425e2de3d42"
      decimals="-5"
      id="F_45e4dc62-f521-4dd3-b8e9-4457b2239f42"
      unitRef="U_USD">309900000</rgen:DebtInstrumentExchangedAmountCancelled>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_993d6975-6c8e-41de-a646-87cc3036f81e"
      decimals="-5"
      id="F_b8b2c55d-ebd8-4894-aab8-5d362838844a"
      unitRef="U_USD">290100000</us-gaap:DebtInstrumentFaceAmount>
    <rgen:DebtInstrumentIssuedForCash
      contextRef="C_42291f82-cf7e-4cea-a274-f30979d32b81"
      decimals="-5"
      id="F_71326ce5-c107-46cb-9f83-a07eb645e68d"
      unitRef="U_USD">290100000</rgen:DebtInstrumentIssuedForCash>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="C_c1f94eba-83e9-4529-939a-128892f1ed5e"
      decimals="-5"
      id="F_5d98f0df-2435-499d-ae57-64e7c0b4537f"
      unitRef="U_USD">29600000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <rgen:DebtInstrumentExchangedAmount
      contextRef="C_c1f94eba-83e9-4529-939a-128892f1ed5e"
      decimals="-5"
      id="F_cd0e6bcd-f2c2-4e80-a59b-0a72c6178513"
      unitRef="U_USD">217700000</rgen:DebtInstrumentExchangedAmount>
    <rgen:ModificationOfDebt
      contextRef="C_bd279589-3e25-448f-b6be-6087995b8f11"
      decimals="-5"
      id="F_8a43ced3-abce-44e8-bfd5-38bf2c25afe9"
      unitRef="U_USD">188100000</rgen:ModificationOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="C_8d9b2921-4594-40df-b6d6-c9e7e54d3d0d"
      decimals="-5"
      id="F_bba12542-4385-472a-8565-b576637da2df"
      unitRef="U_USD">12700000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="C_7b18128a-c301-47f8-a48d-4277e26350b1"
      decimals="-5"
      id="F_d14f40f9-b31e-4903-a1f0-d22111efb6d3"
      unitRef="U_USD">100000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="C_afda28db-848d-46e9-b0b7-b861c2bcc1e4"
      decimals="-5"
      id="F_5eb87b6b-2c06-40ac-8fbc-04b25b15d08f"
      unitRef="U_USD">2800000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="C_f81617a6-82f7-4a36-b727-4c00f37905a8"
      decimals="-5"
      id="F_41151b19-9ab4-4004-a97f-43fe8c66550e"
      unitRef="U_USD">82100000</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_f81617a6-82f7-4a36-b727-4c00f37905a8"
      decimals="-5"
      id="F_7c11a056-1fe1-4074-975e-83a8be0e3341"
      unitRef="U_USD">79300000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="C_f6f12142-0277-48d4-8b90-d56547c17249"
      decimals="-5"
      id="F_efc2fb69-01b6-4a01-9824-5bb29341ac12"
      unitRef="U_USD">2800000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="C_2e5f239b-0444-4570-b098-fe3f23178665"
      decimals="-5"
      id="F_d621de9a-524b-4576-9813-8c7cb75ea1ba"
      unitRef="U_USD">276100000</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="C_2e5f239b-0444-4570-b098-fe3f23178665"
      decimals="-5"
      id="F_4005db8a-c372-416d-9110-31e48ebdd137"
      unitRef="U_USD">14000000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="C_73645a4f-0b13-4c18-99b6-77b48110746d"
      decimals="-5"
      id="F_c966a505-d015-434f-a82a-706a597bc90c"
      unitRef="U_USD">6200000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="C_0a1abccc-ded4-44b6-bbba-101e709b3fa7"
      decimals="-5"
      id="F_db412f23-da75-407e-9d36-6edf3a8fb751"
      unitRef="U_USD">7800000</us-gaap:DeferredFinanceCostsNet>
    <rgen:AmortizationOfDebtIssuanceCost
      contextRef="C_73645a4f-0b13-4c18-99b6-77b48110746d"
      decimals="-5"
      id="F_1294f355-dcb4-4bfb-9700-7fa77ff8010b"
      unitRef="U_USD">7800000</rgen:AmortizationOfDebtIssuanceCost>
    <us-gaap:LongTermDebt
      contextRef="C_4e91d2b0-1bc8-4287-bb98-eab91339e55a"
      decimals="-5"
      id="F_def33304-caab-4954-b2e2-c09e4ed53c2e"
      unitRef="U_USD">510100000</us-gaap:LongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="C_2e5f239b-0444-4570-b098-fe3f23178665"
      decimals="-5"
      id="F_13de0571-4876-4f49-9929-39d8d2517bcf"
      unitRef="U_USD">14400000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09"
      decimals="4"
      id="F_e3152b71-adb2-4507-9a48-d2534abbb420"
      unitRef="U_pure">0.01</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateTerms
      contextRef="C_93f75704-3ed9-43c4-ac6f-685e2e87db08"
      id="F_7d97b5cf-9092-46ff-95fc-0591c8a92b8e">Interest is payable semi-annually in arrears on each June 15 and December 15, commencing on June 15, 2024</us-gaap:DebtInstrumentInterestRateTerms>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="C_93f75704-3ed9-43c4-ac6f-685e2e87db08"
      id="F_249db1fb-983a-4291-b4e5-e03c15fd8250">2028-12-15</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:DebtInstrumentConvertibleConversionRatio1
      contextRef="C_93f75704-3ed9-43c4-ac6f-685e2e87db08"
      decimals="1"
      id="F_bf22130a-a8b9-4735-8f0d-3367021cf116"
      unitRef="U_pure">4924.7000</us-gaap:DebtInstrumentConvertibleConversionRatio1>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_152df1cd-b5bb-41c1-80aa-ef8c50d178c6"
      decimals="-3"
      id="F_dbd4164b-1c4a-4097-8daf-bfe3377b7c87"
      unitRef="U_USD">1000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09"
      decimals="2"
      id="F_1ac9fce0-fba4-4f9d-aa85-0520de5d2158"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">203.06</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <us-gaap:DebtInstrumentInterestRateDuringPeriod
      contextRef="C_93f75704-3ed9-43c4-ac6f-685e2e87db08"
      decimals="2"
      id="F_f6b5b12c-1291-487f-bdb0-e77df680ea6a"
      unitRef="U_pure">0.30</us-gaap:DebtInstrumentInterestRateDuringPeriod>
    <us-gaap:SharePrice
      contextRef="C_a08b8290-c277-4d03-82d7-8b36c70b360c"
      decimals="2"
      id="F_a8d0ffd2-ba85-4f01-a8a0-3a7feecf8aad"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">156.2</us-gaap:SharePrice>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="C_e7baebaa-bdf9-44eb-9ddc-5b7070998d67"
      decimals="2"
      id="F_7d9472d6-67ce-4ac5-bf46-cfbfc2a23809"
      unitRef="U_pure">1</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="C_93f75704-3ed9-43c4-ac6f-685e2e87db08"
      decimals="2"
      id="F_d5e8c785-cc95-41fc-9e0e-6e6ea5357209"
      unitRef="U_pure">1</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:InterestExpenseDebtExcludingAmortization
      contextRef="C_93f75704-3ed9-43c4-ac6f-685e2e87db08"
      decimals="-5"
      id="F_08894e2d-4f0b-41d8-8451-74ee2a7ce4e2"
      unitRef="U_USD">200000</us-gaap:InterestExpenseDebtExcludingAmortization>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="C_93f75704-3ed9-43c4-ac6f-685e2e87db08"
      decimals="-5"
      id="F_1157340c-a5bf-4727-bac4-b64dedaeb90d"
      unitRef="U_USD">600000</us-gaap:AmortizationOfFinancingCosts>
    <rgen:AmortizationOfDebtIssuanceCost
      contextRef="C_e7baebaa-bdf9-44eb-9ddc-5b7070998d67"
      decimals="-5"
      id="F_e144cae6-45f3-4f82-896e-e52ef820bfb7"
      unitRef="U_USD">6300000</rgen:AmortizationOfDebtIssuanceCost>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="C_93f75704-3ed9-43c4-ac6f-685e2e87db08"
      decimals="-5"
      id="F_5025fad3-3460-4c9b-9057-709654301576"
      unitRef="U_USD">6200000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <rgen:AmortizationOfDebtIssuanceCost
      contextRef="C_93f75704-3ed9-43c4-ac6f-685e2e87db08"
      decimals="-5"
      id="F_19d2d961-e9b7-4b68-9014-a23e852da030"
      unitRef="U_USD">100000</rgen:AmortizationOfDebtIssuanceCost>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="C_4bc763e1-d304-4a2b-a86d-ba47acac8a09"
      decimals="4"
      id="F_82b74b2a-a523-474c-90be-cf9145676f03"
      unitRef="U_pure">0.0439</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:LongTermDebt
      contextRef="C_4e91d2b0-1bc8-4287-bb98-eab91339e55a"
      decimals="-5"
      id="F_ea3db950-fb96-4d75-940f-9b48c104252b"
      unitRef="U_USD">510100000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtFairValue
      contextRef="C_4e91d2b0-1bc8-4287-bb98-eab91339e55a"
      decimals="-5"
      id="F_b131a7e5-9158-409a-ba30-64e0c65adb5c"
      unitRef="U_USD">596000000</us-gaap:LongTermDebtFairValue>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="C_a76644f8-46a0-46f5-a877-718f5a2d202a"
      decimals="2"
      id="F_34e457b9-5cd9-49c9-8c65-74930aae8418"
      unitRef="U_pure">0.25</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="C_81ffec3c-cf9d-4e1b-9d2f-a25b8808a85c"
      decimals="2"
      id="F_95817264-e5fc-4a69-82d7-8c24f2799d41"
      unitRef="U_pure">1</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="C_93f75704-3ed9-43c4-ac6f-685e2e87db08"
      decimals="2"
      id="F_019c2ced-8994-4d69-a552-6ba04739c0fd"
      unitRef="U_pure">1</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_7f5dd080-ebd1-4899-aecd-e7d96b15a39c"
      decimals="-5"
      id="F_8df7ce68-ae0c-4151-8a27-e3f9cb3c67d2"
      unitRef="U_USD">287500000</us-gaap:DebtInstrumentFaceAmount>
    <rgen:OptionToPurchaseAdditionalDebtFaceAmount
      contextRef="C_7f5dd080-ebd1-4899-aecd-e7d96b15a39c"
      decimals="-5"
      id="F_dbfd6c77-6799-459b-8ec8-508a07f5ac2b"
      unitRef="U_USD">37500000</rgen:OptionToPurchaseAdditionalDebtFaceAmount>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="C_151b99ba-a4ff-4423-888e-60a04785b869"
      decimals="-5"
      id="F_60be3df7-d404-41e2-a584-7a036f881ad0"
      unitRef="U_USD">278500000</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_57a95ac7-d505-42c2-8beb-ed82c8ace083"
      decimals="-5"
      id="F_f55cc397-30cc-4c33-b649-2e1ced875f6a"
      unitRef="U_USD">69700000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="C_7f5dd080-ebd1-4899-aecd-e7d96b15a39c"
      decimals="5"
      id="F_0c2a4639-8620-4311-a0ea-bee8048c6b7a"
      unitRef="U_pure">0.00375</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateTerms
      contextRef="C_54da77f9-5299-43e8-bc2a-a3d8ce04f0e1"
      id="F_8d83a6cc-7c1c-4144-9884-51f55be66d7b">Interest is payable semi-annually in arrears on January 15 and July 15 of each year, beginning on January 15, 2020</us-gaap:DebtInstrumentInterestRateTerms>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="C_54da77f9-5299-43e8-bc2a-a3d8ce04f0e1"
      id="F_a4447a63-d4d9-4c27-babc-b0f08fdaa9cc">2024-07-15</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:DebtInstrumentConvertibleConversionRatio1
      contextRef="C_151b99ba-a4ff-4423-888e-60a04785b869"
      decimals="4"
      id="F_5824e07e-5f33-49c3-a8f8-e455dfe77374"
      unitRef="U_pure">8.6749</us-gaap:DebtInstrumentConvertibleConversionRatio1>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_72df5c19-d7d2-43d2-bb17-df8271835ac3"
      decimals="-3"
      id="F_2a5bc309-4f8b-4ef5-ad24-2d546be340b2"
      unitRef="U_USD">1000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="C_7f5dd080-ebd1-4899-aecd-e7d96b15a39c"
      decimals="INF"
      id="F_44dff123-8788-4c4e-82a1-82ab77296f2d"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">115.28</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="C_151b99ba-a4ff-4423-888e-60a04785b869"
      decimals="INF"
      id="F_04673be9-6a2a-46b9-8b41-3c65336906d8"
      unitRef="U_pure">1</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger
      contextRef="C_5d1d5259-5c7b-4645-af51-5d2693739405"
      decimals="2"
      id="F_b2a74a31-9f10-42bf-a700-6669e6305208"
      unitRef="U_pure">1.30</us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger>
    <us-gaap:DebtInstrumentConvertibleThresholdTradingDays
      contextRef="C_5d1d5259-5c7b-4645-af51-5d2693739405"
      decimals="INF"
      id="F_3c1c7238-7667-4fb8-a573-967ef2f5490d"
      unitRef="U_Days">20</us-gaap:DebtInstrumentConvertibleThresholdTradingDays>
    <us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1
      contextRef="C_5d1d5259-5c7b-4645-af51-5d2693739405"
      decimals="INF"
      id="F_080e74f3-aab0-456e-b6ec-a0c889e15457"
      unitRef="U_Days">30</us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1>
    <rgen:DebtInstrumentConvertibleIntoEquity
      contextRef="C_dd71ae59-f1fd-409e-b94a-3357654f6efd"
      decimals="-5"
      id="F_d4068ab8-564a-4980-973e-026c66b07e86"
      unitRef="U_USD">200000</rgen:DebtInstrumentConvertibleIntoEquity>
    <rgen:DebtInstrumentConvertibleIntoEquitySettled
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="-5"
      id="F_06e4716b-bc8c-4dc7-b901-92ece9ccbd79"
      unitRef="U_USD">100000</rgen:DebtInstrumentConvertibleIntoEquitySettled>
    <us-gaap:LiabilitiesCurrent
      contextRef="C_dd71ae59-f1fd-409e-b94a-3357654f6efd"
      decimals="-5"
      id="F_e7cd5328-a03a-4d6a-ad1c-71d709df0e86"
      unitRef="U_USD">69500000</us-gaap:LiabilitiesCurrent>
    <rgen:DiscountRate
      contextRef="C_54da77f9-5299-43e8-bc2a-a3d8ce04f0e1"
      decimals="3"
      id="F_42e87623-1755-415f-aea4-c8ec9b72f543"
      unitRef="U_pure">0.045</rgen:DiscountRate>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="C_dd71ae59-f1fd-409e-b94a-3357654f6efd"
      decimals="-5"
      id="F_b75a3f5f-d7e8-4ed1-9e4b-d107aa01cc9e"
      unitRef="U_USD">52100000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <rgen:ConvertibleNotesTransactionCostsOfLiabilityComponent
      contextRef="C_54da77f9-5299-43e8-bc2a-a3d8ce04f0e1"
      decimals="-5"
      id="F_b810dead-c482-4b0c-ad56-9387bf7be184"
      unitRef="U_USD">7400000</rgen:ConvertibleNotesTransactionCostsOfLiabilityComponent>
    <rgen:ConvertibleNotesTransactionCostsOfEquityComponent
      contextRef="C_dd71ae59-f1fd-409e-b94a-3357654f6efd"
      decimals="-5"
      id="F_0062e891-9f72-4f81-b793-4c5f2c0bda5e"
      unitRef="U_USD">1600000</rgen:ConvertibleNotesTransactionCostsOfEquityComponent>
    <us-gaap:DeferredTaxLiabilities
      contextRef="C_dd71ae59-f1fd-409e-b94a-3357654f6efd"
      decimals="-5"
      id="F_f738289c-3214-4af9-a476-35fa3d3f06ce"
      unitRef="U_USD">11400000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt
      contextRef="C_54da77f9-5299-43e8-bc2a-a3d8ce04f0e1"
      decimals="-5"
      id="F_279a3f15-4f65-439a-8c1b-764ac07dafe4"
      unitRef="U_USD">50400000</us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt>
    <us-gaap:AmortizationOfDebtDiscountPremium
      contextRef="C_54da77f9-5299-43e8-bc2a-a3d8ce04f0e1"
      decimals="-5"
      id="F_4a4fb56e-52d1-493e-b59b-c80e34663a2d"
      unitRef="U_USD">22900000</us-gaap:AmortizationOfDebtDiscountPremium>
    <us-gaap:InterestExpenseDebtExcludingAmortization
      contextRef="C_54da77f9-5299-43e8-bc2a-a3d8ce04f0e1"
      decimals="-5"
      id="F_6472d64e-be30-4f73-8282-891af6fb447f"
      unitRef="U_USD">1000000</us-gaap:InterestExpenseDebtExcludingAmortization>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="C_54da77f9-5299-43e8-bc2a-a3d8ce04f0e1"
      decimals="-5"
      id="F_3b64982c-ae70-47f6-9c6b-b265ea4c0227"
      unitRef="U_USD">1800000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="C_3f1c7f78-aa24-40ad-9b77-159847ac2854"
      decimals="4"
      id="F_857e13aa-cf56-4ad6-9ea9-4c25bd41323e"
      unitRef="U_pure">0.0102</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:LongTermDebt
      contextRef="C_dd71ae59-f1fd-409e-b94a-3357654f6efd"
      decimals="-5"
      id="F_d80b7af7-a31a-4c1e-99e1-852eef1b3975"
      unitRef="U_USD">69500000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtFairValue
      contextRef="C_dd71ae59-f1fd-409e-b94a-3357654f6efd"
      decimals="-5"
      id="F_d395f6dc-7a9a-40c2-8b4f-f6daa98d0714"
      unitRef="U_USD">109800000</us-gaap:LongTermDebtFairValue>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      decimals="2"
      id="F_d8acb032-e11e-40ee-980c-3a1882c669bd"
      unitRef="U_pure">0.25</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="C_54da77f9-5299-43e8-bc2a-a3d8ce04f0e1"
      decimals="2"
      id="F_c7009038-838c-4e3c-982d-ed30d48b9dc2"
      unitRef="U_pure">1</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="C_54da77f9-5299-43e8-bc2a-a3d8ce04f0e1"
      decimals="2"
      id="F_e7b44d37-eec2-4af9-afbe-03236928bfbf"
      unitRef="U_pure">1</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:CompensationAndEmployeeBenefitPlansTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_3a621f23-15df-4c17-804e-38b29fee1d03">&lt;div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;16.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Employee Benefit Plans &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In the United States, the Repligen Corporation 401(k) Savings and Retirement Plan (the &#x201c;401(k) Plan&#x201d;) is a qualified defined contribution plan in accordance with Section 401(k) of the Internal Revenue Code. All U.S. employees over the age of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;21&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; are eligible to make pre-tax contributions up to a specified percentage of their compensation. Under the 401(k) Plan, the Company may, but is not obligated to match a portion of the employees&#x2019; contributions up to a defined maximum. The match is calculated on a calendar year basis. The Company matched $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in the years ended December 31, 2023, 2022 and 2021, respectively.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In Sweden, the Company contributes to a government-mandated occupational pension plan that is a qualified defined contribution plan. All employees in Sweden are eligible for this pension plan. The Company pays premiums to a third-party occupational pension specialist who administers the pension plan. These premiums are based on various factors including each employee&#x2019;s age, salary, employment history and selected benefits in the pension plan. When an employee terminates or retires, these premium payments cease for that employee and the Company has no further pension-related obligations for that employee. The Company contributed $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $1&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively to the defined contribution plan for the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;.&lt;/span&gt;</us-gaap:CompensationAndEmployeeBenefitPlansTextBlock>
    <rgen:DefinedContributionPlanEmployeeEligibilityAge
      contextRef="C_7054cf9e-e4b9-48bb-8db8-51dc67555cab"
      id="F_d44b1b75-55aa-43dd-a632-d8df4cb9cf87">P21Y</rgen:DefinedContributionPlanEmployeeEligibilityAge>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="C_25ab9f38-2cca-4198-9d80-0cbd791565c7"
      decimals="-5"
      id="F_e8e513b0-ebe8-4531-b284-22be513e39d9"
      unitRef="U_USD">3000000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="C_d739c946-d3a5-4440-8020-77c46f56e619"
      decimals="-5"
      id="F_60aad41d-959d-4ad2-89e6-966408723043"
      unitRef="U_USD">2700000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="C_a6cd6916-e30c-4fef-b3b7-fde4efbf82f5"
      decimals="-5"
      id="F_d7959cfb-bc6d-4db6-892e-ceb8bc484d9c"
      unitRef="U_USD">1800000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="C_690b203f-6012-4574-9e1e-3815e1882698"
      decimals="-5"
      id="F_1ed401f2-29cc-437b-a2ec-85603748d529"
      unitRef="U_USD">1000000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="C_da9bb3a8-9478-466f-b7cb-b04ec3660d20"
      decimals="-5"
      id="F_fa536d9a-5a60-49f1-970c-41fa720bfcff"
      unitRef="U_USD">1100000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="C_c131eb55-02f6-407f-b731-75cd187fe4c1"
      decimals="-5"
      id="F_4d8244fd-0819-4ebe-97fb-ebdd7afc4fcd"
      unitRef="U_USD">0</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock
      contextRef="C_ee4c933a-9b57-4094-a6b0-2202001a520f"
      id="F_e1422262-3621-47d2-a7fc-674084df632e">&lt;div class="item-list-element-wrapper" style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;word-break:keep-all;display:inline-flex;justify-content:flex-start;"&gt;17.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Related Party Transactions &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Certain facilities leased by Spectrum LifeSciences LLC (&#x201c;Spectrum&#x201d;) are owned by the Roy Eddleman Living Trust (the &#x201c;Trust&#x201d;). As of December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, the Trust owned greater than &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the Company's outstanding shares. Therefore, the Company considers the Trust to be a related party.  The lease amounts paid to the Trust prior to the public offering were negotiated in connection with the acquisition of Spectrum. The Company incurred rent expense related to these leases totaling $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million for the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;.&lt;/span&gt;&lt;/p&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="C_a8dc03d1-ec6a-4ec3-b18b-a3425f264901"
      decimals="INF"
      id="F_0e0a930b-9b46-4600-9631-e03340c1416e"
      unitRef="U_pure">0.05</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <us-gaap:PaymentsForRent
      contextRef="C_b38c53a5-5d15-48a5-a872-0976ab51318c"
      decimals="-5"
      id="F_8014217f-5d7d-49bd-bcb4-757867187a99"
      unitRef="U_USD">700000</us-gaap:PaymentsForRent>
    <us-gaap:PaymentsForRent
      contextRef="C_54672aa0-0bf8-4db4-abe4-49be4667fbd2"
      decimals="-5"
      id="F_6632c17f-03fd-4583-8e9e-7a7fdfe1a1d8"
      unitRef="U_USD">700000</us-gaap:PaymentsForRent>
    <us-gaap:PaymentsForRent
      contextRef="C_1ead2a08-699e-4c22-af24-827d48e7c43e"
      decimals="-5"
      id="F_7daaa54d-e0bd-4d23-8f50-7b560161f713"
      unitRef="U_USD">700000</us-gaap:PaymentsForRent>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#F_d4bb3b80-b15e-4eac-a3c8-c1e5e0a5ef90"
          xlink:label="F_d4bb3b80-b15e-4eac-a3c8-c1e5e0a5ef90"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_db028658-b596-42a8-ab2b-efb8e857416e"
          xlink:label="F_db028658-b596-42a8-ab2b-efb8e857416e"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_25e7894a-1744-4cad-b588-ea0b61c2e311"
          xlink:label="F_25e7894a-1744-4cad-b588-ea0b61c2e311"
          xlink:type="locator"/>
        <link:footnote id="FNT_f064784a-54fe-44eb-8435-6562f6374049" xlink:label="FNT_f064784a-54fe-44eb-8435-6562f6374049" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">         *</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">Amounts reclassified in the current presentation from a component of &#x201c;Changes in operating assets and liabilities&#x201d; to a component of &#x201c;Adjustments to reconcile net income.&#x201d; The reclassification did not result in any change to total cash provided by operating activities.</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> </xhtml:span></xhtml:p></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_d4bb3b80-b15e-4eac-a3c8-c1e5e0a5ef90"
          xlink:to="FNT_f064784a-54fe-44eb-8435-6562f6374049"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_db028658-b596-42a8-ab2b-efb8e857416e"
          xlink:to="FNT_f064784a-54fe-44eb-8435-6562f6374049"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_25e7894a-1744-4cad-b588-ea0b61c2e311"
          xlink:to="FNT_f064784a-54fe-44eb-8435-6562f6374049"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#F_29c76701-e631-4e49-a3b3-279168f10c46"
          xlink:label="F_29c76701-e631-4e49-a3b3-279168f10c46"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_89b0ea6b-5f84-4ee3-8152-1225892aecf0"
          xlink:label="F_89b0ea6b-5f84-4ee3-8152-1225892aecf0"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_861881d7-4892-409d-b731-77fe13d96c22"
          xlink:label="F_861881d7-4892-409d-b731-77fe13d96c22"
          xlink:type="locator"/>
        <link:footnote id="FNT_bfc3ab98-c8da-4fff-a74b-15614015aed9" xlink:label="FNT_bfc3ab98-c8da-4fff-a74b-15614015aed9" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the dilutive impact for the Company's </xhtml:span><xhtml:span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.375</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% Convertible Senior Notes due 2024 (the &#x201c; 2019 Notes&#x201d;) and its </xhtml:span><xhtml:span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.00</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% Convertible Senior Notes due 2028 (the &#x201c;2023 Notes&#x201d;). As of December 31, 2023, the if-converted value is less than the outstanding principal of the 2023 Notes and are therefore anti-dilutive. Refer to Note 15, &#x201c;</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#x201d;</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> for more information.</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_29c76701-e631-4e49-a3b3-279168f10c46"
          xlink:to="FNT_bfc3ab98-c8da-4fff-a74b-15614015aed9"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_89b0ea6b-5f84-4ee3-8152-1225892aecf0"
          xlink:to="FNT_bfc3ab98-c8da-4fff-a74b-15614015aed9"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_861881d7-4892-409d-b731-77fe13d96c22"
          xlink:to="FNT_bfc3ab98-c8da-4fff-a74b-15614015aed9"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#F_b1ffe4ea-7316-444c-b857-e041ec38f9e6"
          xlink:label="F_b1ffe4ea-7316-444c-b857-e041ec38f9e6"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_41b171e9-8ee9-4d07-8cdf-b85a169968d2"
          xlink:label="F_41b171e9-8ee9-4d07-8cdf-b85a169968d2"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_587f9d8b-5ff8-439b-a202-ab2e518b9139"
          xlink:label="F_587f9d8b-5ff8-439b-a202-ab2e518b9139"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_f6e945f7-13e4-49b2-a13c-dcfb5e5be255"
          xlink:label="F_f6e945f7-13e4-49b2-a13c-dcfb5e5be255"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_f509d41c-5da8-4fd0-a453-24a05f8530a4"
          xlink:label="F_f509d41c-5da8-4fd0-a453-24a05f8530a4"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_97909c0e-34ec-4899-a634-334a9e5d2901"
          xlink:label="F_97909c0e-34ec-4899-a634-334a9e5d2901"
          xlink:type="locator"/>
        <link:footnote id="FNT_8160f178-9e0f-4080-97c2-68dfc4345e56" xlink:label="FNT_8160f178-9e0f-4080-97c2-68dfc4345e56" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#x201c;FlexBiosys&#x201d;) from April 17, 2023, as well as Metenova Holding AB (&#x201c;Metenova&#x201d;) from October 2, 2023.</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_b1ffe4ea-7316-444c-b857-e041ec38f9e6"
          xlink:to="FNT_8160f178-9e0f-4080-97c2-68dfc4345e56"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_41b171e9-8ee9-4d07-8cdf-b85a169968d2"
          xlink:to="FNT_8160f178-9e0f-4080-97c2-68dfc4345e56"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_587f9d8b-5ff8-439b-a202-ab2e518b9139"
          xlink:to="FNT_8160f178-9e0f-4080-97c2-68dfc4345e56"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_f6e945f7-13e4-49b2-a13c-dcfb5e5be255"
          xlink:to="FNT_8160f178-9e0f-4080-97c2-68dfc4345e56"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_f509d41c-5da8-4fd0-a453-24a05f8530a4"
          xlink:to="FNT_8160f178-9e0f-4080-97c2-68dfc4345e56"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_97909c0e-34ec-4899-a634-334a9e5d2901"
          xlink:to="FNT_8160f178-9e0f-4080-97c2-68dfc4345e56"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#F_ceef037b-2330-4938-b3cb-47e73627807d"
          xlink:label="F_ceef037b-2330-4938-b3cb-47e73627807d"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_1b2d0dfc-a3ee-4825-a26b-a787d26cd88c"
          xlink:label="F_1b2d0dfc-a3ee-4825-a26b-a787d26cd88c"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_a7e85f61-3695-4b3d-bbf0-5a31e53af7bc"
          xlink:label="F_a7e85f61-3695-4b3d-bbf0-5a31e53af7bc"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_38637e94-aeb7-4644-b22e-530ae275b15a"
          xlink:label="F_38637e94-aeb7-4644-b22e-530ae275b15a"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_10b7aaf5-58f9-4d2d-bbd4-86ba3f3b8400"
          xlink:label="F_10b7aaf5-58f9-4d2d-bbd4-86ba3f3b8400"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_17d8eb53-fd7c-41c5-9e34-f0fd5696908a"
          xlink:label="F_17d8eb53-fd7c-41c5-9e34-f0fd5696908a"
          xlink:type="locator"/>
        <link:footnote id="FNT_8edd26bf-634c-4946-9577-6e405f9011ec" xlink:label="FNT_8edd26bf-634c-4946-9577-6e405f9011ec" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2021 revenue for filtration products includes revenue related to Polymem S.A. (&#x201c;Polymem&#x201d;) from July 1, 2021, as well as BioFlex Solutions LLC (&#x201c;BioFlex&#x201d;) and Newton T&amp;M Corp. (&#x201c;NTM&#x201d;) from December 16, 2021 through December 31, 2021. 2021 revenue for proteins products includes revenue related to Avitide, Inc. (&#x201c;Avitide&#x201d;) from September 20, 2021 through December 31, 2021.</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_ceef037b-2330-4938-b3cb-47e73627807d"
          xlink:to="FNT_8edd26bf-634c-4946-9577-6e405f9011ec"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_1b2d0dfc-a3ee-4825-a26b-a787d26cd88c"
          xlink:to="FNT_8edd26bf-634c-4946-9577-6e405f9011ec"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_a7e85f61-3695-4b3d-bbf0-5a31e53af7bc"
          xlink:to="FNT_8edd26bf-634c-4946-9577-6e405f9011ec"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_38637e94-aeb7-4644-b22e-530ae275b15a"
          xlink:to="FNT_8edd26bf-634c-4946-9577-6e405f9011ec"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_10b7aaf5-58f9-4d2d-bbd4-86ba3f3b8400"
          xlink:to="FNT_8edd26bf-634c-4946-9577-6e405f9011ec"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_17d8eb53-fd7c-41c5-9e34-f0fd5696908a"
          xlink:to="FNT_8edd26bf-634c-4946-9577-6e405f9011ec"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#F_8f549153-45c9-4a57-ad1c-4634125d18d7"
          xlink:label="F_8f549153-45c9-4a57-ad1c-4634125d18d7"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_3793dfaa-ae57-4cd7-bba1-9f8fc002bcda"
          xlink:label="F_3793dfaa-ae57-4cd7-bba1-9f8fc002bcda"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_912db92f-8af1-432f-9d9c-e155c2b67b42"
          xlink:label="F_912db92f-8af1-432f-9d9c-e155c2b67b42"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_b8426ec9-5701-42d1-83d6-5095bc976f9c"
          xlink:label="F_b8426ec9-5701-42d1-83d6-5095bc976f9c"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_0afbca3f-5b03-47f1-a186-aa0a448603a4"
          xlink:label="F_0afbca3f-5b03-47f1-a186-aa0a448603a4"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_c7f20c0c-a323-45d1-8e73-0a598b2eda21"
          xlink:label="F_c7f20c0c-a323-45d1-8e73-0a598b2eda21"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_28109e6d-9e04-4005-920b-66cf31fd627f"
          xlink:label="F_28109e6d-9e04-4005-920b-66cf31fd627f"
          xlink:type="locator"/>
        <link:footnote id="FNT_7590bd9e-4e2c-4213-8d6c-0b9fde55e0a2" xlink:label="FNT_7590bd9e-4e2c-4213-8d6c-0b9fde55e0a2" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">Unobservable inputs were weighted by the relative fair value of the contingent consideration liability.</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_8f549153-45c9-4a57-ad1c-4634125d18d7"
          xlink:to="FNT_7590bd9e-4e2c-4213-8d6c-0b9fde55e0a2"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_3793dfaa-ae57-4cd7-bba1-9f8fc002bcda"
          xlink:to="FNT_7590bd9e-4e2c-4213-8d6c-0b9fde55e0a2"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_912db92f-8af1-432f-9d9c-e155c2b67b42"
          xlink:to="FNT_7590bd9e-4e2c-4213-8d6c-0b9fde55e0a2"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_b8426ec9-5701-42d1-83d6-5095bc976f9c"
          xlink:to="FNT_7590bd9e-4e2c-4213-8d6c-0b9fde55e0a2"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_0afbca3f-5b03-47f1-a186-aa0a448603a4"
          xlink:to="FNT_7590bd9e-4e2c-4213-8d6c-0b9fde55e0a2"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_c7f20c0c-a323-45d1-8e73-0a598b2eda21"
          xlink:to="FNT_7590bd9e-4e2c-4213-8d6c-0b9fde55e0a2"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_28109e6d-9e04-4005-920b-66cf31fd627f"
          xlink:to="FNT_7590bd9e-4e2c-4213-8d6c-0b9fde55e0a2"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#F_cbc19316-10fa-43a3-8235-b087ff1401de"
          xlink:label="F_cbc19316-10fa-43a3-8235-b087ff1401de"
          xlink:type="locator"/>
        <link:footnote id="FNT_0aaa5cdb-d79f-425b-b2a3-10c61e327eec" xlink:label="FNT_0aaa5cdb-d79f-425b-b2a3-10c61e327eec" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">The future minimum lease payments include obligations for leases not yet commenced of $</xhtml:span><xhtml:span style="font-size:9pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">26.8</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> million for manufacturing, office and warehouse facilities. These leases have terms of between </xhtml:span><xhtml:span style="font-size:9pt;font-family:Times New Roman;"><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">5</xhtml:span></xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> and </xhtml:span><xhtml:span style="font-size:9pt;font-family:Times New Roman;"><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">10</xhtml:span></xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> years and commence during the first quarter of 2024.</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_cbc19316-10fa-43a3-8235-b087ff1401de"
          xlink:to="FNT_0aaa5cdb-d79f-425b-b2a3-10c61e327eec"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#F_b6b05d08-1a0f-417d-8c4c-e42415e27c3f"
          xlink:label="F_b6b05d08-1a0f-417d-8c4c-e42415e27c3f"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_b73f4a6b-6c4c-454c-bf9f-3f185acf3714"
          xlink:label="F_b73f4a6b-6c4c-454c-bf9f-3f185acf3714"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_d91b7692-9daa-4538-8540-ee126221c22d"
          xlink:label="F_d91b7692-9daa-4538-8540-ee126221c22d"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_2ae9ce51-6958-456f-8699-6b39ac47d900"
          xlink:label="F_2ae9ce51-6958-456f-8699-6b39ac47d900"
          xlink:type="locator"/>
        <link:footnote id="FNT_2f0ab321-a7d8-40c1-89e1-5b173d5c5c84" xlink:label="FNT_2f0ab321-a7d8-40c1-89e1-5b173d5c5c84" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the number of vested options as of December 31, 2023 plus the number of unvested options expected to vest as of December 31, 2023, based on the unvested outstanding options at </xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> adjusted for estimated forfeiture rates of </xhtml:span><xhtml:span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees and </xhtml:span><xhtml:span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees.</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_b6b05d08-1a0f-417d-8c4c-e42415e27c3f"
          xlink:to="FNT_2f0ab321-a7d8-40c1-89e1-5b173d5c5c84"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_b73f4a6b-6c4c-454c-bf9f-3f185acf3714"
          xlink:to="FNT_2f0ab321-a7d8-40c1-89e1-5b173d5c5c84"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_d91b7692-9daa-4538-8540-ee126221c22d"
          xlink:to="FNT_2f0ab321-a7d8-40c1-89e1-5b173d5c5c84"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_2ae9ce51-6958-456f-8699-6b39ac47d900"
          xlink:to="FNT_2f0ab321-a7d8-40c1-89e1-5b173d5c5c84"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#F_ad476f8d-bb39-42fb-87da-cfae99a54d33"
          xlink:label="F_ad476f8d-bb39-42fb-87da-cfae99a54d33"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_1401dbd3-3dfa-4538-8773-c147b5711b17"
          xlink:label="F_1401dbd3-3dfa-4538-8773-c147b5711b17"
          xlink:type="locator"/>
        <link:footnote id="FNT_a32fe0b9-91d3-43d9-bdc3-923f89cad0b3" xlink:label="FNT_a32fe0b9-91d3-43d9-bdc3-923f89cad0b3" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the number of vested stock units as of </xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, plus the number of unvested stock units expected to vest as of December 31, 2023, based on the unvested outstanding stock units at December 31, 2023</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> adjusted for estimated forfeiture rates of </xhtml:span><xhtml:span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees and </xhtml:span><xhtml:span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees.</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_ad476f8d-bb39-42fb-87da-cfae99a54d33"
          xlink:to="FNT_a32fe0b9-91d3-43d9-bdc3-923f89cad0b3"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_1401dbd3-3dfa-4538-8773-c147b5711b17"
          xlink:to="FNT_a32fe0b9-91d3-43d9-bdc3-923f89cad0b3"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
